Experiences Applying Automated Architecture Analysis Tool Suites

被引:26
作者
Mo, Ran [1 ]
Snipes, Will [2 ]
Cai, Yuanfang [3 ]
Ramaswamy, Srini [4 ]
Kazman, Rick [5 ,6 ]
Naedele, Martin [7 ]
机构
[1] Cent China Normal Univ, Wuhan, Peoples R China
[2] ABB Corp Res, Raleigh, NC USA
[3] Drexel Univ, Philadelphia, PA 19104 USA
[4] ABB Inc, Cleveland, OH USA
[5] SEU CMU, Honolulu, HI USA
[6] Univ Hawaii, Honolulu, HI 96822 USA
[7] ABB Inc, Baden, Switzerland
来源
PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18) | 2018年
基金
美国国家科学基金会;
关键词
Software Architecture; Software Quality; Software Maintenance; DESIGN; METRICS;
D O I
10.1145/3238147.3240467
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper, we report our experiences of applying three complementary automated software architecture analysis techniques, supported by a tool suite, called DV8, to 8 industrial projects within a large company. DV8 includes two state-of-the-art architecture level maintainability metrics Decoupling Level and Propagation Cost, an architecture flaw detection tool, and an architecture root detection tool. We collected development process data from the project teams as input to these tools, reported the results back to the practitioners, and followed up with telephone conferences and interviews. Our experiences revealed that the metrics scores, quantitative debt analysis, and architecture flaw visualization can effectively bridge the gap between management and development, help them decide if, when, and where to refactor. In particular, the metrics scores, compared against industrial benchmarks, faithfully reflected the practitioners' intuitions about the maintainability of their projects, and enabled them to better understand the maintainability relative to other projects internal to their company, and to other industrial products. The automatically detected architecture flaws and roots enabled the practitioners to precisely pinpoint, visualize, and quantify the "hotspots" within the systems that are responsible for high maintenance costs. Except for the two smallest projects for which both architecture metrics indicated high maintainability, all other projects are planning or have already begun refactorings to address the problems detected by our analyses. We are working on further automating the tool chain, and transforming the analysis suite into deployable services accessible by all projects within the company.
引用
收藏
页码:779 / 789
页数:11
相关论文
共 28 条
[1]  
ABREU F, 1995, P ECOOP 95 WORKSH ME
[2]  
Baldwin C.Y., 2000, Design rules: The power of modularity, V1
[3]  
Bouwers Eric, 2011, 2011 IEEE 27th International Conference on Software Maintenance, P540, DOI 10.1109/ICSM.2011.6080827
[4]  
Bouwers E, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P921, DOI 10.1109/ICSE.2013.6606641
[5]   Quantifying the Analyzability of Software Architectures [J].
Bouwers, Eric ;
Correia, Jose Pedro ;
van Deursen, Arie ;
Visser, Joost .
2011 9TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE (WICSA), 2011, :83-92
[6]  
Cai YF, 2006, IEEE INT CONF AUTOM, P91
[7]  
Cao AJ, 2014, 2014 11TH INTERNATIONAL SYMPOSIUM ON WIRELESS COMMUNICATIONS SYSTEMS (ISWCS), P22, DOI 10.1109/ISWCS.2014.6933313
[8]  
Carriere J., 2010, 2010 32nd International Conference on Software Engineering (ICSE), P149, DOI 10.1145/1810295.1810317
[9]   Software Dependencies, Work Dependencies, and Their Impact on Failures [J].
Cataldo, Marcelo ;
Mockus, Audris ;
Roberts, Jeffrey A. ;
Herbsleb, James D. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2009, 35 (06) :864-878
[10]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493