Abstract This paper proposes a semantic static analysis for inferring nullable or non-null pointer annotations in low level programs. The analysis is formulated on a minimalistic imperative language and it is expressed as a least fixpoint computation over pointer annotations calling a sound type-checking algorithm. Therefore, this analysis may be used for more general annotations than pointer nullability. We prove two main properties for this approach: (1) when using a sound and precise type-checker (i.e., without false alarms), it will find an annotation that guarantees the absence of run-time errors due to pointer deference, if such an annotation exists, (2) when the type-checker is only sound, the errors singled out by the analysis are real errors. We report on the implementation of this method in Codex , a static analyzer for C and binary code. Codex already provides an abstract interpretation based type-checker for a rich dependent type systems. The evaluation of our implementation on a benchmark of challenging programs shows that the inference is better than manual annotations obtained by code inspection.
Building similarity graph...
Analyzing shared references across papers
Loading...
Robert et al. (Mon,) studied this question.
synapsesocial.com/papers/69ba429c4e9516ffd37a30b1 — DOI: https://doi.org/10.1007/s10009-026-00846-0
Paul Robert
Commissariat à l'Énergie Atomique et aux Énergies Alternatives
Matthieu Lemerre
Commissariat à l'Énergie Atomique et aux Énergies Alternatives
Mihaela Sighireanu
Université Paris-Saclay
International Journal on Software Tools for Technology Transfer
Building similarity graph...
Analyzing shared references across papers
Loading...
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: