Proceedings of the 36th International Conference on Software Engineering 2014
DOI: 10.1145/2568225.2568241
|View full text |Cite
|
Sign up to set email alerts
|

Design rule spaces: a new form of architecture insight

Abstract: In this paper, we investigate software architecture as a set of overlapping design rule spaces, formed by one or more structural or evolutionary relationships and clustered using our design rule hierarchy algorithm. Considering evolutionary coupling as a special type of relationship, we investigated (1) whether design rule spaces can reveal structural relations among error-prone files; (2) whether design rule spaces can reveal structural problems contributing to error-proneness. We studied three large-scale op… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

4
79
0
1

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
2
1

Relationship

3
5

Authors

Journals

citations
Cited by 85 publications
(84 citation statements)
references
References 29 publications
4
79
0
1
Order By: Relevance
“…Xiao et al [1] recently proposed DRSpaces as a method to gain architectural insight. They used a tool called Titan to parse source code for DRs and attribute files to DRSpaces.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Xiao et al [1] recently proposed DRSpaces as a method to gain architectural insight. They used a tool called Titan to parse source code for DRs and attribute files to DRSpaces.…”
Section: Related Workmentioning
confidence: 99%
“…Xiao et al [1] observed that DRSpaces were stable over time and that buggy files within them are architecturally connected. They also observed lots of files changed together despite not being structurally related and suggested that these files may have "shared secrets" that cannot be determined from structure.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…2) A toolcalled Titan [28] will be used to identify architectural structures that are potentially implicated in the targeted vulnerabilities, to locate the design flaws within these structures, and to identify the specific files within these structures that have the highest probability of experiencing a security bug. The Titan tool chain takes, as input, a project's source code, its revision history (from a configuration management tool such as SVN), and its issues (from an issue-tracking system such as Jira) and, based on this input, clusters the architecture into a set of overlapping DRSpaces.…”
Section: Developing Countermeasuresmentioning
confidence: 99%
“…Wilkie and Kitchenham (2000) and Sosa et al (2013) show that higher levels of component coupling are associated with more frequent changes and higher defect levels. Cai et al (2013) and Xiao, Cai and Kazman (2014) show that defects often cluster within groups of components that depend on the same higher-level component. Finally, MacCormack et al (2012) show that the mean level of coupling varies widely across similar systems, the differences being explained, in part, by differences in the way system development is organized.…”
Section: Design Structure Matrices (Dsms)mentioning
confidence: 99%