Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
The Role of Constructors in the Context of Refactoring Object-Oriented Systems
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Using a Taxonomy Tool to Identify Changes in OO Software
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Analysis of signature change patterns
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Proceedings of the 2006 ACM symposium on Applied computing
Common refactorings, a dependency graph and some code smells: an empirical study of Java OSS
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Refactoring test suites versus test behaviour: a TTCN-3 perspective
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
Do bad smells indicate "trouble" in code?
DEFECTS '08 Proceedings of the 2008 workshop on Defects in large software systems
A framework for the simulation of structural software evolution
ACM Transactions on Modeling and Computer Simulation (TOMACS)
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Empirical support for two refactoring studies using commercial C# software
EASE'09 Proceedings of the 13th international conference on Evaluation and Assessment in Software Engineering
A Longitudinal Study of Fan-In and Fan-Out Coupling in Open-Source Systems
International Journal of Information System Modeling and Design
Hi-index | 0.00 |
Changes made to object-oriented (OO) systems over time provide an insight into both design robustness and changes in requirements. When expressed at a high level of abstraction, observing trends in changes to code can indicate opportunities for refactoring at the architectural level. In this paper, we empirically investigate the changes made to a set of fifty-two Java library classes over a three year period. The research attempts to support the hypothesis that certain types of changes made to Java code fall into distinct trends and, furthermore, are likely to be made at a high level of abstraction; in this case to method signatures. Our empirical results show that change trends are identifiable thus informing well-known refactorings, but not as we had envisaged. Control logic constructs were found to be the focus of most changes to the library classes examined.