program registration submissions committee lodging portland

D14: Aspect Mining For Large Systems

D14: Aspect Mining For Large Systems

Tuesday, Oct 24, from 11:30 to 12:00
Wednesday, Oct 25, from 10:30 to 11:00
Wednesday, Oct 25, from 16:00 to 16:30
Thursday, Oct 26, from 14:30 to 15:00

As a program evolves it is easy to overlook that certain functionality is not or no longer properly encapsulated but scattered over many methods. Our Eclipse plug-in HAM identifies such cross-cutting concerns and informs the programmer unobtrusively when she is about to add more such functionality. She might now go on as planned, or think about introducing an abstraction to encapsulate this functionality properly. Imagine that you are working on some program code in Eclipse, inserting calls to a method lock() as well as to a method unlock(). Once you inserted both calls, they are marked by a light bulb as a cross-cutting concern. Why? A click on the bulb reveals a view of all code locations that call both methods. This indicates that calls to lock() and unlock() are quite frequent. They might be better encapsulated by an object that acquires the lock and receives the action to be performed. These locations are obtained from the current version of the source code; however, the information that lock() and unlock() are cross-cutting is mined from historic data. For its decisions, HAM preprocesses the program's CVS archive. Next, it applies formal concept analysis to additions of method calls. As a result we get sets of methods that were frequently added together (like lock() and unlock()> and are spread throughout the source code. The presentation will demonstrate HAM on large open-source projects such as Eclipse and will include an overview of the techniques that make it scale so well.

Silvia Breu, University of Cambridge
Thomas Zimmermann, Saarland University
Christian Lindig, Saarland University

Demonstration Schedule

While Space Available
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at
© 2005 OOPSLA