A speedy tour of machine programming

Monday, September 8, 2025 4PM EDT

Justin "Goju" Gottschlich, Merly.ai and Stanford University

Abstract

In this talk, we present machine programming (MP), a field that aims to improve the rate and quality in which we develop software. The first part of this talk will explore the fundamentals of MP. We will cover (i) the three pillars of MP, (ii) four domains that MP deeply intersects with, and (iii) the importance of separation of concerns in MP research and engineering.

The second part of this talk will explore future directions of MP, with a specific concentration on aspects related to performance. Our discussion will cover performance considerations of MP systems, themselves, as well as reasoning about the performance characteristics of code that MP systems generate and refine.

Recording

https://mit.zoom.us/rec/share/R6cicgQJRTsh6oMVEV7vBCzpo4M14hcUF1vGxsGwYftcMGw1ibh6kSXLz0V1AQKs.MZfnuP_JR7kKU5Ec

Bio

Justin (“Goju”) Gottschlich is the founder, CEO, and chief scientist of Merly, Inc. (http://merly.ai), a company aimed at improving software development using state-of-the-art machine programming systems. Merly’s AI platform, Mentor, can reason about software quality across a code repository’s entire lifetime; a feat some previously believed to be computationally intractable. Mentor is built on Merly’s proprietary machine programming algorithms, which combine novel advances in artificial intelligence, programming languages, and software engineering. More than anything, Goju is motivated by working on hard problems.

Goju founded Merly – his second startup named after his dog “Merlin” – with a vision of reimagining the future of software development, drawing on his 25+ years of experience working on technology in industry and academia. He founded his first startup when he was 24, Nodeka, LLC. (1999), an online gaming company he started as a hobbyist effort. Justin’s primary goals with Merly are in advancing machine programming, a field he helped pioneer with his colleagues at Stanford and MIT. Machine programming (MP) aims to use automation to (i) reduce the time required to develop software and (ii) improve software quality across multiple dimensions (e.g., security, maintainability, performance, correctness, etc.).

Justin received his PhD in computer engineering from the University of Colorado-Boulder in 2011. After his PhD, he spent a decade at Intel Labs, rising to principal AI scientist, where he founded and directed the Machine Programming Research lab. Along with his industry experience, Justin has consistently remained active in academia. From 2011 - 2016, while concurrently at Intel Labs, he served as an adjunct professor at University of Colorado Boulder and taught AI (specifically Neural Network Design). In 2017, he moved to University of Pennsylvania as an adjunct professor until 2022. Since 2022, he has been at Stanford University, where he teaches and conducts research principally in the field of machine programming.

Goju has given dozens of international talks, including keynote addresses at University of Pennsylvania, the US Department of Energy, and MIT. His team’s research has been highlighted by venues like The Wall Street Journal, MIT Technology Review, and The New York Times. He has 40+ peer-reviewed publications and 100+ issued patents, with numerous patents pending. He loves dogs, music, exercise, and video games.