/prop_ltl

Experimental utilities for property-based testing with LTL specifications in Elixir

Primary LanguageElixirOtherNOASSERTION

QuickLTL

Infrastructure for property-testing reactive systems with specification in a linear temporal logic. Heavily influenced by Quickstrom and the paper describing its foundations. Currently very experimental and subject to major changes.

This project intends to be a pragmatic tool for testing Elixir applications with formal underpinnings and a reasonable expectation of soundness. It does not intend to be formally proven sound, at least not yet. I would rather have a lot of flexibility and interoperation with Elixir, allowing users to explore patterns that work best to test systems in a robust and understandable way.

Installation

Since this project is very experimental, it will not be published in Hex in the foreseeable future. Still, the package can be installed by adding prop_ltl to your list of dependencies in mix.exs:

def deps do
  [
    {:prop_ltl, github: "ggazzi/prop_ltl", branch: "main"}
  ]
end

Documentation can be generated locally with ExDoc, just run mix docs.