Proceedings of ISP RAS


Using unreachable code analysis in static analysis tool for finding defects in source code

R.R. Mulyukov (ISP RAS, Moscow, Russia)
A.E. Borodin (ISP RAS, Moscow, Russia)

Abstract

The goal of finding unreachable code is to report warnings about possible bugs in the source code and an increase of other analyses accuracy. The paper describes unreachable code classification and approaches for finding unreachable code in C/C++ programs. We described three data-flow analysis problems: value interval analysis, excluded value analysis, predicate analysis. Solutions for these problems are used to detect redundant expressions in conditional statements. We described common occurrences of useless warnings. The algorithms are implemented in the Svace tool that is developed by ISP RAS. The results are evaluated for open source projects Android-5.02 and Tizen-2.3. They represent the number of found warnings and its intersection.

Keywords

static analysis, unreachable code, data-flow analysis, Svace, defects in source code

Edition

Proceedings of the Institute for System Programming, vol. 28, issue 5, 2016, pp. 145-158.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2016-28(5)-9

Full text of the paper in pdf (in Russian) Back to the contents of the volume