Conditional-based refactorings and fault-proneness: an empirical study

被引:0
|
作者
Counsell, S. [1 ]
Gatrell, M. [1 ]
Hierons, R. [1 ]
Murgia, A. [2 ]
Tonelli, R. [3 ]
Marchesi, M. [3 ]
Concas, G. [3 ]
机构
[1] Brunel Univ, Dept Informat Syst, Uxbridge UB8 3PH, Middx, England
[2] Univ Antwerp, Dept Informat, B-2610 Antwerp, Belgium
[3] Univ Calabria, DIEEE, Calabria, Italy
关键词
Refactoring; conditionals; object-oriented; faults;
D O I
10.1109/ICSTW.2013.81
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Recent empirical work has shown that some of the most frequently applied Java-based refactorings relate to the manipulation of code conditionals and flags. The logic of such code is often complex and difficult to test regressively. One open research issue thus relates to the fault-proneness profiles of classes where these refactorings have been applied, vis-a-vis refactorings on other classes. In this paper, we explore six releases of three Eclipse projects and the faults in the refactored classes of those releases. We explore four specific conditional-based refactorings and the supposition that: classes where these four refactorings have been applied will tend to have relatively higher fault incidences because of the inherent complexity of the embedded logic given by the constructs they operate on. Results showed that one of the four refactorings in particular had been applied to classes with higher fault profiles - the 'Replace Nested Conditional with Guard Clauses' refactoring. Some evidence that the 'Remove Control Flag' refactoring had also been applied to relatively highly fault-prone classes was found. Relative to other types of refactoring, the result thus suggests that these two effectively signpost fault-prone classes.
引用
下载
收藏
页码:80 / 85
页数:6
相关论文
共 50 条
  • [21] Towards industrially relevant fault-proneness models
    Denaro, G
    Pezzè, M
    Morasca, S
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2003, 13 (04) : 395 - 417
  • [22] Slope-based Fault-proneness Thresholds for Software Engineering Measures
    Morasca, Sandro
    Lavazza, Luigi
    PROCEEDINGS OF THE 20TH INTERNATIONAL CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING 2016 (EASE '16), 2016,
  • [23] An investigation of the fault-proneness of clone evolutionary patterns
    Liliane Barbour
    Le An
    Foutse Khomh
    Ying Zou
    Shaohua Wang
    Software Quality Journal, 2018, 26 : 1187 - 1222
  • [24] 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
  • [25] Anti-pattern Mutations and Fault-proneness
    Jaafar, Fehmi
    Khomh, Foutse
    Gueheneuc, Yann-Gael
    Zulkernine, Mohammad
    2014 14TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2014), 2014, : 246 - 255
  • [26] Correlation of Change Size to Fault-Proneness: A Real Life Case Study
    Zeindl, Markus
    Seitz, Markus
    Facchi, Christian
    2016 IEEE/ACS 13TH INTERNATIONAL CONFERENCE OF COMPUTER SYSTEMS AND APPLICATIONS (AICCSA), 2016,
  • [27] 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
  • [28] 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
  • [29] 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
  • [30] 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