A Hierarchical Model for Object-Oriented Design Quality Assessment
IEEE Transactions on Software Engineering
Proceedings of the 8th 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
Search-based refactoring for software maintenance
Journal of Systems and Software
Search-based refactoring: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
Open Problems in Testability Transformation
ICSTW '08 Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop
Interactive, Evolutionary Search in Upstream Object-Oriented Class Design
IEEE Transactions on Software Engineering
Automated Refactoring for Testability
ICSTW '11 Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops
A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Survey: A survey on search-based software design
Computer Science Review
Multi-level automated refactoring using design exploration
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Dynamic adaptive search based software engineering
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Improving software security using search-based refactoring
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Hi-index | 0.00 |
Manual refactoring is tedious and error-prone, so it is natural to try to automate this process as much as possible. Fully automated refactoring usually involves using metaheuristic search to determine which refactorings should be applied to improve the program according to some fitness function, expressed in terms of standard software quality metrics. Code-Imp (Combinatorial Optimisation for Design Improvement) is such an automated refactoring platform for the Java language. It can apply a range of refactorings, supports several search types, and implements over 25 software quality metrics which can be combined in various ways to form a fitness function. The original goal of the Code-Imp project was to investigate the use of automated refactoring to improve software quality as expressed by a contemporary metrics suite. In this paper we present a technical overview of the Code-Imp implementation, and summarise three active research strands involving Code-Imp: refactoring for testability, metrics exploration, and multi-level design improvement.