215 citations · 391 across the 32 of their papers we have counts for
36 papers
From Code Review to Code Critique: Intent, Drift, and Spotlight for AI-Generated Diffs at Scale
Chandra Maddila, Mashrur Rashik, Euna Mehnaz Khan +4
AI coding agents are generating code at volumes that exceed the capacity of traditional peer review. At the same time, existing AI code review tools over-index on low-value suggest…
A Preliminary Study on Explaining Risk of Code Changes using LLM-Based Prediction Models
Yalin Liu, Kosay Jabre, Rui Abreu +10
Predictions by machine learning (ML) and artificial intelligence (AI) models are often received skeptically unless they are paired with intelligible explanations. In the context of…
Automating Low-Risk Code Review at Meta: RADAR, Risk Calibration, and Review Efficiency
Chris Adams, Arjun Singh Banga, Parveen Bansal +28
AI-assisted coding tools have altered software production. At Meta, significant lines of code per human-landed diff grew by 105.9% year over year and per-developer diff volume rose…
Agentic Program Repair from Test Failures at Scale: A Neuro-symbolic approach with static analysis and test execution feedback
Chandra Maddila, Adam Tait, Claire Chang +21
Aim: With the advent of LLMs, sophisticated agentic program repair has become viable at large organizations with large codebases. In this work, we develop an Engineering Agent that…
AI-Assisted Fixes to Code Review Comments at Scale
Chandra Maddila, Negar Ghorbani, James Saindon +7
Aim. There are 10s of thousands of code review comments each week at Meta. We developed Metamate for Code Review (MetaMateCR) that provides AI-assisted fixes for reviewer comments…
Code Improvement Practices at Meta
Audris Mockus, Peter C Rigby, Rui Abreu +20
The focus on rapid software delivery inevitably results in the accumulation of technical debt, which, in turn, affects quality and slows future development. Yet, companies with a l…
Checker Bug Detection and Repair in Deep Learning Libraries
Nima Shiri Harzevili, Mohammad Mahdi Mohajer, Jiho Shin +8
Checker bugs in Deep Learning (DL) libraries are critical yet not well-explored. These bugs are often concealed in the input validation and error-checking code of DL libraries and…
Moving Faster and Reducing Risk: Using LLMs in Release Deployment
Rui Abreu, Vijayaraghavan Murali, Peter C Rigby +7
Release engineering has traditionally focused on continuously delivering features and bug fixes to users, but at a certain scale, it becomes impossible for a release engineering te…
Multi-line AI-assisted Code Authoring
Omer Dunay, Daniel Cheng, Adam Tait +9
CodeCompose is an AI-assisted code authoring tool powered by large language models (LLMs) that provides inline suggestions to 10's of thousands of developers at Meta. In this paper…
Improving Code Reviewer Recommendation: Accuracy, Latency, Workload, and Bystanders
Peter C. Rigby, Seth Rogers, Sadruddin Saleem +5
The code review team at Meta is continuously improving the code review process. To evaluate the new recommenders, we conduct three A/B tests which are a type of randomized controll…
Automatic Static Bug Detection for Machine Learning Libraries: Are We There Yet?
Nima Shiri harzevili, Jiho Shin, Junjie Wang +2
Automatic detection of software bugs is a critical task in software security. Many static tools that can help detect bugs have been proposed. While these static bug detectors are m…
A Survey on Automated Software Vulnerability Detection Using Machine Learning and Deep Learning
Nima Shiri Harzevili, Alvine Boaye Belle, Junjie Wang +4
Software vulnerability detection is critical in software security because it identifies potential bugs in software systems, enabling immediate remediation and mitigation measures t…
AI-assisted Code Authoring at Scale: Fine-tuning, deploying, and mixed methods evaluation
Vijayaraghavan Murali, Chandra Maddila, Imad Ahmad +6
Generative LLMs have been shown to effectively power AI-based code authoring tools that can suggest entire statements or blocks of code during code authoring. In this paper we pres…
Are We Speeding Up or Slowing Down? On Temporal Aspects of Code Velocity
Gunnar Kudrjavets, Nachiappan Nagappan, Ayushi Rastogi
This paper investigates how the duration of various code review periods changes over a projects' lifetime. We study four open-source software (OSS) projects: Blender, FreeBSD, LLVM…
Who Ate My Memory? Towards Attribution in Memory Management
Gunnar Kudrjavets, Ayushi Rastogi, Jeff Thomas +1
To understand applications' memory usage details, engineers use instrumented builds and profiling tools. Both approaches are impractical for use in production environments or deplo…
When malloc() Never Returns NULL -- Reliability as an Illusion
Gunnar Kudrjavets, Jeff Thomas, Aditya Kumar +2
For decades, the guidance given to software engineers has been to check the memory allocation results. This validation step is necessary to avoid crashes. However, in user mode, in…
There Ain't No Such Thing as a Free Custom Memory Allocator
Gunnar Kudrjavets, Jeff Thomas, Aditya Kumar +2
Using custom memory allocators is an efficient performance optimization technique. However, dependency on a custom allocator can introduce several maintenance-related issues. We pr…
Is Kernel Code Different From Non-Kernel Code? A Case Study of BSD Family Operating Systems
Gunnar Kudrjavets, Jeff Thomas, Nachiappan Nagappan +1
Code churn and code velocity describe the evolution of a code base. Current research quantifies and studies code churn and velocity at a high level of abstraction, often at the ove…
The Evolving Landscape of Software Performance Engineering
Gunnar Kudrjavets, Jeff Thomas, Nachiappan Nagappan
Satisfactory software performance is essential for the adoption and the success of a product. In organizations that follow traditional software development models (e.g., waterfall)…
The Unexplored Treasure Trove of Phabricator Code Review
Gunnar Kudrjavets, Nachiappan Nagappan, Ayushi Rastogi
Phabricator is a modern code collaboration tool used by popular projects like FreeBSD and Mozilla. However, unlike the other well-known code review environments, such as Gerrit or…
Mining Code Review Data to Understand Waiting Times Between Acceptance and Merging: An Empirical Analysis
Gunnar Kudrjavets, Aditya Kumar, Nachiappan Nagappan +1
Increasing code velocity (or the speed with which code changes are reviewed and merged) is integral to speeding up development and contributes to the work satisfaction of engineers…
Do Small Code Changes Merge Faster? A Multi-Language Empirical Investigation
Gunnar Kudrjavets, Nachiappan Nagappan, Ayushi Rastogi
Code velocity, or the speed with which code changes are integrated into a production environment, plays a crucial role in Continuous Integration and Continuous Deployment. Many stu…
Code Smells in Machine Learning Systems
Jiri Gesi, Siqi Liu, Jiawei Li +6
As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more compl…
Quantifying Daily Evolution of Mobile Software Based on Memory Allocator Churn
Gunnar Kudrjavets, Jeff Thomas, Aditya Kumar +2
The pace and volume of code churn necessary to evolve modern software systems present challenges for analyzing the performance impact of any set of code changes. Traditional method…