Counterexample-guided Design of Property-based Dynamic Software Updates
|
|
|
- Quentin Stone
- 10 years ago
- Views:
Transcription
1 Counterexample-guided Design of Property-based Dynamic Software Updates Min Zhang Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [1/45]
2 Contents 1 Dynamic Software Updating (DSU) Instantaneous DSU Incremental DSU 2 Formalization and verification of instantaneous DSU 3 A case study Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [2/45]
3 About DSU Dynamic Software Updating An updating technique for updating software systems that are running without incurring downtime Q: Why do we need DSU? A: Two main reasons: 1 Software systems are inevitably subject to update 2 For some software systems, shutting them down is expensive! Example (How much is an hour of downtime worth to you?) According to a Yankee Group report, banks can lose as much as US $26 million per hour and Research brokerages Center as much for Software as US $45 Verification million per hour from downtime Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [3/45]
4 Existing works on DSU More than 40 approaches have been proposed and prototypes have been implemented (H Seifzadeh, et al, A survey of dynamic software updating J of Software, Evolution, and Process 25: , 2013) Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [4/45]
5 Motivation of the work Three features of dynamic updating: 1 Doing dynamic update to a running system is dangerous! Lose the baton! 2 Target systems are usually safety/mission-critical systems, while crashing them is expensive! Lose the golden medal! 3 Designing a correct dynamic update is challenging! We do not even Research knowcenter what correctness for Softwaremeans Verification Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [5/45]
6 Studying dynamic updating at two levels 1 code-level: implementing a dynamic updating correctly the code differences between old and new systems how code is managed in memory by updating how code is executed after updating, eg, whether a function refers to the data of correct type, whether a function calls another of the correct version 2 design-level (this talk): designing a dynamic updating correctly static differences, eg, system structures/states dynamic differences, eg, system behaviors the behaviors during updating Software is built on abstractions Pick the right ones, and programming will flow naturally from Research design; Center for Software Verification Japan Advanced Institute of Science and Daniel Technology Jackson Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [6/45]
7 Instantaneous and incremental DSU At the design level, we classify DSU into two classes according to update duration Instantaneous DSU (this talk) Incremental DSU Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [7/45]
8 Five requirements to design an instantaneous dynamic updating 1 a running software system (old system) 2 a new version of the running system (new system) 3 a set of updating points (a subset of old states where updates will be applied) 4 an (optional) update bringing forward mechanism, which is used to bring the running system to an update point as soon as possible 5 a state transformation function, a (partial) function from old states to new states Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [8/45]
9 Challenges to the design of correct dynamic update 1 What does correct mean? 2 How to identify a set of updating points? 3 How to design an update bringing forward mechanism? 4 How to define a state transformation function? Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [9/45]
10 Contributions of our work 1 We define the correctness in terms of the properties of the old and new systems 2 We propose a counterexample-guided approach to designing correct dynamic updates by 1 identifying a set of safe updating points 2 defining a correct a state transformation function 3 designing a correct update bringing forward mechanism Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [10/45]
11 Formalization of instantaneous dynamic updates (I) Formalization of software systems as Kripke structures Definition (Kripke structure) A Kripke structure K is a four-tuple (S, I, T, L) over a set AP of atomic propositions, where S: a finite set of states I: a set I S of initial states T: a transition relation T S S, and T must be total, ie, for any s S, there exists s S, st (s, s ) T L: a labeling function S 2 AP We assume that both the old and the new systems are finite-state systems Let K 1 = (S 1, I 1, T 1, L 1 ) and K 2 = (S 2, I 2, T 2, L 2 ) be two Kripke structures over two sets of atomic Research propositions Center for APSoftware 1 and APVerification 2 such that K 1 and K 2 model the old and Japan the newadvanced systems Institute respectively of Science and Technology Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [11/45]
12 Formalization of instantaneous dynamic updates (II) A set S of update points such that S S 1 A state transformation function f : S S 2 Updating bringing forward mechanism: T (S 1 S 1 ) Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [12/45]
13 Formalization of update request (I) Update request (generally update request can be made at any moment when the old system is running): Front layer: old system Back layer: update bringing forward mechanism From the front layer to the back layer: update request Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [13/45]
14 Formalization of update request (II) Let S 1 be a mirror set of S 1, ie, S 1 S 1 = and there exists a bijection ψ : S 1 S 1 Let L : S 1 S 1 2AP 1 {req,upd} L 1 (s) if s S 1 L (s) = L 1 (φ 1 (s)) {req} if s S 1 and φ 1 (s) / S L 1 (φ 1 (s)) {req, upd} if s S 1 and φ 1 (s) S req AP 1 : states Japan where Advanced updateinstitute request has of Science been made; and Technology upd AP 1 : update points Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [14/45]
15 Formalization of update request (III) Let T S 1 S 1 st T = {(s 1, s 2 ) s 1 S 1, s 2 S 1, (φ 1 (s 1 ), φ 1 (s 2 )) T } Let T = T 1 T {(s, s ) s S 1, s S 1, s = φ(s)} Let S = S 1 S Research 1 Center for Software Verification We obtain a KripkeJapan structure Advanced K = (S Institute, I 1, T of, L Science ) over AP and 1 Technology {req, upd} Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [15/45]
16 Formalization of updating (I) Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [16/45]
17 Formalization of updating (II) Some assumptions: 1 S 2 S 1 =, S 2 S 1 = 2 AP 2 AP 1 = 3 new is an atomic proposition such that new AP Japan Advanced Institute of Science 1 and new AP and Technology 2 Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [17/45]
18 Formalization of updating (III) Let S = S 1 S 1 S 2 AP = AP 1 AP 2 {new, req, upd} L : S { 2 AP st L L (s) = (s) if s S L 2 (s) {new} if s S 2 S S 1 st S = {φ(s) s S } f : S S 2 st f (s) = f(φ 1 (s)), and T = T T 2 {(s, f (s)) s S } Finally, we obtain K Research = (S, Center I 1, T, L for ) over Software the set Verification AP Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [18/45]
19 Property-based Correctness of dynamic updating Definition (Property-based correctness) Ạ dynamic update is correct if it satisfies a set P of given properties We classify the properties in P into three kinds: 1 common properties which should be satisfied by all the dynamic updates 2 dependent properties: which specify the relation between the old system and the new system 3 independent properties: the properties of the new system which are independent from those of the old system Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [19/45]
20 Common properties Definition (Updatability) Once an update request is made, the running system must eventually reach an update point LTL formula of updatability: (( req req) upd) : Globally : Next : Finally Updatability is a property Japan Advanced of update Institute bringing of forward Science mechanism and Technology Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [20/45]
21 Dependent properties Given two LTL properties p 1 and p 2 which are built out of the atomic propositions in AP 1 and AP 2, if p 1 holds in the old system, then p 2 holds in the running system after it is updated Example (Connection preservation) For a dynamic update to an FTP server a property that the update should satisfy is that all the connections should be preserved, ie, if the number of connections in the old system is n, so is the number of connections after update A dependent property with p 1 and p 2 can be formalized as an LTL formula wrt K, ie, (p 1 U req) (( new new) p 2 ) Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [21/45]
22 Independent properties The properties of the new systems which are independent from those in the old systems Example (Dynamic update for bug-fixing) Some properties are supposed to hold after the update, regardless of the situation when the update is applied Let p be an LTL property of the new property which is independent from the properties of the old one, its corresponding LTL formula wrt K is ( new new) p Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [22/45]
23 P-Correctness of a dynamic update Definition (P-Correctness) Suppose that K is a Kripke structure of a dynamic update and P is a set of LTL formulas for a given set P of properties The dynamic update is called P-correct iff for each p in P, K = p Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [23/45]
24 An algorithm of designing a P-correct dynamic update input : K1, K2, T, f, P output : A set S of update points, a refined update bringing forward mechanism T and a refined state transformation function f 1 S := S1; f := f; T := T ; 2 while true do 3 Synthesize a Kripke structure K with K1, K2, S, T, f ; 4 if K = (( req req) upd) then /* Check the updatability */ 5 Refine S and T based on the counterexample; 6 else 7 Construct LTL formulas P for P with respect to K ; hasce := false; 8 foreach p in P do 9 if K = p then /* Check if the counterexample is real for p */ 10 if p = ((p1 U req) (( new new) p2)) then 11 if K1 = p1 K2 = p2 then { hasce:= true; break;} else return null ; /* The counterexample is real for p */ 12 else if p = (( new new) p ) then 13 if K2 = p then { hasce:= true; break; } else return null; /* If p is not satisfied by K2 */ 14 if hasce then /* A real counterexample is found */ 15 Refine S and f based on the counterexample; 16 else 17 break; 18 return S, T and f ; /* The algorithm terminates here */ Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [24/45]
25 A Case Study The Railcab system: a conceptual driverless rail-bound transportation system proposed at the University of Paderborn Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [25/45]
26 A buggy crossing mechanism in the Railcab system 1 At endofts, a Railcab sends a message to the controller to request for passing 2 The controller replies a message to approve (if the gate is open) and reject (if the gate is closed) the request 3 If the request is Research approved, Center the controller for Software then Verification closes the gate When a Railcab is crossing the gate, the gate may be still open Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [26/45]
27 A modification 1 A new signal trigger approchcrossing is added 2 At approchcrossing, the Railcab sends a message to the controller to check the status of the gate 3 If the messageresearch replied bycenter the controller for Software saysverification the gate is close, it will pass, otherwise, Japan it stops Advanced Institute of Science and Technology Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [27/45]
28 To design a dynamic update to the buggy mechanism Some requirements to the update: 1 After update, the bug should be fixed, ie, whenever the Railcab is passing the crossing, the gate must be closed 2 The update should be transparent to the Railcab, ie, not affecting the running Railcabs To design such an update: 1 What should be done to achieve the update, ie, state transformation? 2 When is it safe to apply, ie, update points? 3 How to apply as soon as possible, ie, update bringing forward mechanism? Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [28/45]
29 The Railcab system as a Distributed system RailCab s 6 brake s 7 recrespr s 0 sendreq s 1 s 2 s 4 recrespg move2leb move2nr s 5 sendp ass s 10 move2leb recrespg ebrake s 3 recrespr s 8 ebrake s 9 Controller opengate closegate s 3 sendrespg s 1 getreq s 0 s 2 getp ass sendrespr Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [29/45]
30 Specification of the buggy crossing mechanism in Maude (I) Maude: an algebraic specification language based on rewriting logic We choose Maude because it supports LTL model checking A system state is represented as a multiset of sort OldState (gate:_)(conloc:_)(cabloc:_)(chan1:_)(chan2:_) (cabsta:_)(pass:_) gate: the status of gate, ie, open or close conloc: the state of the controller cabloc: the location of the Railcab chan1: the sequence of the messages sent from the Railcab to the controller chan2: the sequence of the messages sent from the controller to the Railcab cabsta: the status Research of the Center Railcab, for Software ie, running Verification or braked pass: the request Japan result: Advanced ie, approved Institute or of rejected Science and Technology Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [30/45]
31 Specification of the buggy crossing mechanism in Maude (II) Specification of the transitions as rewrite rules: Example (sending a request message) The Railcab sends a request to the controller when it is at the endofts location rl [ sendreq]:( cabloc: endofts) ( chan1: SQ) => ( cabloc: lastbrake)( chan1: ( reqmsg & SQ)) SQ: a variable of MsgSeq (sort of sequences of messages) Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [31/45]
32 sendchk recrespr Formalization of the new crossing mechanism New RailCab s 6 brake s 7 s 12 move2leb s 13 recgateo recgatec recgatec move2nr s 0 recrespg move2leb s1 s 2 s 4 s 5 sendp ass s 10 sendreq move2leb s 11 s 3 New controller opengate recrespg recrespr closegate s 8 recgateo ebrake s 3 ebrake ebrake s 9 sendrespg s 1 getp ass getreq s 0 s 2 sendgatec/ Research Center getchk for Software Verification sendrespr sendgateo s 4 Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [32/45]
33 Specification of the new crossing mechanism in Maude Let NewState be the sort of states of the new mechanism (gate ':_)(conloc ':_)(cabloc ':_)(chan1 ':_)(chan2 ':_) (cabsta ':_)(pass ':_)(appres:_) appres: to record the result of the gate status learned from the message replied by the controller, unknown, open or close Transitions in the new crossing mechanism can be formalized similarly Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [33/45]
34 An initial design of a dynamic update Update points: we simply assume that the update can take place at any moment State transformation: simply copy the old state to the new one and initialize appres by unknown Update bringing forward: no, because the update is expected to be transparent to the Railcab Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [34/45]
35 Formalization of the initial design Formalization of the state transformation: op f : OldState -> NewState eq f(( gate: B)( conloc: L1)( cabloc: L2)( chan1: CH1) ( chan2: CH2)( cabsta: S)( pass: P)) = (gate ': B)( conloc ': L1)( cabloc ': L2)(chan1 ': CH1) (chan2 ': CH2)( cabsta ': S)(pass ': P)(appRes: unknown) Formalization of the update request and update application: rl [ request]: ( req: false) => ( req: true) rl [ apply]: ( req: true) OS: OldState => f(os) We declare a super sort State, ie, OldState NewState < State We add a new field (req:_) to the old state to formalize the update request Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [35/45]
36 Formalization of the expected properties of the dynamic update Crossing property After updating, when the Railcab is at the noreturn point, the gate must be closed Passability If the gate is open and the Railcab wants to pass the crossing, it must finally pass the RailCab is at the noreturn point passed: the RailCab has already passed the crossing gateclose: the gate is closed gateopen: the gate is open Crossing property: Research Center p 1 (@noret for Software Verification gateclose) Passability: Japan p 2 Advanced (gateopen Institute passed of Science Technology Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [36/45]
37 Verification by model checking The LTL formulas to be model checked: Updatability : (( req req) upd) (1) Crossing property : (( new new) p 1 ) (2) Passability : (( new new) p 2 ) (3) Verification result of Formula 1: no counterexample Maude found a counterexample for Formula 2 The snippet of the counterexample: {(loc: noreturn)(gate: false),update} {(loc ': noreturn)(gate ': false),closegate} Update takes placeresearch when thecenter RailCab forissoftware at noreturn Verification point Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [37/45]
38 Refinement of the dynamic update (I) Exclude the states where the RailCab is at the noreturn point from the update points: crl [ apply]: ( req: true) ( cabloc : L) OS: OldState => f(( cabloc : L) OS) if L =/= noreturn Model checking result with the refined dynamic update: Formula 1: no counterexample Formula 2: no counterexample A counterexample is found for Formula 3: {(loc: lastbrake)(gate:false),update}{(loc ':lastbrake) ( gate ': false)( appres: unknown),move2leb} {loc ': lastemergencybrake)(appres: Research Center for Software unknown),ebrake} Verification {,deadlock} Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [38/45]
39 Refinement of the dynamic update (II) Exclude the states where the RailCab is at the lastbrake point from the update points: crl [ apply]: ( req: true) ( cabloc : L) OS: OldState => f(( cabloc : L) OS) if L =/= noreturn and L =/= lastbrake Model checking result with the refined dynamic update: Formula 1: no counterexample Formula 2: no counterexample A counterexample is found for Formula 3: {(loc: lastemergencybrake)(gate:false),update}{(loc ': lastemergencybrake)( Research Center gate for ': Software false)( appres: Verification unknown), ebrake} {,deadlock} Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [39/45]
40 Refinement of the dynamic update (III) Exclude the states where the RailCab is at the lastbrake point from the update points: crl [ apply]: ( req: true) ( cabloc : L) OS: OldState => f(( cabloc : L) OS) if L =/= noreturn and L =/= lastbrake and L =/= lastemergencybrake Model checking result with the refined dynamic update: Formula 1: no counterexample Formula 2: no counterexample Formula 3: no counterexample Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [40/45]
41 Another refinement The reason for the counterexample is that when the RailCab is at lastbrake or lastemergencybrake location, the value of appres is initialized to be unknown, regardless of the status of gate No chance for the RailCab to send the second message to check the status We can initialize appres according to the status of the gate when the RailCab is at the lastbrake or lastemergencybrake op f' : OldState -> NewState ceq f'(( gate: B)( conloc: L1)( cabloc: L2)( chan1: CH1) ( chan2: CH2)( cabsta: S)( pass: P)) = (gate ': B)( conloc ': L1)( cabloc ': L2)(chan1 ': CH1) (chan2 ': CH2)( cabsta ': S)(pass ': P) (appres: if B then close else unknown) if L2 = lastbrake or L2 = lastemergencybrake No counterexample Research is found Center for the for three Software formulas Verification even if the update takes update when the RailCab Japan Advanced is at lastbrake Institute or of lastemergencybrake Science and Technology Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [41/45]
42 Lessons learned from the case study With the proposed formal approach, we can design a dynamic update 1 identifying a set of update points 2 defining an appropriate state transformation function 3 the dynamic update is verified to satisfy a set of desired properties 4 state transformation and update points depend on each other Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [42/45]
43 Some limitations and possible extensions The proposed approach is suited 1 to systems with finite state space 2 to closed systems (no interaction with environment) 3 to instantaneous dynamic update Some possible extensions 1 for infinite-state system: abstraction or narrowing-based model checking 2 for open systems which need to interact the environment: Labeled Kripke structure 3 to incremental dynamic update: to formalize the synchronization mechanism between Research the Center old and for new Software systems Verification during updating Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [43/45]
44 Conclusion and future work A formal approach to the design of dynamic update: 1 Instantaneous and incremental dynamic update 2 Property-based correctness of dynamic update 3 Counterexample-guided design of dynamic update 4 The dependency between update points and state transformation Future work: to extend the proposed approach 1 for infinite-state system 2 for open systems which need to interact the environment 3 for incremental dynamic update Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [44/45]
45 Q&A ありがとうございました! Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates [45/45]
Introduction to Software Verification
Introduction to Software Verification Orna Grumberg Lectures Material winter 2013-14 Lecture 4 5.11.13 Model Checking Automated formal verification: A different approach to formal verification Model Checking
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Fabio Patrizi DIS Sapienza - University of Rome
Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research
Model Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
Development of the Incorporating System of Automatic Contrast Injector and Radiology Information System (RIS) for Contrast-enhanced CT Examination
Development of the Incorporating System of Automatic Contrast Injector and Radiology Information System (RIS) for Contrast-enhanced CT Examination M.Hashida 1, R.Ikeda 1, M.Hatemura 1, Y.Yamashita 2 N.Tano
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
Linux Foundation Automotive Summit - Yokohama, Japan
It s not an embedded Linux distribution It creates a custom one for you. The Yocto Project Linux Foundation Automotive Summit - Yokohama, Japan Tracey M. Erway The Yocto Project Advocacy and Communications
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Iterated Dynamic Belief Revision. Sonja Smets, University of Groningen. website: http://www.vub.ac.be/clwf/ss
LSE-Groningen Workshop I 1 Iterated Dynamic Belief Revision Sonja Smets, University of Groningen website: http://www.vub.ac.be/clwf/ss Joint work with Alexandru Baltag, COMLAB, Oxford University LSE-Groningen
Runtime Verification for Real-Time Automotive Embedded Software
Runtime Verification for Real-Time Automotive Embedded Software S. Cotard, S. Faucou, J.-L. Béchennec, A. Queudet, Y. Trinquet 10th school of Modelling and Verifying Parallel processes (MOVEP) Runtime
Software Verification and Testing. Lecture Notes: Temporal Logics
Software Verification and Testing Lecture Notes: Temporal Logics Motivation traditional programs (whether terminating or non-terminating) can be modelled as relations are analysed wrt their input/output
Temporal Logics. Computation Tree Logic
Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving
The Role of Automation Systems in Management of Change
The Role of Automation Systems in Management of Change Similar to changing lanes in an automobile in a winter storm, with change enters risk. Everyone has most likely experienced that feeling of changing
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Agenda. About Gengo. Our PostgreSQL usage. pgpool-ii. Lessons
Agenda About Gengo Our PostgreSQL usage pgpool-ii Lessons Agenda About Gengo Our PostgreSQL usage pgpool-ii Lessons Who I am 冨 田 陽 介 Backend and Ops Engineer Experience Ops role for the first time at Gengo,
Tohoku University and the Great East Japan Earthquake Our Role, Responsibility and Mission. Susumu SATOMI President, Tohoku University
Tohoku University and the Great East Japan Earthquake Our Role, Responsibility and Mission Susumu SATOMI President, Tohoku University 1 The Great East Japan Earthquake: Outline Multi hazards Mega Earthquake,
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
レッドハット 製 品 プライスリスト Red Hat Enterprise Linux 製 品 (RHEL for HPC) 更 新 :2015 年 4 22
レッドハット 製 品 プライスリスト Red Hat Enterprise Linux 製 品 (RHEL for HPC) 更 新 :2015 年 4 22 薄 紫 :3 年 型 番 :5 年 型 番 字 : 新 規 追 加 変 更 当 価 格 表 は 予 告 なしに 変 更 する 場 合 がございますので ご 了 承 ください 価 格 は 全 て 税 抜 きでの 掲 載 となっております 新 規
Development of dynamically evolving and self-adaptive software. 1. Background
Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements
Verifying Specifications with Proof Scores in CafeOBJ
Verifying Specifications with Proof Scores in CafeOBJ FUTATSUGI, Kokichi 二 木 厚 吉 Chair of Language Design Graduate School of Information Science Japan Advanced Institute of Science and Technology (JAIST)
Automata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: [email protected] March 2006 Supporting and Background Material Copies of key slides (already
INF5140: Specification and Verification of Parallel Systems
Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline
CS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
Fundamentals of Software Engineering
Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
= 注 意 = 更 新 型 番 (RN) 複 数 年 型 番 (F3 F5)も 対 象 に 含 みます 改 訂 日 付 SKU Description No.
= 注 意 = 更 新 型 番 (RN) 複 数 年 型 番 (F3 F5)も 対 象 に 含 みます 改 訂 日 付 SKU Description No. MCT2886 Red Hat Enterprise Linux OpenStack Platform, Premium (2-sockets) 1 MCT2887 Red Hat Enterprise Linux OpenStack Platform,
What the EU -Japan Centre for Industrial Cooperation can offer to the EU and Japanese Companies? Silviu Jora, General Manager (EU side)
What the EU -Japan Centre for Industrial Cooperation can offer to the EU and Japanese Companies? Silviu Jora, General Manager (EU side) -World s third-largest market -Sophisticated consumers high purchasing
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
Copyright 2015 NTT corp. All Rights Reserved.
2.1. Example configuration Web Browser Web Server Repository DB pg_stats_reporter stastinfo agent statsinfo agent statsinfo agent Target server(instance)s 2.2. pg_statsinfo in detail pg_statsinfo agent
Software safety - DEF-STAN 00-55
Software safety - DEF-STAN 00-55 Where safety is dependent on the safety related software (SRS) fully meeting its requirements, demonstrating safety is equivalent to demonstrating correctness with respect
Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl
Model checking test models Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl February 14, 2014 Abstract This thesis is about model checking testing models. These testing
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Introduction to Promela and SPIN. LACL, Université Paris 12
Introduction to Promela and SPIN LACL, Université Paris 12 Promela = Process Meta Language A specification language! No programming language! Used for system description : Specify an abstraction of the
CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models
CSC 492 The Practice of Software Engineering Lecture 3 University of Mount Union Software Life Cycle Models Software Life Cycle Models Every program (no matter what size) has several distinct phases that
INF5140: Specification and Verification of Parallel Systems
INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries
Data Mining for Risk Management in Hospital Information Systems
Data Mining for Risk Management in Hospital Information Systems Shusaku Tsumoto and Shoji Hirano Department of Medical Informatics, Shimane University, School of Medicine, 89-1 Enya-cho, Izumo 693-8501
Using Patterns and Composite Propositions to Automate the Generation of Complex LTL
University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex
Panasonic AC-DC Power Supply Design Support Service
Panasonic AC-DC Power Supply Design Support Service The best solution to design your AC-DC power supply (how to design a switching power supply, order a transformer, prevent EMI, etc.) Panasonic s IPD
The Leader Election Protocol of IEEE 1394 in Maude
The Leader Election Protocol of IEEE 1394 in Maude Alberto Verdejo, Isabel Pita, and Narciso Martí-Oliet Technical Report 118.01 Dpto. de Sistemas Informáticos y Programación Universidad Complutense de
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A
Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A Developed By Brian Weinfeld Course Description: AP Computer
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Model Checking LTL Properties over C Programs with Bounded Traces
Noname manuscript No. (will be inserted by the editor) Model Checking LTL Properties over C Programs with Bounded Traces Jeremy Morse 1, Lucas Cordeiro 2, Denis Nicole 1, Bernd Fischer 1,3 1 Electronics
IV. Software Lifecycles
IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle
Translating Stochastic CLS into Maude
Translating Stochastic CLS into Maude (ONGOING WORK) Thomas Anung Basuki 1 Antonio Cerone 1 Paolo Milazzo 2 1. Int. Institute for Software Technology, United Nations Univeristy, Macau SAR, China 2. Dipartimento
Runtime Verification of Concurrent Haskell Programs
Runtime Verification of Concurrent Haskell Programs Volker Stolz RWTH Aachen University, 52056 Aachen, Germany Frank Huch Christian-Albrecht-University of Kiel, 24118 Kiel, Germany Abstract In this article
IP Litigation in Europe and in Germany
& P A R T N E R P A T E N T A T T O R N E Y S D Ü S S E L D O R F M U N I C H IP Litigation in Europe and in Germany Dr. Dirk Schulz Outline - Patent litigation in Europe - German patent litigation system
SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova
SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova Where someone is building a Web application, often he need to use databases to store information, or to manage user accounts. And
Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012
Latches, the D Flip-Flop & Counter Design ECE 52A Winter 22 Reading Assignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7. Basic Latch 7.2 Gated SR Latch 7.2. Gated SR
My experience of Ruby Education in Taiwan
My experience of Ruby Education in Taiwan ~ 台 湾 にRuby 教 育 で 得 た 知 見 Mu-Fan Teng(@ryudoawaru) Ruby World Conference はじめに 発 表 する 機 会 をいただき ありがとうございます 自 己 紹 介 鄧 慕 凡 (Mu-Fan Teng) a.k.a: 竜 堂 終 両 方 どもある 小 説
レッドハット 製 品 プライスリスト 標 準 価 格. Red Hat Enterprise Linux 製 品 (RHEL Server)
レッドハット 製 品 プライスリスト Red Hat Enterprise Linux 製 品 (RHEL Server) 新 価 格 は6 月 1 日 から 適 用 開 始 と 致 します 薄 紫 :3 年 型 番 水 色 :5 年 型 番 赤 文 字 : 新 規 追 加 変 更 当 価 格 表 は 予 告 なしに 変 更 する 場 合 がございますので ご 了 承 ください 税 込 価 格 は
Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
Product: DQ Order Manager Release Notes
Product: DQ Order Manager Release Notes Subject: DQ Order Manager v7.1.25 Version: 1.0 March 27, 2015 Distribution: ODT Customers DQ OrderManager v7.1.25 Added option to Move Orders job step Update order
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
Copyright. Network and Protocol Simulation. What is simulation? What is simulation? What is simulation? What is simulation?
Copyright Network and Protocol Simulation Michela Meo Maurizio M. Munafò [email protected] [email protected] Quest opera è protetta dalla licenza Creative Commons NoDerivs-NonCommercial. Per
Loop Invariants and Binary Search
Loop Invariants and Binary Search Chapter 4.3.3 and 9.3.1-1 - Outline Ø Iterative Algorithms, Assertions and Proofs of Correctness Ø Binary Search: A Case Study - 2 - Outline Ø Iterative Algorithms, Assertions
How To Handle A Power Outage On A Server Farm (For A Small Business)
Topic: Load balancing 4/03/2014 (c) A. Mariën 1 High Availability Key property: availability high is relative Important to determine correctly Cost of unavailability Business continuity: how long can one
Cost Accounting 1. B r e a k e v e n A n a l y s i s. S t r a t e g y I m p l e m e n t a t i o n B a l a n c e d S c o r e c a r d s
Cost Accounting 1 B r e a k e v e n A n a l y s i s S t r a t e g y I m p l e m e n t a t i o n B a l a n c e d S c o r e c a r d s S t r a t e g y M o n i t o r i n g R e s p o n s i b i l i t y S e g
Digital Design Verification
Digital Design Verification Course Instructor: Debdeep Mukhopadhyay Dept of Computer Sc. and Engg. Indian Institute of Technology Madras, Even Semester Course No: CS 676 1 Verification??? What is meant
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
Software Tender for Voice over IP Telephony SuperTel Incorporated
Software Tender for Voice over IP Telephony SuperTel Incorporated 1 Introduction The following sections together with an accompanying hardware interface description (HID) for SuperTel s new IP phone comprise
VDM vs. Programming Language Extensions or their Integration
VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
Software quality engineering. Quality assurance. Testing
4 Software Quality Engineering c Jeff Tian, to be published by John Wiley, 2005 Software quality engineering Quality assurance Testing Figure 1.1. engineering Scope and content hierarchy: Testing, quality
AE64 TELECOMMUNICATION SWITCHING SYSTEMS
Q2. a. Draw the schematic of a 1000 line strowger switching system and explain how subscribers get connected. Ans: (Page: 61 of Text book 1 and 56 of Text book 2) b. Explain the various design parameters
Homework 1 (Time, Synchronization and Global State) - 100 Points
Homework 1 (Time, Synchronization and Global State) - 100 Points CS25 Distributed Systems, Fall 2009, Instructor: Klara Nahrstedt Out: Thursday, September 3, Due Date: Thursday, September 17 Instructions:
Maintenance Training Concepts for the Wind Industry. BZEE Academy GmbH. 26 th of February, 2013, Tokyo
Maintenance Training Concepts for the Wind Industry BZEE Academy GmbH 26 th of February, 2013, Tokyo BZEE - Training Centre for Renewable Energy BZEE training centre in Husum, Germany Worldwide training
Automated Route Planning for Milk-Run Transport Logistics with the NuSMV Model Checker
IEICE TRANS. INF. & SYST., VOL.E96 D, NO.12 DECEMBER 2013 2555 PAPER Special Section on Parallel and Distributed Computing and Networking Automated Route Planning for Milk-Run Transport Logistics with
tutorial: hardware and software model checking
tutorial: hardware and software model checking gerard holzmann and anuj puri { gerard anuj } @research.bell-labs.com Bell Labs, USA outline introduction (15 mins) theory and algorithms system modeling
INTRODUCTION TO DATABASE SYSTEMS
1 INTRODUCTION TO DATABASE SYSTEMS Exercise 1.1 Why would you choose a database system instead of simply storing data in operating system files? When would it make sense not to use a database system? Answer
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
Advanced Systems Security: Retrofitting Commercial Systems
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:
2) What is the structure of an organization? Explain how IT support at different organizational levels.
(PGDIT 01) Paper - I : BASICS OF INFORMATION TECHNOLOGY 1) What is an information technology? Why you need to know about IT. 2) What is the structure of an organization? Explain how IT support at different
Alok Gupta. Dmitry Zhdanov
RESEARCH ARTICLE GROWTH AND SUSTAINABILITY OF MANAGED SECURITY SERVICES NETWORKS: AN ECONOMIC PERSPECTIVE Alok Gupta Department of Information and Decision Sciences, Carlson School of Management, University
An Overview of the Runtime Verification Tool Java PathExplorer
An Overview of the Runtime Verification Tool Java PathExplorer Klaus Havelund Kestrel Technology NASA Ames Research Center California, USA http://ase.arc.nasa.gov/havelund Grigore Roşu Department of Computer
