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.
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}},

  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 = {},
}