Essays, perspectives, and engineering stories on software development, AI, and developer tools.
Benchmarks for AI in Software Engineering
Communications of the ACM / BLOG@CACM, 2025
Why benchmarks for AI coding systems should better reflect real software-engineering work.
What Do Developers Want From AI?
IEEE Software, 2024
A perspective on what developers actually expect from AI-powered development tools.
Explainable AI for SE: Challenges and Future Directions
IEEE Software, 2023
Challenges and opportunities in making AI systems for software engineering understandable and actionable.
Neural Software Analysis
Communications of the ACM, 2022
An overview of learned software-analysis techniques and how they complement traditional program analysis.
AI in Software Engineering at Facebook
IEEE Software, 2021
An accessible overview of applying machine learning across code search, recommendation, repair, and the software lifecycle.
Automatic Program Repair
IEEE Software, 2021
A broad introduction to the goals, progress, and challenges of automated software repair.
Formula-Based Software Debugging
Communications of the ACM, 2016
A general treatment of using logical formulas and constraint solving for debugging and repair.
Lessons from the Tech Transfer Trenches
Communications of the ACM, 2016
Lessons from moving software-engineering research into practical industrial use.
AI in Software Engineering at Google: Progress and the Path Ahead
Google Research, 2024
A broad account of AI-powered developer tools at Google, deployment lessons, and measurement of developer productivity.
Minesweeper Automates Root Cause Analysis as a First-Line Defense Against Bugs
Engineering at Facebook, 2021
How statistical root-cause analysis was deployed at scale for production debugging.
Aroma: Using Machine Learning for Code Recommendation
Engineering at Facebook, 2019
How structural code search and clustering were used to generate code recommendations inside large codebases.
Predictive Test Selection: A More Efficient Way to Ensure Reliability of Code Changes
Engineering at Facebook, 2018
How machine learning was used to reduce regression-test execution while preserving high fault-detection rates.
Getafix: How Facebook Tools Learn to Fix Bugs Automatically
Engineering at Facebook, 2018
How learned fix patterns enabled automated program repair in Facebook’s production development workflow.
Meta's New Structured Prompting Technique Makes LLMs Significantly Better at Code Review
VentureBeat · 2026
Independent coverage of semi-formal reasoning and Agentic Code Reasoning for execution-free semantic analysis of large codebases.
How Facebook Engineers Plan To Make Your Experience Faster And More Efficient In 2018
Fast Company · 2017
Coverage of Facebook's efforts to use machine learning for semantic code search and predictive test selection to improve developer productivity. The article specifically discusses both applications.
Neural Code Search: How Facebook Uses Neural Networks to Help Developers Search for Code Snippets
KDnuggets · 2019
An accessible third-party explanation of neural code search and the use of NLP and information retrieval for searching large code repositories.
The Impact of Predictive Test Selection for Efficient Software Test Execution
Launchable · 2022
An industry account of predictive test selection that explicitly credits the approach presented at Meta/Facebook and discusses how the technique works in practice.