Propwise

AST-based property-based testing candidate analyzer for Elixir.

Active ElixirProperty TestingStreamDataAST Analysis 6 713
Propwise

analyzes Elixir Abstract Syntax Trees to identify functions ideal for property-based testing and scaffold StreamData generators automatically.

The Pitch

Property-based testing (PBT) is unmatched at catching edge cases in software logic, but bootstrapping property tests requires identifying candidate functions, writing complex generators, and defining algebraic properties manually.

Propwise removes the entry barrier to property testing in Elixir. By analyzing function signatures, pattern matches, type specs, and AST control flow, Propwise discovers candidate functions and generates initial StreamData generator templatesโ€”letting teams unlock PBT with minimal setup.


Why Propwise?

AST Candidate Detection

Scans modules to locate pure functions and complex control-flow branches suitable for property validation.

Type Spec & Guard Analysis

Extracts type constraints from @spec definitions and guard clauses to infer generator types automatically.

StreamData Boilerplate Generation

Emits clean ExUnit property test templates integrated directly with StreamData .

Incremental Adoption

Run AST scans on legacy modules to steadily expand property testing coverage over time.


The Tech

Language Elixir
PBT Library StreamData
Analysis Level AST & Type Specs
Hex Package propwise

Who It's For

  • Elixir Developers wanting to adopt property-based testing without writing verbose generator boilerplate.
  • QA & Testing Specialists expanding test coverage across pure functional pipelines.
  • Library Maintainers ensuring robust invariant checks across public APIs.

Bottom Line

Automate candidate selection and generator setup for property-based testing in Elixir with Propwise.