TY - GEN
T1 - Missed architectural dependencies
T2 - 13th Working IEEE/IFIP Conference on Software Architecture, WICSA 2016
AU - Nord, Robert L.
AU - Sangwan, Raghvinder
AU - Delange, Julien
AU - Feiler, Peter
AU - Thomas, Luke
AU - Ozkaya, Ipek
N1 - Publisher Copyright:
© 2016 IEEE.
PY - 2016/7/19
Y1 - 2016/7/19
N2 - Research in code and architectural analysis has demonstrated that a clear understanding of structural dependencies among software elements helps developers comprehend the impact of change. Yet examples are abundant from industry of major issues due to missed dependencies associated with different views of the architecture. Key concerns include dependencies related to allocation of modules to implementation packages to improve safety-critical testing and allocation of implementation packages to hardware partitions to optimize performance. In this paper, we present an in-depth study of a safety-critical system that underwent major changes as a result of missed architectural dependencies. We describe the challenges that resulted in re-architecting the system, the techniques we used for intervention, our results, and the developers' perspective. While the engineering tools provided coverage of design concerns, they missed implications of end-to-end integration testing, latency, and cost of change. In our study, we observed that the tools led the engineers to focus on data and control flow and therefore to miss many data-entity relationships, resource behavior, and deployment-related dependencies. Research continues to focus on more tooling and automation to assist with dependency analysis rather than interim, easier-to-adopt solutions. Our findings demonstrate that providing developers with a lightweight, semantically well-defined description of dependencies enables them to reason about change impact and propagation implications that they might otherwise overlook.
AB - Research in code and architectural analysis has demonstrated that a clear understanding of structural dependencies among software elements helps developers comprehend the impact of change. Yet examples are abundant from industry of major issues due to missed dependencies associated with different views of the architecture. Key concerns include dependencies related to allocation of modules to implementation packages to improve safety-critical testing and allocation of implementation packages to hardware partitions to optimize performance. In this paper, we present an in-depth study of a safety-critical system that underwent major changes as a result of missed architectural dependencies. We describe the challenges that resulted in re-architecting the system, the techniques we used for intervention, our results, and the developers' perspective. While the engineering tools provided coverage of design concerns, they missed implications of end-to-end integration testing, latency, and cost of change. In our study, we observed that the tools led the engineers to focus on data and control flow and therefore to miss many data-entity relationships, resource behavior, and deployment-related dependencies. Research continues to focus on more tooling and automation to assist with dependency analysis rather than interim, easier-to-adopt solutions. Our findings demonstrate that providing developers with a lightweight, semantically well-defined description of dependencies enables them to reason about change impact and propagation implications that they might otherwise overlook.
UR - http://www.scopus.com/inward/record.url?scp=84983294248&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84983294248&partnerID=8YFLogxK
U2 - 10.1109/WICSA.2016.32
DO - 10.1109/WICSA.2016.32
M3 - Conference contribution
AN - SCOPUS:84983294248
T3 - Proceedings - 2016 13th Working IEEE/IFIP Conference on Software Architecture, WICSA 2016
SP - 41
EP - 50
BT - Proceedings - 2016 13th Working IEEE/IFIP Conference on Software Architecture, WICSA 2016
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 5 April 2016 through 8 April 2016
ER -