Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation 2020
DOI: 10.1145/3385412.3386014
|View full text |Cite
|
Sign up to set email alerts
|

Gillian, part i: a multi-language platform for symbolic execution

Abstract: We introduce Gillian, a platform for developing symbolic analysis tools for programming languages. Here, we focus on the symbolic execution engine at the heart of Gillian, which is parametric on the memory model of the target language. We give a formal description of the symbolic analysis and a modular implementation that closely follows this description. We prove a parametric soundness result, introducing restriction on abstract states, which generalises path conditions used in classical symbolic execution. W… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
4
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 16 publications
(5 citation statements)
references
References 43 publications
0
5
0
Order By: Relevance
“…In this section, we explain how we use the theory provided above to create a verified, executable instance of the memory model. We then explain how this executable model can be used to instantiate a tool called Gillian [20]. Using the instantiated tool, we demonstrate the concrete execution of CHERI-C programs with the desired behaviour.…”
Section: Applicationmentioning
confidence: 99%
See 3 more Smart Citations
“…In this section, we explain how we use the theory provided above to create a verified, executable instance of the memory model. We then explain how this executable model can be used to instantiate a tool called Gillian [20]. Using the instantiated tool, we demonstrate the concrete execution of CHERI-C programs with the desired behaviour.…”
Section: Applicationmentioning
confidence: 99%
“…So far, CompCert C and JavaScript have both been instantiated for Gillian, giving birth to Gillian-C and Gillian-JS. The underlying theoretical foundation of Gillian has its essential correctness properties like soundness and completeness already proven [20,29]. Thus, users who instantiate the tool only need to prove the correctness of the implementation of their compiler and memory models to ensure the correctness of the entire tool.…”
Section: Gillianmentioning
confidence: 99%
See 2 more Smart Citations
“…The simple, semi-formal model below omits inessential details of realistic languages (e.g., memory, see [2,5,8,11] here for details). The key point is that the ideas presented here translate to any formal system that can be described by a symbolic structural operational semantics [15].…”
Section: Conceptual Model Of a Debug Servermentioning
confidence: 99%