Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article
Open access

Scaling static analyses at Facebook

Published: 24 July 2019 Publication History

Abstract

Key lessons for designing static analyses tools deployed to find bugs in hundreds of millions of lines of code.

Supplementary Material

PDF File (p62-distefano-supp.pdf)
Supplemental material.

References

[1]
Bessey, A. et al. A few billion lines of code later: using static analysis to find bugs in the real world. Commun. ACM 53, 2 (Feb. 2010), 66--75.
[2]
Blackshear, S., Gorogiannis, N., Sergey, I. and O'Hearn P. Racerd: Compositional static race detection. In Proceedings of OOPSLA, 2018.
[3]
Brookes, S. and O'Hearn, P.W. Concurrent separation logic. SIGLOG News 3, 3 (2016), 47--65.
[4]
Calcagno, C. et al. Moving fast with software verification. In Proceedings of NASA Formal Methods Symposium, 2015, 3--11.
[5]
Calcagno, C., Distefano, D. O'Hearn, P.W and Yang, H. Compositional shape analysis by means of bi-abduction. J. ACM 58, 6 (2011), 26.
[6]
Cook, B. Formal reasoning about the security of Amazon Web services. LICS (2018), 38--47.
[7]
Cousot, P. and Cousot, R. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4<sup>th</sup> POPL, 1977, 238--252.
[8]
Cousot, P. and Cousot, R. Modular static program analysis. In Proceedings of 2002 CC, 159--178.
[9]
Feitelson, D.G., Frachtenberg, E. and Beck, K.L. Development and deployment at Facebook. IEEE Internet Computing 17, 4 (2013), 8--17.
[10]
Gorogiannis, N., Sergey, I. and O'Hearn, P. A true positives theorem for a static race detector. In Proceedings of the 2019 POPL.
[11]
Harman, M. and O'Hearn, P. From start-ups to scale-ups: Open problems and challenges in static and dynamic program analysis for testing and verification). In Proceedings of SCAM, 2018.
[12]
Iqbal, S.T and Horvitz, E. Disruption and recovery of computing tasks: Field study, analysis, and directions. In Proceedings of 2007 CHI, 677--686.
[13]
Larus, J.R. et al. Righting software. IEEE Software 21, 3 (2004), 92--100.
[14]
O'Hearn, P. Continuous reasoning: Scaling the impact of formal methods. LICS, 2018.
[15]
O'Hearn, P.W. Experience developing and deploying concurrency analysis at Facebook. SAS, 2018, 56--70.
[16]
O'Hearn, P.W. Separation logic. Comm. ACM 62, 2 (Feb 2019), 86--95.
[17]
Sadowski, C., Aftandilian, E., Eagle, A., Miller-Cushion, L. and Jaspan, C. Lessons from building static analysis tools at Google. Commun. ACM 61, 4 (Apr. 2018), 58--66.
[18]
Xie, Y. and Aiken, A. Static detection of security vulnerabilities in scripting languages. In Proceedings of USENIX Security Symposium, 2006.
[19]
Yorsh, G., Yahav, E. and Chandra, S. Generating precise and concise procedure summaries. In Proceedings of 2008 POPL.

Cited By

View all
  • (2024)A Method for Processing Static Analysis Alarms Based on Deep LearningApplied Sciences10.3390/app1413554214:13(5542)Online publication date: 26-Jun-2024
  • (2024)The Role of Formal Methods in Computer Science EducationACM Inroads10.1145/370223115:4(58-66)Online publication date: 11-Nov-2024
  • (2024)Enhancing Compositional Static Analysis with Dynamic AnalysisProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695599(2121-2129)Online publication date: 27-Oct-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 62, Issue 8
August 2019
88 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/3351434
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution International 4.0 License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 July 2019
Published in CACM Volume 62, Issue 8

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2,873
  • Downloads (Last 6 weeks)222
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Method for Processing Static Analysis Alarms Based on Deep LearningApplied Sciences10.3390/app1413554214:13(5542)Online publication date: 26-Jun-2024
  • (2024)The Role of Formal Methods in Computer Science EducationACM Inroads10.1145/370223115:4(58-66)Online publication date: 11-Nov-2024
  • (2024)Enhancing Compositional Static Analysis with Dynamic AnalysisProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695599(2121-2129)Online publication date: 27-Oct-2024
  • (2024)On the Security Blind Spots of Software Composition AnalysisProceedings of the 2024 Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses10.1145/3689944.3696165(77-87)Online publication date: 19-Nov-2024
  • (2024)Hypra: A Deductive Program Verifier for Hyper Hoare LogicProceedings of the ACM on Programming Languages10.1145/36897568:OOPSLA2(1279-1308)Online publication date: 8-Oct-2024
  • (2024)Non-termination Proving at ScaleProceedings of the ACM on Programming Languages10.1145/36897208:OOPSLA2(246-274)Online publication date: 8-Oct-2024
  • (2024)Unified Analysis Techniques for Programs with OutcomesCompanion Proceedings of the 2024 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity10.1145/3689491.3691814(4-6)Online publication date: 20-Oct-2024
  • (2024)Limits and Difficulties in the Design of Under-Approximation Abstract DomainsACM Transactions on Programming Languages and Systems10.1145/366601446:3(1-31)Online publication date: 10-Oct-2024
  • (2024)Can GPT-4 Replicate Empirical Software Engineering Research?Proceedings of the ACM on Software Engineering10.1145/36607671:FSE(1330-1353)Online publication date: 12-Jul-2024
  • (2024)Hyper Hoare Logic: (Dis-)Proving Program HyperpropertiesProceedings of the ACM on Programming Languages10.1145/36564378:PLDI(1485-1509)Online publication date: 20-Jun-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media