Problems with automatic restructurers
ACM SIGPLAN Notices
Candidate metrics for object-oriented software within a taxonomy framework
Journal of Systems and Software - Special issue on achieving quality in software
Automatic inheritance hierarchy restructuring and method refactoring
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
An Evaluation of the MOOD Set of Object-Oriented Software Metrics
IEEE Transactions on Software Engineering
Another metric suite for object-oriented programming
Journal of Systems and Software
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
An Incremental Class Reorganization Approach
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
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
The GOODLY Design Language for MOOD2 Metrics Collection
Proceedings of the Workshop on Object-Oriented Technology
Evaluating the Impact of Object-Oriented Design on Software Quality
METRICS '96 Proceedings of the 3rd International Symposium on Software Metrics: From Measurement to Empirical Results
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
Java Quality Assurance by Detecting Code Smells
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Practical analysis for refactoring
Practical analysis for refactoring
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
Journal of Software Maintenance and Evolution: Research and Practice - Seventh European Conference on Software Maintenance and Reengineering (CSMR 2003)
Search-Based Software Maintenance
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Special Issue on Search-Based Software Maintenance
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
SMC'09 Proceedings of the 2009 IEEE international conference on Systems, Man and Cybernetics
Identification of refactoring opportunities introducing polymorphism
Journal of Systems and Software
Use of a multidimensional approach to study the evolution of software complexity
Innovations in Systems and Software Engineering
Code-Imp: a tool for automated search-based refactoring
Proceedings of the 4th Workshop on Refactoring Tools
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
Multi-level automated refactoring using design exploration
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Survey: A survey on search-based software design
Computer Science Review
Reducing the class coupling of legacy code by a metrics-based relocation of class members
CEE-SET'09 Proceedings of the 4th IFIP TC 2 Central and East European conference on Advances in Software Engineering Techniques
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)
SBSE meets software maintenance: achievements and open problems
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Improving software security using search-based refactoring
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Proceedings of the 15th annual conference on Genetic and evolutionary computation
Dynamic profiling-based approach to identifying cost-effective refactorings
Information and Software Technology
Exploring synergies between bottleneck analysis and performance antipatterns
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Hi-index | 0.00 |
The high cost of software maintenance could be reduced by automatically improving the design of object-oriented programs without altering their behaviour. We have constructed a software tool capable of refactoring object-oriented programs to conform more closely to a given design quality model, by formulating the task as a search problem in the space of alternative designs. This novel approach is validated by two case studies, where programs are automatically refactored to increase flexibility, reusability and understandability as defined by a contemporary quality model. Both local and simulated annealing searches were found to be effective in this task.