The DOI matches its Crossref record; 23 of the 23 references it cites were found in a registry or an index.
Lessons from building static analysis tools at Google
Open accessAbstract
For a static analysis project to succeed, developers must feel they benefit from and enjoy using it.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
The cited source says what the claim attributes to it.
In the citing paper
“industry reports show that it is difficult to get developers to adopt static analysis in their workflows [5, 11, 30, 34].”
From Position: Vibe Coding Needs Vibe Reasoning: Improving Vibe Coding with Formal Verification (2025) · cites this paper as [30]
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Hovemeyer, D., & Pugh, W. (2004) · Companion to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion) · doi:10.1145/1028664.1028717 · Cited by 770
A few billion lines of code later
Bessey, A., Block, K., Chelf, B., Chou, A., Fulton, B., Hallem, S., Henri-Gros, C., Kamsky, A., McPeak, S., & Engler, D. (2010) · Communications of the ACM · doi:10.1145/1646353.1646374 · Cited by 634
Using Static Analysis to Find Bugs
Ayewah, N., Pugh, W., Hovemeyer, D., Morgenthaler, J. D., & Penix, J. (2008) · IEEE Software · doi:10.1109/ms.2008.130 · Cited by 536
Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., & Rival, X. (2005) · Lecture Notes in Computer Science · doi:10.1007/978-3-540-31987-0_3 · Cited by 426
Hovemeyer, D., & Pugh, W. (2004) · ACM SIGPLAN Notices · doi:10.1145/1052883.1052895 · Cited by 397
Thorough static analysis of device drivers
Ball, T., Bounimova, E., Cook, B., Levin, V., Lichtenberg, J., McGarvey, C., Ondrusek, B., Rajamani, S. K., & Ustuner, A. (2006) · European Conference on Computer Systems · doi:10.1145/1217935.1217943 · Cited by 373
Chambers, C., Raniwala, A., Perry, F., Adams, S., Henry, R. R., Bradshaw, R., & Weizenbaum, N. (2010) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/1806596.1806638 · Cited by 330
Moving Fast with Software Verification
Calcagno, C., Distefano, D., Dubreil, J., Gabi, D., Hooimeijer, P., Luca, M., O’Hearn, P. W., Papakonstantinou, I., Purbrick, J., & Rodriguez, D. (2015) · Lecture notes in computer science · doi:10.1007/978-3-319-17524-9_1 · Cited by 272
Why don’t software developers use static analysis tools to find bugs
Johnson, B., Song, Y., Murphy-Hill, E. R., & Bowdidge, R. W. (2013) · Cited by 268
Why Google stores billions of lines of code in a single repository
Potvin, R., & Levenberg, J. (2016) · Communications of the ACM · doi:10.1145/2854146 · Cited by 158
Tricorder: Building a Program Analysis Ecosystem
Sadowski, C., van Gogh, J., Jaspan, C. N. C., Söderberg, E., Winter, C., & Google Inc (2015) · Cited by 144
Self-citationAyewah, N., & Pugh, W. (2010) · International Symposium on Software Testing and Analysis · doi:10.1145/1831708.1831738 · Cited by 130
Thorough static analysis of device drivers
Ball, T., Bounimova, E., Cook, B., Levin, V., Lichtenberg, J., McGarvey, C., Ondrusek, B., Rajamani, S. K., & Ustuner, A. (2006) · ACM SIGOPS Operating Systems Review · doi:10.1145/1218063.1217943 · Cited by 99
Larus, J. R., Ball, T., Das, M., DeLine, R. A., Fähndrich, M. A., Pincus, J., Rajamani, S. K., & Venkatapathy, R. (2004) · IEEE Software · doi:10.1109/ms.2004.1293079 · Cited by 97
Does bug prediction support human developers? findings from a google case study
Lewis, C., Lin, Z., Sadowski, C., Zhu, X., Ou, R., & Whitehead, E. J. (2013) · doi:10.5555/2486788.2486838 · Cited by 93
Self-citationModular and verified automatic program repair
Logozzo, F., & Ball, T. (2012) · ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA) · doi:10.1145/2384616.2384626 · Cited by 80
Building Useful Program Analysis Tools Using an Extensible Java Compiler
Aftandilian, E. E., Sauciuc, R., Priya, S., & Krishnan, S. (2012) · IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM) · doi:10.1109/scam.2012.28 · Cited by 78
Self-citationRepair of Boolean Programs with an Application to C
Griesmayer, A., Bloem, R., & Cook, B. (2006) · Lecture notes in computer science · doi:10.1007/11817963_33 · Cited by 72
Kneuss, E., Koukoutos, M., & Kunčak, V. (2015) · Lecture notes in computer science · doi:10.1007/978-3-319-21668-3_13 · Cited by 48
Large-Scale Automated Refactoring Using ClangMR
Wright, H. K., Jasper, D., Klimek, M., Carruth, C., & Wan, Z. (2013) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2013.93 · Cited by 35
Scalable, example-based refactorings with refaster
Wasserman, L. (2013) · doi:10.1145/2541348.2541355 · Cited by 32
Modular and verified automatic program repair
Logozzo, F., & Ball, T. (2012) · ACM SIGPLAN Notices · doi:10.1145/2398857.2384626 · Cited by 19
Making "Push On Green" a Reality.
Klein, D. V., Betser, D. M., & Monroe, M. G. (2014) · ;login:: the magazine of USENIX & SAGE · Cited by 1
Flagged first, then by citations
Cited by
Sorted by citations
Le Goues, C., Pradel, M., & Roychoudhury, A. (2019) · Communications of the ACM · doi:10.1145/3318162 · Cited by 410
Scaling static analyses at Facebook
Distefano, D., Fähndrich, M., Logozzo, F., & O'Hearn, P. W. (2019) · Communications of the ACM · doi:10.1145/3338112 · Cited by 212
How developers engage with static analysis tools in different contexts
Vassallo, C., Panichella, S., Palomba, F., Proksch, S., Gall, H. C., & Zaidman, A. (2019) · Empirical Software Engineering · doi:10.1007/s10664-019-09750-5 · Cited by 164
An empirical study on the effectiveness of static C code analyzers for vulnerability detection
Lipp, S., Bănescu, S., & Pretschner, A. (2022) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/3533767.3534380 · Cited by 134
The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring
Aniche, M. F., Maziero, E. G., Durelli, R. S., & Durelli, V. H. S. (2020) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2020.3021736 · Cited by 137
Metadata
- Authors
- Sadowski, C., Aftandilian, E., Eagle, A., Miller-Cushon, L., & Jaspan, C.
- Affiliations
- Google (United States) (US)
- Venue
- Communications of the ACM
- Published
- 2018-03-26
- Volume
- 61
- Issue
- 4
- Pages
- 58-66
- ISSN
- 0001-0782 (ISSN-L)
- 1557-7317
- OpenAlex
- W2784876765
- Cited by
- 242
- References
- 23
- Citations by year
- 2026: 26 · 2025: 21 · 2024: 30 · 2023: 43 · 2022: 40 · 2021: 27 · 2020: 28 · 2019: 23 · 2018: 4
- FWCI
- 32.97
- Type
- journal article
- Language
- en
- Open access
- bronze
- doi.org
- Locations
- Communications of the ACM (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Keywords
- static analysis tools, developer adoption, developer experience, software quality
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review