File(s) under permanent embargo
The inevitable stability of software change
conference contributionposted on 2007-01-01, 00:00 authored by Rajesh VasaRajesh Vasa, Jean-Guy Schneider, O Nierstrasz
Real software systems change and become more complex over time. But which parts change and which parts remain stable? Common wisdom, for example, states that in a well-designed object-oriented system, the more popular a class is, the less likely it is to change from one version to the next, since changes to this class are likely to impact its clients. We have studied consecutive releases of several public domain, object-oriented software systems and analyzed a number of measures indicative of size, popularity, and complexity of classes and interfaces. As it turns out, the distributions of these measures are remarkably stable as an application evolves. The distribution of class size and complexity retains its shape over time. Relatively little code is modified over time. Classes that tend to be modified, however, are also the more popular ones, that is, those with greater Fan-In. In general, the more "complex" a class or interface becomes, the more likely it is to change from one version to the next.
EventIEEE Computer Society. Conference (23rd : 2007 : Paris, France)
SeriesIEEE Computer Society Conference
Pagination4 - 13
PublisherInstitute of Electrical and Electronics Engineers
Place of publicationPiscataway, N.J.
Publication classificationE1.1 Full written paper - refereed
Copyright notice2007, IEEE
Title of proceedingsICSM 2007 : Proceedings of the 2007 IEEE International Conference on Software Maintenance