Issue No.01 - January/February (2009 vol.26)
Harald C. Gall , University of Zurich
Beat Fluri , University of Zurich
Martin Pinzger , University of Zurich
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2009.6
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
Harald C. Gall, Beat Fluri, Martin Pinzger, "Change Analysis with Evolizer and ChangeDistiller", IEEE Software, vol.26, no. 1, pp. 26-33, January/February 2009, doi:10.1109/MS.2009.6