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 条
  • [31] An Empirical Analysis of the Impact of Comment Statements on Fault-Proneness of Small-Size Module
    Aman, Hirohisa
    2012 19TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC), VOL 1, 2012, : 362 - 367
  • [32] Predicting fault-proneness using OO metrics -: An industrial case study
    Yu, P
    Systä, T
    Müller, H
    SIXTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2002, : 99 - 107
  • [33] Supplementing Object-Oriented Software Change Impact Analysis with Fault-proneness Prediction
    Isong, Bassey
    Ifeoma, Ohaeri
    Mbodila, Munienge
    2016 IEEE/ACIS 15TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE (ICIS), 2016, : 655 - 662
  • [34] Modelling fault-proneness statistically over a sequence of releases: a case study
    Ohlsson, MC
    Andrews, AA
    Wohlin, C
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2001, 13 (03): : 167 - 199
  • [35] A SYSTEMATIC REVIEW OF THE EMPIRICAL VALIDATION OF OBJECT-ORIENTED METRICS TOWARDS FAULT-PRONENESS PREDICTION
    Isong, Bassey
    Obeten, Ekabua
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2013, 23 (10) : 1513 - 1540
  • [36] A hybrid approach to analyze empirical software engineering data and its application to predict module fault-proneness in maintenance
    Morasca, S
    Ruhe, G
    JOURNAL OF SYSTEMS AND SOFTWARE, 2000, 53 (03) : 225 - 237
  • [37] An Exploratory Study of the Impact of Code Smells on Software Change-proneness
    Khomh, Foutse
    Di Penta, Massimiliano
    Gueheneuc, Yann-Gael
    16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 75 - +
  • [38] Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: A replicated case study
    Aggarwal, K.K.
    Singh, Yogesh
    Kaur, Arvinder
    Malhotra, Ruchika
    Software Process Improvement and Practice, 2009, 14 (01): : 39 - 62
  • [39] An Empirical Study of the Relationships between Design Pattern Roles and Class Change Proneness
    Di Penta, Massimiliano
    Cerulo, Luigi
    Gueheneuc, Yann-Gael
    Antoniol, Giuliano
    2008 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2008, : 217 - 226
  • [40] Applying design metrics to predict fault-proneness: a case study on a large-scale software system
    Wong, WE
    Horgan, JR
    Syring, M
    Zage, W
    Zage, D
    SOFTWARE-PRACTICE & EXPERIENCE, 2000, 30 (14): : 1587 - 1608