The bibliographic entry was discovered and compiled by a machine, and published without a person checking it against the publication. The publication itself is the authors' own work — this badge says nothing about it.

Finding real bugs in big programs with incorrectness logic

The work

AuthorsQuang Loc Le; Azalea Raad; Jules Villard; Josh Berdine; Derek R. Dreyer; Peter W. O’Hearn
Editors
Typearticle
Year2022
Citekeyle2022finding

Where it appeared

Published inProceedings of the ACM on Programming Languages
PublisherAssociation for Computing Machinery
Volume6
IssueOOPSLA1
Pages1--27

Identifiers

DOI10.1145/3527325
OpenAlexW4225134668

From OpenAlex, which stores abstracts as an index of words and their positions: what is shown is rebuilt from that, and reads fluently whether or not it is what the author wrote.

Abstract

Incorrectness Logic (IL) has recently been advanced as a logical theory for compositionally proving the presence of bugs—dual to Hoare Logic, which is used to compositionally prove their absence. Though IL was motivated in large part by the aim of providing a logical foundation for bug-catching program analyses, it has remained an open question: is IL useful only retrospectively (to explain existing analyses), or can it actually be useful in developing new analyses which can catch real bugs in big programs? In this work, we develop Pulse-X, a new, automatic program analysis for catching memory errors, based on ISL, a recent synthesis of IL and separation logic. Using Pulse-X, we have found 15 new real bugs in OpenSSL, which we have reported to OpenSSL maintainers and have since been fixed. In order not to be overwhelmed with potential but false error reports, we develop a compositional bug-reporting criterion based on a distinction between latent and manifest errors, which references the under-approximate ISL abstractions computed by Pulse-X, and we investigate the fix rate resulting from application of this criterion. Finally, to probe the potential practicality of our bug-finding method, we conduct a comparison to Infer, a widely used analyzer which has proven useful in industrial engineering practice.

How it got here

How it got hereagent via openalex
Added2026-10-27 05:42 UTC
Not denied bya person 2026-10-29 17:12 UTC

Filed under

berdine quangloc

Cite it as

@article{le2022finding,
  title        = {Finding real bugs in big programs with incorrectness logic},
  author       = {Quang Loc Le and Azalea Raad and Jules Villard and Josh Berdine and Derek R. Dreyer and Peter W. O’Hearn},
  year         = {2022},
  journal      = {Proceedings of the ACM on Programming Languages},
  publisher    = {Association for Computing Machinery},
  volume       = {6},
  number       = {OOPSLA1},
  pages        = {1--27},
  doi          = {10.1145/3527325},
}

This record lives at https://refs.drheap.org/le2022finding/ and will keep doing so.