The high cost of software maintenance could potentially be greatly reduced by the automatic refactoring of object-oriented programs to increase their understandability, adaptabili...
Refactoring aims to improve the quality of a software systems’ structure, which tends to degrade as the system evolves. While manually determining useful refactorings can be cha...
Software testing can be re-formulated as a search problem, hence search algorithms (e.g., Genetic Algorithms) can be used to tackle it. Most of the research so far has been of emp...
We want to explore and analyse design decisions that influence maintainability of software. Software maintainability is important because the effort expended on changes and fixes ...
Context: There is little empirical knowledge of the effectiveness of the object-oriented paradigm. Objectives: To conduct a systematic review of the literature describing empirica...
John Bailey, David Budgen, Mark Turner, Barbara Ki...