The three pillars of machine programming

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-machi...

Full description

Bibliographic Details
Main Authors: Gottschlich, Justin (Author), Solar Lezama, Armando (Author), Tatbul Bitim, Emine Nesime (Author), Carbin, Michael James (Author), Rinard, Martin C (Author), Barzilay, Regina (Author), Amarasinghe, Saman P (Author), Tenenbaum, Joshua B (Author), Mattson, Tim (Author)
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor), Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Brain and Cognitive Sciences (Contributor)
Format: Article
Language:English
Published: Association for Computing Machinery (ACM), 2021-02-16T21:27:01Z.
Subjects:
Online Access:Get fulltext
Description
Summary: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.