A dynamical evaluation framework for technical debt management in software maintenance process [Tesi di dottorato]

Over the years, initiatives involving software products have enabled increasing maintenance costs to keep them operating and meeting the needs of their users. During the lifetime of these software-based systems, development and maintenance activities inevitably introduce technical violations (some of which can be considered items of technical debt principal), whether intentional or not. If these violations are not adequately addressed, they can negatively impact the software product’s maintainability and its capacity to adapt and evolve. In this context, there is growing motivation from the software engineering community, and from those directly involved in decision-making related to software investments, to assess and anticipate the impacts of resource allocation policies (investments) in the various maintenance activity types (perfective, corrective, and preventive). The aim is to preserve satisfactory technical quality characteristics of the software and, at the same time, maintain the cost and the tangible software asset itself at levels acceptable to organizations. Software-based systems have often been in operation for long period, which makes assessing how to allocate resources to maintenance a non-trivial and often complex activity. In line with these decision-making challenges, the modeling of the complexity, mainly with reference to the dynamic dimension, is gaining attention in terms of its use as a support tool for assessing the impact of various decisions on maintenance investments regarding the long-term effects. These effects inevitability define the evolutionary path of the software product, which goes through numerous iterations throughout its lifetime. The objective of this research is twofold. First, it aims to propose and develop a simulation model that enable us to expand knowledge in the area of software maintenance and technical debt management. Second, it aims to explore and evaluate the impact of different resource allocation policies among the different types of maintenance activities on the evolutionary behavior of software systems and their quality attributes related to functional suitability, reliability, and maintainability, together with economic aspects related to cost and tangible assets. The proposed simulation model was developed and tested using the system dynamics approach and, together with computational simulations, was used to evaluate three different resource allocation scenarios focused on (1) perfective maintenance, (2) preventive maintenance, and (3) corrective maintenance. The data obtained from the three scenarios demonstrate counter-intuitive results. For example, focusing on preventive or corrective maintenance can cause, in the long run, the number of functional requirements in operation to be higher than when focusing exclusively on the development of functional requirements (perfective maintenance). However, the results obtained cannot be easily generalized. They depend on countless factors and variables that must be analyzed on a case-by-case basis, depending on context-specific characteristics related to each decision made regarding investments in software maintenance.

diritti: info:eu-repo/semantics/openAccess
In relazione con info:eu-repo/semantics/altIdentifier/hdl/11573/1422140
Valutatori esterni: J. R. Santos, S. S. S. Melnikoff, S. Armenia
tutor esterno: K. Hirama
ORIOLO, Giuseppe

Tesi di dottorato. | Lingua: Inglese. | Paese: | BID: TD20019381