(c) 2007 Mauro Pezzè & Michal Young The Big Picture.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Notes on “AMOEBA-RT: Run-Time Verification of Adaptive Software” Jozef Hooman Embedded Systems Institute, Eindhoven Radboud University Nijmegen The Netherlands.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Testing and Quality Assurance
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
CS6133 Software Specification and Verification
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
(c) 2007 Mauro Pezzè & Michal Young Ch 9, slide 1 Test Case Selection and Adequacy Criteria.
(c) 2007 Mauro Pezzè & Michal Young Ch 9, slide 1 Test Case Selection and Adequacy Criteria.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
CS305: HCI in SW Development Evaluation (Return to…)
1 Design by Contract Building Reliable Software. 2 Software Correctness Correctness is a relative notion  A program is correct with respect to its specification.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
1 Principles of Reliable Distributed Systems Lecture 6: Synchronous Uniform Consensus Spring 2005 Dr. Idit Keidar.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
The Halting Problem Sipser 4.2 (pages ). CS 311 Mount Holyoke College 2 Taking stock All languages Turing-recognizable Turing-decidable Context-free.
The Halting Problem Sipser 4.2 (pages ).
Testing: Who 3, What 4, Why 1, When 2, How 5 Lian Yu, Peking U. Michal Young, U. Oregon.
1 Principles of Reliable Distributed Systems Lecture 3: Synchronous Uniform Consensus Spring 2006 Dr. Idit Keidar.
Background on Testing and Maintenance CISC 879 Fall 2008.
1 8. Safe Query Languages Safe program – its semantics can be at least partially computed on any valid database input. Safety is tied to program verification,
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
(c) 2007 Mauro Pezzè & Michal Young Ch 16, slide 1 Fault-Based Testing.
Procedures Software for People. Agenda Procedure: Definition Software for People Designing Procedures Procedures as Problem Solving Software: Procedures.
Automated Reasoning Matt Whipple and Brian Vees. Overview What is automated reasoning? What is automated reasoning? Properties of inference procedures.
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
1 Validation and Verification of Simulation Models.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
(c) 2007 Mauro Pezzè & Michal Young Ch 3, slide 1 Basic Principles.
(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 1 A Framework for Testing and Analysis.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Verification technique on SA applications using Incremental Model Checking 컴퓨터학과 신영주.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Automated SW testing Lukáš Miňo
Software Testing and Validation SWE 434
Cs205: engineering software university of virginia fall 2006 Validation David Evans
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Cs3102: Theory of Computation Class 18: Proving Undecidability Spring 2010 University of Virginia David Evans.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Testing Theory cont. Introduction Categories of Metrics Review of several OO metrics Format of Presentation CEN 5076 Class 6 – 10/10.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Statistical Decision Making. Almost all problems in statistics can be formulated as a problem of making a decision. That is given some data observed from.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
MA/CSSE 474 Theory of Computation More Reduction Examples Non-SD Reductions.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 7 Undecidability cont. Jan Maluszynski, IDA, 2007
Russell’s Paradox and the Halting Problem Lecture 24 Section 5.4 Wed, Feb 23, 2005.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Validation & Verification Today will look at: The difference between accuracy and validity Explaining sources of errors and how they could be overcome.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
This statement is false.
How Hard Can It Be?.
Computability and Complexity
Software Verification and Validation
Software Verification and Validation
MECH 3550 : Simulation & Visualization
A Framework for Testing and Analysis
Software Verification and Validation
Presentation transcript:

(c) 2007 Mauro Pezzè & Michal Young The Big Picture

(c) 2007 Mauro Pezzè & Michal Young Verification and validation Validation: does the software system meets the user's real needs? are we building the right software? Verification: does the software system meets the requirements specifications? are we building the software right?

(c) 2007 Mauro Pezzè & Michal Young Validation and Verification Actual Requirements SW Specs System Validation Verification Includes usability testing, user feedback Includes testing, inspections, static analysis

(c) 2007 Mauro Pezzè & Michal Young Verification or validation depends on the specification Unverifiable (but validatable) spec:... if a user presses a request button at floor i, an available elevator must arrive at floor i soon Example: elevator response Verifiable spec:... if a user presses a request button at floor i, an available elevator must arrive at floor i within 30 seconds...

(c) 2007 Mauro Pezzè & Michal Young Validation and Verification Activities validation verification

(c) 2007 Mauro Pezzè & Michal Young You can’t always get what you want Correctness properties are undecidable the halting problem can be embedded in almost every property of interest! In computability theory, the halting problem can be stated as follows: "Given a description of an arbitrary computer program, decide whether the program finishes running or continues to run forever". This is equivalent to the problem of deciding, given a program and an input, whether the program will eventually halt when run with that input, or will run forever.computability theorycomputer program Decision Procedure Property Program Pass/Fail ever

(c) 2007 Mauro Pezzè & Michal Young Getting what you need... optimistic inaccuracy: we may accept some programs that do not possess the property (i.e., it may not detect all violations). –s/w testing pessimistic inaccuracy: it is not guaranteed to accept a program even if the program does possess the property being analyzed –automated program analysis techniques simplified properties: reduce the degree of freedom (eg do not test all possible integer values…)

(c) 2007 Mauro Pezzè & Michal Young Some Tricky Terminology Safe: A safe analysis has no optimistic inaccuracy, i.e., it accepts only correct programs (but may reject some). Sound: An analysis of a program P with respect to a formula F is sound if the analysis returns true only when the program does satisfy the formula. –but it could erroneously return false even if the program does satisfy the formula! –If F is an indication of correctness, then same as safe –It’s tricky to understand what ‘sound’ means when F is used to indicate a fault. Complete: An analysis of a program P with respect to a formula F is complete if the analysis always returns true when and only when the program actually does satisfy the formula.