Towards Connecting Bugs and Architecture in Software Systems: A Perspective
A. Eashaan Rao, Sridhar Chimalakonda · 2024
The phenomenon of software architecture degradation over time highlights how systems tend to become increasingly error-prone and resistant to change as they evolve. Changes in architecture may arise from existing bugs and their subsequent fixes. Therefore, it is important to understand which bugs might lead to changes in the existing architecture upon resolution. In this paper, we present a framework aimed at comprehending this degeneration by delving into the origins of bugs. With a better understanding of these origins, we can pinpoint the emergence of bugs resulting from pre-existing flaws or changes within the software architecture, which can lead to architecture decay. This understanding enables us to devise targeted bug management strategies, including bug prediction, localization, and detection. Through our framework, our objective extends beyond merely enhancing bug-fixing processes towards shaping the trajectory of software architecture evolution. By proactively addressing bugs at their root causes, particularly those intertwined with the software architecture, we can aim to slow the degradation of software systems and foster the development of more resilient and adaptable architectures.