Design a Symbolic-Execution Test-Generation Pipeline for a Date-Time Library
Overview
What this challenge is about.
Design a Symbolic-Execution Test-Generation Pipeline for a Date-Time Library. Expert-level challenge in design. Designing real products under real constraint...
The Brief
What you'll do, and what you'll demonstrate.
Design a symbolic-execution-driven test-generation pipeline that pushes the library's parsing and arithmetic branch coverage above 90 percent while staying fast enough and reproducible enough for a volunteer-run continuous-integration setup.
This is not a design exercise. It is the work a product designer does between a brief and a shipped interface. That distinction matters to every hiring manager who has seen candidates redesign Spotify's homepage and none who have worked under real product constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
Earning criteria — what you'll demonstrate
- Model a C library's public API as symbolic entry points with realistic input constraints
- Bound symbolic-execution cost (time budgets, path limits) to fit a continuous-integration setting
- Convert raw symbolic-execution output into a deduplicated, fast, maintainable regression suite
- Measure and honestly report branch-coverage delta and the structural limits of symbolic execution
- Package an analysis pipeline so it reproduces deterministically from a clean checkout
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Symbolic Execution
Apply symbolic execution to solve real industry problems and demonstrate production-level capability.
- Klee
Apply klee to solve real industry problems and demonstrate production-level capability.
- Test Generation
Apply test generation to solve real industry problems and demonstrate production-level capability.
- Llvm
Apply llvm to solve real industry problems and demonstrate production-level capability.
- C Programming
Apply c programming to solve real industry problems and demonstrate production-level capability.
- Static Analysis
Apply static analysis to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Software Engineer in Test
Generating regression suites automatically from program structure is the core of modern test-tooling roles. This challenge proves you can turn an engine's raw output into a fast, trustworthy suite teams run on every commit, balancing coverage against runtime cost.
This challenge sharpens
- test-generation
- symbolic-execution
- c-programming
Program Analysis Engineer
Program-analysis teams build the symbolic and static tooling that finds bugs at scale. Designing symbolic entry points over LLVM bitcode and reasoning about which paths are reachable mirrors the daily work of building and tuning analysis engines.
This challenge sharpens
- symbolic-execution
- llvm
- static-analysis
Open-Source Infrastructure Maintainer
Maintaining widely-depended-on libraries means raising quality cheaply and reproducibly. This challenge develops the judgment to add automated coverage that a volunteer-run continuous-integration setup can actually sustain over time.
This challenge sharpens
- test-generation
- klee
- static-analysis