Folder Structure¶
Note
Folders marked with (❌PLDI20) are out of scope of the PLDI 2020 Gillian Paper.
Gillian-C
bin
: The Gillian-C binaryenvironment
: Execution environment, not part of the repository, created usingmake c-init-env
. It contains useful scripts for testing Gillian-C, and examples are copied in it so that they can be safely modified.examples
: Various examplesconcrete
: Small data-structure examples for concrete executionsymbolic
: Small data-structure examples for symbolic testingklee
: Same small data-structure examples - as insymbolic
- but written for use with Kleeverification
: Small data-structure examples for verification mode (❌PLDI20)act
: Small data-structure examples for Automatic Compositional Testing mode (❌PLDI20)
lib
: The core of Gillian-Cgilgen.ml/mli
: Compiler from C to GILgil_logic_gen.ml
,annot_lexer.mll
,annot_parser.mly
,cLogic.ml
: Utils for handling a small annotation language for C (❌PLDI20)valueTranslation.ml/mli
: Serialisation and deserialisation of CompCert values into GIL valuessemantics.ml/mli
: Symbolic Memory model and Concrete memory modelcRunner.ml
,sRunner.ml
: Configuration for the symbolic and concrete bulk testers (gillian-c bulk-wpst
andgillian-c bulk-exec
)Other files: Utils such as name generators or configuration flags
runtime
: Implementation of the internals and part of the C standard lib in GILscripts
: Various scripts for setting up the environment and executing analyses