Skip to content
STIMSMITH

Axiomatic Semantics

Concept

Axiomatic semantics is a formal approach to specifying the meaning of programs by associating each program construct with logical properties (axioms) that relate preconditions and postconditions. It is the foundation of Hoare-style program correctness proofs and underpins tools such as Frama-C and the ACSL specification language for C. It is also used in compiler testing (e.g., the PTE approach) and as one of the semantic frameworks (alongside operational and denotational semantics) for languages such as PPL.

First seen 6/7/2026
Last seen 6/7/2026
Evidence 1 chunks
Wiki v1

WIKI

Overview

Axiomatic semantics is a style of formal semantics in which the meaning of a program is described by logical axioms that relate assumptions (preconditions) about the program state before execution to conclusions (postconditions) that must hold afterwards. It is widely used as the basis for reasoning about program correctness.

Relation to Hoare Logic

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

2 connections
Towards Verified Faithful Simulation ← mentions 85% 1e
The paper discusses axiomatic semantics as a related approach
Frama-C ← uses 90% 1e
Frama-C is based on axiomatic semantics

CITATIONS

6 sources
6 citations — click to expand
[1] Axiomatic semantics and Hoare logic have been widely used for proving the correctness of programs. Towards Verified Faithful Simulation
[2] Frama-C is a framework for a set of interoperable program analyzers for C whose modules rely on ACSL, a specification language based on an axiomatic semantics for C. Towards Verified Faithful Simulation
[3] Frama-C leverages the Why verification platform, which implements Dijkstra's calculus of weakest preconditions; Why compiles annotated C code into an intermediate language whose VCs are dispatched to automatic or interactive (e.g., Coq) provers. Towards Verified Faithful Simulation
[4] Operational semantics describes program behavior as a transition relation between abstract states and is used in CompCert to define execution of (a subset of) C programs. Towards Verified Faithful Simulation
[5] PTE is an axiomatic-semantics-based compiler testing approach that incrementally develops (precondition, transformation, expectation) triples written in the language under test, and was applied to the Cangjie and Java compilers, finding 42 implementation bugs and 9 potential language design issues. PTE: Axiomatic Semantics based Compiler Testing
[6] The structured parallel programming language PPL for true concurrency is given an explicit parallel operator together with operational, denotational, and axiomatic semantics. Structured Parallel Programming