NPEX: Repairing Java Null Pointer Exceptions without Tests

8Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present NPEX, a new technique for repairing Java null pointer exceptions (NPEs) without tests. State-of-the-art NPE repair techniques rely on test suites written by developers for patch validation. Unfortunately, however, those are typically future test cases that are unavailable at the time bugs are reported or insufficient to identify correct patches. Unlike existing techniques, NPEX does not require test cases; instead, NPEX automatically infers the repair specification of the buggy program and uses the inferred specification to validate patches. The key idea is to learn a statistical model that predicts how developers would handle NPEs by mining null-handling patterns from existing codebases, and to use a variant of symbolic execution that can infer the repair specification from the buggy program using the model. We evaluated NPEX on real-world NPEs collected from diverse open-source projects. The results show that NPEX significantly outperforms the current state-of-the-art.

Cite

CITATION STYLE

APA

Lee, J., Hong, S., & Oh, H. (2022). NPEX: Repairing Java Null Pointer Exceptions without Tests. In Proceedings - International Conference on Software Engineering (Vol. 2022-May, pp. 1532–1544). IEEE Computer Society. https://doi.org/10.1145/3510003.3510186

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free