Automated testing
SPS-VeriSpec
A Python tool that reads source code, uses Soufflé rules to find useful relationships, and turns the strongest results into pytest tests.
Problem
Finding a pattern in source code does not automatically mean it makes a good test. The hard part is deciding which findings are reliable enough to run as pytest checks.
What I built
- A Python code reader that records classes, functions, calls, field access, exceptions, boundaries, and common dataclass patterns.
- Soufflé rules that connect those facts and find useful relationships across the program.
- A pytest generator that only promotes well-supported checks; uncertain or LLM-suggested results stay separate for human review.
What works today
- Generated test suites and reports for CutePetsBoston, dacite, bounded Transformers, and a type-checker case study.
- Reusable checks for dataclass fields, constructors, default values, and conversions.
- A browser view that shows the path from source facts to Soufflé results, generated tests, validation, and items that still need review.