Problem Sheet 9: Software Model Checking Sample Solutions
|
|
- Peregrine O’Neal’
- 8 years ago
- Views:
Transcription
1 Problem Sheet 9: Software Model Checking Sample Solutions Chris Poskitt ETH Zürich 1 Predicate Abstraction i. Let us first visualise c and not c in a Venn diagram: not c c P red(not c) gives the weakest under-approximation of not c. In other words, P red(not c) implies not c, but not (in general) the converse. A possible visualisation in a Venn diagram might then be: Pred(not c) c In negating P red(not c), we then get the strongest over-approximation, visualised as follows: Pred(not c) c not Pred(not c) Some exercises adapted from ones written by Stephan van Staden and Carlo A. Furia. 1
2 ii. We build a Boolean abstraction from C 1, one line at a time. First, we over-approximate assume x > 0 with assume P red( x > 0), followed by a parallel conditional assignment updating the predicates with respect to the original assume statement. P red( x > 0) = ( p) Hence we add assume p to A 1. This should be followed by a parallel conditional assignment (as described in the slides): if Pred(+ex(i)) then p(i) := True if Pred(-ex(i)) then p(i) := False p :=? Using the axiom {c post} assume c {post} for the weakest precondition of assume statements, we compute every +/ ex(i) for predicates i: = p +ex(p) = (x > 0 x > 0) ex(p) = (x > 0 x > 0) +ex(q) = (x > 0 y > 0) ex(q) = (x > 0 y > 0) +ex(r) = (x > 0 z > 0) ex(r) = (x > 0 z > 0) We apply the simplification step from the slides, and omit each P red(ex(i)) that is not unconditionally valid. It so happens that only: P red(+ex(p)) = P red(x > 0 x > 0) = P red(true) = true is valid, hence the parallel conditional assignment reduces to simply: if True then p :=? This reduces even further to, which we add to A 1. 2
3 Next, we address the assignment z := (x y) + 1. Recall that an assignment x := f is over-approximated by a parallel conditional assignment: if Pred(+f(i)) then p(i) := True if Pred(-f(i)) then p(i) := False p :=? Using the axiom {post[f/x]} x := f {post} and the definition of +/ f(i) for predicates i, we get: P red(+f(p)) = P red(x > 0) = p P red( f(p)) = P red( x > 0) = p P red(+f(q)) = P red(y > 0) = q P red( f(q)) = P red( y > 0) = q P red(+f(r)) = P red((x y) + 1 > 0) = (p q) ( p q) P red( f(r)) = P red( (x y) + 1 > 0) = P red((x y) + 1 0) = false The parallel conditional assignments for p, q have no effect, hence we add only the following to A 1 : if (p and q) or (not p and not q) then r := True if False then r := False Finally, we address the assertion assert z >= 1. The Boolean abstraction is simply assert P red(z 1). We have: and hence add assert r to A 1. P red(z 1) = r 3
4 Altogether, A 1 is the following program: assume p if (p and q) or (not p and not q) then r := True if False then r := False assert r With a further simplification, we get: assume p if (p and q) or (not p and not q) then r := True assert r 4
5 iii. (a) After normalising the program (following the details in the slides) we get: assume x > 0 y := x + x assume x <= 0 assume x = 0 y := 1 assume x /= 0 y := x * x assert y > 0 (b) To build A 2 from the normalised code above, apply the transformations to each assignment, assume, and assert, analogously to how I did when constructing A 1 (except that this time you only have two predicates, p and q). The resulting abstraction (after some simplifications) should be equivalent to this: assume p q := True assume not p p := False assume not p p := False q := True assume True -- can delete this assume q :=? assert q 5
6 2 Error Traces i. An abstract error trace is: [p, not q, r] assume p [p, not q, r] [p, not q, r] [p, not q, not r] assert r Observe that each concrete instruction corresponds to a (compound) abstract instruction. We can check whether or not this is a feasible concrete run by computing the weakest precondition of the concrete instructions with respect to p q r, interpreting conditions (assume, conditionals, or exit conditions) as asserts: {x > 0 and y <= 0 and (x*y)+1 <= 0} {(x > 0 and y <= 0 and (x*y)+1 <= 0) and x > 0} assert x > 0 {x > 0 and y <= 0 and (x*y)+1 <= 0} z := (x*y) + 1 {x > 0 and y <= 0 and z <= 0} [p, not q, not r] Executing the concrete program on a state s such that s = x > 0 y 0 (x y) will reveal the fault. One possible input state (of many) is s = {x 3, y 2, z }. ii. Here is an abstract counterexample trace: assume not p p := False assume True q :=? assert q As before, we check whether or not this abstract execution reflects a feasible, concrete counterexample, by computing the weakest precondition of the corresponding concrete instructions with respect to p q. Again, we interpret conditions (assume in this case) as asserts, and apply the corresponding Hoare logic axioms: 6
7 {x < 0 and x*x <= 0} {x <= 0 and x /= 0 and x <= 0 and x*x <= 0} assert x <= 0 {x /= 0 and x <= 0 and x*x <= 0} assert x /= 0 {x <= 0 and x*x <= 0} y := x*x {x <= 0 and y <= 0} Observe that in this case, the weakest precondition we have constructed is equivalent to false. There is no assignment to x that will satisfy the assertion. Hence the abstract counterexample is infeasible (spurious) in the concrete program; abstraction refinement is needed. 7
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
More informationRigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
More informationSoftware 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
More informationG Barnaby Electronics Ltd case Study - Comparison of Entity-Relationship and Normalisation Database Designs
G Barnaby Electronics Ltd case Study - Comparison of Entity-Relationship and Normalisation Database Designs G.1 Compare the two Database Designs created from the Entity-Relationship Model and Normalisation
More informationPROPERTECHNIQUEOFSOFTWARE INSPECTIONUSING GUARDED COMMANDLANGUAGE
International Journal of Computer ScienceandCommunication Vol. 2, No. 1, January-June2011, pp. 153-157 PROPERTECHNIQUEOFSOFTWARE INSPECTIONUSING GUARDED COMMANDLANGUAGE Neeraj Kumar Singhania University,
More informationFormal 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
More informationBoolean Algebra Part 1
Boolean Algebra Part 1 Page 1 Boolean Algebra Objectives Understand Basic Boolean Algebra Relate Boolean Algebra to Logic Networks Prove Laws using Truth Tables Understand and Use First Basic Theorems
More informationTowards Reasoning in the presence of code of unknown provenance
Towards Reasoning in the presence of code of unknown provenance - or, trust and risk in an open world - Sophia Drossopoulou (Imperial), James Noble (Victoria University Wellington), Toby Murray (NICTA),
More informationdef: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system.
Section 1.5 Methods of Proof 1.5.1 1.5 METHODS OF PROOF Some forms of argument ( valid ) never lead from correct statements to an incorrect. Some other forms of argument ( fallacies ) can lead from true
More informationhttp://www.guido.be/intranet/enqueteoverview/tabid/152/ctl/eresults...
1 van 70 20/03/2014 11:55 EnqueteDescription 2 van 70 20/03/2014 11:55 3 van 70 20/03/2014 11:55 4 van 70 20/03/2014 11:55 5 van 70 20/03/2014 11:55 6 van 70 20/03/2014 11:55 7 van 70 20/03/2014 11:55
More informationA Note on Context Logic
A Note on Context Logic Philippa Gardner Imperial College London This note describes joint work with Cristiano Calcagno and Uri Zarfaty. It introduces the general theory of Context Logic, and has been
More informationHow To Improve Autotest
Applying Search in an Automatic Contract-Based Testing Tool Alexey Kolesnichenko, Christopher M. Poskitt, and Bertrand Meyer ETH Zürich, Switzerland Abstract. Automated random testing has been shown to
More informationRigorous Software Engineering Hoare Logic and Design by Contracts
Rigorous Software Engineering Hoare Logic and Design by Contracts Simão Melo de Sousa RELEASE (UBI), LIACC (Porto) Computer Science Department University of Beira Interior, Portugal 2010-2011 S. Melo de
More informationGrade descriptions Computer Science Stage 1
Stage 1 A B C Accurately uses a wide range of terms and concepts associated with current personal computers, home networking and internet connections. Correctly uses non-technical and a range of technical
More informationModel Driven Security: Foundations, Tools, and Practice
Model Driven Security: Foundations, Tools, and Practice David Basin, Manuel Clavel, and ETH Zurich, IMDEA Software Institute Thursday 1st, 2011 Outline I 1 Models Analysis. Types. 2 The Object Constraint
More informationA Systematic Approach. to Parallel Program Verication. Tadao TAKAOKA. Department of Computer Science. Ibaraki University. Hitachi, Ibaraki 316, JAPAN
A Systematic Approach to Parallel Program Verication Tadao TAKAOKA Department of Computer Science Ibaraki University Hitachi, Ibaraki 316, JAPAN E-mail: takaoka@cis.ibaraki.ac.jp Phone: +81 94 38 5130
More informationCHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs
CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce
More informationT-79.232 Safety Critical Systems Case Study 2: B Method - Basic Concepts
T-79.232 Safety Critical Systems Case Study 2: B Method - Basic Concepts February 21, 2008 T-79.5303: Case Study 2: B Method - Basic Concepts 2-1 B method - what is it about? B method describes entities
More informationChapter 9. Systems of Linear Equations
Chapter 9. Systems of Linear Equations 9.1. Solve Systems of Linear Equations by Graphing KYOTE Standards: CR 21; CA 13 In this section we discuss how to solve systems of two linear equations in two variables
More informationChapter 10 Expectations. NOTE: Whenever you see the word communicate, it is implied that it means to communicate both verbally and in writing!
Chapter 10 Expectations NOTE: Whenever you see the word communicate, it is implied that it means to communicate both verbally and in writing! Section 1: Expectations for Interest 1. Communicate to your
More informationReasoning About the Unknown in Static Analysis
Reasoning About the Unknown in Static Analysis Isil Dillig Thomas Dillig Alex Aiken {isil, tdillig, aiken}@cs.stanford.edu Computer Science Department Stanford University ABSTRACT Static program analysis
More informationSofware Requirements Engineeing
Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable
More informationMathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
More informationInvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
More informationJordan University of Science & Technology Computer Science Department CS 728: Advanced Database Systems Midterm Exam First 2009/2010
Jordan University of Science & Technology Computer Science Department CS 728: Advanced Database Systems Midterm Exam First 2009/2010 Student Name: ID: Part 1: Multiple-Choice Questions (17 questions, 1
More informationsimplicity hides complexity
flow of control backtracking reasoning in logic and in Prolog 1 simplicity hides complexity simple and/or connections of goals conceal very complex control patterns Prolog programs are not easily represented
More information(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.
(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,
More informationSoftware Design. Software Design. Software design is the process that adds implementation details to the requirements.
Software Design Software Design Software design is the process that adds implementation details to the requirements. It produces a design specification that can be mapped onto a program. It may take several
More informationModel 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
More informationSet operations and Venn Diagrams. COPYRIGHT 2006 by LAVON B. PAGE
Set operations and Venn Diagrams Set operations and Venn diagrams! = { x x " and x " } This is the intersection of and. # = { x x " or x " } This is the union of and. n element of! belongs to both and,
More informationCoverability for Parallel Programs
2015 http://excel.fit.vutbr.cz Coverability for Parallel Programs Lenka Turoňová* Abstract We improve existing method for the automatic verification of systems with parallel running processes. The technique
More informationEXAM FOR INFOTECH SOFTWARE ENGINEERING FOR REAL-TIME SYSTEMS. Suggested Solution WS 13/14. - Without Engagement -
EXAM FOR INFOTECH SOFTWARE ENGINEERING FOR REAL-TIME SYSTEMS Suggested Solution WS 13/14 - Without Engagement - Task Theme Points Time required in min. 1 Analysis and Design 15 30 2 Basics and Test 10
More informationQuestion 2: How will changes in the objective function s coefficients change the optimal solution?
Question 2: How will changes in the objective function s coefficients change the optimal solution? In the previous question, we examined how changing the constants in the constraints changed the optimal
More informationSection 9.5: Equations of Lines and Planes
Lines in 3D Space Section 9.5: Equations of Lines and Planes Practice HW from Stewart Textbook (not to hand in) p. 673 # 3-5 odd, 2-37 odd, 4, 47 Consider the line L through the point P = ( x, y, ) that
More informationIAEA Training Course on Safety Assessment of NPPs to Assist Decision Making. System Analysis. Lecturer. Workshop Information IAEA Workshop
IAEA Training Course on Safety Assessment of NPPs to Assist Decision Making System Analysis Lecturer Lesson Lesson IV IV 3_2.3 3_2.3 Workshop Information IAEA Workshop City, XX XX - City -XX, Country Month,
More informationfacultad de informática universidad politécnica de madrid
facultad de informática universidad politécnica de madrid On the Confluence of CHR Analytical Semantics Rémy Haemmerlé Universidad olitécnica de Madrid & IMDEA Software Institute, Spain TR Number CLI2/2014.0
More informationFormal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
More informationLehrstuhl für Informatik 2
Analytical Learning Introduction Lehrstuhl Explanation is used to distinguish the relevant features of the training examples from the irrelevant ones, so that the examples can be generalised Introduction
More informationHow To Make A Correct Multiprocess Program Execute Correctly On A Multiprocedor
How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996
More informationThe confidence-probability semiring Günther J. Wirsching Markus Huber Christian Kölbl
UNIVERSITÄT AUGSBURG The confidence-probability semiring Günther J. Wirsching Markus Huber Christian Kölbl Report 2010-04 April 2010 INSTITUT FÜR INFORMATIK D-86135 AUGSBURG 2 Copyright c Günther J. Wirsching,
More information2.1. Inductive Reasoning EXAMPLE A
CONDENSED LESSON 2.1 Inductive Reasoning In this lesson you will Learn how inductive reasoning is used in science and mathematics Use inductive reasoning to make conjectures about sequences of numbers
More informationPaper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation
Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Abstract This paper discusses methods of joining SAS data sets. The different methods and the reasons for choosing a particular
More informationSection 1.4. Lines, Planes, and Hyperplanes. The Calculus of Functions of Several Variables
The Calculus of Functions of Several Variables Section 1.4 Lines, Planes, Hyperplanes In this section we will add to our basic geometric understing of R n by studying lines planes. If we do this carefully,
More informationSecurity Analysis of Role-based Access Control through Program Verification
Security Analysis of Role-based Access Control through Program Verification Anna Lisa Ferrara University of Bristol, UK anna.lisa.ferrara@bristol.ac.uk P. Madhusudan University of Illinois, USA madhu@illinois.edu
More informationTest Case Generation for Ultimately Periodic Paths Joint work with Saddek Bensalem Hongyang Qu Stavros Tripakis Lenore Zuck Accepted to HVC 2007 How to find the condition to execute a path? (weakest precondition
More informationPredicate Logic. Example: All men are mortal. Socrates is a man. Socrates is mortal.
Predicate Logic Example: All men are mortal. Socrates is a man. Socrates is mortal. Note: We need logic laws that work for statements involving quantities like some and all. In English, the predicate is
More informationSystem modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems
System modeling Business process modeling how to do it right Partially based on Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, J Koehler, J Vanhatalo, IBM Zürich, 2007.
More information4 Starts to flash when the system triggers an alarm/fault
1 4 Starts to flash when the system triggers an alarm/fault Emergency button if programmed 2 Deactivate 1 Activate 3 Partly Activate Note: The buttons on the wireless key fob are sensitive. Kindly handle
More informationHigh School Geometry Test Sampler Math Common Core Sampler Test
High School Geometry Test Sampler Math Common Core Sampler Test Our High School Geometry sampler covers the twenty most common questions that we see targeted for this level. For complete tests and break
More informationUFO: Verification with Interpolants and Abstract Interpretation
: Verification with Interpolants and Abstract Interpretation and Sagar Chaki Software Engineering Institute Carnegie Mellon University Aws Albarghouthi, Yi i and Marsha Chechik University of Toronto A
More informationCOMHAIRLE NÁISIÚNTA NA NATIONAL COUNCIL FOR VOCATIONAL AWARDS PILOT. Consultative Draft Module Descriptor. Relational Database
COMHAIRLE NÁISIÚNTA NA gcáilíochtaí GAIRMOIDEACHAIS NATIONAL COUNCIL FOR VOCATIONAL AWARDS PILOT Consultative Draft Module Descriptor Relational Database Level 3 C30147 December 1998 1 Title Relational
More informationI. Pointwise convergence
MATH 40 - NOTES Sequences of functions Pointwise and Uniform Convergence Fall 2005 Previously, we have studied sequences of real numbers. Now we discuss the topic of sequences of real valued functions.
More informationStudent Outcomes. Lesson Notes. Classwork. Discussion (10 minutes)
NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 5 8 Student Outcomes Students know the definition of a number raised to a negative exponent. Students simplify and write equivalent expressions that contain
More informationHow To Find Out What A Key Is In A Database Engine
Database design theory, Part I Functional dependencies Introduction As we saw in the last segment, designing a good database is a non trivial matter. The E/R model gives a useful rapid prototyping tool,
More informationSoftware Verification and System Assurance
Software Verification and System Assurance John Rushby Based on joint work with Bev Littlewood (City University UK) Computer Science Laboratory SRI International Menlo Park CA USA John Rushby, SR I Verification
More informationDIGITAL LOGIC CURRENT FLOW
Slide #1 DIGITAL LOGIC CURRENT FLOW By Henry W. Ott Henry Ott Consultants www.hottconsultants.com hott@ieee.org Slide #2 INTRODUCTION Many Engineers and Designers Are Confused About How And Where Digital
More informationA new evaluation model for e-learning programs
A new evaluation model for e-learning programs Uranchimeg Tudevdagva 1, Wolfram Hardt 2 Abstract This paper deals with a measure theoretical model for evaluation of e-learning programs. Based on methods
More information1 Operational Semantics for While
Models of Computation, 2010 1 1 Operational Semantics for While The language While of simple while programs has a grammar consisting of three syntactic categories: numeric expressions, which represent
More informationPredicate logic Proofs Artificial intelligence. Predicate logic. SET07106 Mathematics for Software Engineering
Predicate logic SET07106 Mathematics for Software Engineering School of Computing Edinburgh Napier University Module Leader: Uta Priss 2010 Copyright Edinburgh Napier University Predicate logic Slide 1/24
More informationUsable Verification of Object-Oriented Programs by Combining Static and Dynamic Techniques
Usable Verification of Object-Oriented Programs by Combining Static and Dynamic Techniques Julian Tschannen, Carlo A. Furia, Martin Nordio, and Bertrand Meyer Chair of Software Engineering, ETH Zurich,
More informationPropositional Logic. A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both.
irst Order Logic Propositional Logic A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both. Are the following sentences propositions? oronto
More informationVerification Everywhere: Security, Dependability, Reliability. Lenore D. Zuck Usable Verification, May 25, 2011
Verification Everywhere: Security, Dependability, Reliability Lenore D. Zuck Usable Verification, May 25, 2011 1 Trustworthy Protocols: NTLM A suite of Microsoft security protocols Proves authentication,
More informationMathematical Reasoning in Software Engineering Education. Peter B. Henderson Butler University
Mathematical Reasoning in Software Engineering Education Peter B. Henderson Butler University Introduction Engineering is a bridge between science and mathematics, and the technological needs of mankind.
More informationStructure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)
Stages in Teaching Formal Methods A. J. Cowling Structure of Presentation Introduction to Issues Motivation for this work. Analysis of the Role of Formal Methods Define their scope; Review their treatment
More informationAutomated Theorem Proving - summary of lecture 1
Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of
More informationCommunication Diagrams
Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes
More informationA Theorem Prover for Boolean BI
A Theorem Prover for Boolean BI Jonghyun Park Jeongbong Seo Sungwoo Park Department of Computer Science and Engineering Pohang University of Science and Technology (POSTECH) Republic of Korea {parjong,baramseo,gla}@postech.ac.kr
More informationSOLUTIONS. f x = 6x 2 6xy 24x, f y = 3x 2 6y. To find the critical points, we solve
SOLUTIONS Problem. Find the critical points of the function f(x, y = 2x 3 3x 2 y 2x 2 3y 2 and determine their type i.e. local min/local max/saddle point. Are there any global min/max? Partial derivatives
More informationLAKE ELSINORE UNIFIED SCHOOL DISTRICT
LAKE ELSINORE UNIFIED SCHOOL DISTRICT Title: PLATO Algebra 1-Semester 2 Grade Level: 10-12 Department: Mathematics Credit: 5 Prerequisite: Letter grade of F and/or N/C in Algebra 1, Semester 2 Course Description:
More informationChapter 11 Number Theory
Chapter 11 Number Theory Number theory is one of the oldest branches of mathematics. For many years people who studied number theory delighted in its pure nature because there were few practical applications
More informationSPECIFICATION SHEET : WH5-120-L
SPECIFICATION SHEET : WH5120L *F3 2 T8 3 1 0 6 0.9 3 1.2 6 1.1 9 *F3 2 T8 4 1 2 7 1.1 3 1.1 1 0.8 7 F5 4 T5 H O 2 1 0 8 0.9 6 1.0 7 0.9 9 *F5 8 T8 2 1 1 0 0.9 7 1.0 8 0.9 8 *F4 0 T1 0 2 1 0 1 0.9 0 1.3
More informationCase studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design
I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)
More informationTest case design techniques I: Whitebox testing CISS
Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch
More informationECON 305 Tutorial 7 (Week 9)
H. K. Chen (SFU) ECON 305 Tutorial 7 (Week 9) July 2,3, 2014 1 / 24 ECON 305 Tutorial 7 (Week 9) Questions for today: Ch.9 Problems 15, 7, 11, 12 MC113 Tutorial slides will be posted Thursday after 10:30am,
More informationintroduction to program monitoring
introduction to program monitoring CS 119 part II beyond assert and print course website http://www.runtime-verification.org/course09 action standing order: sell when price drops more than 2% within 1
More informationModel Checking of Software
Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving
More informationReasoning-based Techniques for Dealing with Incomplete Business Process Execution Traces
Reasoning-based Techniques for Dealing with Incomplete Business Process Execution Traces Piergiorgio Bertoli 1, Mauro Dragoni 2, Chiara Ghidini 2 and Chiara Di Francescomarino 2 1 SayService, Trento, Italy
More informationWhat's Wrong With Formal Programming Methods? Eric C.R. Hehner
What's Wrong With Formal Programming Methods? Eric C.R. Hehner Department of Computer Science, University of Toronto, Toronto M5S 1A4 Canada The January 1991 issue of Computing Research News includes the
More informationSoftware Model Checking. Equivalence Hierarchy
Software Equivalence Hierarchy Moonzoo Kim CS Dept. KAIST CS750B Software Korea Advanced Institute of Science and Technology Equivalence semantics and SW design Preliminary Hierarchy Diagram Trace-based
More information13.5. Click here for answers. Click here for solutions. CURL AND DIVERGENCE. 17. F x, y, z x i y j x k. 2. F x, y, z x 2z i x y z j x 2y k
SECTION CURL AND DIVERGENCE 1 CURL AND DIVERGENCE A Click here for answers. S Click here for solutions. 1 15 Find (a the curl and (b the divergence of the vector field. 1. F x, y, xy i y j x k. F x, y,
More informationDetecting and Exploiting Second Order Denial-of-Service Vulnerabilities in Web Applications
Detecting and Exploiting Second Order Denial-of-Service Vulnerabilities in Web Applications Oswaldo Olivo Isil Dillig Calvin Lin {olivo, isil, lin@cs.utexas.edu Department of Computer Science The University
More informationComputational Mathematics with Python
Boolean Arrays Classes Computational Mathematics with Python Basics Olivier Verdier and Claus Führer 2009-03-24 Olivier Verdier and Claus Führer Computational Mathematics with Python 2009-03-24 1 / 40
More information3 Extending the Refinement Calculus
Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada skill@qucis.queensu.ca Abstract. We extend the
More informationChoice under Uncertainty
Choice under Uncertainty Part 1: Expected Utility Function, Attitudes towards Risk, Demand for Insurance Slide 1 Choice under Uncertainty We ll analyze the underlying assumptions of expected utility theory
More informationo-minimality and Uniformity in n 1 Graphs
o-minimality and Uniformity in n 1 Graphs Reid Dale July 10, 2013 Contents 1 Introduction 2 2 Languages and Structures 2 3 Definability and Tame Geometry 4 4 Applications to n 1 Graphs 6 5 Further Directions
More informationService Specification and Validation for the Intelligent Network 1
Service Specification and Validation for the Intelligent Network 1 Pierre-Alain Etique Jean-Pierre Hubaux etique@vptt.ch hubaux@tcom.epfl.ch Swiss Telecom PTT Swiss Federal Institute of Technology Research
More informationIntroduction to Static Analysis for Assurance
Introduction to Static Analysis for Assurance John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Static Analysis for Assurance: 1 Overview What is static analysis?
More informationA Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 ooinfo@oeng.com http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
More informationINCIDENCE-BETWEENNESS GEOMETRY
INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full
More informationSystems Analysis and Design
Systems Analysis and Design Slides adapted from Jeffrey A. Hoffer, University of Dayton Joey F. George, Florida State University Joseph S. Valacich, Washington State University Modern Systems Analysis
More informationMDA and Analysis of Web Applications
MDA and Analysis of Web Applications Behzad Bordbar and Kyriakos Anastasakis School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK {B.Bordbar,K.Anastasakis}@cs.bham.ac.uk Abstract.
More informationAN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS Wesley Deneke 1, Wing-Ning Li 2, and Craig Thompson 2 1 Computer Science and Industrial Technology Department, Southeastern Louisiana University,
More informationNotes. Information Systems. Higher Still. Higher. www.hsn.uk.net. HSN31010 Database Systems First Normal Form. Contents
Higher Information Systems First Normal Form Contents Normalising to First Normal Form 1 What is Normalising? 1 Normal Forms 1 The Process 1 Worked Example 2 Why do we Normalise? 4 These notes were created
More information(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
More informationFormal verification of contracts for synchronous software components using NuSMV
Formal verification of contracts for synchronous software components using NuSMV Tobias Polzer Lehrstuhl für Informatik 8 Bachelorarbeit 13.05.2014 1 / 19 Problem description and goals Problem description
More informationTowards the development of a cognitive model of programming; A software engineering proposal
In E. Dunican & T.R.G. Green (Eds). Proc. PPIG 16 Pages 79-85 Towards the development of a cognitive model of programming; A software engineering proposal Des Traynor, J. Paul Gibson Computer Science Department
More informationComputational Mathematics with Python
Computational Mathematics with Python Basics Claus Führer, Jan Erik Solem, Olivier Verdier Spring 2010 Claus Führer, Jan Erik Solem, Olivier Verdier Computational Mathematics with Python Spring 2010 1
More informationDuality in General Programs. Ryan Tibshirani Convex Optimization 10-725/36-725
Duality in General Programs Ryan Tibshirani Convex Optimization 10-725/36-725 1 Last time: duality in linear programs Given c R n, A R m n, b R m, G R r n, h R r : min x R n c T x max u R m, v R r b T
More informationSemantics and Ontology of Logistic Cloud Services*
Semantics and Ontology of Logistic Cloud s* Dr. Sudhir Agarwal Karlsruhe Institute of Technology (KIT), Germany * Joint work with Julia Hoxha, Andreas Scheuermann, Jörg Leukel Usage Tasks Query Execution
More informationIntrinsic Limitations of Digital Signatures and How to Cope With Them
Intrinsic Limitations of Digital Signatures and How to Cope With Them Ueli Maurer Department of Computer Science ETH Zurich CH-8092 Zurich, Switzerland, maurer@inf.ethz.ch Abstract. Digital signatures
More information