Code Improvement Practices at Meta

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Mockus, Audris, Rigby, Peter C, Abreu, Rui, Akkerman, Anatoly, Bhootada, Yogesh, Bhuptani, Payal, Ghardhora, Gurnit, Dao, Lan Hoang, Hawley, Chris, He, Renzhi, Krishnamoorthy, Sagar, Krauze, Sergei, Li, Jianmin, Lunov, Anton, Martac, Dragos, Morin, Francois, Mitchell, Neil, Montes, Venus, Saba, Maher, Steiner, Matt, Valori, Andrea, Wang, Shanchao, Nagappan, Nachiappan
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866916703374409728
author Mockus, Audris
Rigby, Peter C
Abreu, Rui
Akkerman, Anatoly
Bhootada, Yogesh
Bhuptani, Payal
Ghardhora, Gurnit
Dao, Lan Hoang
Hawley, Chris
He, Renzhi
Krishnamoorthy, Sagar
Krauze, Sergei
Li, Jianmin
Lunov, Anton
Martac, Dragos
Morin, Francois
Mitchell, Neil
Montes, Venus
Saba, Maher
Steiner, Matt
Valori, Andrea
Wang, Shanchao
Nagappan, Nachiappan
author_facet Mockus, Audris
Rigby, Peter C
Abreu, Rui
Akkerman, Anatoly
Bhootada, Yogesh
Bhuptani, Payal
Ghardhora, Gurnit
Dao, Lan Hoang
Hawley, Chris
He, Renzhi
Krishnamoorthy, Sagar
Krauze, Sergei
Li, Jianmin
Lunov, Anton
Martac, Dragos
Morin, Francois
Mitchell, Neil
Montes, Venus
Saba, Maher
Steiner, Matt
Valori, Andrea
Wang, Shanchao
Nagappan, Nachiappan
contents 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 long history of rapid delivery exist. Our primary aim is to discover how such companies manage to keep their codebases maintainable. Method: we investigate Meta's practices by collaborating with engineers on code quality and by analyzing rich source code change history to reveal a range of practices used for continual improvement of the codebase. In addition, we replicate several aspects of previous industry cases studies investigating the impact of code reengineering. Results: Code improvements at Meta range from completely organic grass-roots done at the initiative of individual engineers, to regularly blocked time and engagement via gamification of Better Engineering (BE) work, to major explicit initiatives aimed at reengineering the complex parts of the codebase or deleting accumulations of dead code. Over 14% of changes are explicitly devoted to code improvement and the developers are given ``badges'' to acknowledge the type of work and the amount of effort. Our investigation to prioritize which parts of the codebase to improve lead to the development of metrics to guide this decision making. Our analysis of the impact of reengineering activities revealed substantial improvements in quality and speed as well as a reduction in code complexity. Overall, such continual improvement is an effective way to develop software with rapid releases, while maintaining high quality.
format Preprint
id arxiv_https___arxiv_org_abs_2504_12517
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Code Improvement Practices at Meta
Mockus, Audris
Rigby, Peter C
Abreu, Rui
Akkerman, Anatoly
Bhootada, Yogesh
Bhuptani, Payal
Ghardhora, Gurnit
Dao, Lan Hoang
Hawley, Chris
He, Renzhi
Krishnamoorthy, Sagar
Krauze, Sergei
Li, Jianmin
Lunov, Anton
Martac, Dragos
Morin, Francois
Mitchell, Neil
Montes, Venus
Saba, Maher
Steiner, Matt
Valori, Andrea
Wang, Shanchao
Nagappan, Nachiappan
Software Engineering
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 long history of rapid delivery exist. Our primary aim is to discover how such companies manage to keep their codebases maintainable. Method: we investigate Meta's practices by collaborating with engineers on code quality and by analyzing rich source code change history to reveal a range of practices used for continual improvement of the codebase. In addition, we replicate several aspects of previous industry cases studies investigating the impact of code reengineering. Results: Code improvements at Meta range from completely organic grass-roots done at the initiative of individual engineers, to regularly blocked time and engagement via gamification of Better Engineering (BE) work, to major explicit initiatives aimed at reengineering the complex parts of the codebase or deleting accumulations of dead code. Over 14% of changes are explicitly devoted to code improvement and the developers are given ``badges'' to acknowledge the type of work and the amount of effort. Our investigation to prioritize which parts of the codebase to improve lead to the development of metrics to guide this decision making. Our analysis of the impact of reengineering activities revealed substantial improvements in quality and speed as well as a reduction in code complexity. Overall, such continual improvement is an effective way to develop software with rapid releases, while maintaining high quality.
title Code Improvement Practices at Meta
topic Software Engineering
url https://arxiv.org/abs/2504.12517