A Review-based Comparative Study of Bad Smell Detection Tools

被引:97
作者
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 条
[1]  
Altman D. G., 1990, Practical Statistics for medical research, DOI DOI 10.1201/9780429258589
[2]  
Alves P, 2012, PROC INT CONF SOFTW, P1463, DOI 10.1109/ICSE.2012.6227063
[3]  
[Anonymous], 2014, HDB INTERRATER RELIA
[4]  
[Anonymous], 2014, AUTOM SOFTW ENG, DOI DOI 10.1007/S10515-014-0175-X
[5]  
[Anonymous], 1993, Computing Science and Statistics
[6]  
[Anonymous], SOFTW DES METR TOOL
[7]  
Arcoverde R., 2012, 2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE), P90, DOI 10.1109/RSSE.2012.6233419
[8]  
Bavota Gabriele, 2015, J SYSTEMS SOFTWARE
[9]   Clone detection using abstract syntax trees [J].
Baxter, ID ;
Yahin, A ;
Moura, L ;
Sant'Anna, M ;
Bier, L .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, :368-377
[10]   Comparison and evaluation of clone detection tools [J].
Bellon, Stefan ;
Koschke, Rainer ;
Antoniol, Giuliano ;
Krinke, Jens ;
Merlo, Ettore .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (09) :577-591