Dynamic Patch Generation for Null Pointer Exceptions using Metaprogramming
arXiv:1812.00409 · doi:10.1109/SANER.2017.7884635
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.
IEEE International Conference on Software Analysis, Evolution and Reengineering, 2017
Cited by in corpus (15)
- TBar: Revisiting Template-based Automated Program Repair
- On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs
- Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studies
- iFixR: Bug Report driven Program Repair
- SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics
- Automated Classification of Overfitting Patches with Statically Extracted Code Features
- ITER: Iterative Neural Repair for Multi-Location Patches
- Repairnator patches programs automatically
- IBIR: Bug Report driven Fault Injection
- Practical Program Repair via Preference-based Ensemble Strategy
- Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attempts
- Estimating the Potential of Program Repair Search Spaces with Commit Analysis
- Production-Driven Patch Generation
- When Automated Program Repair Meets Regression Testing -- An Extensive Study on 2 Million Patches
- FlexiRepair: Transparent Program Repair with Generic Patches