Differencing logical UML models
Automated Software Engineering
API-Evolution Support with Diff-CatchUp
IEEE Transactions on Software Engineering
High velocity refactorings in Eclipse
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Collaborative software engineering on large-scale models: requirements and experience in ModelBus
Proceedings of the 2008 ACM symposium on Applied computing
Seven habits of a highly effective smell detector
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Gathering refactoring data: a comparison of four methods
Proceedings of the 2nd Workshop on Refactoring Tools
A graph-based approach to API usage adaptation
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
An empirical investigation into the role of API-level refactorings during software evolution
Proceedings of the 33rd International Conference on Software Engineering
Capturing and analyzing low-level events from the code editor
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
The need for richer refactoring usage data
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Reconciling manual and automatic refactoring
Proceedings of the 34th International Conference on Software Engineering
Use, disuse, and misuse of automated refactorings
Proceedings of the 34th International Conference on Software Engineering
TexMo: a multi-language development environment
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
ACM Transactions on Software Engineering and Methodology (TOSEM)
RefactorPad: editing source code on touchscreens
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
A compositional paradigm of automating refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
A comparative study of manual and automated refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
A multidimensional empirical study on refactoring activity
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Investigating the evolution of code smells in object-oriented systems
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Refactoring is an important activity in the evolutionary development of object-oriented software systems. Yet, several questions about the practice of refactoring remain unanswered, such as what fraction of code modifications are refactorings and what are the most frequent types of refactorings. To gain some insight in this matter, we conducted a detailed case study on the structural evolution of Eclipse, an integrated-development environment (IDE) and a plugin-based framework. Our study indicates that 1) about 70% of structural changes may be due to refactorings; 2) for about 60% of these changes, the references to the affected entities in a component- based application can be automatically updated by a refactoring- migration tool if the relevant information of refactored components can be gathered through the refactoring engine; and 3) stateof- the-art IDEs, such as Eclipse, support only a subset of commonly applied low-level refactorings and lack support for more complex ones, which are also frequent. Based on our findings, we draw some conclusions on high-level design requirements for a refactoringbased development environment.