LMF
Bât 650 Ada Lovelace, Université Paris Sud
Rue Noetzlin, 91190 Gif-sur-Yvette, France
StageIsabelleCRukia

Integrating Rukia-Random-Testing in Isabelle/C

Description


Isabelle/C is a framework for C code in C11 syntax deeply integrated into the Isabelle/PIDE development environment. Our framework provides an abstract interface for verification back-ends to be plugged-in independently. Thus, various techniques such as deductive program verification or whitebox testing can be applied to the same source, which is part of an integrated Isabelle/PIDE document model. Semantic back-ends are free to choose the supported C fragment and its semantics. In particular, they can differ on the chosen memory model or the specification mechanism for framing conditions. Isabelle/C supports semantic annotations of C sources in the form of comments. Annotations serve to locally control back-end settings, and can express the term focus to which an annotation refers. Both the logical and the syntactic context are available when semantic annotations are evaluated.

[ MORE TO COME ON RUKIA AND RANDOM TESTING ]

Proceeding


Implementing for each syntactic category in the C11 AST's via C11 library-routines a translation to the individual programming constructs supported by Clean. The implementation language is SML directly supported in the Isabelle programming environment. SML pattern-matching and various SML libraries will help at the task.

Bibliography


[1] Frédéric Tuong and Burkhart Wolff:

    Deeply Integrating C11 Code Support into Isabelle/PIDE, FiDE, 2019.

[2] Frédéric Tuong and Burkhart Wolff:

    The Isabelle/Clean Theory, 2019-21.

[3] Frederic Tuong and Burkhart Wolff:

    Isabelle/C, 2019-21.

Required Skills


  • good functional programming skills
  • interest in compiler construction
  • no knowledge in theorem proving necessary