Experiments in validating formal semantics for c
A generic matching logic reasoning engine allows you to use the K language semantics for symbolic execution and various kinds of program analysis and verification, without a need to give the language any other (axiomatic or denotational or dynamic, etc.) semantics.Matching logic consists of a fixed proof system to reason about programs in any language defined with a rewrite-based operational semantics.Below are links to the two projects: Below is a list of frequently asked questions.
We are developing the K framework, an implementation of matching logic, whose design and development are driven by the ideal language framework belief above.
The commercial tool RV-Match builds upon K using an efficient execution engine and a comprehensive semantics of C.
We define the semantics of PHP in a term-rewriting framework which supports LTL model checking and symbolic execution.
As a demonstration, we extend LTL with predicates for the verification of PHP programs, and analyse two common PHP functions.
We present the first formal semantics for a substantial core of PHP, based on the official documentation and experiments with the Zend reference implementation.