System Evolution at the Attribute Level: an Empirical Study of Three Java OSS and their Refactorings

Steve Counsell, Emal Nasseri


In this paper, we focus on the net changes in attributes across versions of OSS and use net class change data (class additions and deletions) as well as refactoring data from a previous study to inform our understanding of how those three systems evolved as they did.  While the majority of new attributes were added at levels 1 and 2 of the inheritance, these patterns were not consistent. The research question addresses the evolutionary relationship between classes and attributes as well as the connection between those changes and refactorings. Although some evidence of attributes following patterns conformant with class additions was found, we also identified occurrences of attributes being added unilaterally. A strong correspondence was also found between attribute addition and the refactoring data. Finally, we explore features of a fourth system with seven inheritance levels for similar characteristics.


Evolution, OO, attribute, refactoring.

Full Text:



Creative Commons License
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.

Crossref Similarity Check logo

Crossref logologo_doaj