Build a Source-to-Source Migration Tool for a Legacy API
Overview
What this challenge is about.
Use Python's libcst (concrete syntax tree library) to parse customer code while preserving formatting. For each of the 14 transformations, write a CST visitor that matches the v3 call pattern and rewrites it to v4 syntax. Handle the 3 signature changes (one becomes a kwargs-only call, one renames a parameter, one splits one argument into two). Produce a unified diff and a per-file change report. Validate against the held-out 50-file corpus: target zero false-positive rewrites and at least 95 percent recall on the planted transformation sites.
The Brief
What you'll do, and what you'll demonstrate.
Build a safe source-to-source migration tool that rewrites 14 v3 SDK call patterns to v4 across customer Python codebases, with zero false positives on a held-out corpus.
Earning criteria — what you'll demonstrate
- Use a concrete syntax tree (CST) library to preserve formatting and comments
- Write source-to-source rewrites for a real API migration
- Measure precision and recall of an automated refactoring tool
- Build a developer-experience tool that customers will actually run
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.