DocumentCode
651330
Title
On the concept of variable roles and its use in software analysis
Author
Demyanova, Yulia ; Veith, Helmut ; Zuleger, Florian
Author_Institution
Vienna Univ. of Technol., Vienna, Austria
fYear
2013
fDate
20-23 Oct. 2013
Firstpage
226
Lastpage
230
Abstract
Human written source code in imperative programming languages exhibits typical patterns for variable use, such as flags, loop iterators, counters, indices, bitvectors, etc. Although it is widely understood by practitioners that these patterns are important for automated software analysis tools, they are not systematically studied by the formal methods community, and not well documented in the research literature. In this paper, we introduce the notion of variable roles on the example of basic types (int, float, char) in C. We propose a classification of the variables in a program by variable roles which formalises the typical usage patterns of variables. We show that classical data flow analysis lends itself naturally both as a specification formalism and an analysis paradigm for this classification problem. We demonstrate the practical applicability of our method by predicting membership of source files to the different categories of the software verification competition SVCOMP 2013.
Keywords
data flow analysis; formal specification; automated software analysis tools; classification problem; data flow analysis; human written source code; imperative programming languages; variable roles concept; Arrays; Benchmark testing; Computer languages; Radiation detectors; Reactive power; Software; Standards;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods in Computer-Aided Design (FMCAD), 2013
Conference_Location
Portland, OR
Type
conf
DOI
10.1109/FMCAD.2013.6679414
Filename
6679414
Link To Document