Development of dynamically evolving and self-adaptive software. 4. Incrementality
|
|
- Muriel Tucker
- 5 years ago
- Views:
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
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 informationSelf-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 informationSyntactic-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 informationResource-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 informationIncremental 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 informationTo 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 informationCleanroom 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 informationStatic 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 informationKey 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 informationLecture 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 informationMulti-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 informationSystem 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 informationCompositional 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 informationHierarchical 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 informationKami: 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 informationDevelopment 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 informationFunctional 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 informationSystem 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 informationExact 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 informationMonitoring 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 informationCITS5501 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 informationVerification 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 informationComponents 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 informationQ 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 informationLecture 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 informationSymbolic 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 informationResearch 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 informationFinite 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 informationA 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 informationThe 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 informationPrinciples 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 informationSpark 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 information09. 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 informationFinite 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 informationIntroduction 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 informationOverview. 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 informationBinary 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 informationCover 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 informationCoVaC: 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 informationA 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 informationComponent-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 informationSNAP: 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 informationChapter 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 informationFormal 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 informationFormalization 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 informationUsing 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 informationCompiler 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 informationSpecification 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 informationAction 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 informationCertification 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 informationTesting! 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 informationSoftware 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 informationIntroductory 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 informationAn 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 informationAn 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 informationCompiler 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 informationAutomated 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 informationModel 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 informationCHAPTER 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 informationApprenticeship 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 informationFinding 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 informationRE 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 informationMONIKA 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 informationSoftware 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 informationINCREMENTAL 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 informationDistributed 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 informationStatic 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 informationNP-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 informationLecture 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 informationComplexity-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 informationIntroduction 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 informationFormal 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 informationApigee 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 informationImplementing 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 informationJoint 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 informationTopic 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 informationComputational 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 informationApigee 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
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 informationIntroducing 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 informationPRISM 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 informationPROCESS 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 informationModular 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 informationDecision 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 informationRequirements 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 informationLecture 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 informationOverview 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 informationFormal 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 informationModel-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 informationApigee 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 informationRaising 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 informationQualitative 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 informationAutomated 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 informationA 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 informationModeling 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 informationECE 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 informationSOFTWARE 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 informationCyber 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 informationToday 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 informationPrototyping. 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