|
This article is cited in 2 scientific papers (total in 2 papers)
Formalization of error criteria for static symbolic execution
V. K. Koshelev Institute for System Programming of the Russian Academy of Sciences
Abstract:
This paper is devoted to the formalization of the error criteria for program static analysis, based on symbolic execution. Using the original error criteria of symbolic execution approach in program static analysis leads to an excessive number of false positives. To solve this problem, we propose an alternative definition of the error criteria. Proposed definition reports errors only if they occur on a certain set of input variables. Examples of such sets are the set of values of input variables in which control will pass through a given point of the program, or set of values in which the controls take place along a given path in the control flow graph. This paper discusses the various ways to specify such sets of initial values, including analysis of the final error criteria. We overview algorithms corresponding to the error criteria and prove their correctness. Finally, we consider the practical applications of the given error criteria, which include classification of the warnings generated by static analysis tools; taking into account unknown function contracting, especially preconditions; using the proposed error criteria as formulas for a SMT-solver. The latest application allows to get the precise solution of the particular error criteria, including the error trace.
Keywords:
static analysis, error criteria, symbolic execution.
Citation:
V. K. Koshelev, “Formalization of error criteria for static symbolic execution”, Proceedings of ISP RAS, 28:5 (2016), 105–118
Linking options:
https://www.mathnet.ru/eng/tisp70 https://www.mathnet.ru/eng/tisp/v28/i5/p105
|
Statistics & downloads: |
Abstract page: | 220 | Full-text PDF : | 98 | References: | 46 |
|