Write a Blog >>
MSR 2018
Mon 28 - Tue 29 May 2018 Gothenburg, Sweden
co-located with * ICSE 2018 *
Tue 29 May 2018 16:34 - 16:51 at E4 room - Modeling and Prediction Chair(s): Abram Hindle

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 chance 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 chance 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 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 chance 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.

Tue 29 May
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

16:00 - 17:30: Modeling and PredictionTechnical Papers at E4 room
Chair(s): Abram HindleUniversity of Alberta
16:00 - 16:17
Deep Learning Similarities from Different Representations of Source Code
Technical Papers
A: Michele TufanoCollege of William and Mary, A: Cody Watson , A: Gabriele BavotaUniversità della Svizzera italiana (USI), A: Massimiliano Di PentaUniversity of Sannio, A: Martin White , A: Denys PoshyvanykWilliam and Mary
16:17 - 16:34
500+ Times Faster Than Deep Learning (A Case Study Exploring Faster Methods for Text Mining StackOverflow)
Technical Papers
A: Suvodeep Majumder, A: Tim MenziesNorth Carolina State University, A: Nikhila Balaji , A: Katie Brey , A: Wei Fu
16:34 - 16:51
Studying the relationship between exception handling practices and post-release defects
Technical Papers
A: Guilherme B. de PáduaConcordia University, Canada, A: Weiyi ShangConcordia University, Canada
Pre-print Media Attached
16:51 - 17:08
Analyzing Conflict Predictors in Open-Source Java Projects from GitHub and Travis CI
Technical Papers
A: Paola AcciolyFederal University of Pernambuco, Brazil, A: Paulo BorbaFederal University of Pernambuco, Brazil, A: Leuson SilvaFederal University of Pernambuco, A: Guilherme CavalcantiFederal University of Pernambuco, Brazil
17:08 - 17:15
Bayesian Hierarchical Modelling for Tailoring Metric Thresholds
Technical Papers
A: Neil ErnstUniversity of Victoria
DOI Pre-print Media Attached
17:15 - 17:30
Discussion phase
Technical Papers