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 = {\href{http://people.cs.umass.edu/brun/pubs/pubs/Bang17icsa.pdf}{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 = {\raisebox{-.5ex}{\includegraphics[height=2.5ex]{trophy}}~Best Paper Award. \href{https://doi.org/10.1109/ICSA.2017.45}{DOI: 10.1109/ICSA.2017.45}}, comment = {<span class="emphasis">Best Paper Award</span>}, accept = {$\frac{21}{95} \approx 22\%$}, abstract = {<p>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. </p>}, fundedBy = {}, }