Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
A Validation of the Component-Based Method for Software Size Estimation
IEEE Transactions on Software Engineering - special section on current trends in exception handling—part II
A Hierarchical Model for Object-Oriented Design Quality Assessment
IEEE Transactions on Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Generating Software Test Data by Evolution
IEEE Transactions on Software Engineering
Using Heuristic Search Techniques To Extract Design Abstractions From Source Code
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
A New Representation And Crossover Operator For Search-based Optimization Of Software Modularization
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
Automatic Clustering of Software Systems Using a Genetic Algorithm
STEP '99 Proceedings of the Software Technology and Engineering Practice
An Architecture for Distributing the Computation of Software Clustering Algorithms
WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
A heuristic search approach to solving the software clustering problem
A heuristic search approach to solving the software clustering problem
A Multiple Hill Climbing Approach to Software Module Clustering
ICSM '03 Proceedings of the International Conference on Software Maintenance
A stochastic approach to automated design improvement
PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
Metrics Are Fitness Functions Too
METRICS '04 Proceedings of the Software Metrics, 10th International Symposium
Search-Based Software Maintenance
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Search-based refactoring: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
Genetic Synthesis of Software Architecture
SEAL '08 Proceedings of the 7th International Conference on Simulated Evolution and Learning
Identification of refactoring opportunities introducing polymorphism
Journal of Systems and Software
Pattern-based genetic model refinements in MDA
Nordic Journal of Computing
Survey: A survey on search-based software design
Computer Science Review
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Object-oriented systems that undergo repeated addition of functionality commonly suffer a loss of quality in their underlying design. This problem must often be remedied in a costly refactoring phase before further maintenance programming can take place. Recently search-based approaches to automating the task of softwarere factoring, based on the concept of treating object-oriented designas a combinatorial optimisation problem, have been proposed. However, because search-based refactoring is a novel approach it has yet to be established which search techniques are most suitable forthe task. In this paper we report the results of an empirical comparison of simulated annealing, genetic algorithm and multiple ascent hill-climbing in search-based refactoring. A prototype automated refactoring tool is employed, capable of making radical changes to the design of an existing program in order that it conform more closely to a contemporary quality model. Results show multiple-ascent hill climbing to outperform both simulated annealing and genetic algorithm over a set of four input programs.