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
Getting Results from Search-Based Approaches to Software Engineering
Proceedings of the 26th International Conference on Software Engineering
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
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
A multi-objective approach to search-based test data generation
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Pareto optimal search based refactoring at the design level
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Getting the most from search-based refactoring
Proceedings of the 9th annual conference on Genetic and evolutionary computation
The multi-objective next release problem
Proceedings of the 9th annual conference on Genetic and evolutionary computation
An Introduction to Grammar Convergence
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
On the use of genetic programming for automated refactoring and the introduction of design patterns
Proceedings of the 12th annual conference on Genetic and evolutionary computation
Analysing refactoring dependencies using unfolding of graph transformation systems
Proceedings of the 7th International Conference on Frontiers of Information Technology
Deviance from perfection is a better criterion than closeness to evil when identifying risky code
Proceedings of the IEEE/ACM international conference on Automated software engineering
Proceedings of the 1st Workshop on Testing Object-Oriented Systems
Automated assistance for search-based refactoring using unfolding of graph transformation systems
ICGT'10 Proceedings of the 5th international conference on Graph transformations
Code-Imp: a tool for automated search-based refactoring
Proceedings of the 4th Workshop on Refactoring Tools
Search-based design defects detection by example
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Evolution of legacy system comprehensibility through automated refactoring
Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering
Detecting model refactoring opportunities using heuristic search
Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research
Search based software engineering: techniques, taxonomy, tutorial
Empirical Software Engineering and Verification
A new design defects classification: marrying detection and correction
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Survey: A survey on search-based software design
Computer Science Review
Reconciling manual and automatic refactoring
Proceedings of the 34th International Conference on Software Engineering
A web-service for automated software refactoring using artificial bee colony optimization
ICSI'12 Proceedings of the Third international conference on Advances in Swarm Intelligence - Volume Part I
Experimental assessment of software metrics using automated refactoring
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Improving software security using search-based refactoring
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Maintainability defects detection and correction: a multi-objective approach
Automated Software Engineering
What you like in design use to correct bad-smells
Software Quality Control
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 software refactoring, based on the concept of treating object-oriented design as a combinatorial optimization problem, have been proposed. However, because search-based refactoring is a novel approach it is yet to be established as to which search techniques are most suitable for the task. In this paper we report the results of an empirical comparison of simulated annealing (SA), genetic algorithms (GAs) and multiple ascent hill-climbing (HCM) 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 conforms more closely to a contemporary quality model. Results show HCM to outperform both SA and GA over a set of five input programs. Copyright © 2008 John Wiley & Sons, Ltd.