Investigating the relation between lexical smells and change- and fault-proneness: an empirical study

被引:9
|
作者
Guerrouj, Latifa [1 ]
Kermansaravi, Zeinab [2 ]
Arnaoudova, Venera [3 ]
Fung, Benjamin C. M. [4 ]
Khomh, Foutse [2 ]
Antoniol, Giuliano [2 ]
Gueheneuc, Yann-Gael [2 ]
机构
[1] Ecole Technol Super, Montreal, PQ, Canada
[2] Ecole Polytech, Montreal, PQ, Canada
[3] Washington State Univ, Pullman, WA 99164 USA
[4] McGill Univ, Montreal, PQ, Canada
关键词
Lexical smells; Design smells; Change-proneness; Fault-proneness; Empirical study; IDENTIFIER NAMES; CODE SMELLS; BAD SMELLS;
D O I
10.1007/s11219-016-9318-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Past and recent studies have shown that design smells which are poor solutions to recurrent design problems make object-oriented systems difficult to maintain, and that they negatively impact the class change- and fault-proneness. More recently, lexical smells have been introduced to capture recurring poor practices in the naming, documentation, and choice of identifiers during the implementation of an entity. Although recent studies show that developers perceive lexical smells as impairing program understanding, no study has actually evaluated the relationship between lexical smells and software quality as well as their interaction with design smells. In this paper, we detect 29 smells consisting of 13 design smells and 16 lexical smells in 30 releases of three projects: ANT, ArgoUML, and Hibernate. We analyze to what extent classes containing lexical smells have higher (or lower) odds to change or to be subject to fault fixing than other classes containing design smells. Our results show and bring empirical evidence on the fact that lexical smells can make, in some cases, classes with design smells more fault-prone. In addition, we empirically demonstrate that classes containing design smells only are more change- and fault-prone than classes with lexical smells only.
引用
收藏
页码:641 / 670
页数:30
相关论文
共 50 条
  • [1] Investigating the relation between lexical smells and change- and fault-proneness: an empirical study
    Latifa Guerrouj
    Zeinab Kermansaravi
    Venera Arnaoudova
    Benjamin C. M. Fung
    Foutse Khomh
    Giuliano Antoniol
    Yann-Gaël Guéhéneuc
    Software Quality Journal, 2017, 25 : 641 - 670
  • [2] An exploratory study of the impact of antipatterns on class change- and fault-proneness
    Foutse Khomh
    Massimiliano Di Penta
    Yann-Gaël Guéhéneuc
    Giuliano Antoniol
    Empirical Software Engineering, 2012, 17 : 243 - 275
  • [3] An exploratory study of the impact of antipatterns on class change- and fault-proneness
    Khomh, Foutse
    Di Penta, Massimiliano
    Gueheneuc, Yann-Gael
    Antoniol, Giuliano
    EMPIRICAL SOFTWARE ENGINEERING, 2012, 17 (03) : 243 - 275
  • [4] Investigating design anti-pattern and design pattern mutations and their change- and fault-proneness
    Zeinab Azadeh Kermansaravi
    Md Saidur Rahman
    Foutse Khomh
    Fehmi Jaafar
    Yann-Gaël Guéhéneuc
    Empirical Software Engineering, 2021, 26
  • [5] Investigating design anti-pattern and design pattern mutations and their change- and fault-proneness
    Kermansaravi, Zeinab Azadeh
    Rahman, Md Saidur
    Khomh, Foutse
    Jaafar, Fehmi
    Gueheneuc, Yann-Gael
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (01)
  • [6] An Exploratory Study of the Relationship Between Software Test Smells and Fault-Proneness
    Qusef, Abdallah
    Elish, Mahmoud O.
    Binkley, David
    IEEE ACCESS, 2019, 7 : 139526 - 139536
  • [7] The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps
    Bavota, Gabriele
    Linares-Vasquez, Mario
    Bernal-Cardenas, Carlos Eduardo
    Di Penta, Massimiliano
    Oliveto, Rocco
    Poshyvanyk, Denys
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (04) : 384 - 407
  • [8] On the Relationship Between Program Evolution and Fault-proneness: An Empirical Study
    Jaafar, Fehmi
    Hassaine, Salima
    Gueheneuc, Yann-Gael
    Hamel, Sylvie
    Adams, Bram
    PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 15 - 24
  • [9] An empirical evaluation of fault-proneness models
    Denaro, G
    Pezzè, M
    ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 241 - 251
  • [10] On the Association between Code Cloning and Fault-Proneness: An Empirical Investigation
    Elish, Mahmoud O.
    2017 COMPUTING CONFERENCE, 2017, : 928 - 935