Skip to content
Avecas

FORMAL VERIFICATION

Formal verification

Use properties and exhaustive reasoning within a defined model and assumptions.

Discuss your requirements
Software source code displayed on a screen

Representative photograph · Software source code displayed on a screen.

THE ENGINEERING SCOPE

Built around
your requirements.

Explore the approach ↓
01

Technical starting point

Design model, properties, environmental assumptions and proof objectives.

02

Acceptance evidence

Vacuity, reachability, assumption strength and proof completeness.

03

Delivery package

Properties, proof results, counterexamples and documented limitations.

CLIENT GUIDE

Scope formal verification with the right evidence.

Use these technical checkpoints to make the first project review productive.

Provide before the review

  • Design model
  • Properties
  • Environmental assumptions and proof objectives

Review during execution

  • Vacuity
  • Reachability
  • Assumption strength and proof completeness

Agree for delivery

  • Properties
  • Proof results
  • Counterexamples and documented limitations

HOW WE WORK

Clarity at each stage.

01

Specify properties

The initial review establishes the baseline using design model, properties, environmental assumptions and proof objectives. Record gaps and dependencies before implementation.

02

Review assumptions

Carry out the agreed work against the reviewed baseline. For formal verification, keep the interfaces and configuration used by this stage visible to the receiving team.

03

Run proofs

Retain the intermediate artifacts and review vacuity, reachability, assumption strength and proof completeness. Investigate failures before using these results as an input to the next stage.

04

Investigate counterexamples and inconclusive results

Package properties, proof results, counterexamples and documented limitations. Review unresolved findings against the agreed acceptance criteria and assign ownership for follow-up.

PROJECT DECISIONS

Know what moves the work forward.

Use these gates to agree readiness, review evidence and responsibility at each stage.

  1. 01

    Baseline ready

    Are the starting inputs complete enough to proceed?

    Review method and evidence

    Design model, properties, environmental assumptions and proof objectives.

    Review evidence

    Record input revisions, missing material and who can resolve each dependency.

  2. 02

    Implementation reviewed

    Has the work addressed the agreed technical objective?

    Review method and evidence

    Use properties and exhaustive reasoning within a defined model and assumptions.

    Review evidence

    Keep the intermediate artifacts with review comments and the decisions that changed the design.

  3. 03

    Evidence checked

    Can the result be reproduced and interpreted?

    Review method and evidence

    Vacuity, reachability, assumption strength and proof completeness.

    Review evidence

    Capture the configuration, expected result, observed result and unresolved findings.

  4. 04

    Handoff accepted

    Can the receiving team use the delivery package?

    Review method and evidence

    Properties, proof results, counterexamples and documented limitations.

    Review evidence

    Review build or execution instructions, known limitations and ownership of follow-up actions.

INPUTS & OUTPUTS

What the work involves.

The final statement of work defines the scope and acceptance criteria.

Client inputs
Design model, properties, environmental assumptions and proof objectives.
Engineering sequence
Specify properties; review assumptions; run proofs; investigate counterexamples and inconclusive results.
Outputs to agree
Properties, proof results, counterexamples and documented limitations.

TECHNICAL DECISIONS

Planning formal verification.

Read the technical guide

The engineering objective

Use properties and exhaustive reasoning within a defined model and assumptions.

The work starts from design model, properties, environmental assumptions and proof objectives. The team should identify the authoritative revision of each input and record any assumptions needed to proceed. This prevents a later result from being interpreted against a different specification or configuration.

What needs technical attention

An overconstrained environment can hide a defect; assumptions need independent review.

The review centres on vacuity, reachability, assumption strength and proof completeness. Each finding should identify the input revision, observed behaviour and supporting evidence. Distinguish a confirmed defect from a configuration issue, an unsupported case or an open engineering question before deciding how to resolve it.

How the work is reviewed

The practical sequence is: specify properties; review assumptions; run proofs; investigate counterexamples and inconclusive results. Intermediate reviews allow the client to resolve decisions while changes are still manageable. If an input changes, identify the affected activities and repeat the checks that depend on it.

The expected package comprises properties, proof results, counterexamples and documented limitations. Acceptance criteria should specify what the receiving team needs to reproduce, inspect or integrate these artifacts. Include known limitations and outstanding actions in that package, rather than assuming that delivery of a file implies acceptance.

Make the interface contract executable

A specification becomes useful when the team can distinguish legal behaviour from a defect at each interface. Record which side drives a transaction, when data becomes valid, how backpressure works and what happens if reset arrives during a transfer. Register descriptions should state access permissions, reset values and side effects. Configuration parameters need a supported range; a design verified in one configuration should not automatically be treated as verified in every configuration.

Performance requirements need a workload and an observation point. Specify whether a latency target measures an isolated transaction or a stream under contention. State how throughput is counted when requests stall, retry or cross clock boundaries. This makes architecture reviews more productive: a buffer, pipeline stage or arbitration change can be compared against an explicit requirement rather than a headline frequency.

Keep functional verification, structural checks and implementation feasibility as distinct review activities. A successful compile, proof or synthesis run answers the question posed by its setup; it does not establish that the setup covered the entire product requirement. Review assumptions, exclusions and unsupported modes alongside the result. Where an interface is supplied by another team, agree a small integration test and its expected response before connecting the full subsystem.

An illustrative review scenario

Consider a producer that can issue consecutive requests while its consumer occasionally stalls. Review whether the interface preserves ordering, holds data stable and resumes without losing a request. Add a reset during the stall and a boundary-length transfer. Record the expected behaviour first, then retain the test and result with the design revision. This is an illustrative review scenario, not a claim about a delivered client project.

BEFORE WE BEGIN

Project questions.

A clear conversation is the start of a strong engineering relationship.

What inputs are needed for formal verification?

The starting review needs design model, properties, environmental assumptions and proof objectives. Share the current revision and known limitations so the scope reflects the actual design state.

What does the formal verification handoff include?

The statement of work can define properties, proof results, counterexamples and documented limitations. The final package should include review results and any open actions.

Which technical risks need particular attention?

An overconstrained environment can hide a defect; assumptions need independent review.

Can we start with a focused technical review?

The first work package can be a review of the available inputs and the engineering questions that must be resolved. Agree its boundaries, access requirements and expected findings before committing to a larger implementation. A review should leave an actionable list of decisions, dependencies and next steps.

How are changes and unresolved findings handled?

Tie each finding to the relevant revision and supporting evidence. A change should identify the affected interfaces, activities and checks. Confirm its effect on scope and delivery with the responsible owner. At handoff, distinguish closed findings, accepted limitations and open work so that a file transfer is not mistaken for technical acceptance.

PUT THE WORKFLOW IN CONTEXT

Explore the engineering decisions.

Practical reading to help prepare your project discussion. Studies are illustrative; they do not report client results.

Reviewing a congested floorplan before timing closure ↗

YOUR NEXT CHAPTER STARTS HERE

What will you
build next?

Bring us your engineering challenge.
Let’s define the path from idea to implementation.

Start a conversation