Issue No. 01 - January/February (2009 vol. 26)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2009.6
Harald C. Gall , University of Zurich
Beat Fluri , University of Zurich
Martin Pinzger , University of Zurich
Changes are the heartbeat of a software system. Software must change to reflect new business, process, and technology requirements, or it will become progressively less useful. Software typically grows and becomes more complex, inducing more time and effort for performing changes. Software archives such as source code version-control systems and issue-tracking systems (for bugs and change requests) are rich sources to examine what changes have what impact on the software. A software evolution analysis platform called Evolizer analyzes change histories and potential support for evolution. Change types, a core part of the analysis, help discover significant changes and change patterns. A tool called ChangeDistiller enables fine-grained change type extraction and analysis to reason about coding conventions, control or exception flow, and even code and comment coevolution. An investigation of open source and commercial software systems contributed to a deeper understanding of how researchers can actively support software evolution in an integrated development environment.
software evolution analysis, maintenance, enhancement, version control, data mining, recommender systems
H. C. Gall, M. Pinzger and B. Fluri, "Change Analysis with Evolizer and ChangeDistiller," in IEEE Software, vol. 26, no. , pp. 26-33, 2009.