The Three Pillars of Machine Programming
Justin Gottschlich, Armando Solar-Lezama, Nesime Tatbul, Michael, Carbin, Martin Rinard, Regina Barzilay, Saman Amarasinghe, Joshua B, Tenenbaum, Tim Mattson

TL;DR
This paper presents a vision for the future of machine programming centered on three key pillars: intention, invention, and adaptation, highlighting interface improvements, algorithm development, and autonomous software evolution.
Contribution
It introduces a categorical framework for understanding the future research directions in machine programming based on three fundamental pillars.
Findings
Emphasizes the importance of human-computer interfaces in machine programming.
Highlights the role of ML in creating and refining algorithms and hardware.
Proposes autonomous software evolution as a key research area.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Machine Learning and Data Classification · Parallel Computing and Optimization Techniques
