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 条
  • [1] Conditional-based refactorings and fault-proneness: An empirical study
    Counsell, S.
    Gatrell, M.
    Hierons, R.
    Murgia, A.
    Tonelli, R.
    Marchesi, M.
    Concas, G.
    [J]. Proceedings - IEEE 6th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2013, 2013, : 80 - 85
  • [2] An empirical evaluation of fault-proneness models
    Denaro, G
    Pezzè, M
    [J]. ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 241 - 251
  • [3] On the Relationship Between Program Evolution and Fault-proneness: An Empirical Study
    Jaafar, Fehmi
    Hassaine, Salima
    Gueheneuc, Yann-Gael
    Hamel, Sylvie
    Adams, Bram
    [J]. PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 15 - 24
  • [4] An Empirical Study of the Fault-Proneness of Clone Mutation and Clone Migration
    Xie, Shuai
    Khomh, Foutse
    Zou, Ying
    [J]. 2013 10TH IEEE WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2013, : 149 - 158
  • [5] An Empirical Study on the Fault-Proneness of Clone Migration in Clone Genealogies
    Xie, Shuai
    Khomh, Foutse
    Zou, Ying
    Keivanloo, Iman
    [J]. 2014 SOFTWARE EVOLUTION WEEK - IEEE CONFERENCE ON SOFTWARE MAINTENANCE, REENGINEERING, AND REVERSE ENGINEERING (CSMR-WCRE), 2014, : 94 - +
  • [6] An Empirical Study on Dependence Clusters for Effort-Aware Fault-Proneness Prediction
    Yang, Yibiao
    Harman, Mark
    Krinke, Jens
    Islam, Syed
    Binkley, David
    Zhou, Yuming
    Xu, Baowen
    [J]. 2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 296 - 307
  • [7] Empirical Study on the Correlation between Software Structural Modifications and Its Fault-proneness
    Wang, Fei
    Ai, Jun
    Wang, Jiaming
    [J]. 2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C), 2017, : 634 - 635
  • [8] Exploring the relationship of a file's history and its fault-proneness: An empirical study
    Illes-Seifert, Timea
    Paech, Barbara
    [J]. TACI PART 2008:TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS, 2008, : 13 - 22
  • [9] On the Association between Code Cloning and Fault-Proneness: An Empirical Investigation
    Elish, Mahmoud O.
    [J]. 2017 COMPUTING CONFERENCE, 2017, : 928 - 935
  • [10] Empirical analysis of fault-proneness in methods by focusing on their comment lines
    Aman, Hirohisa
    Amasaki, Sousuke
    Sasaki, Takashi
    Kawahara, Minoru
    [J]. Proceedings - Asia-Pacific Software Engineering Conference, APSEC, 2014, 2 : 51 - 56