TY - GEN
T1 - Designdiff
T2 - 17th IEEE International Conference on Software Architecture, ICSA 2020
AU - Wang, Xiao
AU - Xiao, Lu
AU - Huang, Kaifeng
AU - Chen, Bihuan
AU - Zhao, Yutong
AU - Liu, Yang
N1 - Publisher Copyright:
© 2020 IEEE.
PY - 2020/3
Y1 - 2020/3
N2 - The design structure of a system continuously evolves as the consequence of fast-paced code revisions. Agile techniques, such as continuous testing, ensures the function goals of a system with every code revision. However, there lacks an efficient approach that can continuously model the design difference resulting from every single code revision to facilitate comprehension and ensure the design quality. This paper contributes a novel design modeling approach, called Design Differencing (DESIGNDIFF), that models and visualizes the highlevel design differences resulting from every code revision. This paper defines a complete and general set of 17 design change operators to capture the design difference from any code revision. We evaluated the potential of DESIGNDIFF in three aspects. First, a user study of 10 developers indicated that DESIGNDIFF can help practitioners to faster and better understand high-level design differences from real-life software commits. Second, DESIGNDIFF analyzed 14,832 real-life commits in five real-life projects: finding 4,189 commits altered the software design, 855 commits introduced and 337 commits eliminated design flaws. The latency between the flaw introduction and elimination is on average 2 months to 2 years! With an affordable performance overhead, DESIGNDIFF has great potential to benefit practitioners in more applications.
AB - The design structure of a system continuously evolves as the consequence of fast-paced code revisions. Agile techniques, such as continuous testing, ensures the function goals of a system with every code revision. However, there lacks an efficient approach that can continuously model the design difference resulting from every single code revision to facilitate comprehension and ensure the design quality. This paper contributes a novel design modeling approach, called Design Differencing (DESIGNDIFF), that models and visualizes the highlevel design differences resulting from every code revision. This paper defines a complete and general set of 17 design change operators to capture the design difference from any code revision. We evaluated the potential of DESIGNDIFF in three aspects. First, a user study of 10 developers indicated that DESIGNDIFF can help practitioners to faster and better understand high-level design differences from real-life software commits. Second, DESIGNDIFF analyzed 14,832 real-life commits in five real-life projects: finding 4,189 commits altered the software design, 855 commits introduced and 337 commits eliminated design flaws. The latency between the flaw introduction and elimination is on average 2 months to 2 years! With an affordable performance overhead, DESIGNDIFF has great potential to benefit practitioners in more applications.
KW - Architecture flaws
KW - Reverse engineering
KW - Software architecture
UR - http://www.scopus.com/inward/record.url?scp=85085928910&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85085928910&partnerID=8YFLogxK
U2 - 10.1109/ICSA47634.2020.00025
DO - 10.1109/ICSA47634.2020.00025
M3 - Conference contribution
AN - SCOPUS:85085928910
T3 - Proceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020
SP - 179
EP - 190
BT - Proceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020
Y2 - 16 March 2020 through 20 March 2020
ER -