Abstract
Software refactoring has been recognised as a valuable process during software development and is often aimed at repaying technical debt. Technical debt arises when a software product has been built or amended without full care for structure and extensibility. Refactoring is useful to keep technical debt low and if it can be automated there are obvious efficiency benefits. Using a combination of automated refactoring techniques, software metrics and metaheuristic searches, an automated refactoring tool can improve the structure of a software system without affecting its functionality. In this paper, four different refactoring approaches are compared using an automated software refactoring tool. Weighted sums of metrics are used to form different fitness functions that drive the search process towards certain aspects of software quality. Metrics are combined to measure coupling, abstraction and inheritance and a fourth fitness function is proposed to measure reduction in technical debt. The 4 functions are compared against each other using 3 different searches on 6 different open source programs. Four out of the 6 programs show a larger improvement in the technical debt function after the search based refactoring process. The results show that the technical debt function is useful for assessing improvement in quality.
Original language | English |
---|---|
Article number | 11 |
Pages (from-to) | 183-194 |
Number of pages | 12 |
Journal | Journal of Systems and Software |
Volume | 120 |
Early online date | 11 May 2016 |
DOIs | |
Publication status | Published - Oct 2016 |
Bibliographical note
Accepted and published online. Printed version available.Keywords
- search based software engineering
- automated refactoring
- refactoring tools
- technical debt
- software metrics
- simulated annealing
ASJC Scopus subject areas
- Human-Computer Interaction
- Software
- Artificial Intelligence
Fingerprint
Dive into the research topics of 'Technical Debt Reduction using Search Based Automated Refactoring'. Together they form a unique fingerprint.Datasets
-
Experimental results from Mohan et al. (2016) Technical Debt Reduction using Search Based Automated Refactoring. Journal of Systems and Software. 120: 183-194.
Mohan, M. (Creator), Queen's University Belfast, 18 Nov 2015
https://github.com/mmohan01/a-cma/tree/master/A-CMA/results/Technical%20Debt%20Results
Dataset
Student theses
-
Automated Software Maintenance Using Search-Based Refactoring
Mohan, M. (Author), Greer, D. (Supervisor) & McMullan, P. (Supervisor), Feb 2018Student thesis: Doctoral Thesis › Doctor of Philosophy
File
Profiles
-
Desmond Greer
- School of Electronics, Electrical Engineering and Computer Science - Senior Lecturer
- Knowledge and Data Engineering
Person: Academic