What if your tools knew when you have done a good job?

Jan Wloka

Eclipse IDE And Languages - Tools · Short - 20 minutes  slideshare
Tuesday, 11:30, 20 minutes | Great America 1


You are working in a team changing the code base with other members in parallel. Every change you deliver to the team's repository, is not only affecting the system quality, but also may interfere with changes of other team members. While the development process is chosen very carefully by the team to prevent introduction of bugs and improve system quality, current tools are very limited in dealing with a developer's contribution. They can record code changes, recover deleted resources, and detect textual merge conflicts, but effects of changes on the code base remain unpredictable. Resulting problems are, e.g., (undetected) merge conflicts, ineffective testing, and a high likeliness of introducing bugs.

Change models represent textual edits at the level of program elements, i.e., AST nodes. Every node of a change model, an atomic change, reflects the semantics of the underlying programming language, e.g., add method, change field, and delete class. Change-aware tools can leverage the model to compute structural and behavioral effects of changes. For example, a change-aware unit testing tool can not just provide test results, but also guide the development of new unit tests aiming for a full coverage of change effects.

In this talk fundamental concepts of change impact analysis will be summarized and illustrated with examples from the implementation of a change-aware unit testing tool. Useful change classifications and their application will be presented, and interesting implementation aspects discussed. Two concrete application scenarios from software testing and process-aware change delivery will be used to present the potential of change-aware tools.

Jan Wloka is currently a postdoctoral researcher in the PROLANGS research group at Rutgers University. He works with IBM Research on change-aware development tools and advanced refactoring techniques. This work particularly aims for practical applications of change impact analysis for tool-supporting software quality management. Jan spent several years in developing tool support and IDE extensions for various development activities. He has built refactoring support for advanced programming models, such as role-based and aspect-oriented programs, and worked on IDE extensions for test development and process-awareness guiding developers in agile methods. Jan received his Ph.D. from Technical University of Berlin in 2007, and worked several years in technology adoption projects at Fraunhofer FIRST in Berlin. He has been a speaker at international conferences, like ICSE, AOSD and FSE.

This session is part of the curated collection of short talks titled
"You and Your Tools"


Gold sponsors

IBM Corporation

Windriver logo


Sun Microsystems



BIRT Exchange by Actuate

Silver sponsors

Innovations Software Technology






Innovent Solutions

SAP Business Objects

Hardware Sponsor


Lanyard Sponsor

Intel logo

report a problem with this page