An Overview of the K Framework. Grigore Rosu University of Illinois at Urbana Champaign (joint work with Traian Florin Serbanuta)

Size: px
Start display at page:

Download "An Overview of the K Framework. Grigore Rosu University of Illinois at Urbana Champaign (joint work with Traian Florin Serbanuta)"

Transcription

1 An Overview of the K Framework Grigore Rosu University of Illinois at Urbana Champaign (joint work with Traian Florin Serbanuta)

2 Challenges in Programming Language Design / SemanIcs / Analysis Programming languages are coninuously born, updated and extended C#, CIL; Java memory model, Scheme R6RS, C1X Concurrency is the norm, not the excepion Executable specificaions could help Design and maintain mathemaical definiions Easily test/analyze language updates/extensions Explore/Abstract non determinisic execuions

3 K Project Started in 2003, moivated mainly by teaching programming languages and noicing that the exising semanic frameworks have limitaions Project thesis: RewriIng gives an appropriate environment to formally define the semanics of real life programming languages and to test and analyze programs wri[en in those languages.

4 Overview RewriIng logic semanics project How it all started... K framework K definiional style K concurrent rewriing Example Challenge language

5 RewriIng Logic SemanIcs Project RewriIng Logic (RWL) Meseguer 1992 RewriIng Logic SemanIcs (RLS) Project Advance the use of rewriing logic for defining programming languages, and for execuing and analyzing programs wri[en in them ParIcipants (probably incomplete list): Wolfgang Ahrendt, Musab Al Turki, Marcelo d Amorim, Irina M. Asavoae, Mihai Asavoae, Eyvind W. Axelsen, ChrisIano Braga, Illiano Cervesato, Fabricio Chalub, Feng Chen, Manuel Clavel, Chucky Ellison, Azadeh Farzan, Alejandra Garrido, Mark Hills, Michael Ilseman, Einar Broch Johnsen, Ralph Johnson, Michael Katelman, LaurenIu Leustean, Dorel Lucanu, Narciso Mard Oliet, Patrick Meredith, Jose Meseguer, Elena Naum, Olaf Owe, Stefan Reich, Grigore Rosu, Andreas Roth, Juan Santa Cruz, Ralf Sasse, Wolfram Schulte, Koushik Sen, Andrei S,tefanescu, Mark Oliver Stehr, Carolyn Talco[, Prasanna ThaI, Traian Serbanuta, Ram Prasad Venkatesan, Alberto Verdejo

6 Why is RewriIng Logic Good for Programming Languages? Executability Language definiions turn into interpreters Concurrency The norm rather than the excepion EquaIonal abstracion Collapse state space through equaions Generic tools (built around Maude) ExecuIon, tracing, debugging, state space search, model checker, inducive theorem prover

7 Guidelines for Defining Programming Languages in RWL Represent program state as configuraion term Represent computaional steps as rewrite rules Represent structural changes as equa-ons These associate to any given configuraion a transi-on system In paricular, it associates semanics to programs ResulIng transiion systems are amenable to exploraion, search and model checking Great, but it does not tell us how to do it

8 ConvenIonal semanic frameworks become RWL definiional methodologies This allows to define a language using one s favorite semanic style, and then to execute, explore or model check it using RWL

9 ConvenIonal semanic frameworks become RWL definiional methodologies Many authors contributed to this diagram, including all the abovemenioned. See [Serbanuta, Rosu, Meseguer 2007 Inf. & Comp.] for a recent survey. This allows to define a language using one s favorite semanic style, and then to execute, explore or model check it using RWL

10 ExisIng SemanIcs Frameworks, From a Unified PerspecIve The unified view of semanic frameworks within RWL also allows to be[er examine them and understand their limitaions For example, can exising styles define real programming languages on a regular basis, as opposed to only toy languages? No, but their combined strengths might

11 Shortcomings of ExisIng Frameworks Hard to deal with control (except evaluaion contexts) halt, break/coninue, excepions, callcc Non modular (except Modular SOS) Adding new features require changing unrelated rules Lack of semanics for true concurrency (except CHAM) Big Step captures only all possible results of computaion ReducIon approaches only give interleaving semanics Tedious to find next redex (except evaluaion contexts) One has to write the same descent rules for each construct Inefficient as interpreters (except for Big Step SOS)

12 Towards an Ideal PL DefiniIonal Framework Our iniial goal was to search for an ideal language definiional framework within RWL At least as expressive as evaluaion contexts At least as modular as Modular SOS At least as concurrent as the CHAM

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

AN EXAMPLE-BASED INTRODUCTION TO K

AN EXAMPLE-BASED INTRODUCTION TO K AN EXAMPLE-BASED INTRODUCTION TO K Dorel Lucanu Alexandru Ioan Cuza University, Iasi, Romania dlucanu@info.uaic.ro Sinaia, March 1 st 2011 Joint wor with Grigore Rosu and Traian Serbanuta CONTEXT A short

More information

Matching Logic. Grigore Rosu University of Illinois at Urbana-Champaign

Matching Logic. Grigore Rosu University of Illinois at Urbana-Champaign Matching Logic Grigore Rosu University of Illinois at Urbana-Champaign Joint work with Andrei Stefanescu and Chucky Ellison. Started with Wolfram Schulte at Microsoft Research in 2009 Question could it

More information

Matching Logic A New Program Verification Approach

Matching Logic A New Program Verification Approach Matching Logic A New Program Verification Approach Grigore Rosu and Andrei Stefanescu University of Illinois at Urbana-Champaign (work started in 2009 with Wolfram Schulte at MSR) Usable Verification Relatively

More information

K and Matching Logic

K and Matching Logic K and Matching Logic Grigore Rosu University of Illinois at Urbana-Champaign Joint work with the FSL group at UIUC (USA) and the FMSE group at UAIC (Romania) Question could it be that, after 40 years of

More information

Memory Representations in Rewriting Logic Semantics Definitions

Memory Representations in Rewriting Logic Semantics Definitions WRLA 2008 Memory Representations in Rewriting Logic Semantics Definitions Mark Hills 1,2 Department of Computer Science University of Illinois at Urbana-Champaign Urbana, IL, US Abstract The executability

More information

From Hoare Logic to Matching Logic Reachability. Grigore Rosu and Andrei Stefanescu University of Illinois, USA

From Hoare Logic to Matching Logic Reachability. Grigore Rosu and Andrei Stefanescu University of Illinois, USA From Hoare Logic to Matching Logic Reachability Grigore Rosu and Andrei Stefanescu University of Illinois, USA Matching Logic Reachability - Goal - Language independent program verification framework Derives

More information

A K Definition of Scheme

A K Definition of Scheme A K Definition of Scheme Patrick Meredith, Mark Hills, and Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign, USA 201 N Goodwin Ave, Urbana, IL 61801 {pmeredit,mhills,grosu}@cs.uiuc.edu

More information

SECURITY MODELS IN REWRITING LOGIC FOR CRYPTOGRAPHIC PROTOCOLS AND BROWSERS RALF SASSE DISSERTATION

SECURITY MODELS IN REWRITING LOGIC FOR CRYPTOGRAPHIC PROTOCOLS AND BROWSERS RALF SASSE DISSERTATION c 2012 Ralf Sasse SECURITY MODELS IN REWRITING LOGIC FOR CRYPTOGRAPHIC PROTOCOLS AND BROWSERS BY RALF SASSE DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of

More information

K-Maude. K-Maude. A Rewriting Based Tool for Semantics of Programming Languages. University of Illinois at Urbana-Champaign WRLA / 66

K-Maude. K-Maude. A Rewriting Based Tool for Semantics of Programming Languages. University of Illinois at Urbana-Champaign WRLA / 66 K-Maude A Rewriting Based Tool for Semantics of Programming Languages Traian Florin Șerbănuță and Grigore Roșu University of Illinois at Urbana-Champaign WRLA 2010 1 / 66 Overview &'(")*#"*%!"#$% (+ K

More information

A Rewriting Logic Approach to Operational Semantics

A Rewriting Logic Approach to Operational Semantics A Rewriting Logic Approach to Operational Semantics Traian Florin Şerbănuţă, Grigore Roşu and José Meseguer Department of Computer Science, University of Illinois at Urbana-Champaign. {tserban2,grosu,meseguer}@cs.uiuc.edu

More information

Maude Implementation of MSR Demo

Maude Implementation of MSR Demo Maude Implementation of MSR Demo Cast Analyst Programmer Customer Mark-Oliver Stehr Stefan Reich University of Illinois, Urbana-Champaign (Iliano Cervesato) ITT Industries @ NRL http://theory.stanford.edu/~iliano/

More information

Analyzing Java Programs Using JavaFAN

Analyzing Java Programs Using JavaFAN Analyzing Java Programs Using JavaFAN Feng Chen Joint work with Azadeh Farzan, Jose Meseguer and Grigore Rosu JavaFAN (Java Formal Analyzer) Inside Java Semantics JavaRL (Java Rewrite Logic) Semantics

More information

The Maude Formal Tool Environment

The Maude Formal Tool Environment The Maude Formal Tool Environment Manuel Clavel 1, Francisco Durán 2, Joe Hendrix 3, Salvador Lucas 4, José Meseguer 3, and Peter Ölveczky 5 1 Universidad Complutense de Madrid, Spain 2 Universidad de

More information

Towards a Module System for K

Towards a Module System for K Towards a Module System for Mark Hills and Grigore Roşu {mhills, grosu}@cs.uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign WADT 08, 14 June 2008 Hills and Roşu WADT 08:

More information

PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool

PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool Musab AlTurki and José Meseguer University of Illinois at Urbana-Champaign, Urbana, IL 61801, USA Abstract. Statistical model

More information

On Formal Analysis of OO Languages using. OO Languages and Rewriting Logic: Designing for Performance

On Formal Analysis of OO Languages using. OO Languages and Rewriting Logic: Designing for Performance On Formal Analysis of OO Languages using Rewriting Logic: Designing for Performance {mhills, grosu}@cs.uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign 6 June 2007 1 2

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS522 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

The Journal of Logic and Algebraic Programming

The Journal of Logic and Algebraic Programming The Journal of Logic and Algebraic Programming 79 (2010) 397 434 Contents lists available at ScienceDirect The Journal of Logic and Algebraic Programming journal homepage:www.elsevier.com/locate/jlap An

More information

A Rewriting Logic Approach to Static Checking of Units of Measurement in C

A Rewriting Logic Approach to Static Checking of Units of Measurement in C A Rewriting Logic Approach to Static Checking of Units of Measurement in C Mark Hills, Feng Chen, and Grigore Roşu {mhills, fengchen, grosu}@cs.uiuc.edu Formal Systems Laboratory Department of Computer

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS422 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

The Maude LTL Model Checker and Its Implementation

The Maude LTL Model Checker and Its Implementation The Maude LTL Model Checker and Its Implementation Steven Eker 1,José Meseguer 2, and Ambarish Sridharanarayanan 2 1 Computer Science Laboratory, SRI International Menlo Park, CA 94025 eker@csl.sri.com

More information

Maude Implementation of MSR

Maude Implementation of MSR Maude Implementation of MSR Mark-Oliver Stehr Stefan Reich University of Illinois, Urbana-Champaign (Iliano Cervesato) ITT Industries @ NRL http://theory.stanford.edu/~iliano/ IPCS - Savannah, GA October

More information

Specification and Analysis of Real-Time Systems Using Real-Time Maude

Specification and Analysis of Real-Time Systems Using Real-Time Maude Specification and Analysis of Real-Time Systems Using Real-Time Maude Peter Csaba Ölveczky1,2 and José Meseguer 1 1 Department of Computer Science, University of Illinois at Urbana-Champaign 2 Department

More information

A Formal Executable Semantics of Verilog

A Formal Executable Semantics of Verilog A Formal Executable Semantics of Verilog Patrick Meredith Michael Katelman José Meseguer Grigore Roșu Department of Computer Science University of Illinois at Urbana-Champaign {pmeredit, katelman, meseguer,

More information

Rewriting Semantics and Analysis of Concurrency Features for a C-like Language

Rewriting Semantics and Analysis of Concurrency Features for a C-like Language Available online at www.sciencedirect.com Electronic Notes in Theoretical Computer Science 304 (2014) 167 182 www.elsevier.com/locate/entcs Rewriting Semantics and Analysis of Concurrency Features for

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Design

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Design CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS422 Programming Language Design Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and tools,

More information

Low-Level Program Verification using Matching Logic Reachability

Low-Level Program Verification using Matching Logic Reachability Low-Level Program Verification using Matching Logic Reachability Dwight Guth Andrei Ştefănescu Grigore Roşu University of Illinois at Urbana-Champaign {dguth2, stefane1, grosu}@illinois.edu Abstract Matching

More information

CMPSC 24: Lecture 1 So4ware Development Process

CMPSC 24: Lecture 1 So4ware Development Process CMPSC 24: Lecture 1 So4ware Development Process Divyakant Agrawal Department of Computer Science UC Santa Barbara Syllabus and other course informaion hjp://www.cs.ucsb.edu/~agrawal/spring2010/ cmpsc24.html

More information

The K Semantic Framework

The K Semantic Framework Chapter 5 The K Semantic Framework This chapter introduces K, a rewriting-based executable semantic framework which will be used in the remainder of this book. K was first introduced by the author in the

More information

CS422 - Programming Language Design

CS422 - Programming Language Design 1 CS422 - Programming Language Design Two Rewrite Logic Based Programming Language Definitional Styles Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 We next show

More information

Towards a Unified Theory of Operational and Axiomatic Semantics

Towards a Unified Theory of Operational and Axiomatic Semantics Towards a Unified Theory of Operational and Axiomatic Semantics Grigore Roşu 1,2 and Andrei Ştefănescu 1 1 University of Illinois at Urbana-Champaign, USA {grosu,stefane1}@illinois.edu 2 Alexandru Ioan

More information

Java-MOP: A Monitoring Oriented Programming Environment for Java

Java-MOP: A Monitoring Oriented Programming Environment for Java Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana - Champaign, USA {fengchen, grosu}@uiuc.edu

More information

Programming Language Semantics A Rewriting Approach

Programming Language Semantics A Rewriting Approach Programming Language Semantics A Rewriting Approach Grigore Roșu University of Illinois at Urbana-Champaign 3.6 Modular Structural Operational Semantics (MSOS) Modular structural operational semantics

More information

Rewriting Logic and its Applications

Rewriting Logic and its Applications Santiago Escobar (Ed.) Rewriting Logic and its Applications 10th International Workshop, WRLA 2014 part of the European Joint Conferences on Theory & Practice of Software (ETAPS 2014) Grenoble, France,

More information

A Rewriting Semantics for Maude Strategies

A Rewriting Semantics for Maude Strategies A Rewriting Semantics for Maude Strategies N. Martí-Oliet, J. Meseguer, and A. Verdejo Universidad Complutense de Madrid University of Illinois at Urbana-Champaign IFIP WG 1.3 Urbana, August 1, 2008 N.

More information

Executable Computational Logics: Combining Formal Methods and Programming Language Based System Design

Executable Computational Logics: Combining Formal Methods and Programming Language Based System Design Executable Computational Logics: Combining Formal Methods and Programming Language Based System Design José Meseguer Computer Science Department University of Illinois at Urbana-Champaign Urbana, IL 61801,

More information

A Rewriting Logic Approach to Operational Semantics

A Rewriting Logic Approach to Operational Semantics A Rewriting Logic Approach to Operational Semantics Traian Florin Şerbănuţă and Grigore Roşu Department of Computer Science, University of Illinois at Urbana-Champaign. {tserban2,grosu}@cs.uiuc.edu Abstract.

More information

Partial Order Reduction for Rewriting Semantics of Programming Languages

Partial Order Reduction for Rewriting Semantics of Programming Languages Electronic Notes in Theoretical Computer Science 176 (2007) 61 78 www.elsevier.com/locate/entcs Partial Order Reduction for Rewriting Semantics of Programming Languages Azadeh Farzan and José Meseguer

More information

The Maude LTL LBMC Tool Tutorial

The Maude LTL LBMC Tool Tutorial The Maude LTL LBMC Tool Tutorial Kyungmin Bae 1, Santiago Escobar 2, and José Meseguer 1 1 University of Illinois at Urbana-Champaign, IL, USA 2 Universidad Politécnica de Valencia, Spain Abstract. A concurrent

More information

MMT case study: distributed algorithms

MMT case study: distributed algorithms MMT case study: distributed algorithms Fabricio Chalub Christiano Braga July 11, 2005 Contents 1 Introduction 1 1.1 Process execution model..................... 2 1.1.1 Process communication models.............

More information

Design and Validation of Cloud Storage Systems using Maude

Design and Validation of Cloud Storage Systems using Maude Design and Validation of Cloud Storage Systems using Maude Peter Csaba Ölveczky University of Oslo University of Illinois at Urbana-Champaign Based on joint work with Jon Grov and members of UIUC s Center

More information

K-Maude: A Rewriting Based Tool for Semantics of Programming Languages

K-Maude: A Rewriting Based Tool for Semantics of Programming Languages K-Maude: A Rewriting Based Tool for Semantics of Programming Languages Traian Florin Șerbănuță and Grigore Roșu University of Illinois at Urbana-Champaign Abstract. K is a rewriting-based framewor for

More information

A Guide to Extending Full Maude Illustrated with the Implementation of Real-Time Maude

A Guide to Extending Full Maude Illustrated with the Implementation of Real-Time Maude WRLA 2008 A Guide to Extending Full Maude Illustrated with the Implementation of Real-Time Maude Francisco Durán 1,3 Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga Peter Csaba Ölveczky2,4

More information

Divergent Physical Design Tuning for Replicated Databases

Divergent Physical Design Tuning for Replicated Databases Divergent Physical Design Tuning for Replicated bases Mariano P. Consens (U.Toronto) Kleoni Ioannidou (UCSC) Jeff LeFevre (UCSC) Neoklis PolyzoIs (UCSC) Presented at SIGMOD 2012 Replicated bases ReplicaIon

More information

Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics 1

Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics 1 Electronic Notes in Theoretical Computer Science 176 (2007) 29 46 www.elsevier.com/locate/entcs Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics 1 Ralf Sasse and José Meseguer

More information

A Rewriting Logic Approach to Operational Semantics

A Rewriting Logic Approach to Operational Semantics A Rewriting Logic Approach to Operational Semantics Traian Florin Şerbănuţă and Grigore Roşu Department of Computer Science, University of Illinois at Urbana-Champaign. {tserban2,grosu}@cs.uiuc.edu Abstract

More information

A Modular Rewriting Semantics for CML

A Modular Rewriting Semantics for CML Journal of Universal Computer Science, vol. 10, no. 7 (2004), 789-807 submitted: 16/2/04, accepted: 21/6/04, appeared: 28/7/04 J.UCS A Modular Rewriting Semantics for CML Fabricio Chalub (Universidade

More information

From Hoare Logic to Matching Logic Reachability

From Hoare Logic to Matching Logic Reachability From Hoare Logic to Matching Logic Reachability Grigore Roşu 1,2 and Andrei Ştefănescu 1 1 University of Illinois at Urbana-Champaign, USA 2 Alexandru Ioan Cuza University, Iaşi, Romania {grosu, stefane1}@illinois.edu

More information

A Visual Environment for Developing Context-Sensitive Term Rewriting Systems

A Visual Environment for Developing Context-Sensitive Term Rewriting Systems A Visual Environment for Developing Context-Sensitive Term Rewriting Systems Jacob Matthews 1, Robert Bruce Findler 1, Matthew Flatt 2, and Matthias Felleisen 3 1 University of Chicago {jacobm, robby}@cs.uchicago.edu

More information

A FORMAL SEMANTICS OF C WITH APPLICATIONS CHARLES MCEWEN ELLISON III DISSERTATION

A FORMAL SEMANTICS OF C WITH APPLICATIONS CHARLES MCEWEN ELLISON III DISSERTATION PhD Thesis, University of Illinois, July 2012 A FORMAL SEMANTICS OF C WITH APPLICATIONS BY CHARLES MCEWEN ELLISON III DISSERTATION Submitted in partial fulfillment of the requirements for the degree of

More information

Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP 1

Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP 1 Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP 1 Feng Chen and Marcelo d Amorim and Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign,

More information

A predicate abstraction tool for Maude

A predicate abstraction tool for Maude A predicate abstraction tool for Maude Miguel Palomino Sistemas Informáticos y Programación, UCM 1 Introduction Rewriting logic [7], through its executable Maude implementation [2], has proved to be a

More information

Mapping Modular SOS to Rewriting Logic

Mapping Modular SOS to Rewriting Logic Mapping Modular SOS to Rewriting Logic Christiano de O. Braga 1, E. Hermann Hæusler 2, José Meseguer 3, and Peter D. Mosses 4 1 Departamento de Ciência da Computação, Universidade Federal Fluminense 2

More information

Monads. Mark Hills 6 August Department of Computer Science University of Illinois at Urbana-Champaign

Monads. Mark Hills 6 August Department of Computer Science University of Illinois at Urbana-Champaign Monads Mark Hills mhills@cs.uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign 6 August 2009 Hills Monads 1 / 19 Overview Overview Hills Monads 2 / 19 Why Monads? Overview

More information

Automatic Validation of Transformation Rules for Java Verification against a Rewriting Semantics

Automatic Validation of Transformation Rules for Java Verification against a Rewriting Semantics Automatic Validation of Transformation Rules for Java Verification against a Rewriting Semantics Wolfgang Ahrendt 1, Andreas Roth 2, and Ralf Sasse 3 1 Chalmers University of Technology, Göteborg, Sweden,

More information

MOPBox: A Library Approach to Runtime Verification

MOPBox: A Library Approach to Runtime Verification MOPBox: A Library Approach to Runtime Verification (Tool Demonstration) Eric Bodden eric.bodden@cased.de Center for Advanced Security Research Darmstadt Software Technology Group Technische Universität

More information

c 2007 by Marcelo d Amorim. All rights reserved.

c 2007 by Marcelo d Amorim. All rights reserved. c 2007 by Marcelo d Amorim. All rights reserved. EFFICIENT EXPLICIT-STATE MODEL CHECKING FOR PROGRAMS WITH DYNAMICALLY ALLOCATED DATA BY MARCELO D AMORIM Bach., Universidade Federal de Pernambuco, Brazil,

More information

Towards Formally Defining and Verifying Master/Slave Speculative Parallelization

Towards Formally Defining and Verifying Master/Slave Speculative Parallelization Towards Formally Defining and Verifying Master/Slave Speculative Parallelization Pierre Salverda, Grigore Roşu and Craig Zilles University of Illinois at Urbana-Champaign {salverda,grosu,zilles}@cs.uiuc.edu

More information

EFFICIENT, EXPRESSIVE, AND EFFECTIVE RUNTIME VERIFICATION PATRICK O NEIL MEREDITH DISSERTATION

EFFICIENT, EXPRESSIVE, AND EFFECTIVE RUNTIME VERIFICATION PATRICK O NEIL MEREDITH DISSERTATION EFFICIENT, EXPRESSIVE, AND EFFECTIVE RUNTIME VERIFICATION BY PATRICK O NEIL MEREDITH DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer

More information

CS422 - Programming Language Design

CS422 - Programming Language Design 1 CS422 - Programming Language Design From SOS to Rewriting Logic Definitions Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign In this chapter we show how SOS language

More information

What s New in Maude 2.4

What s New in Maude 2.4 What s New in Maude 2.4 Manuel Clavel 1, Francisco Durán 2, Steven Eker 3, Patrick Lincoln 3, Narciso Martí-Oliet 1, José Meseguer 4, Carolyn Talcott 3, and Alberto Verdejo 1 1 Universidad Complutense

More information

CS422 - Programming Language Design

CS422 - Programming Language Design 1 CS422 - Programming Language Design Continuation-Passing Style (CPS) Transformation Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 On Data Versus Control Context

More information

Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics

Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics Ralf Sasse and José Meseguer Report No. UIUCDCS-R-2006-2685, February 2006 Department of Computer Science University of Illinois

More information

An Equational Specification for the Scheme Language 1

An Equational Specification for the Scheme Language 1 Journal of Universal Computer Science, vol. 11, no. 7 (2005), 1327-1348 submitted: 28/4/05, accepted: 9/6/05, appeared: 28/7/05 J.UCS An Equational Specification for the Scheme Language 1 Marcelo d Amorim

More information

K Semantics for Dynamic Software Architectures

K Semantics for Dynamic Software Architectures The International Arab Conference on Information Technology (ACIT 2013) K Semantics for Dynamic Software Architectures Sahar SMAALI, Aicha CHOUTRI, Faiza BELALA Lire Laboratory, University of Constantine,

More information

c 2007 by Azadeh Farzan. All rights reserved.

c 2007 by Azadeh Farzan. All rights reserved. c 2007 by Azadeh Farzan. All rights reserved. STATIC AND DYNAMIC FORMAL ANALYSIS OF CONCURRENT SYSTEMS AND LANGUAGES: A SEMANTICS-BASED APPROACH BY AZADEH FARZAN B.S., Sharif University of Technology,

More information

Partial Order Reduction for Rewriting Semantics of Programming Languages

Partial Order Reduction for Rewriting Semantics of Programming Languages Partial Order Reduction for Rewriting Semantics of Programming Languages Azadeh Farzan and José Meseguer Department of Computer Science, University of Illinois at Urbana-Champaign. {afarzan,meseguer}@cs.uiuc.edu

More information

K Overview and SIMPLE Case Study

K Overview and SIMPLE Case Study K 2011 K'11, ENTCS. 2013 K Overview and SIMPLE Case Study Grigore Roșu 1 University of Illinois at Urbana-Champaign Traian Florin Șerbănuță 2 University Alexandru Ioan Cuza of Iași Abstract This paper

More information

Maude 2.0 Manual. Version 1.0. Manuel Clavel Francisco Durán Steven Eker Patrick Lincoln Narciso Martí-Oliet José Meseguer Carolyn Talcott

Maude 2.0 Manual. Version 1.0. Manuel Clavel Francisco Durán Steven Eker Patrick Lincoln Narciso Martí-Oliet José Meseguer Carolyn Talcott Maude 2.0 Manual Version 1.0 Manuel Clavel Francisco Durán Steven Eker Patrick Lincoln Narciso Martí-Oliet José Meseguer Carolyn Talcott June 2003 ii iii Maude 2 is copyright 1997-2003 SRI International,

More information

The RV System Tutorial

The RV System Tutorial The RV System Tutorial Patrick Meredith and Grigore Rosu joint work with Feng Chen, Dongyun Jin, Dennis Griffith, Michael Ilseman Runtime Verification, Inc. University of Illinois The RV System!"#$%&'(%)!"#*)+,'-(!9&('/+

More information

Rewriting Needs Constraints and Constraints Need Rewriting

Rewriting Needs Constraints and Constraints Need Rewriting Rewriting Needs Constraints and Constraints Need Rewriting José Meseguer Department of Computer Science, UIUC ints 14 November 2008 Motivation Symbolic Computation, Rewriting, and Constraints Rewriting

More information

RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining

RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining Patrick Meredith Grigore Rosu University of Illinois at Urbana Champaign (UIUC) Run'me Verifica'on, Inc. (joint work with Dongyun

More information

Dynamic Symbolic Execution for Testing Distributed Objects

Dynamic Symbolic Execution for Testing Distributed Objects Dynamic Symbolic Execution for Testing Distributed Objects Andreas Griesmayer 1, Bernhard Aichernig 1,2, Einar Broch Johnsen 3, and Rudolf Schlatte 1,2 1 International Institute for Software Technology,

More information

Automatic Generation of Program Specifications

Automatic Generation of Program Specifications Automatic Generation of Program Specifications Jeremy Nimmer MIT Lab for Computer Science http://pag.lcs.mit.edu/ Joint work with Michael Ernst Jeremy Nimmer, page 1 Synopsis Specifications are useful

More information

Java-MOP: A Monitoring Oriented Programming Environment for Java

Java-MOP: A Monitoring Oriented Programming Environment for Java Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science University of Illinois at Urbana - Champaign, USA {fengchen,grosu@uiuc.edu Abstract.

More information

Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo

Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo Electronic Notes in Theoretical Computer Science 266 (2010) 33 48 www.elsevier.com/locate/entcs Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo Immo Grabe 1,9, Mohammad Mahdi Jaghoori

More information

Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo

Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Credo Methodology Modeling and Analyzing A Peer-to-Peer

More information

Semantics-Based Program Verifiers for All Languages

Semantics-Based Program Verifiers for All Languages Language-independent Semantics-Based Program Verifiers for All Languages Andrei Stefanescu Daejun Park Shijiao Yuwen Yilong Li Grigore Rosu Nov 2, 2016 @ OOPSLA 16 Problems with state-of-the-art verifiers

More information

Parameter Passing Styles

Parameter Passing Styles Dr. Mattox Beckman University of Illinois at Urbana-Champaign Department of Computer Science Objectives You should be able to... The function call is one of the most fundamental elements of programming.

More information

An Efficient Static Trace Simplification Technique for Debugging Concurrent Programs

An Efficient Static Trace Simplification Technique for Debugging Concurrent Programs An Efficient Static Trace Simplification Technique for Debugging Concurrent Programs Jeff Huang, Charles Zhang Department of Computer Science and Engineering The Hong Kong University of Science and Technology

More information

Wphase development at ATWS Reliable magnitudes for EQs > 8.0

Wphase development at ATWS Reliable magnitudes for EQs > 8.0 Wphase development at ATWS Reliable magnitudes for EQs > 8.0 Magnitude Calculator @ ATWS Mb good to

More information

Model-Checking DoS Amplification for VoIP Session Initiation

Model-Checking DoS Amplification for VoIP Session Initiation Model-Checking DoS Amplification for VoIP Session Initiation Ravinder Shankesi, Musab AlTurki, Ralf Sasse, Carl A. Gunter and José Meseguer Abstract. Current techniques for the formal modeling analysis

More information

Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo

Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo TTSS 2009 Credo Methodology Modeling and Analyzing A Peer-to-Peer System in Credo Immo Grabe 1,9, Mohammad Mahdi Jaghoori 1 Bernhard Aichernig 5,ChristelBaier 3,TobiasBlechmann 3,FrankdeBoer 1,AndreasGriesmayer

More information

Design and Validation of Distributed Data Stores using Formal Methods

Design and Validation of Distributed Data Stores using Formal Methods Design and Validation of Distributed Data Stores using Formal Methods Peter Ölveczky University of Oslo University of Illinois at Urbana-Champaign Based on joint work with Jon Grov, Indranil Gupta, Si

More information

RLSRunner: Linking Rascal with K for Program Analysis

RLSRunner: Linking Rascal with K for Program Analysis RLSRunner: Linking Rascal with K for Program Analysis Mark Hills 1,2, Paul Klint 1,2, and Jurgen J. Vinju 1,2 1 Centrum Wiskunde & Informatica, Amsterdam, The Netherlands 2 INRIA Lille Nord Europe, France

More information

jpredictor: A Predictive Runtime Analysis Tool for Java

jpredictor: A Predictive Runtime Analysis Tool for Java jpredictor: A Predictive Runtime Analysis Tool for Java Feng Chen CS Department University of Illinois, Urbana fengchen@cs.uiuc.edu Traian Florin Şerbănuţă CS Department University of Illinois, Urbana

More information

Rewriting Logic using Strategies for Neural Networks: an Implementation in Maude

Rewriting Logic using Strategies for Neural Networks: an Implementation in Maude Rewriting Logic using Strategies for Neural Networks: an Implementation in Maude Gustavo Santos-García 1, Miguel Palomino 2 and Alberto Verdejo 2 1 Universidad de Salamanca santos@usal.es 2 Departamento

More information

A Rewriting Logic Approach to Static Checking of Units of Measurement in C 1

A Rewriting Logic Approach to Static Checking of Units of Measurement in C 1 RULE 2008 A Rewriting Logic Approach to Static Checking of Units of Measurement in C 1 Mark Hills 2 Centrum Wiskunde & Informatica Amsterdam, The Netherlands Feng Chen Grigore Roşu 3 Department of Computer

More information

A K-Based Specification of Web Services

A K-Based Specification of Web Services A K-Based Specification of Web Services Manel Amel DJENOUHAT LIRE Laboratory, University of Constantine 2, Algeria CEDRIC Laboratory, CNAM,Paris,France djenouhat.manel@gmail.com Faïza BELALA LIRE Laboratory,

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

Testing Concurrent Objects with Application-Specific Schedulers

Testing Concurrent Objects with Application-Specific Schedulers Testing Concurrent Objects with Application-Specific Schedulers Rudolf Schlatte 1,2, Bernhard Aichernig 1,2, Frank de Boer 3, Andreas Griesmayer 1, and Einar Broch Johnsen 4 1 International Institute for

More information

Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois

Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois https://runtimeverification.com Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois Runtime Verification Company Licensed by University of Illinois at Urbana-Champaign

More information

Software System Design and Implementation

Software System Design and Implementation Software System Design and Implementation Motivation & Introduction Gabriele Keller (Manuel M. T. Chakravarty) The University of New South Wales School of Computer Science and Engineering Sydney, Australia

More information

Living and Working with Aging Software. Ralph Johnson. University of Illinois at Urbana-Champaign

Living and Working with Aging Software. Ralph Johnson. University of Illinois at Urbana-Champaign Living and Working with Aging Software Ralph Johnson University of Illinois at Urbana-Champaign rjohnson@illinois.edu Old software gets brittle n n Hard to change Hard to understand Software should be

More information

Relating the MSR Crypto-Protocol Specification Language to Rewriting Logic with Dependent Types

Relating the MSR Crypto-Protocol Specification Language to Rewriting Logic with Dependent Types WRLA 2004 - Barcelona, Spain March 27, 2004 Relating the MSR Crypto-Protocol Specification Language to Rewriting Logic with Dependent Types Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc

More information

EDAN65: Compilers, Lecture 02 Regular expressions and scanning. Görel Hedin Revised:

EDAN65: Compilers, Lecture 02 Regular expressions and scanning. Görel Hedin Revised: EDAN65: Compilers, Lecture 02 Regular expressions and scanning Görel Hedin Revised: 2014-09- 01 Course overview Regular expressions Context- free grammar ARribute grammar Lexical analyzer (scanner) SyntacIc

More information

Towards a Rewriting Semantics for a Software Architecture Description Language

Towards a Rewriting Semantics for a Software Architecture Description Language Towards a Rewriting Semantics for a Software Architecture Description Language Christiano Braga 1, Alexandre Sztajnberg 2 1 Instituto de Computação Universidade Federal Fluminense 2 Instituto de Matemática

More information

Truth A verification platform for concurrent systems

Truth A verification platform for concurrent systems Truth A verification platform for concurrent systems Martin Lange, Martin Leucker, Thomas Noll, Stephan Tobies Abstract. We briefly explain the design and implementation of the newly developed tool Truth

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information