Continuous Analysis of Collaborative Design
by Jae young Bang, Yuriy Brun, Nenad Medvidovic
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.

Citation:
Jae young Bang, Yuriy Brun, and Nenad Medvidovic, Continuous Analysis of Collaborative Design, in Proceedings of the IEEE International Conference on Software Architecture (ICSA), 2017, pp. 97–106 (Best Paper Award).
Bibtex:
@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 = {Best Paper Award. \href{http://dx.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 = {},
}