English

The Three Pillars of Machine Programming

Artificial Intelligence 2021-06-29 v3 Programming Languages Software Engineering

Abstract

In this position paper, we describe our vision of the future of machine programming through a categorical examination of three pillars of research. Those pillars are: (i) intention, (ii) invention, and(iii) adaptation. Intention emphasizes advancements in the human-to-computer and computer-to-machine-learning interfaces. Invention emphasizes the creation or refinement of algorithms or core hardware and software building blocks through machine learning (ML). Adaptation emphasizes advances in the use of ML-based constructs to autonomously evolve software.

Keywords

Cite

@article{arxiv.1803.07244,
  title  = {The Three Pillars of Machine Programming},
  author = {Justin Gottschlich and Armando Solar-Lezama and Nesime Tatbul and Michael Carbin and Martin Rinard and Regina Barzilay and Saman Amarasinghe and Joshua B Tenenbaum and Tim Mattson},
  journal= {arXiv preprint arXiv:1803.07244},
  year   = {2021}
}
R2 v1 2026-06-23T00:58:24.081Z