Gillian: Compositional Symbolic Execution for All

01/14/2020
by   José Fragoso Santos, et al.
0

We present Gillian, a language-independent framework for the development of compositional symbolic analysis tools. Gillian supports three flavours of analysis: whole-program symbolic testing, full verification, and bi-abduction. It comes with fully parametric meta-theoretical results and a modular implementation, designed to minimise the instantiation effort required of the user. We evaluate Gillian by instantiating it to JavaScript and C, and perform its analyses on a set of data-structure libraries, obtaining results that indicate that Gillian is robust enough to reason about real-world programming languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/24/2019

Automatic verification of heap-manipulating programs

Theoretical foundations of compositional reasoning about heaps in impera...
research
05/31/2021

Gillian: A Multi-Language Platform for Unified Symbolic Analysis

This is an evolving document describing the meta-theory, the implementat...
research
10/22/2021

Proof-Carrying Parameters in Certified Symbolic Execution: The Case Study of Antiunification

Unification and antiunification are essential algorithms used by symboli...
research
09/13/2018

Bounded Symbolic Execution for Runtime Error Detection of Erlang Programs

Dynamically typed languages, like Erlang, allow developers to quickly wr...
research
11/02/2017

A Denotational Semantics for SPARC TSO

The SPARC TSO weak memory model is defined axiomatically, with a non-com...
research
12/19/2017

An Exploratory Survey of Hybrid Testing Techniques Involving Symbolic Execution and Fuzzing

Recent efforts in practical symbolic execution have successfully mitigat...
research
08/15/2018

Homeomorphic Embedding modulo Combinations of Associativity and Commutativity Axioms

The Homeomorphic Embedding relation has been amply used for defining ter...

Please sign up or login with your details

Forgot password? Click here to reset