Why Google stores billions of lines of code in a single repository (original) (raw)
Published: 24 June 2016 Publication History
Abstract
Google's monolithic repository provides a common source of truth for tens of thousands of developers around the world.
References
[1]
Bloch, D. Still All on One Server: Perforce at Scale. Google White Paper, 2011; http://info.perforce.com/rs/perforce/images/GoogleWhitePaper-StillAllonOneServer-PerforceatScale.pdf
[2]
Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., and Gruber, R.E. Bigtable: A distributed storage system for structured data. ACM Transactions on Computer Systems 26, 2 (June 2008).
[3]
Corbett, J.C., Dean, J., Epstein, M., Fikes, A., Frost, C., Furman, J., Ghemawat, S., Gubarev, A., Heiser, C., Hochschild, P. et al. Spanner: Google's globally distributed database. ACM Transactions on Computer Systems 31, 3 (Aug. 2013).
[4]
Gabriel, R.P., Northrop, L., Schmidt, D.C., and Sullivan, K. Ultra-large-scale systems. In Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications (Portland, OR, Oct. 22-26). ACM Press, New York, 2006, 632--634.
[5]
Kemper, C. Build in the Cloud: How the Build System works. Google Engineering Tools blog post, 2011; http://google-engtools.blogspot.com/2011/08/build-in-cloud-how-build-system-works.html
[6]
Lamport, L. Paxos made simple. ACM Sigact News 32, 4 (Nov. 2001), 18--25.
[7]
Morgenthaler, J.D., Gridnev, M., Sauciuc, R., and Bhansali, S. Searching for build debt: Experiences managing technical debt at Google. In Proceedings of the Third International Workshop on Managing Technical Debt (Zürich, Switzerland, June 2-9). IEEE Press Piscataway, NJ, 2012, 1--6.
[8]
Ren, G., Tune, E., Moseley, T., Shi, Y., Rus, S., and Hundt, R. Google-wide profiling: A continuous profiling infrastructure for data centers. IEEE Micro 30, 4 (2010), 65--79.
[9]
Sadowski, C., Stolee, K., and Elbaum, S. How developers search for code: A case study. In Proceedings of the 10th Joint Meeting on Foundations of Software Engineering (Bergamo, Italy, Aug. 30-Sept. 4). ACM Press, New York, 2015, 191--201.
[10]
Sadowski, C., van Gogh, J., Jaspan, C., Soederberg, E., and Winter, C. Tricorder: Building a program analysis ecosystem. In Proceedings of the 37th International Conference on Software Engineering, Vol. 1 (Firenze, Italy, May 16-24). IEEE Press Piscataway, NJ, 2015, 598--608.
[11]
Wasserman, L. Scalable, example-based refactorings with Refaster. In Proceedings of the 2013 ACM Workshop on Refactoring Tools (Indianapolis, IN, Oct. 26-31). ACM Press, New York, 2013, 25--28.
[12]
Wikipedia. Dependency hell. Accessed Jan. 20, 2015; http://en.wikipedia.org/w/index.php?title=Dependency\_hell&oldid=634636715
[13]
Wikipedia. Filesystem in userspace. Accessed June, 4, 2015; http://en.wikipedia.org/w/index.php?title=Filesystem\_in\_Userspace&oldid=664776514
[14]
Wikipedia. Linux kernel. Accessed Jan. 20, 2015; http://en.wikipedia.org/w/index.php?title=Linux\_kernel&oldid=643170399
[15]
Wright, H.K., Jasper, D., Klimek, M., Carruth, C., and Wan, Z. Large-scale automated refactoring using ClangMR. In Proceedings of the IEEE International Conference on Software Maintenance (Eindhoven, The Netherlands, Sept. 22-28). IEEE Press, 2013, 548--551.
Information & Contributors
Information
Published In
Communications of the ACM Volume 59, Issue 7
July 2016
118 pages
Copyright © 2016 Owner/Author.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 24 June 2016
Published in CACM Volume 59, Issue 7
Check for updates
Qualifiers
- Research-article
- Popular
- Refereed
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- View Citations
- Downloads (Last 12 months)52,857
- Downloads (Last 6 weeks)4,931
Reflects downloads up to 09 Feb 2025
Other Metrics
Citations
- Szabados K(2025)A large-scale analysis of production effort changes in software projectsActa Universitatis Sapientiae, Informatica10.47745/ausi-2024-001316:1(236-254)Online publication date: 8-Jan-2025
- Dong YKong LZhang LWang SLiu XLiu SChen M(2025)A search-and-fill strategy to code generation for complex software requirementsInformation and Software Technology10.1016/j.infsof.2024.107584177:COnline publication date: 1-Jan-2025
- Vijayvergiya MSalawa MBudiselić IZheng DLamblin PIvanković MCarin JLewko MAndonov JPetrović GTarlow DManiatis PJust RAdams BZimmermann TOzkaya ILin DZhang J(2024)AI-Assisted Assessment of Coding Practices in Modern Code ReviewProceedings of the 1st ACM International Conference on AI-Powered Software10.1145/3664646.3665664(85-93)Online publication date: 10-Jul-2024
- Blouin A(2024)A Type System for Flexible User Interactions HandlingProceedings of the ACM on Human-Computer Interaction10.1145/36602488:EICS(1-27)Online publication date: 17-Jun-2024
- Ketkar ARamos DClapp LBarik RRamanathan M(2024)A Lightweight Polyglot Code Transformation LanguageProceedings of the ACM on Programming Languages10.1145/36564298:PLDI(1288-1312)Online publication date: 20-Jun-2024
- Hoang MBerding A(2024)Presubmit Rescue: Automatically Ignoring FlakyTest ExecutionsProceedings of the 1st International Workshop on Flaky Tests10.1145/3643656.3643896(1-2)Online publication date: 14-Apr-2024
- Froemmgen AAustin JChoy PGhelani NKharatyan LSurita GKhrapko ELamblin PManzagol PRevaj MTabachnyk MTarlow DVillela KZheng DChandra SManiatis PRoychoudhury APaiva AAbreu RStorey MAniche MNagappan N(2024)Resolving Code Review Comments with Machine LearningProceedings of the 46th International Conference on Software Engineering: Software Engineering in Practice10.1145/3639477.3639746(204-215)Online publication date: 14-Apr-2024
- Levandoski JCasto GDeng MDesai REdara PHottelier THormati AJohnson AJohnson JKurzyniec DMcVeety SRamanathan PSaxena GShanmugan VVolobuev YBarcelo PSanchez-Pi NMeliou ASudarshan S(2024)BigLake: BigQuery's Evolution toward a Multi-Cloud LakehouseCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3653388(334-346)Online publication date: 9-Jun-2024
- Azad SKondareddy A(2024)The Future of Google Testing2024 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW60967.2024.00029(103-104)Online publication date: 27-May-2024
- Henderson TKondareddy AAzad SNickell E(2024)SafeRevert: When Can Breaking Changes be Automatically Reverted?2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00043(395-406)Online publication date: 27-May-2024
- Show More Cited By
View Options
View options
View or Download as a PDF file.
eReader
View online with eReader.
Digital Edition
View this article in digital edition.
Magazine Site
View this article on the magazine site (external)
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Full Access
Figures
Tables
Media
Affiliations
Rachel Potvin
Google, Mountain View, CA
Josh Levenberg
Google, Mountain View, CA