Dynamic Patch Generation for Null Pointer Exceptions Using Metaprogramming

by Thomas Durieux, Benoit Cornu, Lionel Seinturier and Martin Monperrus
Abstract: Null pointer exceptions (NPE) are the number one cause of uncaught crashing exceptions in production. In this paper, we aim at exploring the search space of possible patches for null pointer exceptions with metaprogramming. Our idea is to transform the program under repair with automated code transformation, so as to obtain a metaprogram. This metaprogram contains automatically injected hooks, that can be activated to emulate a null pointer exception patch. This enables us to perform a fine-grain analysis of the runtime context of null pointer exceptions. We set up an experiment with 16 real null pointer exceptions that have happened in the field. We compare the effectiveness of our metaprogramming approach against simple templates for repairing null pointer exceptions.
 View PDF
Open-access (on archives-ouvertes.fr)
Publisher version (via DOI)
Citations: [citations]
Other publications of Martin Monperrus

Cite it:

Dynamic Patch Generation for Null Pointer Exceptions Using Metaprogramming (, , and ), In IEEE International Conference on Software Analysis, Evolution and Reengineering, .
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, Klagenfurt, Austria, pp. 349-358, 2017.

Bibtex Entry:

@inproceedings{durieux2016npefix,
 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/file/main.pdf},
 booktitle = {{IEEE International Conference on Software Analysis, Evolution and Reengineering}},
 pages = {349-358},
 year = {2017},
 doi = {10.1109/SANER.2017.7884635},
}
Powered by bibtexbrowser
Tagged as: