Build a Symbolic-Execution-Based Test Generator for a Library
Overview
What this challenge is about.
Pick KLEE for the symbolic-execution engine. Build LLVM bitcode for the library's C99 build target. Define symbolic inputs for the public parsing API (date strings up to 32 characters) and arithmetic API (timestamp +/- duration). Run KLEE with a 4-hour time budget per target. Convert generated test cases into a regression suite the maintainers can run in CI (under 60 seconds). Measure coverage delta vs the existing hand-written suite. Deliver KLEE scripts, generated regression suite, coverage report, and a 5-page document covering coverage gains, runtime cost, and what KLEE cannot reach (likely: API surfaces touching mmap or external time syscalls).
The Brief
What you'll do, and what you'll demonstrate.
Use symbolic execution to push an OSS date-and-time library above 90 percent branch coverage with a CI-suitable regression suite.
Earning criteria — what you'll demonstrate
- Apply symbolic execution to a real C library, not a toy benchmark
- Define symbolic inputs that exercise the right surface
- Translate KLEE-generated cases into maintainable regression tests
- Honestly characterize what symbolic execution cannot reach
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.