2018 · 12 citations · 7 references
Static analysis is a great approach to find bugs and code smells. Some of the errors span across multiple translation units. Unfortunately, separate compilation makes cross translation unit analysis challenging for C family languages. In this paper, we describe a model and an implementation for cross translation unit symbolic execution for C family languages. We were able to extend the scope of the analysis without modifying any of the existing checkers. The analysis is implemented in the open source Clang compiler. We also measured the performance of the approach and the quality of the reports. The solution proved to be scalable to large codebases and the number of findings increased significantly for the evaluated projects. The implementation is already accepted into mainline Clang.
7
Precise interprocedural dataflow analysis via graph reachability
Thomas Reps, Susan Horwitz, Mooly Sagiv · 1995 · 1.1K citations
Top 10 list [software development]
Barry Boehm, Victor R. Basili · Computer · 2001 · 799 citations
Software Maintenance, Software Development Practice, Engineering +24
Michael Hind · 2001 · 580 citations
A system and language for building system-specific, static analyses
Seth Hallem, Benjamin Chelf, Yichen Xie et al. · 2002 · 350 citations
Software Maintenance, Engineering, Performance-based Building Design +26