Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Applications of inductive logic programming
Communications of the ACM
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Advances in Inductive Logic Programming
Advances in Inductive Logic Programming
Genetic Algorithms in Search, Optimization and Machine Learning
Genetic Algorithms in Search, Optimization and Machine Learning
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Code Factoring And The Evolution Of Evolvability
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Applying design-metrics to object-oriented frameworks
METRICS '96 Proceedings of the 3rd International Symposium on Software Metrics: From Measurement to Empirical Results
Automated Support for Program Refactoring using Invariants
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Can Metrics Help to Bridge the Gap Between the Improvement of OO Design Quality and Its Automation?
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
TOOLS '01 Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39)
A Taxonomy and an Initial Empirical Study of Bad Smells in Code
ICSM '03 Proceedings of the International Conference on Software Maintenance
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
A Pattern-Based Framework for Software Anomaly Detection
Software Quality Control
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Metrics Are Fitness Functions Too
METRICS '04 Proceedings of the Software Metrics, 10th International Symposium
Algorithms for comparison of dna sequences
Algorithms for comparison of dna sequences
Journal of Software Maintenance and Evolution: Research and Practice - Seventh European Conference on Software Maintenance and Reengineering (CSMR 2003)
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Generalized Needleman-Wunsch algorithm for the recognition of T-cell epitopes
Expert Systems with Applications: An International Journal
Search-based refactoring: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
Visual Detection of Design Anomalies
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Facilitating software refactoring with appropriate resolution order of bad smells
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
DECOR: A Method for the Specification and Detection of Code and Design Smells
IEEE Transactions on Software Engineering
A Bayesian Approach for the Detection of Code and Design Smells
QSIC '09 Proceedings of the 2009 Ninth International Conference on Quality Software
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
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
Design Defects Detection and Correction by Example
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
A multiple case study of design pattern decay, grime, and rot in evolving software systems
Software Quality Control
Hi-index | 0.00 |
Over the past decades, many techniques and tools have been developed to support maintenance activities in order to improve software quality. One of the most efficient ones is software refactoring to eliminate bad-smells. A majority of existing work propose "standard" refactoring solutions that can be applied by hand for each kind of defect. However, it is difficult to prove or ensure the generality of these solutions to any kind of bad-smells or software codes. In this paper, we propose an approach to correct bad-smells using well-designed code. We use genetic algorithms to generate correction solutions defined as a combination of refactoring operations that maximize, as much as possible, the similarity between the corrected bad-smells and examples of well-designed code. We report the results of an evaluation of our approach using four open-source projects. Our proposal achieved high correction scores by fixing the majority of expected bad-smells.