Leveraging Risk Models to Improve Productivity for Effective Code Un-Freeze at Scale
Changing software is essential to add needed functionality and to fix problems, but changes may introduce defects that lead to outages. This motivates one of the oldest software quality control techniques: a temporary prevention of non-critical changes to the codebase — code freeze. Despite its widespread use in practice, research literature is scant. Historically, code freezes were used as a way to improve software quality by preventing changes during periods before software releases, but code freezes significantly slow down development. To address this shortcoming we develop and evaluate a family of code un-freeze (permitting changes) strategies tailored to different occasions and products at Meta. They are designed to un-freeze the maximum amount of code without compromising quality. The three primary dimensions to un-freeze involve a) the exact timing of (and the reasoning behind it) the code freezes, b) the parts of the organization or the codebase where the codebase freeze is applied to, and c) the method of screening of the code diffs during the code freeze with the aim to allow low risk diffs and prevent only the most risky diffs. To operationalize the drivers of outages, we consider the entire network of interdependencies among different parts of the source code, the engineers that modify the code, code complexity, and the coordination dependencies and authors’ expertise. Since the code freeze is a balancing act between reducing outages and allowing software development to proceed unimpeded, the performance of the various approaches to code un-freeze is evaluated based on the fraction of flagged/gated changes to measure overhead and the fraction of all outage-causing changes contained within the set of flagged set of changes to measure the ability of the code un-freeze to delay (or prevent) outages. We found that taking into account the risk posed by modifying individual files and the properties of the change we could un-freeze two and 2.5 times more changes correspondingly. The change level model is used by Meta in production. For example, during the winter 2023 code freeze, we see that only 16% of changes are gated. Although 42% more changes landed (were integrated into the codebase) compared to the prior year, there was a 52% decrease in outages. This reduction meant less impact on users and less strain on engineers during the holiday period. The risk model has been enormously effective at allowing low risk changes to proceed while gating high risk changes and reducing outages.
Thu 9 JulDisplayed time zone: Eastern Time (US & Canada) change
10:30 - 12:30 | DevelopersJournal-First Paper / Research Papers / Ideas, Visions and Reflections / Re-routed Presentations from Past Years at MB 2.210 Chair(s): Ying Zhang | ||
10:30 20mTalk | On the Road to Personalized Code Intelligence: Portraiting and Assisting Developers Based on Their In-IDE Behaviors Research Papers Yuhong Liu Beihang University, YUNHE SU , Zhipeng Peng Beihang University, Zhiwen Luo Beihang University, Lin Shi Beihang University, Zhi Jin Wuhan University, Li Zhang Beihang University Pre-print | ||
10:50 10mTalk | At What Cost? Software Developers’ Well-Being in the Age of GenAI Ideas, Visions and Reflections Mariam Guizani Queen's University, Canada, Maduka Subasinghage The University of Western Australia, Sherlock A. Licorish University of Otago, Sofia Ouhbi Uppsala University Pre-print | ||
11:00 20mTalk | How Do Developers Interact with AI? An Exploratory Study on Modeling Developer Programming Behavior Research Papers Yinan Wu North Carolina State University, Ze Shi (Zane) Li University of Oklahoma, Kathryn Stolee North Carolina State University, Bowen Xu North Carolina State University DOI Pre-print | ||
11:30 20mResearch paper | ToxiShield: Promoting Inclusive Developer Communication through Real-Time Toxicity Filtering Research Papers Md Awsaf Alam Anindya Bangladesh University of Engineering and Technology, Showvik Biswas Bangladesh University of Engineering and Technology, Anindya Iqbal Bangladesh University of Engineering and Technology Dhaka, Bangladesh, Jaydeb Sarker University of Nebraska at Omaha, Amiangshu Bosu Wayne State University Link to publication DOI Pre-print Media Attached | ||
11:50 20mTalk | Automated Extraction and Analysis of Developer's Rationale in Open Source Software Re-routed Presentations from Past Years Mouna Dhaouadi University of Montreal, Bentley Oakes Polytechnique Montréal, Michalis Famelis Université de Montréal Link to publication DOI | ||
12:10 20mTalk | Leveraging Risk Models to Improve Productivity for Effective Code Un-Freeze at Scale Journal-First Paper Audris Mockus University of Tennessee, Rui Abreu Faculty of Engineering of the University of Porto, Portugal, Peter C Rigby Meta / Concordia University, David Amsallem Meta Platforms, Inc., Parveen Bansal Meta Platforms, Inc., Kaavya Chinniah Meta Platforms, Inc., Brian Ellis Meta Platforms, Inc., Peng Fan Meta Platforms, Inc., Jun Ge Meta Platforms, Inc., Wenlei He Meta, Kelly Hirano Meta Platforms, Inc., Sahil Kumar Meta Platforms, Inc., Ajay Lingapuram Meta Platforms, Inc., W. Andrew Loe III Meta Platforms, Inc., Megh Mehta Meta Platforms, Inc., Venus Montes Meta Platforms, Inc., Maher Saba Meta Platforms, Inc., Gursharan Singh Meta Platforms, Inc., Matt Steiner Meta Platforms, Inc., Weiyan Sun Meta Platforms, Inc., Siri Uppalapati Meta Platforms, Inc., Nachiappan Nagappan Meta Platforms, Inc. | ||