Lessons from building static analysis tools at Google

For a static analysis project to succeed, developers must feel they benefit from and enjoy using it.

[1]  Louis Wasserman Scalable, example-based refactorings with refaster , 2013, WRT '13.

[2]  David Hovemeyer,et al.  Finding bugs is easy , 2004, SIGP.

[3]  Thomas Ball,et al.  Modular and verified automatic program repair , 2012, OOPSLA '12.

[4]  Xiaoyan Zhu,et al.  Does bug prediction support human developers? Findings from a Google case study , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[5]  BesseyAl,et al.  A few billion lines of code later , 2010 .

[6]  Sriram K. Rajamani,et al.  Thorough static analysis of device drivers , 2006, EuroSys.

[7]  Dina M. Betser,et al.  Making "Push On Green" a Reality , 2014, login Usenix Mag..

[8]  Viktor Kuncak,et al.  Deductive Program Repair , 2015, CAV.

[9]  Patrick Cousot,et al.  The ASTREÉ Analyzer , 2005, ESOP.

[10]  Craig Chambers,et al.  FlumeJava: easy, efficient data-parallel pipelines , 2010, PLDI '10.

[11]  Daniel Victor Klein,et al.  Making “Push On Green” a Reality: Issues & Actions Involved in Maintaining a Production Service , 2014 .

[12]  Sundaresan Krishnan,et al.  Building Useful Program Analysis Tools Using an Extensible Java Compiler , 2012, 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation.

[13]  James R. Larus,et al.  Righting software , 2004, IEEE Software.

[14]  Roderick Bloem,et al.  Repair of Boolean Programs with an Application to C , 2006, CAV.

[15]  Josh Levenberg,et al.  Why Google stores billions of lines of code in a single repository , 2016, Commun. ACM.

[16]  Robert W. Bowdidge,et al.  Why don't software developers use static analysis tools to find bugs? , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[17]  Peter W. O'Hearn,et al.  Moving Fast with Software Verification , 2015, NFM.

[18]  William Pugh,et al.  The Google FindBugs fixit , 2010, ISSTA '10.

[19]  Hyrum K. Wright,et al.  Large-Scale Automated Refactoring Using ClangMR , 2013, 2013 IEEE International Conference on Software Maintenance.

[20]  Jonathan Swan Error prone , 2012, Nature.

[21]  David Hovemeyer,et al.  Using Static Analysis to Find Bugs , 2008, IEEE Software.

[22]  Ciera Jaspan,et al.  Tricorder: Building a Program Analysis Ecosystem , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.