System Evolution Tracking through Execution Trace Analysis

Software evolution analysis is concerned with analysis of artifacts produced during a software systems life-cycle. Execution traces produced from instrumented code reflect a system’s actual implementation. This information can be used to recover interaction patterns between different entities
such as methods, files, or modules. Some solutions for detection of patterns and their visualization exist, but are limited to small amounts of data and are incapable of comparing data from different versions of a large software system. In this paper, we propose a methodology to analyze and compare the execution traces of different versions of a software system to provide insights into its evolution. We recover high-level module views that facilitate the comprehension of each module’s evolution. Our methodology allows us to track the evolution of particular modules and present the findings in three different kinds of visualizations. Based on these graphical representations, the evolution of the concerned modules can be tracked and comprehended much more effectively. Our EvoTrace approach uses standard database technology and instrumentation facilities of development tools, so exchanging data with other analyses is facilitated. Further, we show the applicability of our approach using the Mozilla open source system consisting of about 2 million lines of C/C++ code.

By: M. Fischer; J. Oberleitner; H. Gall; Thomas Gschwind

Published in: Proceedings of the 13th International Workshop on Program Comprehension (IWPC '05) Washington, DC, IEEE, p.237-246 in 2005


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .