• DocumentCode
    725930
  • Title

    Syntax-Driven Program Verification of Matching Logic Properties

  • Author

    Bianculli, Domenico ; Filieri, Antonio ; Ghezzi, Carlo ; Mandrioli, Dino ; Rizzi, Alessandro Maria

  • Author_Institution
    Univ. of Luxembourg, Luxembourg, Luxembourg
  • fYear
    2015
  • fDate
    18-18 May 2015
  • Firstpage
    68
  • Lastpage
    74
  • Abstract
    We describe a novel approach to program verification and its application to verification of C programs, where properties are expressed in matching logic. The general approach is syntax-directed: semantic rules, expressed according to Knuth´s attribute grammars, specify how verification conditions can be computed. Evaluation is performed by interplaying attribute computation and propagation through the syntax tree with invocation of a solver of logic formulae. The benefit of a general syntax-driven approach is that it provides a reusable reference scheme for implementing verifiers for different languages. We show that the instantiation of a general approach to a specific language does not penalize the efficiency of the resulting verifier. This is done by comparing our C verifier for matching logic with an existing tool for the same programming language and logic. A further key advantage of the syntax-directed approach is that it can be the starting point for an incremental verifier -- which is our long-term research target.
  • Keywords
    C language; formal logic; grammars; program verification; trees (mathematics); C programs; C verifier; Knuth attribute grammars; attribute computation; attribute propagation; incremental verifier; logic formulae; matching logic properties; programming language; reusable reference scheme; semantic rules; syntax tree; syntax-directed approach; syntax-driven program verification; Computer languages; Contracts; Delays; Grammar; Pattern matching; Semantics; Syntactics; Matching logic; reachability checking; software verification; syntax-directed;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Formal Methods in Software Engineering (FormaliSE), 2015 IEEE/ACM 3rd FME Workshop on
  • Conference_Location
    Florence
  • Type

    conf

  • DOI
    10.1109/FormaliSE.2015.18
  • Filename
    7166700