Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Pitfalls of object-oriented development
Pitfalls of object-oriented development
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Detecting defects in object-oriented designs: using reading techniques to increase software quality
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
Object-Oriented Design Heuristics
Object-Oriented Design Heuristics
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
Detecting Design Flaws via Metrics in Object-Oriented Systems
TOOLS '01 Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39)
Practical analysis for refactoring
Practical analysis for refactoring
Refactoring Workbook
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Automated Planning: Theory & Practice
Automated Planning: Theory & Practice
Automated Design Flaw Correction in Object-Oriented Systems
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Refactoring to Patterns
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
Journal of Software Maintenance and Evolution: Research and Practice - Seventh European Conference on Software Maintenance and Reengineering (CSMR 2003)
Object-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Systematic Gene Function Prediction Using a Fuzzy Nearest-Cluster Method on Gene Expression Data
IMSCCS '06 Proceedings of the First International Multi-Symposiums on Computer and Computational Sciences - Volume 1 (IMSCCS'06) - Volume 01
Towards Automated Restructuring of Object Oriented Systems
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Breaking the barriers to successful refactoring: observations and tools for extract method
Proceedings of the 30th international conference on Software engineering
Effective Software Merging in the Presence of Object-Oriented Refactorings
IEEE Transactions on Software Engineering
A domain analysis to specify design defects and generate detection algorithms
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Decor: detection et correction des defauts dans les systemes orientes objet
Decor: detection et correction des defauts dans les systemes orientes objet
Computation of refactoring plans from refactoring strategies using HTN planning
Proceedings of the Fifth Workshop on Refactoring Tools
What programmers say about refactoring tools?: an empirical investigation of stack overflow
Proceedings of the 2013 ACM workshop on Workshop on refactoring tools
Hi-index | 0.00 |
Keeping a software system conformant with a desired architecture and consistent with good design principles is a recurring task during the software evolution process. Deviations from good design principles can manifest in the form of bad smells: problems in the system's structure that can negatively affect software quality factors. Many authors have worked in identifying bad smells and in removing them with refactorings: tools have been built to suggest refactorings; successful approaches to detect bad smells have been developed, etc.. We present a comprehensive and historical review on this subject, in order to model the current state of the art and to identify the open challenges, current trends and research opportunities. We also propose a technique based on automated planning, aimed at taking one step forward in the automatic improvement of a system's structure. This proposal will allow computing complex refactoring sequences which can be directed to the achievement of a certain objective, such as the correction of bad smells.