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
Link To Document