A survey of symbolic execution techniques
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 …
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 …
written in C. VCC takes a program (annotated with function contracts, state assertions, and …
Natural proofs for structure, data, and separation
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 …
against specifications that describe the structure of the heap, the data stored within it, and …
Grasshopper: complete heap verification with mixed specifications
We present GRASShopper, a tool for compositional verification of heap-manipulating
programs against user-provided specifications. What makes our tool unique is its decidable …
programs against user-provided specifications. What makes our tool unique is its decidable …
Gillian, part II: real-world verification for javascript and C
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 …
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 …
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 …
well as scalar data types. Advances in Satisfiability Modulo Theories (SMT) offer efficient …
Symbolic execution for JavaScript
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 …
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 …
Primer on Separation Logic (and Automatic Program Verification and Analysis) Peter W. O’Hearn …
Separation logics and modalities: a survey
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 …
popular class of logical formalisms in computer science, conceived as assertion languages …