Published April 8, 2019 | Version v1
Conference paper Open

JCaliper: search-based technical debt management

Description

Technical Debt (TD) reflects problems in software maintainability along evolution. TD principal is defined as the effort required for refactoring an existing system to an ideal one (a.k.a. optimal) that suffers from no maintainability problems. One of the open problems in the TD community is that ideal versions of systems do not exist, and there are no methods in the literature for approaching them, even theoretically. To alleviate this problem, in this paper we propose an efficient TD management strategy, by applying Search-Based Software Engineering techniques. In particular, we focus on one specific aspect of TD, namely inefficient software modularity, by properly assigning behavior and state to classes through search space exploration. At the same time, in the context of TD, we: (a) investigate the use of local search algorithms to obtain a near-optimum solution and propose TD repayment actions (i.e., refactorings), and (b) calculate the distance of a design to the corresponding optimal (i.e., a proxy of TD principal). The approach has been implemented in the JCaliper Eclipse plugin enabling a case study, which validates the approach and contrasts it to existing measure of software evolution.

Files

JCaliper.pdf

Files (1.3 MB)

Name Size Download all
md5:92355ac7d7f746e15f69138fc5937335
1.3 MB Preview Download

Additional details

Funding

SDK4ED – Software Development toolKit for Energy optimization and technical Debt elimination 780572
European Commission