paperbot · PL 论文追踪

RSS

Revealing Sources of (Memory) Errors via Backward Analysis

OOPSLA 9(OOPSLA1)2025
Flavio Ascari, Roberto Bruni, Roberta Gori, Francesco Logozzo

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

Sound over-approximation methods are effective for proving the absence of errors, but inevitably produce false alarms that can hamper programmers. In contrast, under-approximation methods focus on bug detection and are free from false alarms. In this work, we present two novel proof systems designed to locate the source of errors via backward under-approximation, namely Sufficient Incorrectness Logic (SIL) and its specialization for handling memory errors, called Separation SIL. The SIL proof system is minimal, sound and complete for Lisbon triples, enabling a detailed comparison of triple-based program logics across various dimensions, including negation, approximation, execution order, and analysis objectives. More importantly, SIL lays the foundation for our main technical contribution, by distilling the inference rules of Separation SIL, a sound and (relatively) complete proof system for automated backward reasoning in programs involving pointers and dynamic memory allocation. The completeness result for Separation SIL relies on a careful crafting of both the assertion language and the rules for atomic commands.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot3161,
  title = {Revealing Sources of (Memory) Errors via Backward Analysis},
  author = {Flavio Ascari and Roberto Bruni and Roberta Gori and Francesco Logozzo},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA1},
  year = {2025},
  doi = {10.1145/3720486}
}