Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Lifecycle and refactoring patterns that support evolution and reuse
Pattern languages of program design
Journal of Systems and Software - Special issue on Evaluation and assessment in software engineering
Finding refactorings via change metrics
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
IEEE Transactions on Software Engineering
Evolving Object-Oriented Designs with Refactorings
Automated Software Engineering
Refactoring: Improving the Design of Existing Code
Proceedings of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods - XP/Agile Universe 2002
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
Laws and Principles of Evolution
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Trends in Java code changes: the key to identification of refactorings?
PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Refactoring to Patterns
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Extracting Facts from Open Source Software
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
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
Code smell eradication and associated refactoring
ECC'08 Proceedings of the 2nd conference on European computing conference
An Application of Intelligent Data Analysis Techniques to a Large Software Engineering Dataset
IDA '09 Proceedings of the 8th International Symposium on Intelligent Data Analysis: Advances in Intelligent Data Analysis VIII
Class movement and re-location: An empirical study of Java inheritance evolution
Journal of Systems and Software
Issues arising from refactoring studies: an experience report
ACM SIGSOFT Software Engineering Notes
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 |
Refactoring, as a software engineering discipline has emerged over recent years to become an important aspect of maintaining software. Refactoring refers to the restructuring of software according to specific mechanics and principles. In this paper, we describe a tool that allows refactoring data across multiple versions of seven open-source software systems to be collected. The tool automates the identification of refactorings as program transformations between consecutive software releases. The same tool thus allowed an empirical analysis of software development across versions from the perspective of those transformations. We describe results for the systems analysed and point to key conclusions from our analysis. In particular, we investigate a problematic empirical question as to whether certain refactorings are related, i.e., they cannot be undertaken in isolation without other refactorings being undertaken in parallel. In this context, we focus specifically on the four most common refactorings identified by the tool from three of the open-source systems and use a dependency graph to inform conclusions about the empirical data extracted by the tool. An interesting result relating to some common refactorings is described.