article · 2024
Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions
Dongfang Xie, Bihuan Chen, Kaifeng Huang, Yu Wang, Linghao Pan, Zhicheng Chen, Xin Peng
Cited by 1Abstract and details only
Abstract
Null pointer dereference raises Null Pointer Exceptions (NPEs). There are two groups of approaches to detect NPEs. Type-based approaches carry out strict type-based null safety checking. They heavily rely on annotations, and thus produce many false positives. Dataflow-based approaches leverage static forward and/or backward dataflow analysis. They mostly have a limited capability in tracking fields and interprocedural analysis, and introduce false positives and false negatives. To address these drawbacks, we propose Wheeljack to detect NPEs for Java. It does not rely on annotations, and hence can work effectively under a lack of annotations. It leverages our novel abstraction of nullness status to enhance field tracking, and our novel invocation analysis (capturing change to return value and side effect of an invocation) to enhance interprocedural analysis. Our evaluation on 28 Java projects has demonstrated that Wheeljack can mostly outperform the four state-of-the-art NPE detectors in recall without sacrificing precision. 5 and 2 new NPEs have been confirmed and fixed by developers after we submit 8 issues.
Cite this paper
Xie, D., Chen, B., Huang, K., Wang, Y., Pan, L., Chen, Z., & Peng, X. (2024). Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions. https://doi.org/10.1109/saner60148.2024.00093
Xie, Dongfang, et al. “Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions.” 2024, pp. 849–59, https://doi.org/10.1109/saner60148.2024.00093.
Xie, Dongfang, Bihuan Chen, Kaifeng Huang, Yu Wang, Linghao Pan, Zhicheng Chen, and Xin Peng. 2024. “Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions.” https://doi.org/10.1109/saner60148.2024.00093.
Xie, D. et al. (2024) ‘Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions’. Available at: https://doi.org/10.1109/saner60148.2024.00093.
@article{xie2024enhancing,
title = {{Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions}},
author = {Xie, Dongfang and Chen, Bihuan and Huang, Kaifeng and Wang, Yu and Pan, Linghao and Chen, Zhicheng and Peng, Xin},
pages = {849--859},
year = {2024},
doi = {10.1109/saner60148.2024.00093}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.