• DocumentCode
    2185175
  • Title

    Specifying Languages and Verifying Programs with K

  • Author

    Rosu, Grigore

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Illinois, Urbana, IL, USA
  • fYear
    2013
  • fDate
    23-26 Sept. 2013
  • Firstpage
    28
  • Lastpage
    31
  • Abstract
    K is a rewrite-based executable semantic framework for defining languages. The K framework is designed to allow implementing a variety of generic tools that can be used with any language defined in K, such as parsers, interpreters, symbolic execution engines, semantic debuggers, test-case generators, state-space explorers, model checkers, and even deductive program verifiers. The latter are based on matching logic for expressing static properties, and on reachability logic for expressing dynamic properties. Several large languages have been already defined or are being defined in K, including C, Java, Python, Javascript, and LLVM.
  • Keywords
    formal logic; program verification; reachability analysis; rewriting systems; specification languages; K framework; dynamic properties; language specification; logic matching; program verification; reachability logic; rewrite-based executable semantic framework; static properties; Computational modeling; Context; Educational institutions; Java; Semantics; Syntactics; semantics; verification; formal methods; logic;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2013 15th International Symposium on
  • Conference_Location
    Timisoara
  • Print_ISBN
    978-1-4799-3035-7
  • Type

    conf

  • DOI
    10.1109/SYNASC.2013.81
  • Filename
    6821127