Development of dynamically evolving and self-adaptive software. 4. Incrementality

Size: px
Start display at page:

Download "Development of dynamically evolving and self-adaptive software. 4. Incrementality"

Transcription

1 Development of dynamically evolving and self-adaptive software 4. Incrementality LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE DEIB 1

2 Lifecycle of self-adaptive systems Reqs 0 Specification 1 E Reasoning Implementation Development time Self-adaptation Specification Monitoring Run time Execution Env 2

3 The problem Verification needs to work at run-time to support selfadaptive reactions It may be subject to strict response time requirements to support timely reactions Current mainstream approaches do not fit this requirement 3

4 The problem Verification needs to work at run-time to support self-adaptive reactions Verification subject to (application-dependent) hard real-time requirements Running conventional model checking tools after any change impractical in most realistic cases But changes are often local, they do not disrupt the entire specification Can they be handled in an incremental fashion? This requires revisiting model checking algorithms! 4

5 The quest for incrementality Incremental verification Given a system (model) S, and a set of properties P met by S Change = new pair S, P where S = S + S and P = P + P Let be the proof of S against P The proof of P against S can be done by just performing a proof increment such that = + Expectation: easy and efficient to perform 5

6 An approach Incrementality by parameterization - We treat what can change as an unknown parameter - Verification result is parametric with respect to the unknowns - At design time, we do analysis using the likely values we can foresee - At run time, we do analysis on the real values we gather via monitoring 6

7 Incrementality by parameterization Requires anticipation of changing parameters The model is partly numeric and partly symbolic Evaluation of the verification condition requires partial evaluation (mixed numerical/symbolic processing) Result is a formula (polynomial for reachability on DTMCs) Evaluation at run time substitutes actual values to Working mom paradigm Cook first Warm-up later symbolic parameters and is very efficient 7

8 Working mom paradigm Design-Time (offline) 1 0 E Partial evaluation Run-Time (online) Parameter values Analyzable properties: reliability, costs (e.g., energy consumption) [ICSE 2011] A. Filieri, C. Ghezzi, G. Tamburrelli Run-time efficient probabilistic model checking [FormSERA 2012] A. Filieri, C. Ghezzi, "Further steps towards efficient runtime verification: Handling probabilistic cost models" 8

9 An example r = Pr( s = 5) > r r = x z 0.15 x z y x z 9

10 The WM approach Assumes that the Markov model is well formed Works by symbolic/numeric matrix manipulation All of (R) PCTL covered Does partial evaluation (mixed computation, Ershov 1977) Expensive design-time partial evaluation, fast runtime verification - symbolic matrix multiplications, but very sparse and normally only few variables 10

11 An example a dynamic (s3, a s4) static content (s5, content s6) has model probability been has the been requested cache of requested an hit HTTP that probability, which depends the current distribution self-redirect requires of user ad-hoc requests processing Http Proxy Server 0 0/0 y 7 Http 503 Server Unavailable (1-y)*0.3 1 (1-y)*0.7 Web Server / /0 Cache Server x 0.55 (1-x) Application Server / / 0.04 File Server (1-w) w Data Cache Server 5 0.1/0 z 8 1 Http Response (1-z) (1-k) Database Server / 0.07 k 9 1 Error: too many connections Rewards: AverageCost/AverageLatency 11

12 Matrix representation Q = 0 0 (1 y)0.3 0 (1 y) x z R = Transient-to-absorbing Transient-to-transient 0 y x w w 0 z k k 1 C A 1 C A (1) (2) 12

13 Table 1: Requirements R1-R6. ID Informal Definition PCTL R1 R2 (Reliability): The probability of successfully handling a request must be greater than (Cache hit probability): At least 80% of the requests are correctly handled without accessing the database or the file server R3 (Complexity bound): 70% of the requests must be successfully processed within 5 operations R4 (Early risk fingering): No more than 10% of the runs can reach a state from which the risk of eventually raising an exception is greater than 0.95 R5 (Cost): The average cost for handling a request must be less dollars R6 (Response time): The average response time must be less than seconds P ( s = s 8 ) P 0.8 ( (s = s 4 )^ (s = s 6 ) U s = s 8 ) P 0.7 ( apple5 s = s 8 ) P apple0.1 ( P 0.95 ( s = s 7 _ s = s 9 )) R apple0.03 ( s = s 7 _ s = s 8 _ s = s 9 ) R apple0.022 ( s = s 7 _ s = s 8 _ s = s 9 ) 13 Http Proxy Server 0 0/0 y 7 Http 503 Server Unavailable (1-y)*0.3 1 (1-y)*0.7 Web Server / /0 Cache Server x 0.55 (1-x) Application Server / / 0.04 File Server (1-w) w Data Cache Server 5 0.1/0 z 8 1 Http Response (1-z) (1-k) Database Server / 0.07 k 9 1 Error: too many connections

14 An example Consider a flat reachability formula; e.g. R1 The result produced by WM is f(k, w, x, y, z) =.7w y k yw.7yxw zk yk +.7xw yzk 14

15 Partial evaluation of a flat reachability formula back to theory Let T be a set of target absorbing states We need to evaluate Pr(true U {s j 2 T }) = X s j 2T b 0j where B = N x R; N is the inverse of I - Q, P = Q R 0 I Matrix R is available, we need to compute N In our context, N must be evaluated partially, i.e., by a mix of numeric and symbolic processing 15

16 Design-time vs run-time costs Design-time computation expensive because of numeric/symbolic computations Complexity reduced by - sparsity - few symbolic transitions - careful management of symbolic/numeric parts - parallel processing Run-time computation extremely efficient: polynomial formula for reachability, minor additional complications for full R-PCTL coverage (but still very efficient!) 16

17 Parametric vs conventional model checking 17

18 Conclusions Parametric model checking is a way to achieve incrementality Works when changes can be confined to only model parameters As expected, benefits increase as the delta is smaller 18

19 Incrementality by composition: assume-guarantee We show that component M1 guarantees property P1 assuming that component M2 delivers property P2, and vice versa Then that the system composed of M1 M2 Text guarantees P1 and P2 unconditionally <P2> M1 <P1> <P1> M2 <P2> <TRUE> M1 M2 <P1&P2> <P> M <Q> asserts that if M is part of a system that satisfies P (P true for all behaviors of the composite) then the system also satisfies Q C. Jones, 1983, TOSEM 19

20 Benefits from modularity and encapsulation Grounded on seminal work of D. Parnas (1972) - Design for change changes must be anticipated and encapsulated within modules - Contracts (B. Meyer 1992) interface vs implementation 20

21 Incrementality by alternative refinements This is a particular case of incrementality-by-composition, where the focus is on supporting alternative refinement A refinement point is a part of the system that is subject to alternative designs through possibly different refinements Given a global property PG that should be assured by a system, the goal is to compute the local property PL that should be associated with a refinement point, so that any refinement that satisfies PL makes the system satisfy PG When alternative refinements are evaluated, it is only necessary to prove that they satisfy the local property (i.e., the proof only applies to the refinement, not to the whole system) The approach fits an iterative, agile development C. Ghezzi, C. Menghi, A. M. Sharifloo, P, Spoletini, On requirements verification for model refinements, RE

22 Context 1: LTSs and CTL LTSs are extended to accommodate unspecified states, which are refined by an LTS with one initial and one final state The proof of property P for such LTS can yield true, false, or a proof obligation for the refinement If the obligation is fulfilled by the refinement, P holds for the whole LTS Sharifloo, A.M., Spoletini, P.: Lover: Light-weight formal verification of adaptive systems at run time. Symposium on Formal Aspects of Component Software, LNCS

23 Incomplete LTS (ILTS) Set of states partitioned into regular and transparent states - Transparent states represent components - Transparent states can be refined into an ILTS with one initial and one final state a c a c a b b a b b

24 Path-qCTL qctl = qualitative CTL Path-qCTL = qctl + operator on a finite path Its syntax is defined as φ φ φ φ EφUφ EGφ p EpGφ E p G - E p Gφ = There exists a path that reaches the final state for which φ always holds Examples - φ 1 = AF(crossing) - φ 2 = E( permit U crossing)

25 Context 2: StateCharts AGaVE: AGile Verification Environment Verification technique - to check whether a specification satisfies a given property - to (automatically) generate sub-properties that the missing components have to respect - implemented for StateCharts C. Ghezzi, C. Menghi, A. M. Sharifloo, P, Spoletini, On requirements verification for model refinements, RE 2013

26 Overview Original property P crementally whi EG(' 1 ) ' 2 ) Outline Level%1% C 1 C 2 First Model Developer C 11 Derived properties Developer Derived properties YES Level%2% NO.. 26

27 The Verification Algorithm CHECK(M, φ) e 4 [c 4 ] a 4 e 4 [c 4 ] a 4 open, traveling open, traveling open, traveling open, traveling open, approaching open, approaching e 3 [c 3 ] a 3 e 1 [c 1 ] a 1 e e 2 [c 1 [c 2 ] a 1 ] a 2 1 e 2 [c 2 ] a 2 e 3 [c 3 ] a 3 open, open, open, open, approaching open, approaching approaching S2 open, approaching S2 crossing crossing open, open, S2 S2 approaching approaching open, traveling open, traveling Result Result' Translate)Statecharts)in)ILTS) Translate)Statecharts)in)ILTS) Model&Check+ILTS+ Derived' Proper+es' Developer e 4 [c 4 ] a 4 CHECK(M,φ ) φ 'φ' ' ' e 1 [c 1 ] a 1 e 2 [c 2 ] a 2 e 3 [c 3 ] a 3 Update'Results'

Syntactic-Semantic Incrementality for Agile Verification

Syntactic-Semantic Incrementality for Agile Verification Science of Computer Programming 00 (2013) 1 8 Science of Computer Programming Syntactic-Semantic Incrementality for Agile Verification Domenico Bianculli a, Antonio Filieri b, Carlo Ghezzi c, and Dino

More information

Self-Adaptive Mobile Apps

Self-Adaptive Mobile Apps Self-Adaptive Mobile Apps Gianpaolo Cugola Politecnico di Milano, Italy cugola@polimi.it Carlo Ghezzi Politecnico di Milano, Italy carlo.ghezzi@polimi.it Leandro S. Pinto Politecnico di Milano, Italy leandro.shp@gmail.com

More information

Syntactic-Semantic Incrementality for Agile Verification

Syntactic-Semantic Incrementality for Agile Verification Syntactic-Semantic Incrementality for Agile Verification Domenico Bianculli a,, Antonio Filieri b, Carlo Ghezzi c, Dino Mandrioli c a SnT Centre - University of Luxembourg, 4 rue Alphonse Weicker, L-2721,

More information

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of

More information

Incremental Runtime Verification of Probabilistic Systems

Incremental Runtime Verification of Probabilistic Systems Incremental Runtime Verification of Probabilistic Systems Vojtěch Forejt 1, Marta Kwiatkowska 1, David Parker 2, Hongyang Qu 1, and Mateusz Ujma 1 1 Department of Computer Science, University of Oxford,

More information

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability

More information

Cleanroom Software Engineering

Cleanroom Software Engineering Cleanroom Software Engineering Abstract There are circumstances where quality is paramount, and any kind of error cannot be tolerated. When these circumstances arise, special measures need to be taken

More information

Static program checking and verification

Static program checking and verification Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Static program checking and verification Correctness

More information

Key Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC

Key Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC Cleanroom attempt to mathematically-based, scientific engineering process of software development Cleanroom software engineering yields software that is correct by mathematically sound design, and software

More information

Lecture 11 Lecture 11 Nov 5, 2014

Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification/Methods Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems to be analyzed, and

More information

Multi-Dimensional Separation of Concerns and IBM Hyper/J

Multi-Dimensional Separation of Concerns and IBM Hyper/J Multi-Dimensional Separation of Concerns and IBM Hyper/J Technical Research Report Barry R. Pekilis Bell Canada Software Reliability Laboratory Electrical and Computer Engineering University of Waterloo

More information

System Development Life Cycle Methods/Approaches/Models

System Development Life Cycle Methods/Approaches/Models Week 11 System Development Life Cycle Methods/Approaches/Models Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Hierarchical Composition and Abstraction In Architecture Models

Hierarchical Composition and Abstraction In Architecture Models Hierarchical Composition and Abstraction In Architecture Models Pam Binns and Steve Vestal Honeywell Labs {pam.binns, steve.vestal}@honeywell.com Supported by the Air Force Office of Scientific Research

More information

Kami: A Framework for (RISC-V) HW Verification

Kami: A Framework for (RISC-V) HW Verification Kami: A Framework for (RISC-V) HW Verification Murali Vijayaraghavan Joonwon Choi, Adam Chlipala, (Ben Sherman), Andy Wright, Sizhuo Zhang, Thomas Bourgeat, Arvind 1 The Riscy Expedition by MIT Riscy Library

More information

Development of dynamically evolving and self-adaptive software. 4. Dynamic software update

Development of dynamically evolving and self-adaptive software. 4. Dynamic software update Development of dynamically evolving and self-adaptive software 4. Dynamic software update LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 The problem Once

More information

Functional Programming in Hardware Design

Functional Programming in Hardware Design Functional Programming in Hardware Design Tomasz Wegrzanowski Saarland University Tomasz.Wegrzanowski@gmail.com 1 Introduction According to the Moore s law, hardware complexity grows exponentially, doubling

More information

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

Monitoring Interfaces for Faults

Monitoring Interfaces for Faults Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

Verification of the Requirements Specification

Verification of the Requirements Specification Software Verification and Validation (VIMMD052) Verification of the Requirements Specification Istvan Majzik majzik@mit.bme.hu Budapest University of Technology and Economics Dept. of Measurement and Information

More information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components Based Design and Development. Unit 3: Software Design Quick Overview Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos

More information

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

Lecture 7: Requirements Modeling III. Formal Methods in RE

Lecture 7: Requirements Modeling III. Formal Methods in RE Lecture 7: Requirements Modeling III Last Last Week: Week: Modeling Modeling and and (II) (II) Modeling Modeling Functionality Functionality Structured Structured Object Object Oriented Oriented This This

More information

Symbolic Execution and Proof of Properties

Symbolic Execution and Proof of Properties Chapter 7 Symbolic Execution and Proof of Properties Symbolic execution builds predicates that characterize the conditions under which execution paths can be taken and the effect of the execution on program

More information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

Finite State Verification. CSCE Lecture 21-03/28/2017

Finite State Verification. CSCE Lecture 21-03/28/2017 Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee

More information

A Modal Specification Approach for Assuring the Safety of On-Demand Medical Cyber-Physical Systems

A Modal Specification Approach for Assuring the Safety of On-Demand Medical Cyber-Physical Systems A Modal Specification Approach for Assuring the Safety of On-Demand Medical Cyber-Physical Systems Lu Feng PRECISE Center Department of Computer and Information Science University of Pennsylvania lufeng@cis.upenn.edu

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013 Principles of Program Analysis Lecture 1 Harry Xu Spring 2013 An Imperfect World Software has bugs The northeast blackout of 2003, affected 10 million people in Ontario and 45 million in eight U.S. states

More information

Spark verification features

Spark verification features Spark verification features Paul Jackson School of Informatics University of Edinburgh Formal Verification Spring 2018 Adding specification information to programs Verification concerns checking whether

More information

09. Component-Level Design

09. Component-Level Design 09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a

More information

Finite State Verification. CSCE Lecture 14-02/25/2016

Finite State Verification. CSCE Lecture 14-02/25/2016 Finite State Verification CSCE 747 - Lecture 14-02/25/2016 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee

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

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL Overview Lecture #4: Probabilistic GCL 1 Joost-Pieter Katoen 2 3 Recursion RWTH Lecture Series on 2018 Joost-Pieter Katoen 1/31 Joost-Pieter Katoen 2/31 Dijkstra s guarded command language: Syntax Elementary

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

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

CoVaC: Compiler Verification by Program Analysis of the Cross-Product. Anna Zaks, Amir Pnueli. May 28, FM 08, Turku, Finland

CoVaC: Compiler Verification by Program Analysis of the Cross-Product. Anna Zaks, Amir Pnueli. May 28, FM 08, Turku, Finland CoVaC: Compiler Verification by Program Analysis of the Cross-Product Anna Zaks, Amir Pnueli May 28, 28 FM 8, Turku, Finland Translation Validation source Optimization Pass target Validation Pass proof

More information

A Capacity Planning Methodology for Distributed E-Commerce Applications

A Capacity Planning Methodology for Distributed E-Commerce Applications A Capacity Planning Methodology for Distributed E-Commerce Applications I. Introduction Most of today s e-commerce environments are based on distributed, multi-tiered, component-based architectures. The

More information

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

SNAP: Stateful Network-Wide Abstractions for Packet Processing. Collaboration of Princeton University & Pomona College

SNAP: Stateful Network-Wide Abstractions for Packet Processing. Collaboration of Princeton University & Pomona College SNAP: Stateful Network-Wide Abstractions for Packet Processing Collaboration of Princeton University & Pomona College Brief Overview: Motivation Introduction to SNAP/Example(s) of SNAP SNAP Syntax Overview

More information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information

Formal Verification. Lecture 10

Formal Verification. Lecture 10 Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying

More information

Formalization of Incremental Simplex Algorithm by Stepwise Refinement

Formalization of Incremental Simplex Algorithm by Stepwise Refinement Formalization of Incremental Simplex Algorithm by Stepwise Refinement Mirko Spasić, Filip Marić Faculty of Mathematics, University of Belgrade FM2012, 30. August 2012. Overview 1 Introduction 2 Approach

More information

Using Error Detection Codes to detect fault attacks on Symmetric Key Ciphers

Using Error Detection Codes to detect fault attacks on Symmetric Key Ciphers Using Error Detection Codes to detect fault attacks on Symmetric Key Ciphers Israel Koren Department of Electrical and Computer Engineering Univ. of Massachusetts, Amherst, MA collaborating with Luca Breveglieri,

More information

Compiler Construction

Compiler Construction Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-16/cc/ Recap: Static Data Structures Outline of Lecture 18 Recap:

More information

Specification and Analysis of Contracts Tutorial

Specification and Analysis of Contracts Tutorial Specification and Analysis of Contracts Tutorial Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo Gerardo Schneider (UiO) Specification and

More information

Action Language Verifier, Extended

Action Language Verifier, Extended Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language

More information

Certification of Termination for Integer Transition Systems

Certification of Termination for Integer Transition Systems Certification of Termination for Integer Transition Systems Marc Brockschmidt, Sebastiaan Joosten, René Thiemann and Akihisa Yamada Sebastiaan.Joosten@uibk.ac.at Supported by FWF project Y 757 Reliable

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Software verification for ubiquitous computing

Software verification for ubiquitous computing Software verification for ubiquitous computing Marta Kwiatkowska Computing Laboratory, University of Oxford QA 09, Grenoble, June 2009 Software everywhere Electronic devices, ever smaller Laptops, phones,

More information

Introductory logic and sets for Computer scientists

Introductory logic and sets for Computer scientists Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

More information

An incremental and multi-supplement compliant process for Autopilot development to make drones safer

An incremental and multi-supplement compliant process for Autopilot development to make drones safer An incremental and multi-supplement compliant process for Autopilot development to make drones safer Frédéric POTHON - ACG Solutions frederic.pothon@acg-solutions.fr Tel: (33)4. 67. 609.487 www.acg-solutions.fr

More information

An Eclipse Plug-in for Model Checking

An Eclipse Plug-in for Model Checking An Eclipse Plug-in for Model Checking Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala Electrical Engineering and Computer Sciences University of California, Berkeley, USA Rupak Majumdar Computer Science

More information

Compiler Construction

Compiler Construction Compiler Construction Lecture 18: Code Generation V (Implementation of Dynamic Data Structures) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ss-14/cc14/

More information

Automated Refinement Checking of Asynchronous Processes. Rajeev Alur. University of Pennsylvania

Automated Refinement Checking of Asynchronous Processes. Rajeev Alur. University of Pennsylvania Automated Refinement Checking of Asynchronous Processes Rajeev Alur University of Pennsylvania www.cis.upenn.edu/~alur/ Intel Formal Verification Seminar, July 2001 Problem Refinement Checking Given two

More information

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI). Sérgio Campos scampos@dcc.ufmg.br Why? Imagine the implementation of a complex hardware or software system: A 100K gate ASIC perhaps 100 concurrent modules; A flight control system dozens of concurrent

More information

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION 6.1 INTRODUCTION Fuzzy logic based computational techniques are becoming increasingly important in the medical image analysis arena. The significant

More information

Apprenticeship Learning for Reinforcement Learning. with application to RC helicopter flight Ritwik Anand, Nick Haliday, Audrey Huang

Apprenticeship Learning for Reinforcement Learning. with application to RC helicopter flight Ritwik Anand, Nick Haliday, Audrey Huang Apprenticeship Learning for Reinforcement Learning with application to RC helicopter flight Ritwik Anand, Nick Haliday, Audrey Huang Table of Contents Introduction Theory Autonomous helicopter control

More information

Finding and Fixing Bugs in Liquid Haskell. Anish Tondwalkar

Finding and Fixing Bugs in Liquid Haskell. Anish Tondwalkar Finding and Fixing Bugs in Liquid Haskell Anish Tondwalkar Overview Motivation Liquid Haskell Fault Localization Fault Localization Evaluation Predicate Discovery Predicate Discovery Evaluation Conclusion

More information

RE for Embedded Systems - Part 1

RE for Embedded Systems - Part 1 REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr RE for Embedded Systems - Part 1 Fraunhofer IESE Lecture Outline Embedded systems and their characteristics Requirements specifications (for embedded

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Software Testing part II (white box) Lecturer: Giuseppe Santucci Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision

More information

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS Ralph-Johan Back Abo Akademi University July 6, 2006 Home page: www.abo.fi/~backrj Research / Current research / Incremental Software Construction

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Static Analysis and Bugfinding

Static Analysis and Bugfinding Static Analysis and Bugfinding Alex Kantchelian 09/12/2011 Last week we talked about runtime checking methods: tools for detecting vulnerabilities being exploited in deployment. So far, these tools have

More information

NP-Completeness. Algorithms

NP-Completeness. Algorithms NP-Completeness Algorithms The NP-Completeness Theory Objective: Identify a class of problems that are hard to solve. Exponential time is hard. Polynomial time is easy. Why: Do not try to find efficient

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 7: Software Processes. Refresher: Software Always Evolves Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)

More information

Complexity-Reducing Design Patterns for Cyber-Physical Systems. DARPA META Project. AADL Standards Meeting January 2011 Steven P.

Complexity-Reducing Design Patterns for Cyber-Physical Systems. DARPA META Project. AADL Standards Meeting January 2011 Steven P. Complexity-Reducing Design Patterns for Cyber-Physical Systems DARPA META Project AADL Standards Meeting 24-27 January 2011 Steven P. Miller Delivered to the Government in Accordance with Contract FA8650-10-C-7081

More information

Introduction to Denotational Semantics. Brutus Is An Honorable Man. Class Likes/Dislikes Survey. Dueling Semantics

Introduction to Denotational Semantics. Brutus Is An Honorable Man. Class Likes/Dislikes Survey. Dueling Semantics Brutus Is An Honorable Man HW2 will not be due today. Homework X+1 will never be due until after I have returned Homework X to you. Normally this is never an issue, but I was sick yesterday and was hosting

More information

Formal Methods and their role in Software and System Development. Riccardo Sisto, Politecnico di Torino

Formal Methods and their role in Software and System Development. Riccardo Sisto, Politecnico di Torino Formal Methods and their role in Software and System Development Riccardo Sisto, Politecnico di Torino What are Formal Methods? Rigorous (mathematical) methods for modelling and analysing (computer-based)

More information

Apigee Edge Cloud. Supported browsers:

Apigee Edge Cloud. Supported browsers: Apigee Edge Cloud Description Apigee Edge Cloud is an API management platform to securely deliver and manage all APIs. Apigee Edge Cloud manages the API lifecycle with capabilities that include, but are

More information

Implementing A Final Regression Testing Process

Implementing A Final Regression Testing Process Implementing A Final Regression ing Process Jeff Tatelman SQuAD Conference 2007 March 15th, 2007 Final Regression ing Definition The testing of software after a modification has been made to ensure that

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Topic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development

Topic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development Lecture Notes What are? 1 Formal Method (FM) = specification language + formal reasoning Body of techniques supported by precise mathematics powerful analysis tools Rigorous effective mechanisms for system

More information

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different

More information

Apigee Edge Cloud. Supported browsers:

Apigee Edge Cloud. Supported browsers: Apigee Edge Cloud Description Apigee Edge Cloud is an API management platform to securely deliver and manage all APIs. Apigee Edge Cloud manages the API lifecycle with capabilities that include, but are

More information

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing

More information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology

More information

PRISM An overview. automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation,

PRISM An overview. automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation, PRISM An overview PRISM is a probabilistic model checker automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation, Construction/analysis of probabilistic

More information

PROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development

PROCESS DEVELOPMENT METHODOLOGY The development process of an API fits the most fundamental iterative code development INTRODUCING API DESIGN PRINCIPLES IN CS2 Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 jaime@cs.uno.edu ABSTRACT CS2 provides a great opportunity to teach an

More information

Modular Verification of Web Services Using Efficient Symbolic Encoding and Summarization

Modular Verification of Web Services Using Efficient Symbolic Encoding and Summarization Modular Verification of Web Services Using Efficient Symbolic Encoding and Summarization Fang Yu joint work with: Chao Wang, Aarti Gupta and Tevfik Bultan University of California, Santa Barbara and NEC

More information

Decision Procedures in the Theory of Bit-Vectors

Decision Procedures in the Theory of Bit-Vectors Decision Procedures in the Theory of Bit-Vectors Sukanya Basu Guided by: Prof. Supratik Chakraborty Department of Computer Science and Engineering, Indian Institute of Technology, Bombay May 1, 2010 Sukanya

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

Lecture Chapter 2 Software Development

Lecture Chapter 2 Software Development Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple

More information

Overview of Timed Automata and UPPAAL

Overview of Timed Automata and UPPAAL Overview of Timed Automata and UPPAAL Table of Contents Timed Automata Introduction Example The Query Language UPPAAL Introduction Example Editor Simulator Verifier Conclusions 2 Introduction to Timed

More information

Formal Modeling and Analysis of a Flash File System in Alloy

Formal Modeling and Analysis of a Flash File System in Alloy Formal Modeling and Analysis of a Flash File System in Alloy Eunsuk Kang & Daniel Jackson MIT ABZ 2008 September 17, London, UK Flash memory Increasingly popular as storage device Benefits: High durability,

More information

Model-based Development of Web Services using Design-by-Contract

Model-based Development of Web Services using Design-by-Contract Model-based Development of Web Services using Design-by-Contract Reiko Heckel University of Leicester, UK Lesster Joint work with M. Lohmann, A. Cherchago, J.H. Hausmann, Paderborn, TU Berlin, 5. 12. 2005

More information

Apigee Edge Cloud - Bundles Spec Sheets

Apigee Edge Cloud - Bundles Spec Sheets Apigee Edge Cloud - Bundles Spec Sheets Description Apigee Edge Cloud is an API management platform to securely deliver and manage all APIs. Apigee Edge Cloud manages the API lifecycle with capabilities

More information

Raising Level of Abstraction with Partial Models: A Vision

Raising Level of Abstraction with Partial Models: A Vision Raising Level of Abstraction with Partial Models: A Vision Marsha Chechik 1, Arie Gurfinkel 2, Sebastian Uchitel 3, and Shoham Ben-David 1 1 Department of Computer Science, University of Toronto 2 SEI/CMU

More information

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

More information

Automated Software Synthesis for Complex Robotic Systems

Automated Software Synthesis for Complex Robotic Systems Automated Software Synthesis for Complex Robotic Systems Indranil Saha Department of Computer Science and Engineering Indian Institute of Technology Kanpur Indranil Saha Automated Software Synthesis for

More information

A Component-based Approach to Verified Software: What, Why, How and What Next?

A Component-based Approach to Verified Software: What, Why, How and What Next? A Component-based Approach to Verified Software: What, Why, How and What Next? Kung-Kiu Lau, Zheng Wang, Anduo Wang and Ming Gu School of Computer Science, The University of Manchester Manchester M13 9PL,

More information

Modeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface

Modeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface Modeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface Cuong Chau ckcuong@cs.utexas.edu Department of Computer Science The University of Texas at Austin April 19, 2016 Cuong Chau (UT Austin)

More information

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering

More information

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming Slide 1 Lesson Objectives Understand major activities of software projects Understand the place of these in different lifecycle models

More information

Cyber Physical System Verification with SAL

Cyber Physical System Verification with SAL Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System

More information

Today s class. Roots of equation Finish up incremental search Open methods. Numerical Methods, Fall 2011 Lecture 5. Prof. Jinbo Bi CSE, UConn

Today s class. Roots of equation Finish up incremental search Open methods. Numerical Methods, Fall 2011 Lecture 5. Prof. Jinbo Bi CSE, UConn Today s class Roots of equation Finish up incremental search Open methods 1 False Position Method Although the interval [a,b] where the root becomes iteratively closer with the false position method, unlike

More information

Prototyping. SWE 432, Fall Web Application Development

Prototyping. SWE 432, Fall Web Application Development Prototyping SWE 432, Fall 2018 Web Application Development Conceptual design Goal: match users mental model Tool: Metaphor - analogies from existing system Offers expectations about what system does &

More information