A Review-based Comparative Study of Bad Smell Detection Tools

被引:98
作者
Fernandes, Eduardo [1 ]
Oliveira, Johnatan [1 ]
Vale, Gustavo [1 ]
Paiva, Thanis [1 ]
Figueiredo, Eduardo [1 ]
机构
[1] Fed Univ Minas Gerais UFMG, Software Engn Lab LabSoft, Dept Comp Sci DCC, Belo Horizonte, MG, Brazil
来源
PROCEEDINGS OF THE 20TH INTERNATIONAL CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING 2016 (EASE '16) | 2016年
关键词
Systematic literature review; comparative study; bad smells; detection tools; CLONE DETECTION;
D O I
10.1145/2915970.2915984
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Bad smells are symptoms that something may be wrong in the system design or code. There are many bad smells defined in the literature and detecting them is far from trivial. Therefore, several tools have been proposed to automate bad smell detection aiming to improve software maintainability. However, we lack a detailed study for summarizing and comparing the wide range of available tools. In this paper, we first present the fmdings of a systematic literature review of bad smell detection tools. As results of this review, we found 84 tools; 29 of them available online for download. Altogether, these tools aim to detect 61 bad smells by relying on at least six different detection techniques. They also target different programming languages, such as Java, C, C++, and C#. Following up the systematic review, we present a comparative study of four detection tools with respect to two bad smells: Large Class and Long Method. This study relies on two software systems and three metrics for comparison: agreement, recall, and precision. Our fmdings support that tools provide redundant detection results for the same bad smell. Based on quantitative and qualitative data, we also discuss relevant usability issues and propose guidelines for developers of detection tools.
引用
收藏
页数:12
相关论文
共 100 条
[51]  
Kiefer C., 2007, P 4 INT WORKSH MIN S
[52]  
Kitchenham B., 2007, GUIDELINES PERFORMIN, DOI 10.1145/1134285.1134500
[53]  
Komondoor R, 2001, LECT NOTES COMPUT SC, V2028, P383
[54]   Adaptive Detection of Design Flaws [J].
Kreimer, Jochen .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 141 (04) :117-136
[55]  
Lanza M., 2007, Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems
[56]  
Li HQ, 2010, LECT NOTES COMPUT SC, V5937, P104
[57]  
Li ZM, 2004, USENIX ASSOCIATION PROCEEDINGS OF THE SIXTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDE '04), P289
[58]   Schedule of Bad Smell Detection and Resolution: A New Way to Save Effort [J].
Liu, Hui ;
Ma, Zhiyi ;
Shao, Weizhong ;
Niu, Zhendong .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (01) :220-235
[59]  
Macia I., 2012, P 11 ANN INT C ASP O, P167
[60]  
Macia I, 2012, 2012 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), P662, DOI 10.1109/ICSM.2012.6405348