SATT: Tailoring Code Metric Thresholds for Different Software Architectures

被引:27
作者
Aniche, Mauricio [1 ,3 ]
Treude, Christoph [2 ]
Zaidman, Andy [1 ]
van Deursen, Arie [1 ]
Gerosa, Marco Aurelio [3 ]
机构
[1] Delft Univ Technol, NL-2600 AA Delft, Netherlands
[2] Univ Adelaide, Adelaide, SA 5005, Australia
[3] Univ Sao Paulo, BR-05508 Sao Paulo, Brazil
来源
2016 IEEE 16TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM) | 2016年
关键词
D O I
10.1109/SCAM.2016.19
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code metric analysis is a well-known approach for assessing the quality of a software system. However, current tools and techniques do not take the system architecture (e.g., MVC, Android) into account. This means that all classes are assessed similarly, regardless of their specific responsibilities. In this paper, we propose SATT (Software Architecture Tailored Thresholds), an approach that detects whether an architectural role is considerably different from others in the system in terms of code metrics, and provides a specific threshold for that role. We evaluated our approach on 2 different architectures (MVC and Android) in more than 400 projects. We also interviewed 6 experts in order to explain why some architectural roles are different from others. Our results shows that SATT can overcome issues that traditional approaches have, especially when some architectural role presents very different metric values than others.
引用
收藏
页码:41 / 50
页数:10
相关论文
共 46 条
  • [1] Alur Deepak., 2003, CORE J2EE PATTERNS C, V2nd
  • [2] Alves T. L., 2010, SOFTW MAINT ICSM IEE
  • [3] Aniche M., APPENDIX DISTRIBUTIO
  • [4] Aniche M., 2016, SOFTW MAINT EV ICSME
  • [5] [Anonymous], J SYSTEMS SOFTWARE
  • [6] [Anonymous], P INT C SOFTW ENG
  • [7] Test Code Quality and Its Relation to Issue Handling Performance
    Athanasiou, Dimitrios
    Nugroho, Ariadi
    Visser, Joost
    Zaidman, Andy
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2014, 40 (11) : 1100 - 1125
  • [8] Basili V. R., 1996, SOFTWARE ENG IEEE T, V22
  • [9] Understanding the shape of Java']Java software
    Baxter, Gareth
    Frean, Marcus
    Noble, James
    Rickerby, Mark
    Smith, Hayden
    Visser, Matt
    Melton, Hayden
    Tempero, Ewan
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (10) : 397 - 412
  • [10] Beller M., 2016, P 23 IEEE INT C SOFT, pxxx