Skip to content

facebookresearch/ProgramBench

ProgramBench logo
ProgramBench

Can Language Models Rebuild Programs From Scratch?

Given only a compiled binary and its documentation, AI agents must architect and implement a complete codebase that reproduces the original program's behavior.

Links

Quickstart

We recommend uv for managing Python environments.

# Run without installing
uvx programbench --help

# Or install into a project
uv pip install programbench

# Or with pip
pip install programbench

For development:

git clone https://github.com/facebookresearch/programbench.git
cd programbench
uv sync  # installs editable + dev dependencies

Note

For more details, please refer to the Usage Guide.

Citation

If our work was useful for you, please cite it:

@preprint{yang2026programbench,
  title={ProgramBench: Can Language Models Rebuild Programs From Scratch?},
  author={John Yang and Kilian Lieret and Jeffrey Ma and Parth Thakkar and Dmitrii Pedchenko and Sten Sootla and Emily McMilin and Pengcheng Yin and Rui Hou and Gabriel Synnaeve and Diyi Yang and Ofir Press},
  year={2026},
}

License

ProgramBench is licensed under the terms of the license found in LICENSE.

About

Can Language Models Rebuild Programs From Scratch?

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages