Dynamic Patch Generation for Null Pointer Exceptions using Metaprogramming
This addresses a critical issue for software developers and users by reducing crashes, but it is incremental as it builds on existing patch generation methods.
The paper tackled the problem of null pointer exceptions (NPEs) as a leading cause of crashes by exploring patch generation using metaprogramming, resulting in an experiment on 16 real NPEs that compared effectiveness against simple templates.
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.