Loading…

An automatically created novel bug dataset and its validation in bug prediction

Bugs are inescapable during software development due to frequent code changes, tight deadlines, etc.; therefore, it is important to have tools to find these errors. One way of performing bug identification is to analyze the characteristics of buggy source code elements from the past and predict the...

Full description

Saved in:
Bibliographic Details
Published in:The Journal of systems and software 2020-11, Vol.169, p.110691, Article 110691
Main Authors: Ferenc, Rudolf, Gyimesi, Péter, Gyimesi, Gábor, Tóth, Zoltán, Gyimóthy, Tibor
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Bugs are inescapable during software development due to frequent code changes, tight deadlines, etc.; therefore, it is important to have tools to find these errors. One way of performing bug identification is to analyze the characteristics of buggy source code elements from the past and predict the present ones based on the same characteristics, using e.g. machine learning models. To support model building tasks, code elements and their characteristics are collected in so-called bug datasets which serve as the input for learning. We present the BugHunter Dataset: a novel kind of automatically constructed and freely available bug dataset containing code elements (files, classes, methods) with a wide set of code metrics and bug information. Other available bug datasets follow the traditional approach of gathering the characteristics of all source code elements (buggy and non-buggy) at only one or more pre-selected release versions of the code. Our approach, on the other hand, captures the buggy and the fixed states of the same source code elements from the narrowest timeframe we can identify for a bug’s presence, regardless of release versions. To show the usefulness of the new dataset, we built and evaluated bug prediction models and achieved F-measure values over 0.74. •Proposing a novel kind of bug dataset that captures before- and after-fix states.•Predicting faults at method level is more accurate than at class and file levels.•Using method level metrics for class level bug prediction performed the best.•The novel dataset moderates the uncertainty of labeling elements as buggy.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2020.110691