# program_facts v0.2.0 - Table of Contents

Generate Elixir programs with known structural facts for analyzer testing.

## Pages

- [ProgramFacts](readme.md)
- [Changelog](changelog.md)
- [ProgramFacts Roadmap](roadmap.md)
- [LICENSE](license.md)

## Modules

- [ProgramFacts](ProgramFacts.md): Generate Elixir programs with known structural facts.
- [ProgramFacts.Analyzer](ProgramFacts.Analyzer.md): Behaviour and helpers for analyzer adapters.
- [ProgramFacts.Analyzer.Result](ProgramFacts.Analyzer.Result.md): Normalized analyzer result used for differential comparisons.

- [ProgramFacts.Corpus](ProgramFacts.Corpus.md): Saves generated programs as replayable corpus entries.

- [ProgramFacts.Corpus.Failure](ProgramFacts.Corpus.Failure.md): Failure metadata saved alongside a promoted corpus entry.

- [ProgramFacts.Differential](ProgramFacts.Differential.md): Differential analyzer comparison.
- [ProgramFacts.ExUnit](ProgramFacts.ExUnit.md): Test helpers for generated programs.

- [ProgramFacts.Export](ProgramFacts.Export.md): Converts generated programs and facts into JSON-friendly manifests.

- [ProgramFacts.Fact.Branch](ProgramFacts.Fact.Branch.md): A branch/control-flow oracle fact.

- [ProgramFacts.Fact.BranchCall](ProgramFacts.Fact.BranchCall.md): A call associated with one branch clause.

- [ProgramFacts.Fact.CallEdge](ProgramFacts.Fact.CallEdge.md): A directed call edge between two generated functions.

- [ProgramFacts.Fact.DataFlow](ProgramFacts.Fact.DataFlow.md): A ground-truth data-flow oracle fact.

- [ProgramFacts.Fact.DataRef](ProgramFacts.Fact.DataRef.md): A typed data-flow endpoint or intermediate reference.

- [ProgramFacts.Fact.Effect](ProgramFacts.Fact.Effect.md): A side-effect oracle fact for a generated function.

- [ProgramFacts.Fact.FunctionID](ProgramFacts.Fact.FunctionID.md): A function identity in generated oracle facts.

- [ProgramFacts.Fact.Location](ProgramFacts.Fact.Location.md): A source location oracle fact.

- [ProgramFacts.Facts](ProgramFacts.Facts.md): Ground-truth facts expected from a generated program.

- [ProgramFacts.File](ProgramFacts.File.md): A generated source file.

- [ProgramFacts.Graph](ProgramFacts.Graph.md): Converts ProgramFacts models and facts into `libgraph` graphs.
- [ProgramFacts.Layout](ProgramFacts.Layout.md): Applies project-layout path conventions to generated programs.

- [ProgramFacts.Locations](ProgramFacts.Locations.md): Derives source locations from generated source files.

- [ProgramFacts.Manifest](ProgramFacts.Manifest.md): JSON manifest for a generated program.

- [ProgramFacts.Manifest.Facts](ProgramFacts.Manifest.Facts.md): JSON manifest facts payload.

- [ProgramFacts.Manifest.File](ProgramFacts.Manifest.File.md): JSON manifest source file entry.

- [ProgramFacts.Metamorphic](ProgramFacts.Metamorphic.md): Helpers for checking transform invariants.

- [ProgramFacts.Model](ProgramFacts.Model.md): Semantic summary model for generated programs.
- [ProgramFacts.Model.Builder](ProgramFacts.Model.Builder.md): Builder API for constructing `ProgramFacts.Model` values.
- [ProgramFacts.Program](ProgramFacts.Program.md): A generated program with source files and expected structural facts.

- [ProgramFacts.Project](ProgramFacts.Project.md): Writes generated programs to Mix project directories.

- [ProgramFacts.Search](ProgramFacts.Search.md): Feedback-directed generation over ProgramFacts features and user callbacks.

- [ProgramFacts.Shrink](ProgramFacts.Shrink.md): Deterministic minimization helpers for generated failures.
- [ProgramFacts.StreamData](ProgramFacts.StreamData.md): StreamData generators for generated programs.
- [ProgramFacts.Transform](ProgramFacts.Transform.md): Fact-aware transformations for generated programs.

