ChEOPSJ: Change-Based Test Optimization

Software is an ever-changing entity and frequently executed unit tests are the primary means to increase the confidence that the changed system continues to work as expected. Executing an entire test suite however can take a significant amount of time - much longer than developers are willing to wait before tackling the next change action. We demonstrate how our tool prototype ChEOPSJ may alleviate this problem by adopting a change-centric approach. Our tool sits in the back of Eclipse and captures all changes made in the main editor while the developer is programming. The changes and the dependencies between them are analyzed to deduce which unit tests are relevant for a selected sequence of changes.

[1]  Romain Robbes,et al.  SpyWare: a change-aware development toolset , 2008, ICSE '08.

[2]  Peter Ebraert,et al.  First-Class Change Objects for Feature-Oriented Programming , 2008, 2008 15th Working Conference on Reverse Engineering.

[3]  Gregg Rothermel,et al.  Analyzing Regression Test Selection Techniques , 1996, IEEE Trans. Software Eng..

[4]  Michele Lanza,et al.  Syde: a tool for collaborative software development , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[5]  Serge Demeyer,et al.  Avoiding bugs pro-actively by change-oriented programming , 2010 .

[6]  Theo D'Hondt,et al.  Change-oriented software engineering , 2007, ICDL '07.

[7]  Harald C. Gall,et al.  Change Distilling:Tree Differencing for Fine-Grained Source Code Change Extraction , 2007, IEEE Transactions on Software Engineering.

[8]  Mark Harman,et al.  7 th European Conference on Software Maintenance and Reengineering , 2003 .