Mining architectural violations from version history

被引:12
作者
Maffort, Cristiano [1 ,2 ]
Valente, Marco Tulio [2 ]
Terra, Ricardo [3 ]
Bigonha, Mariza [2 ]
Anquetil, Nicolas [4 ]
Hora, Andre [4 ]
机构
[1] CEFET MG, Dept Comp Engn, Belo Horizonte, MG, Brazil
[2] Univ Fed Minas Gerais, Dept Comp Sci, Belo Horizonte, MG, Brazil
[3] Univ Fed Lavras, Dept Comp Sci, Lavras, Brazil
[4] INRIA, RMoD Team, Lille Nord Europe, France
关键词
Software architecture conformance; Software architecture erosion; Mining software repositories; Reflexion models; DESIGN; CODE;
D O I
10.1007/s10664-014-9348-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software architecture conformance is a key software quality control activity that aims to reveal the progressive gap normally observed between concrete and planned software architectures. However, formally specifying an architecture can be difficult, as it must be done by an expert of the system having a high level understanding of it. In this paper, we present a lightweighted approach for architecture conformance based on a combination of static and historical source code analysis. The proposed approach relies on four heuristics for detecting absences (something expected was not found) and divergences (something prohibited was found) in source code based architectures. We also present an architecture conformance process based on the proposed approach. We followed this process to evaluate the architecture of two industrial-strength information systems, achieving an overall precision of 62.7 % and 53.8 %. We also evaluated our approach in an open-source information retrieval library, achieving an overall precision of 59.2 %. We envision that an heuristicbased approach for architecture conformance can be used to rapidly raise architectural warnings, without deeply involving experts in the process.
引用
收藏
页码:854 / 895
页数:42
相关论文
共 40 条
[1]  
[Anonymous], 2005, PMD applied
[2]  
[Anonymous], 2014, C TRACK P
[3]  
[Anonymous], 2010, Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering-Volume 1, ICSE '10
[4]  
[Anonymous], 2006, Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering (SIGSOFT '06/FSE-14), DOI 10.1145/1181775.1181781
[5]  
[Anonymous], 65 BELL LAB
[6]  
[Anonymous], 2011, Modern Information Retrieval: The Concepts and Technology behind Search
[7]   Study on the relevance of the warnings reported by Java']Java bug-finding tools [J].
Araujo, J. E. M. ;
Souza, S. ;
Valente, M. T. .
IET SOFTWARE, 2011, 5 (04) :366-374
[8]  
Bittencourt R, 2012, THESIS
[9]  
Brunet J., 2011, 2011 IEEE 27th International Conference on Software Maintenance, P143, DOI 10.1109/ICSM.2011.6080781
[10]  
Ducasse S., 2011, Tech. Rep.