Many-Objective Optimization of Non-Functional Attributes based on Refactoring of Software Models
Vittorio Cortellessa, Daniele Di Pompeo, Vincenzo Stoico, Michele, Tucci

TL;DR
This paper presents a multi-objective optimization approach using NSGA-II to identify optimal software refactoring strategies that balance performance, reliability, and effort, demonstrated on two case studies.
Contribution
It introduces a many-objective optimization method for software refactoring considering multiple conflicting quality attributes.
Findings
Performance improved by up to 42%
Reliability improved or preserved by up to 32%
Architectural distance effectively estimates refactoring effort
Abstract
Software quality estimation is a challenging and time-consuming activity, and models are crucial to face the complexity of such activity on modern software applications. In this context, software refactoring is a crucial activity within development life-cycles where requirements and functionalities rapidly evolve. One main challenge is that the improvement of distinctive quality attributes may require contrasting refactoring actions on software, as for trade-off between performance and reliability (or other non-functional attributes). In such cases, multi-objective optimization can provide the designer with a wider view on these trade-offs and, consequently, can lead to identify suitable refactoring actions that take into account independent or even competing objectives. In this paper, we present an approach that exploits NSGA-II as the genetic algorithm to search optimal Pareto…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Reliability and Analysis Research · Software Engineering Research · Software System Performance and Reliability
