Getting Started

Introduction

SAPLE — the Symbolic Algebraic Process Logic Engine — is a formal verification framework. It models systems as process equations over a shared state environment and detects vulnerabilities through three complementary techniques:

The framework consists of a specification language (SPL), a parser, an algebraic core, an analyzer, and a CLI binary called saple.

What SPL models

SPL describes a concurrent system as a collection of:

What SAPLE finds

SAPLE ships with examples that demonstrate detection of:

How SAPLE differs from a model checker

Traditional model checkers (SPIN, NuSMV, TLA+) explore reachable states of an explicit state machine. SAPLE works at the level of process equations: behaviors are algebraic terms (prefix ., choice +, parallel ||, iteration *), and analysis proceeds by structural rewriting plus targeted SMT queries. The result is a framework that scales to long traces while preserving algebraic clarity.

Project & language naming

The framework is SAPLE; the language is SPL. The on-disk file extension remains .sbl and the CLI binary remains saple for compatibility with the existing repository.