Specifying Languages and Verifying Programs with K

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.

[1]  Dorel Lucanu,et al.  Program Equivalence by Circular Reasoning , 2013, IFM.

[2]  Grigore Rosu,et al.  Towards semantics-based WCET analysis , 2011, ECRTS 2011.

[3]  Frank S. de Boer,et al.  Interacting via the Heap in the Presence of Recursion , 2012, ICE.

[4]  Gheorghe Stefanescu,et al.  P systems with control nuclei: The concept , 2010, J. Log. Algebraic Methods Program..

[5]  Mihail Asavoae K Semantics for Assembly Languages: A Case Study , 2014, Electron. Notes Theor. Comput. Sci..

[6]  Dorel Lucanu,et al.  A Generic Framework for Symbolic Execution , 2013, SLE.

[7]  Grigore Rosu,et al.  K Overview and SIMPLE Case Study , 2014, Electron. Notes Theor. Comput. Sci..

[8]  Dorel Lucanu,et al.  K Semantics for OCL - a Proposal for a Formal Definition for OCL , 2011 .

[9]  Chucky Ellison,et al.  The K Primer (version 3.3) , 2011, K.

[10]  Irina Mariuca Asavoae,et al.  On Abstractions for Timing Analysis in the $\mathbb{K}$ Framework , 2011, FOPARA.

[11]  Chucky Ellison,et al.  Matching Logic: An Alternative to Hoare/Floyd Logic , 2010, AMAST.

[12]  Grigore Rosu,et al.  Runtime Verification of C Memory Safety , 2009, RV.

[13]  Chucky Ellison,et al.  A Rewriting Logic Approach to Type Inference , 2009, WADT.

[14]  Xuejun Yang,et al.  Test-case reduction for C compiler bugs , 2012, PLDI.

[15]  Grigore Rosu,et al.  An Executable Rewriting Logic Semantics of K-Scheme , 2007 .

[16]  Gheorghe Stefanescu,et al.  Defining and Executing P Systems with Structured Data in K , 2009, Workshop on Membrane Computing.

[17]  Dwight Guth,et al.  A formal semantics of Python 3.3 , 2013 .

[18]  José Meseguer,et al.  A formal executable semantics of Verilog , 2010, Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2010).

[19]  Grigore Rosu,et al.  A rewriting approach to concurrent programming language design and semantics , 2010 .

[20]  José Meseguer,et al.  Formal Analysis of Java Programs in JavaFAN , 2004, CAV.

[21]  Irina Mariuca Asavoae,et al.  Path Directed Symbolic Execution in the K Framework , 2010, 2010 12th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[22]  Samuel N. Kamin,et al.  CoDeSe: fast deserialization via code generation , 2011, ISSTA '11.

[23]  Vikram S. Adve,et al.  The tasks with effects model for safe concurrency , 2013, PPoPP '13.

[24]  Grigore Rosu,et al.  Checking reachability using matching logic , 2012, OOPSLA '12.

[25]  Irina Mariuca Asavoae,et al.  Collecting Semantics under Predicate Abstraction in the K Framework , 2010, WRLA.

[26]  Gul A. Agha,et al.  Scoped Synchronization Constraints for Large Scale Actor Systems , 2012, COORDINATION.

[27]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[28]  Grigore Rosu,et al.  Matching logic: a new program verification approach (NIER track) , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[29]  Irina Mariuca Asavoae Abstract Semantics for Alias Analysis in K , 2014, Electron. Notes Theor. Comput. Sci..

[30]  Grigore Rosu,et al.  A Rewriting Logic Approach to Static Checking of Units of Measurement in C , 2012, RULE.

[31]  Grigore Rosu,et al.  One-Path Reachability Logic , 2013, 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science.

[32]  Grigore Rosu,et al.  Towards a Unified Theory of Operational and Axiomatic Semantics , 2012, ICALP.

[33]  Dorel Lucanu,et al.  A K-Based Formal Framework for Domain-Specific Modelling Languages , 2011, FoVeOOS.

[34]  Grigore Rosu,et al.  From Hoare Logic to Matching Logic Reachability , 2012, FM.

[35]  Chucky Ellison,et al.  An executable formal semantics of C with applications , 2011, POPL '12.