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 :
بازگشت