BugsJS: A benchmark of javascript bugs

Peter Gyimesi, Bela Vancsics, Andrea Stocco, Davood Mazinanian, A. Beszédes, R. Ferenc, Ali Mesbah

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

4 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationProceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages90-101
Number of pages12
ISBN (Electronic)9781728117355
DOIs
Publication statusPublished - Apr 1 2019
Event12th IEEE International Conference on Software Testing, Verification and Validation, ICST 2019 - Xi'an, China
Duration: Apr 22 2019Apr 27 2019

Publication series

NameProceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019

Conference

Conference12th IEEE International Conference on Software Testing, Verification and Validation, ICST 2019
CountryChina
CityXi'an
Period4/22/194/27/19

Fingerprint

Testing
Computer programming languages
Servers

Keywords

  • Benchmark
  • Bug database
  • BugsJS
  • JavaScript
  • Literature survey
  • Real bugs
  • Reproducibility

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software
  • Safety, Risk, Reliability and Quality

Cite this

Gyimesi, P., Vancsics, B., Stocco, A., Mazinanian, D., Beszédes, A., Ferenc, R., & Mesbah, A. (2019). BugsJS: A benchmark of javascript bugs. In Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019 (pp. 90-101). [8730197] (Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/ICST.2019.00019

BugsJS : A benchmark of javascript bugs. / Gyimesi, Peter; Vancsics, Bela; Stocco, Andrea; Mazinanian, Davood; Beszédes, A.; Ferenc, R.; Mesbah, Ali.

Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019. Institute of Electrical and Electronics Engineers Inc., 2019. p. 90-101 8730197 (Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019).

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

Gyimesi, P, Vancsics, B, Stocco, A, Mazinanian, D, Beszédes, A, Ferenc, R & Mesbah, A 2019, BugsJS: A benchmark of javascript bugs. in Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019., 8730197, Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019, Institute of Electrical and Electronics Engineers Inc., pp. 90-101, 12th IEEE International Conference on Software Testing, Verification and Validation, ICST 2019, Xi'an, China, 4/22/19. https://doi.org/10.1109/ICST.2019.00019
Gyimesi P, Vancsics B, Stocco A, Mazinanian D, Beszédes A, Ferenc R et al. BugsJS: A benchmark of javascript bugs. In Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019. Institute of Electrical and Electronics Engineers Inc. 2019. p. 90-101. 8730197. (Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019). https://doi.org/10.1109/ICST.2019.00019
Gyimesi, Peter ; Vancsics, Bela ; Stocco, Andrea ; Mazinanian, Davood ; Beszédes, A. ; Ferenc, R. ; Mesbah, Ali. / BugsJS : A benchmark of javascript bugs. Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019. Institute of Electrical and Electronics Engineers Inc., 2019. pp. 90-101 (Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019).
@inproceedings{93e90de3fd71446ab0af4cfb972a7e54,
title = "BugsJS: A benchmark of javascript bugs",
abstract = "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 = "Benchmark, Bug database, BugsJS, JavaScript, Literature survey, Real bugs, Reproducibility",
author = "Peter Gyimesi and Bela Vancsics and Andrea Stocco and Davood Mazinanian and A. Besz{\'e}des and R. Ferenc and Ali Mesbah",
year = "2019",
month = "4",
day = "1",
doi = "10.1109/ICST.2019.00019",
language = "English",
series = "Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "90--101",
booktitle = "Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019",

}

TY - GEN

T1 - BugsJS

T2 - A benchmark of javascript bugs

AU - Gyimesi, Peter

AU - Vancsics, Bela

AU - Stocco, Andrea

AU - Mazinanian, Davood

AU - Beszédes, A.

AU - Ferenc, R.

AU - Mesbah, Ali

PY - 2019/4/1

Y1 - 2019/4/1

N2 - 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.

AB - 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.

KW - Benchmark

KW - Bug database

KW - BugsJS

KW - JavaScript

KW - Literature survey

KW - Real bugs

KW - Reproducibility

UR - http://www.scopus.com/inward/record.url?scp=85067491657&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85067491657&partnerID=8YFLogxK

U2 - 10.1109/ICST.2019.00019

DO - 10.1109/ICST.2019.00019

M3 - Conference contribution

AN - SCOPUS:85067491657

T3 - Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019

SP - 90

EP - 101

BT - Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019

PB - Institute of Electrical and Electronics Engineers Inc.

ER -