T Elmas, S Qadeer, S Tasiran - ACM SIGPLAN Notices, 2009 - dl.acm.org
We present a proof calculus and method for the static verification of assertions and procedure specifications in shared-memory concurrent programs. The key idea in our …
We propose natural proofs for reasoning with programs that manipulate data-structures against specifications that describe the structure of the heap, the data stored within it, and …
GT Leavens, KRM Leino, P Müller - Formal Aspects of Computing, 2007 - Springer
The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such …
In this paper, we explore the potential of the theory of nested words for partial correctness proofs of recursive programs. Our conceptual contribution is a simple framework that allows …
We formalize the problem of program verification as a learning problem, showing that invariants in program verification can be regarded as geometric concepts in machine …
The last decade has seen a dramatic growth in the use of constraint solvers as a computational mechanism, not only for analysis of software, but also at runtime. Solvers are …
We design learning algorithms for synthesizing invariants using Horn implication counterexamples (Horn-ICE), extending the ICE-learning model. In particular, we describe a …
B Tan, B Mariano, SK Lahiri, I Dillig… - Proceedings of the ACM on …, 2022 - dl.acm.org
As smart contracts gain adoption in financial transactions, it becomes increasingly important to ensure that they are free of bugs and security vulnerabilities. Of particular relevance in this …
A Zaostrovnykh, S Pirelli, L Pedrosa… - Proceedings of the …, 2017 - dl.acm.org
We present a Network Address Translator (NAT) written in C and proven to be semantically correct according to RFC 3022, as well as crash-free and memory-safe. There exists a lot of …