Orion: High-precision methods for static error analysis of C and C++ programs

14Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We describe the algorithmic and implementation ideas behind a tool, Orion, for finding common programming errors in C and C++ programs using static code analysis. We aim to explore the fundamental trade-off between the cost and the precision of such analyses. Analysis methods that use simple dataflow domains run the risk of producing a high number of false error reports. On the other hand, the use of complex domains reduces the number of false errors, but limits the size of code that can be analyzed. Orion employs a two-level approach: potential errors are identified by an efficient search based on a simple domain; each discovered error path is then scrutinized by a high-precision feasibility analysis aimed at filtering out as many false errors as possible. We describe the algorithms used and their implementation in a GCC-based tool. Experimental results on a number of software programs bear out the expectation that this approach results in a high signal-to-noise ratio of reported errors, at an acceptable cost. © Springer-Verlag Berlin Heidelberg 2006.

Cite

CITATION STYLE

APA

Dams, D. R., & Namjoshi, K. S. (2006). Orion: High-precision methods for static error analysis of C and C++ programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4111 LNCS, pp. 138–160). Springer Verlag. https://doi.org/10.1007/11804192_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free