Codepacking is a technique for automatically resolving incomplete code snippets. Its ultimate goal is not about achieving program correctness but approximating program completeness. Codepacking produces an Abstract Syntax Tree (AST) of a partial program that Vesperin can manipulate.
Codepacking consists of four steps:
- Surrounds code example with the appropriate body declarations (class, method, or both), if needed.
- It cross references missing type information of existing ill-typed expressions with a repository of pre-acquired API information and then suggests their well-typed corrections.
- It uses Vesperin’s code transformation utilities to add the suggested corrections to the example’s code.
- It produces the desired AST.
Codepacking’s code is still private. However, once it becomes public, it will be available here.