The dataset contains 13 null pointer exception bugs from 6 Apache projects (previously 17, but some have rotted).
If you use this benchmark, please cite:
Thomas Durieux, Benoit Cornu, Lionel Seinturier and Martin Monperrus, "Dynamic Patch Generation for Null Pointer Exceptions Using Metaprogramming", In IEEE International Conference on Software Analysis, Evolution and Reengineering, 2017. Bibtex Entry:
@inproceedings{durieuxNpeFix,
title = {{Dynamic Patch Generation for Null Pointer Exceptions Using Metaprogramming}},
author = {Durieux, Thomas and Cornu, Benoit and Seinturier, Lionel and Monperrus, Martin},
url = {https://hal.archives-ouvertes.fr/hal-01419861/document},
booktitle = {{IEEE International Conference on Software Analysis, Evolution and Reengineering}},
year = {2017},
}
Projects:
- Apache Commons Collections
- Apache Commons Lang
- Apache Commons Math
- Apache Felix
- Apache PDFBox
- Apache Sling
Commits:
Project | Bug ID | SVN ID |
---|---|---|
Apache Commons Collections | COLLECTIONS-331 | 1079587 |
Apache Commons Collections | COLLECTIONS-360 | 1076034 |
Apache Commons Lang | LANG-304 | 489749 |
Apache Commons Lang | LANG-587 | 907102 |
Apache Commons Lang | LANG-703 | 1142381 |
Apache Commons Math | MATH-290 | 807923 |
Apache Commons Math | MATH-305 | 885027 |
Apache Commons Math | MATH-369 | 940565 |
Apache Commons Math | MATH-988a | 1488866 |
Apache Commons Math | MATH-988b | 1488866 |
Apache Commons Math | MATH-1115 | 1590254 |
Apache Commons Math | MATH-1117 | 1590251 |
Apache Felix | FELIX-4960 | 1691137 |
Apache PDFBox | PDFBOX-2812 | 1681643 |
Apache PDFBox | PDFBOX-2965 | 1701905 |
Apache PDFBox | PDFBOX-2995 | 1705415 |
Apache Sling | SLING-4982 | 1700424 |
Some dependencies, on Nov 2024, 13/17 bugs can still be executed with Java 8:
$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
$ mvn -version
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /usr/share/maven
Java version: 1.8.0_382, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-163-generic", arch: "amd64", family: "unix"
$ for i in `find . -type d -mindepth 1 -maxdepth 1`; do cd $i; mvn test 2>&1 | tee ../$i-java8.log; cd ..; done
$ $ grep -l NullPointerException *.log
lang-304-java8.log
lang-587-java8.log
lang-703-java8.log
math-1115-java8.log
math-1117-java8.log
math-290-java8.log
math-305-java8.log
math-369-java8.log
math-988a-java8.log
math-988b-java8.log
pdfbox_2965-java8.log
pdfbox_2995-java8.log
sling_4982-java8.log