Soundly Handling Static Fields: Issues, Semantics and Analysis
Laurent Hubert (INRIA - IRISA), David Pichardie (INRIA - IRISA)

TL;DR
This paper presents a static analysis method to accurately determine whether static fields in a program have been initialized at each point, addressing issues of premature reads and improving null-pointer analysis precision.
Contribution
It introduces a novel analysis for static fields that enhances program correctness and analysis precision by ensuring proper initialization handling.
Findings
The analysis can identify static fields read before initialization.
It improves null-pointer analysis by incorporating static field initialization information.
The method is sound and applicable to real-world programs.
Abstract
Although in most cases class initialization works as expected, some static fields may be read before being initialized, despite being initialized in their corresponding class initializer. We propose an analysis which compute, for each program point, the set of static fields that must have been initialized and discuss its soundness. We show that such an analysis can be directly applied to identify the static fields that may be read before being initialized and to improve the precision while preserving the soundness of a null-pointer analysis.
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
