Have things changed now? An empirical study of bug characteristics in modern open source software

Zhenmin Li, Lin Tan, Xuanhui Wang, Shan Lu, Yuanyuan Zhou, Chengxiang Zhai

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Software errors are a major cause for system failures. To effectively design tools and support for detecting and recovering from software failures requires a deep understanding of bug characteristics. Recently, software and its development process have significantly changed in many ways, including more help from bug detection tools, shift towards multi-threading architecture, the open-source development paradigm and increasing concerns about security and user-friendly interface. Therefore, results from previous studies may not be applicable to present software. Furthermore, many new aspects such as security, concurrency and open-source-related characteristics have not well studied. Additionally, previous studies were based on a small number of bugs, which may lead to non-representative results.To investigate the impacts of the new factors on software errors, we analyze bug characteristics by first sampling hundreds of real world bugs in two large, representative open-source projects. To validate the representativeness of our results, we use natural language text classification techniques and automatically analyze around 29, 000 bugs from the Bugzilla databases of the software.Our study has discovered several new interesting characteristics: (1) memory-related bugs have decreased because quite a few effective detection tools became available recently; (2) surprisingly, some simple memory-related bugs such as NULL pointer dereferences that should have been detected by existing tools in development are still a major component, which indicates that the tools have not been used with their full capacity; (3) semantic bugs are the dominant root causes, as they are application specific and difficult to fix, which suggests that more efforts should be put into detecting and fixing them; (4) security bugs are increasing, and the majority of them cause severe impacts.

Original languageEnglish (US)
Title of host publicationASID'06
Subtitle of host publicationFirst Workshop on Architectural and System Support for Improving Software Dependability, in conjunction with ASPLOS 2006
Pages25-33
Number of pages9
DOIs
StatePublished - 2006
EventASID'06: 1st Workshop on Architectural and System Support for Improving Software Dependability - San Jose, CA, United States
Duration: Oct 21 2006Oct 21 2006

Publication series

NameASID'06: 1st Workshop on Architectural and System Support for Improving Software Dependability

Other

OtherASID'06: 1st Workshop on Architectural and System Support for Improving Software Dependability
Country/TerritoryUnited States
CitySan Jose, CA
Period10/21/0610/21/06

Keywords

  • Bug characteristics
  • Bug detection
  • Empirical study
  • Open source
  • Security

ASJC Scopus subject areas

  • Hardware and Architecture
  • Information Systems
  • Software

Fingerprint

Dive into the research topics of 'Have things changed now? An empirical study of bug characteristics in modern open source software'. Together they form a unique fingerprint.

Cite this