Studying the Relationship between Exception Handling Practices and Post-release Defects

被引:16
作者
de Padua, Guilherme B. [1 ]
Shang, Weiyi [1 ]
机构
[1] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ, Canada
来源
2018 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR) | 2018年
关键词
Exception Handling; Software Quality; Empirical Software Engineering; !text type='JAVA']JAVA[!/text; FLOW;
D O I
10.1145/3196398.3196435
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Modern programming languages, such as Java and C#, typically provide features that handle exceptions. These features separate error-handling code from regular source code and aim to assist in the practice of software comprehension and maintenance. Nevertheless, their misuse can still cause reliability degradation or even catastrophic software failures. Prior studies on exception handling revealed the suboptimal practices of the exception handling flows and the prevalence of their anti-patterns. However, little is known about the relationship between exception handling practices and software quality. In this work, we investigate the relationship between software quality (measured by the probability of having post-release defects) and: (i) exception flow characteristics and (ii) 17 exception handling anti-patterns. We perform a case study on three Java and C# open-source projects. By building statistical models of the probability of post-release defects using traditional software metrics and metrics that are associated with exception handling practice, we study whether exception flow characteristics and exception handling anti-patterns have a statistically significant relationship with post-release defects. We find that exception flow characteristics in Java projects have a significant relationship with post-release defects. In addition, although the majority of the exception handing anti-patterns are not significant in the models, there exist anti-patterns that can provide significant explanatory power to the probability of post-release defects. Therefore, development teams should consider allocating more resources to improving their exception handling practices and avoid the anti-patterns that are found to have a relationship with post-release defects. Our findings also highlight the need for techniques that assist in handling exceptions in the software development practice.
引用
收藏
页码:564 / 575
页数:12
相关论文
共 60 条
[41]   A NOTE ON A GENERAL DEFINITION OF THE COEFFICIENT OF DETERMINATION [J].
NAGELKERKE, NJD .
BIOMETRIKA, 1991, 78 (03) :691-692
[42]  
Nakshatri S, 2016, 13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), P500, DOI [10.1109/MSR.2016.064, 10.1145/2901739.2903499]
[43]   Do android developers neglect error handling? a maintenance-Centric study on the relationship between android abstractions and uncaught exceptions [J].
Oliveira, Juliana ;
Borges, Deise ;
Silva, Thaisa ;
Cacho, Nelio ;
Castor, Fernando .
JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 136 :1-18
[44]   Exception Evolution in Long-lived Java']Java Systems [J].
Osman, Haidar ;
Chis, Andrei ;
Corrodi, Claudio ;
Ghafari, Mohammad ;
Nierstrasz, Oscar .
2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, :302-311
[45]  
Rahman F, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P491, DOI 10.1145/1985793.1985860
[46]  
REIMER D, 2003, P ECOOP 2003 WORKSH, P10
[47]  
Robillard MP, 1999, LECT NOTES COMPUT SC, V1687, P322, DOI 10.1145/318774.319251
[48]  
Scitools. com, WHAT METR DOES UND H
[49]  
Scitools. com, UND VIS YOUR COD
[50]  
Sena D, 2016, 13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), P212, DOI [10.1109/MSR.2016.030, 10.1145/2901739.2901757]