NPEFix: Automatic Runtime Repair of Null Pointer Exceptions in Java
Benoit Cornu, Thomas Durieux, Lionel Seinturier, Martin Monperrus

TL;DR
NPEfix is a tool that automatically repairs null pointer exceptions in Java at runtime by applying nine different execution strategies, successfully fixing most real and seeded bugs in evaluations.
Contribution
The paper introduces NPEfix, a novel approach that uses code transformation to implement nine runtime strategies for repairing null pointer exceptions in Java.
Findings
Successfully repaired 10 out of 11 real bugs
Fixed 318 out of 519 seeded failures
Demonstrated effectiveness of runtime repair strategies
Abstract
Null pointer exceptions, also known as null dereferences are the number one exceptions in the field. In this paper, we propose 9 alternative execution semantics when a null pointer exception is about to happen. We implement those alternative execution strategies using code transformation in a tool called NPEfix. We evaluate our prototype implementation on 11 field null dereference bugs and 519 seeded failures and show that NPEfix is able to repair at runtime 10/11 and 318/519 failures.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Logic, programming, and type systems
