A Neural Approach to Predict the Change Impact in Object-Oriented Systems
Main Article Content
Abstract
Software maintenance is a critical phase in the software lifecycle, often outlasting the development and deployment stages and accounting for the majority of total costs in the industry. These high costs are primarily due to the complexity of implementing changes and managing their potential ripple effects throughout the system, especially in large and evolving codebases with numerous interdependencies and legacy components that are difficult to modify safely. In response to this challenge, numerous studies have aimed to analyze or predict the impact of changes in software systems. However, many existing approaches require extensive input data that is often difficult to collect or maintain, limiting their practical applicability in real-world settings and automated development pipelines. In this paper, we propose a machine learning-based approach using neural classifiers trained on historical change data. Our change impact prediction model leverages two key sources of information: (1) the relationships between classes, characterized by their susceptibility to change, and (2) the structural metrics derived from the change history across successive versions of the software. To evaluate our approach, we applied it to 23 open-source software projects from the PROMISE repository. The results demonstrate that our model outperforms several existing techniques, offering a more efficient and effective solution for change impact prediction in software maintenance, withpromising implications for large-scale systems.