• DocumentCode
    2349131
  • Title

    Bug-Inducing Language Constructs

  • Author

    Ferzund, Javed ; Ahsan, Syed Nadeem ; Wotawa, Franz

  • Author_Institution
    Inst. for Software Technol., Tech. Univ. Graz, Graz, Austria
  • fYear
    2009
  • fDate
    13-16 Oct. 2009
  • Firstpage
    155
  • Lastpage
    159
  • Abstract
    Reducing bugs in software is a key issue in software development. Many techniques and tools have been developed to automatically identify bugs. These techniques vary in their complexity, accuracy and cost. In this paper we empirically investigate the language constructs which frequently contribute to bugs. Revision histories of eight open source projects developed in multiple languages are processed to extract bug-inducing language constructs. Twenty six different language constructs and syntax elements are identified. We find that most frequent bug-inducing language constructs are function calls, assignments, conditions, pointers, use of NULL, variable declaration, function declaration and return statement. These language constructs account for more than 70 percent of bug-inducing hunks. Different projects are statistically correlated in terms of frequencies of bug-inducing language constructs. Developers within a project and between different projects also have similar frequencies of bug-inducing language constructs. Quality assurance developers can focus code reviews on these frequent bug-inducing language constructs before committing changes.
  • Keywords
    program debugging; programming languages; public domain software; software engineering; NULL; assignments; bug-inducing language constructs; function calls; function declaration; open source projects; pointers; return statement; software debugging; software development; variable declaration; Computer bugs; Computer languages; Costs; Frequency; History; Java; Open source software; Programming; Quality assurance; Reverse engineering; code changes; empirical software engineering; language constructs; software bugs; syntax elements;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 2009. WCRE '09. 16th Working Conference on
  • Conference_Location
    Lille
  • ISSN
    1095-1350
  • Print_ISBN
    978-0-7695-3867-9
  • Type

    conf

  • DOI
    10.1109/WCRE.2009.40
  • Filename
    5328809