Continuous Analysis of Collaborative Design"/> Continuous Analysis of Collaborative Design"/>
In collaborative design, architects' individual design decisions may conflict and, when joined, may violate system consistency rules or non-functional requirements. These design conflicts can hinder collaboration and result in wasted effort. Proactive detection of code-level conflicts has been shown to improve collaborative productivity; however, the computational resource requirements for proactively computing design conflicts have hindered its applicability in practice. Our survey and interviews of 50 architects from six large software companies find that 60% of their projects involve collaborative design, that architects consider integration costly, and that design conflicts are frequent and lead to lost work. To aid collaborative design, we re-engineer FLAME, our prior design conflict detection technique, to use cloud resources and a novel prioritization algorithm that, together, achieve efficient and nonintrusive conflict detection, and guarantee a bound on the time before a conflict is discovered. Two controlled experiments with 90 students trained in software architecture in a professional graduate program, demonstrate that architects using FLAME design more efficiently, produce higher-quality designs, repair conflicts faster, and prefer using FLAME. An empirical performance evaluation demonstrates FLAME's scalability and verifies its time-bound guarantees.
@inproceedings{Bang17icsa,
author = {Jae young Bang and Yuriy Brun and Nenad Medvidovic},
title = {Continuous Analysis of Collaborative Design},
booktitle = {Proceedings of the IEEE International Conference on Software Architecture (ICSA)},
venue = {ICSA},
address = {Gothenburg, Sweden},
month = {April},
date = {3--7},
year = {2017},
pages = {97--106},
doi = {10.1109/ICSA.2017.45},
note = {Best Paper Award. DOI:
10.1109/ICSA.2017.45},
comment = {<span class="emphasis">Best Paper Award</span>},
accept = {$\frac{21}{95} \approx 22\%$},
abstract = {In collaborative design, architects' individual design
decisions may conflict and, when joined, may violate system consistency
rules or non-functional requirements. These design conflicts can hinder
collaboration and result in wasted effort. Proactive detection of
code-level conflicts has been shown to improve collaborative productivity;
however, the computational resource requirements for proactively computing
design conflicts have hindered its applicability in practice. Our survey
and interviews of 50 architects from six large software companies find that
60% of their projects involve collaborative design, that architects
consider integration costly, and that design conflicts are frequent and
lead to lost work. To aid collaborative design, we re-engineer FLAME, our
prior design conflict detection technique, to use cloud resources and a
novel prioritization algorithm that, together, achieve efficient and
nonintrusive conflict detection, and guarantee a bound on the time before a
conflict is discovered. Two controlled experiments with 90 students trained
in software architecture in a professional graduate program, demonstrate
that architects using FLAME design more efficiently, produce higher-quality
designs, repair conflicts faster, and prefer using FLAME. An empirical
performance evaluation demonstrates FLAME's scalability and verifies its
time-bound guarantees. },
fundedBy = {},
}