𝕂: A Semantic Framework for Programming Languages and Formal Analysis Tools

We give an overview of the K framework, following the lecture notes presented by the author at the Marktoberdorf Summer School in year 2016.

[1]  Bart Jacobs,et al.  Weakest pre-condition reasoning for Java programs with JML annotations , 2004, J. Log. Algebraic Methods Program..

[2]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[3]  Andrew W. Appel,et al.  Verified Software Toolchain , 2012, NASA Formal Methods.

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

[5]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[6]  Mark A. Hillebrand,et al.  VCC: A Practical System for Verifying Concurrent C , 2009, TPHOLs.

[7]  Scott Owens,et al.  A Sound Semantics for OCamllight , 2008, ESOP.

[8]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[9]  Grigore Rosu,et al.  Matching μ-Logic , 2017, 2019 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[10]  Tom Ridge,et al.  Lem: reusable engineering of real-world semantics , 2014, ICFP.

[11]  Matthew J. Parkinson,et al.  jStar: towards practical verification for java , 2008, OOPSLA.

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

[13]  Jean-Christophe Filliâtre,et al.  Why3 - Where Programs Meet Provers , 2013, ESOP.

[14]  Grigore Rosu,et al.  K-Java , 2015, POPL.

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

[16]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[17]  Jerzy Tiuryn,et al.  Dynamic logic , 2001, SIGA.

[18]  Tom Ridge,et al.  Ott: effective tool support for the working semanticist , 2007, ICFP '07.

[19]  Sam Tobin-Hochstadt,et al.  Run your research: on the effectiveness of lightweight mechanization , 2012, POPL '12.

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

[21]  Daejun Park,et al.  KJS: a complete formal semantics of JavaScript , 2015, PLDI.

[22]  Chucky Ellison,et al.  Defining the undefinedness of C , 2015, PLDI.

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

[24]  Sergio Maffeis,et al.  An Executable Formal Semantics of PHP , 2014, ECOOP.

[25]  Nishant Rodrigues,et al.  KEVM: A Complete Semantics of the Ethereum Virtual Machine , 2017 .

[26]  Bor-Yuh Evan Chang,et al.  Boogie: A Modular Reusable Verifier for Object-Oriented Programs , 2005, FMCO.

[27]  Grigore Rosu,et al.  Semantics-based program verifiers for all languages , 2016, OOPSLA.

[28]  Dirk Beyer,et al.  Reliable and Reproducible Competition Results with BenchExec and Witnesses (Report on SV-COMP 2016) , 2016, TACAS.

[29]  Tobias Nipkow,et al.  Winskel is (almost) Right: Towards a Mechanized Semantics Textbook , 1996, Formal Aspects of Computing.

[30]  Arthur Charguéraud,et al.  A trusted mechanised JavaScript specification , 2014, POPL.

[31]  Yoichi Hirai,et al.  Defining the Ethereum Virtual Machine for Interactive Theorem Provers , 2017, Financial Cryptography Workshops.

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