A survey of symbolic execution techniques

R Baldoni, E Coppa, DC D'elia, C Demetrescu… - ACM Computing …, 2018 - dl.acm.org
Many security and software testing applications require checking whether certain properties
of a program hold for any possible usage scenario. For instance, a tool for identifying …

VCC: A practical system for verifying concurrent C

E Cohen, M Dahlweid, M Hillebrand… - Theorem Proving in …, 2009 - Springer
VCC is an industrial-strength verification environment for low-level concurrent system code
written in C. VCC takes a program (annotated with function contracts, state assertions, and …

Natural proofs for structure, data, and separation

X Qiu, P Garg, A Ştefănescu, P Madhusudan - ACM SIGPLAN Notices, 2013 - dl.acm.org
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 …

Grasshopper: complete heap verification with mixed specifications

R Piskac, T Wies, D Zufferey - … Conference on Tools and Algorithms for the …, 2014 - Springer
We present GRASShopper, a tool for compositional verification of heap-manipulating
programs against user-provided specifications. What makes our tool unique is its decidable …

Gillian, part II: real-world verification for javascript and C

P Maksimović, SÉ Ayoun, JF Santos… - … Aided Verification: 33rd …, 2021 - Springer
We introduce verification based on separation logic to Gillian, a multi-language platform for
the development of symbolic analysis tools which is parametric on the memory model of the …

Matching logic

G Rosu - Logical Methods in Computer Science, 2017 - lmcs.episciences.org
This paper presents matching logic, a first-order logic (FOL) variant for specifying and
reasoning about structure by means of patterns and pattern matching. Its sentences, the …

Separation logic modulo theories

JA Navarro Pérez, A Rybalchenko - Asian Symposium on Programming …, 2013 - Springer
Logical reasoning about program behaviours often requires dealing with heap structures as
well as scalar data types. Advances in Satisfiability Modulo Theories (SMT) offer efficient …

Symbolic execution for JavaScript

JF Santos, P Maksimović, T Grohens, J Dolby… - Proceedings of the 20th …, 2018 - dl.acm.org
We present a framework for trustworthy symbolic execution of JavaScripts programs, whose
aim is to assist developers in the testing of their code: the developer writes symbolic tests for …

A primer on separation logic (and automatic program verification and analysis)

PW O'Hearn - Software safety and security, 2012 - ebooks.iospress.nl
A Primer on Separation Logic (and Automatic Program Verification and Analysis) Page 1 A
Primer on Separation Logic (and Automatic Program Verification and Analysis) Peter W. O’Hearn …

Separation logics and modalities: a survey

S Demri, M Deters - Journal of Applied Non-Classical Logics, 2015 - Taylor & Francis
Like modal logic, temporal logic, and description logic, separation logic has become a
popular class of logical formalisms in computer science, conceived as assertion languages …