Program Skeletons for Automated Program Translation
summary
Proposes program skeletons that split a Python program into a mechanically converted skeleton and code fragments synthesized by LLMs, implements prototype SKEL to translate Python→JavaScript, and verifies translations with dynamic traces and an execution-order translation loop that incrementally fills holes. Evaluated on nine real programs up to ~2,000 LOC: GPT‑4 auto-translates 95% of fragments (23 manual fixes, ~5%); GPT‑3.5 handles 85%. All final outputs pass whole-program test suites; compilers fail on several examples.
AI-written summary · about
chapters (18)
- 0:00Program translation intro
- 0:21Translate programs across languages
- 1:24Automated translation challenges
- 3:53Requirements for idiomatic translation
- 4:56Program skeletons overview
- 7:44Semantic modeling for correctness
- 10:31Processes for semantic abstraction
- 11:36SCALE tool design
- 13:01SCALE two-stage translation
- 15:10Evaluation and benchmarks
- 16:59Comparison with baselines
- 17:21Future work and limits
- 17:41Q&A
- 18:01Language compatibility
- 18:48Output program performance
- 20:12Skeleton implementation guidelines
- 21:36Semantic differences in loops
- 22:39Closing remarks
related talks
22mUser-Customizable Transpilation of Scripting Languages
22mProgram Synthesis for Artifacts beyond Programs
14mA Multi-Language Static Analysis of Python Programs with Native C Extensions
30mIs Polyglot Programming Really a Thing?
26mAutomating Language Migration at Scale: Tools, Tradeoffs, and the Role of AI
45mTrusting AI to Modernize Software at Scale
01h 02mProgram Manipulation of C Code
10mPerfection Not Required? Human-AI Partnerships in Code Translation
