• 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