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


Justin Gottschlich

Lead Artificial Intelligence Researcher, Parallel Computing Lab

View authors bio

Nesime Tatbul

Senior Research Scientist, Parallel Computing Lab

View authors bio

Tim Mattson

Senior Principal Engineer, Parallel Computing Lab

View authors bio

Armando Solar-Lezama

Michael Carbin

Martin Rinard

Regina Barzilay

Saman Amarasinghe

Joshua B Tenenbaum

Related Content

HeNet: A Deep Learning Approach on IntelR Processor...

This paper presents HeNet, a hierarchical ensemble neural network, applied to classify hardware-generated control flow traces for malware detection. Deep...

View publication

Capturing Shared and Individual Information in fMRI Data

Cognitive neuroscience seeks to explain the organization of the brain, but typically focuses on aspects that are shared across people...

View publication

Persistent Homology for Virtual Screening

Finding new medicines is one of the most important tasks of pharmaceutical companies. One of the best approaches to finding...

View publication

Motion Segmentation by Exploiting Complementary Geometric Models

Many real-world sequences cannot be conveniently categorized as general or degenerate; in such cases, imposing a false dichotomy in using...

View publication

Stay Connected

Keep tabs on all the latest news with our monthly newsletter.