A Study of Bug Resolution Characteristics in Popular Programming Languages

Jie Zhang, Meng Wang, et al.

Research output: Contribution to journalArticle (Academic Journal)peer-review

11 Citations (Scopus)
272 Downloads (Pure)

Abstract

Bug resolution is an essential part of software development. The impact of programming language on bug resolution has been a topic of much debate. Taking Python as an example, some hold the view that bugs in the language are easy to handle because its code is easy to read and understand, while others believe that the absence of static typing leads to more bug-handling effort. This paper presents the first large-scale study that investigates the connection between programming language and bug resolution characteristics. It follows the recent trend of empirical scientific reformulation of long-standing, but hitherto anecdotal, `great debates' about the influence of programming language and paradigm on software engineering concerns. We analyse bug resolution data from over 70 million SLOC drawn from 3 million commits to 600 GitHub projects in 10 languages. The results suggest that statistically significant differences in resolution time and patch size exist between different languages and language categories. In particular, Java bug resolution consumes less elapsed time from raise to resolve, while Ruby consumes more. We also found that patches tend to touch significantly more files for strongly typed and for static languages (as one might expect given the need to maintain type annotations). However, despite this apparent extra effort, we found evidence for a significantly lower elapsed resolution time for bug resolution committed to projects constructed from statically typed languages. This finding sheds further empirical light on the debate about the importance of static typing. Indeed, more generally, we found no evidence for any correlation between bug-resolution time and size (lines or files touched), nor any evidence for correlation with other potential confounding factors, such as problem features (e.g., size, age, and commit number) and target domain.
Original languageEnglish
Pages (from-to)1 - 1
Number of pages15
JournalIEEE Transactions on Software Engineering
Volume0
Issue number0
Early online date24 Dec 2019
DOIs
Publication statusE-pub ahead of print - 24 Dec 2019

Research Groups and Themes

  • Programming Languages

Keywords

  • programming language
  • bug resolution
  • empirical study

Fingerprint

Dive into the research topics of 'A Study of Bug Resolution Characteristics in Popular Programming Languages'. Together they form a unique fingerprint.

Cite this