Projects

Systems · 2023

FEAT

A Java test-generation framework that creates large Python test suites, measures which tests actually expose buggy implementations, and prunes them down to a much smaller high-coverage set.

Java · testing · automation

Why I built it

The goal was to make grading and evaluation less dependent on a fixed hand-written test suite. A standard suite can miss incorrect implementations simply because nobody anticipated the failure case.

How it works

FEAT reads a configuration, generates a large set of candidate tests, runs them against a reference implementation and multiple buggy variants, then keeps the tests that contribute the most useful coverage.

The result is a smaller suite that still catches a wide range of incorrect behaviors without paying the cost of running every generated case.

Outcome

The pruned suite detected buggy solutions more effectively than the standard test set we started with, and grading became an automated comparison across implementations rather than a manual rubric pass.

Related