Shariat Yazdi, Hamed;
Detection of High-Level Changes in Evolving Java
p.43-44 in: Proc. 15. Workshop
Software-Reengineering (WSR'13). Bad Honnef. 6.-8. Mai
Abstract: Software re-engineering is faced with the huge
challenge of understanding the structure and behavior of
complex programs. In case of legacy systems,
understanding the past of a system is often required to
understand certain design rationales that help to
understand the system itself.
In this paper, we report about our ongoing work on
analyzing the evolution of Java programs using techniques
from the domain of comparison and versioning
of software models. Working on reverse-engineered
class diagrams, a model matching algorithm is used
to identify differences on the design-level. Based on
that, a highly customizable operation detection engine
is used to derive the actual changes between revisions.
Our experience has shown that the approach is capable
of identifying high-level software changes such as
refactorings or the introduction of design patterns.