Program evolution: processes of software change
Program evolution: processes of software change
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Genetic programming: an introduction: on the automatic evolution of computer programs and its applications
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Agile Software Development: Principles, Patterns, and Practices
Agile Software Development: Principles, Patterns, and Practices
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Automatic Clustering of Software Systems Using a Genetic Algorithm
STEP '99 Proceedings of the Software Technology and Engineering Practice
A Metric-Based Approach to Enhance Design Quality through Meta-pattern Transformations
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
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)
Architecture-Aware Adaptive Clustering of OO Systems
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Search-based improvement of subsystem decompositions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
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
Locating dependence structures using search-based slicing
Information and Software Technology
Search-based refactoring: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
Object-Oriented Software Systems Restructuring through Clustering
ICAISC '08 Proceedings of the 9th international conference on Artificial Intelligence and Soft Computing
Genetic Synthesis of Software Architecture
SEAL '08 Proceedings of the 7th International Conference on Simulated Evolution and Learning
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Refactorings detection using hierarchical clustering
ECC'08 Proceedings of the 2nd conference on European computing conference
Automated Design Improvement by Example
Proceedings of the 2007 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the sixth SoMeT_07
Recommending Improvements to Web Applications Using Quality-Driven Heuristic Search
WISE '09 Proceedings of the 10th International Conference on Web Information Systems Engineering
Adaptive refactoring using a core-based clustering approach
SEPADS'10 Proceedings of the 9th WSEAS international conference on Software engineering, parallel and distributed systems
Generating transformation rules from examples for behavioral models
Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications
Pattern-based genetic model refinements in MDA
Nordic Journal of Computing
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
Clustering based adaptive refactoring
WSEAS Transactions on Information Science and Applications
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
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
Code-Imp: a tool for automated search-based refactoring
Proceedings of the 4th Workshop on Refactoring Tools
Identifying method friendships to remove the feature envy bad smell (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Benchmarking library and application software with Data Envelopment Analysis
Software Quality Control
Multi-level automated refactoring using design exploration
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Identifying thresholds for object-oriented software metrics
Journal of Systems and Software
Example-Based sequence diagrams to colored petri nets transformation using heuristic search
ECMFA'10 Proceedings of the 6th European conference on Modelling Foundations and Applications
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Search based software engineering: techniques, taxonomy, tutorial
Empirical Software Engineering and Verification
Survey: A survey on search-based software design
Computer Science Review
Search-based model transformation by example
Software and Systems Modeling (SoSyM)
Representations and operators for improving evolutionary software repair
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Using structural and semantic information to support software refactoring
Proceedings of the 34th International Conference on Software Engineering
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
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
Proceedings of the 15th annual conference on Genetic and evolutionary computation
Dynamic profiling-based approach to identifying cost-effective refactorings
Information and Software Technology
Refactoring software packages via community detection in complex software networks
International Journal of Automation and Computing
On the existence of high-impact refactoring opportunities in programs
ACSC '12 Proceedings of the Thirty-fifth Australasian Computer Science Conference - Volume 122
Current challenges in automatic software repair
Software Quality Control
Towards extensive software architecture erosion repairs
ECSA'13 Proceedings of the 7th European conference on Software Architecture
International Journal of Computer Applications in Technology
Improving software modularization via automated analysis of latent topics and dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Exploring synergies between bottleneck analysis and performance antipatterns
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Hi-index | 0.00 |
A software system's structure degrades over time, a phenomenon that is known as software decay or design drift. Since the quality of the structure has major impact on the maintainability of a system, the structure has to be reconditioned from time to time. Even if recent advances in the fields of automated detection of bad smells and refactorings have made life easier for software engineers, this is still a very complex and resource consuming task.Search-based approaches have turned out to be helpful in aiding a software engineer to improve the subsystem structure of a software system. In this paper we show that such techniques are also applicable when reconditioning the class structure of a system. We describe a novel search-based approach that assists a software engineer who has to perform this task by suggesting a list of refactorings. Our approach uses an evolutionary algorithm and simulated refactorings that do not change the system's externally visible behavior. The approach is evaluated using the open-source case study JHotDraw.