Skip to main content

Crate concolic_core

Crate concolic_core 

Source
Expand description

The architecture-neutral half of the concolic pipeline.

Every item in this crate is stated over traces, decisions and reports. None names an instruction set, a register, a syscall number, or a cell layout. A frontend (an ISA, a bytecode VM, a symbolic runtime, …) supplies:

Everything else - the frontier, the budgets, the verification predicate (“same sites, same directions, opposite at the flipped site”), the seven flip outcomes and the report - is fixed here. A path only counts when the frontend’s own reference engine re-ran the model and agreed; a Sat model alone is never a witness.

Structs§

BranchRec
One decision in a concrete trace: the site and the direction taken.
FlipRec
One flip attempt, in decision order.
Opts
The budgets a session ran under.
PropertyRec
One property-directed query on one walked path.
Report
The session report - the architecture-neutral subset of the engine report that a consumer (a diagnosis layer, a CI gate, a notebook) reads.
RunResult
The outcome of one concrete reference run.
SinkRec
A sink reached on a walked path. The kind and argument names are the frontend’s vocabulary; the ledger treats them as opaque labels.

Enums§

FlipOutcome
What an attempted flip actually reached.
PropertyOutcome
A property query’s outcome (the same algebra every frontend’s engine uses).

Traits§

Frontend
What a frontend must provide for the loop to run.

Functions§

explore
Explore the frontend’s entry point from base inside the budgets.