BugsJS: a Benchmark of JavaScript Bugs
Péter Gyimesi, Béla Vancsics, Andrea Stocco, Davood
Mazinanian, Árpád Beszédes, Ferenc
Rudolf and Ali Mesbah
JavaScript is a popular programming language that is
also error-prone due to its asynchronous, dynamic, and
loosely-typed nature. In recent years, numerous techniques have
been proposed for analyzing and testing JavaScript applications.
However, our survey of the literature in this area revealed that
the proposed techniques are often evaluated on different datasets
of programs and bugs. The lack of a commonly used benchmark limits
the ability to perform fair and unbiased comparisons for assessing
the efficacy of new techniques. To fill this gap, we propose
BUGSJS, a benchmark of 453 real, manually validated JavaScript
bugs from 10 popular JavaScript server-side programs, comprising
444k LOC in total. Each bug is accompanied by its bug report, the
test cases that detect it, as well as the patch that fixes it.
BUGSJS features a rich interface for accessing the faulty and
fixed versions of the programs and executing the corresponding
test cases, which facilitates conducting highly-reproducible
empirical studies and comparisons of JavaScript analysis and
testing tools.
Keywords: JavaScript, bug
database, real bugs, literature survey, benchmark,
reproducibility, BugsJS.
Back