Journal article
Design Rule Spaces: A New Model for Representing and Analyzing Software Architecture
IEEE transactions on software engineering, v 45(7), pp 657-682
01 Jul 2019
Abstract
In this paper, we propose an architecture model called Design Rule Space (DRSpace). We model the architecture of a software system as multiple overlapping DRSpaces, reflecting the fact that any complex software system must contain multiple aspects, features, patterns, etc. We show that this model provides new ways to analyze software quality. In particular, we introduce an Architecture Root detection algorithm that captures DRSpaces containing large numbers of a project's bug-prone files, which are called Architecture Roots (ArchRoots). After investigating ArchRoots calculated from 15 open source projects, the following observations become clear: from 35 to 91 percent of a project's most bug-prone files can be captured by just 5 ArchRoots, meaning that bug-prone files are likely to be architecturally connected. Furthermore, these ArchRoots tend to live in the system for significant periods of time, serving as the major source of bug-proneness and high maintainability costs. Moreover, each ArchRoot reveals multiple architectural flaws that propagate bugs among files and this will incur high maintenance costs over time. The implication of our study is that the quality, in terms of bug-proneness, of a large, complex software project cannot be fundamentally improved without first fixing its architectural flaws.
Metrics
Details
- Title
- Design Rule Spaces: A New Model for Representing and Analyzing Software Architecture
- Creators
- Yuanfang Cai - Drexel UniversityLu Xiao - Stevens Institute of TechnologyRick Kazman - University of Hawaii SystemRan Mo - Drexel UniversityQiong Feng - Drexel University
- Publication Details
- IEEE transactions on software engineering, v 45(7), pp 657-682
- Publisher
- IEEE
- Grant note
- 1514315 / Division of Computing and Communication Foundations (10.13039/100000143)
- Resource Type
- Journal article
- Language
- English
- Academic Unit
- Computer Science
- Web of Science ID
- WOS:000476775600002
- Scopus ID
- 2-s2.0-85041003076
- Other Identifier
- 991019167590404721
InCites Highlights
Data related to this publication, from InCites Benchmarking & Analytics tool:
- Collaboration types
- Domestic collaboration
- Web of Science research areas
- Computer Science, Software Engineering
- Engineering, Electrical & Electronic