SHF: Medium: Collaborative Research: Finding and Fixing Architectural Hotspots: An Economics-Based Decision Support Approach
Drexel University, Philadelphia PA
Investigators
Abstract
Recent research has revealed strong correlations between error-proneness and change-proneness in source code files and software architecture decisions. That is, even though a software system may have hundreds of buggy files, these files always form just a few architecturally connected groups: architecture hotspots. Hotspots exhibit architectural flaws that propagate errors among source files. This phenomenon has been observed over numerous projects, both open source and industrial, regardless of their domain, age, or programming language. The implication is that it is impossible to reduce error or change rates in complex software systems without fixing the architecture problems that cause these errors to propagate. The objective of the research proposed here is to guide the identification of high-maintenance architecture problems, quantitatively characterize their consequences in terms of software quality and productivity, and create business cases to justify their refactoring. The end goal is to reduce long-term software maintenance costs though strategic architecture improvement. The key to this research is to automatically extract architecture hotspots, and to quantify their economic consequences in terms of increased bug-fixing effort or reduced ability to deliver features. This quantification involves building models that leverage information broadly available in software projects--on bugs, changes, and commits--so that an architect can plan refactorings to the hotspots and confidently estimate the costs and benefits of such refactorings. This research will produce direct impact through the PIs' extensive national and international academic and industrial collaborations. It will fundamentally change how software defects are discovered, examined, and handled: instead of examining hundreds of defective files, each one in isolation, the analyst only needs to examine a few architecture hotspots detected by the proposed approach, fixing numerous defects simultaneously by removing their architecture roots, thus providing substantial savings in maintenance costs. The proposed decision-support approach has the potential to change the management of the software industry by providing an empirical basis for the pricing and risk analysis of software architecture decisions. The proposed architecture hotspot detection approach will influence numerous software engineering research areas, and will have significant impact on software design education by providing tool-support for the teaching of software architecture and design analysis.
View original record on NSF Award Search →