Abstract
Software repositories such as versioning systems, defect tracking systems, and archived communication between project personnel are used to help manage the progress of software projects. Software practitioners and researchers increasingly recognize the potential benefit of mining this information to support the maintenance of software systems, improve software design or reuse, and empirically validate novel ideas and techniques. Research is now proceeding to uncover ways in which mining these repositories can help to understand software development, to support predictions about software development, and to plan various evolutionary aspects of software projects. This chapter presents several analysis and visualization techniques to understand software evolution by exploiting the rich sources of artifacts that are available. Based on the data models that need to be developed to cover sources such as modification and bug reports we describe how to use a Release History Database for evolution analysis. For that we present approaches to analyse developer effort for particular software entities. Further we present change coupling analyses that can reveal hidden change dependencies among software entities. Finally, we show how to investigate architectural shortcomings over many releases and to identify trends in the evolution. Kiviat graphs can be effectively used to visualize such analysis results.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
D’Ambros, M., Gall, H., Lanza, M., Pinzger, M. (2008). Analysing Software Repositories to Understand Software Evolution. In: Software Evolution. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-76440-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-76440-3_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-76439-7
Online ISBN: 978-3-540-76440-3
eBook Packages: Computer ScienceComputer Science (R0)