(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 1 A Framework for Testing and Analysis.

Slides:



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

(c) 2007 Mauro Pezzè & Michal Young Ch 17, slide 1 Test Execution.
Verification and Validation
Data Abstraction II SWE 619 Software Construction Last Modified, Spring 2009 Paul Ammann.
(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.
(c) 2007 Mauro Pezzè & Michal Young Ch 13, slide 1 Data flow testing.
CS305: HCI in SW Development Evaluation (Return to…)
Inspection (c) 2007 Mauro Pezzè & Michal Young Ch 18, slide 1 Photo credit jurvetson on Flickr.com; creative commons attribution license.
(c) 2007 Mauro Pezzè & Michal Young Ch 7, slide 1 Symbolic Execution and Proof of Properties.
1 Design by Contract Building Reliable Software. 2 Software Correctness Correctness is a relative notion  A program is correct with respect to its specification.
Safety and Liveness. Defining Programs Variables with respective domain –State space of the program Program actions –Guarded commands Program computation.
Testing: Who 3, What 4, Why 1, When 2, How 5 Lian Yu, Peking U. Michal Young, U. Oregon.
Building Reliable Software Requirements and Methods.
ESC Java. Static Analysis Spectrum Power Cost Type checking Data-flow analysis Model checking Program verification AutomatedManual ESC.
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,
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
(c) 2007 Mauro Pezzè & Michal Young Ch 16, slide 1 Fault-Based Testing.
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 4, slide 1 Test and Analysis Activities within a Software Process.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
(c) 2007 Mauro Pezzè & Michal Young Ch 10, slide 1 Functional testing.
(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.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Recall The Team Skills Analyzing the Problem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Software Testing and Validation SWE 434
Cs205: engineering software university of virginia fall 2006 Validation David Evans
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
PART B-UNIT-6-PROCESS FRAMEWORK
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 13 Verification and validation Slide 1 1 Chapter 13 Verification and Validation.
(c) 2007 Mauro Pezzè & Michal Young The Big Picture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
This chapter is extracted from Sommerville’s slides. Textbook chapter
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Bzupages.com Verification and Validation.
Verification and Validation Assuring that a software system meets a user's needs.
PRESENTER PRIYANKA GUPTA.  Testing the complete system with respect to requirements.  In System testing, the functionalities of the system are tested.
12/23/2015Slide 1 The chi-square test of independence is one of the most frequently used hypothesis tests in the social sciences because it can be used.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
(1) Test Driven Development Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Foundations of Software Testing Chapter 7: Test Adequacy Measurement and Enhancement Using Mutation Last update: September 3, 2007 These slides are copyrighted.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Abstraction and Abstract Interpretation. Abstraction (a simplified view) Abstraction is an effective tool in verification Given a transition system, we.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Verification and Validation. Topics covered l Verification and validation planning l Program Testing l Software inspections.
CSC 480 Software Engineering
Verification and Validation
CPE555A: Real-Time Embedded Systems
Chapter 8 – Software Testing
Recall The Team Skills Analyzing the Problem
Verification and Validation
SWE 619 Software Construction Last Modified, Fall 2015 Paul Ammann
Software Verification, Validation, and Acceptance Testing
A Framework for Testing and Analysis
Gradual Verification Seamlessly and flexibly combine static and dynamic verification by drawing on the general principles from abstract interpretation.
Presentation transcript:

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 1 A Framework for Testing and Analysis

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 2 Learning objectives Introduce dimensions and tradeoff between test and analysis activities Distinguish validation from verification activities Understand limitations and possibilities of test and analysis

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 3 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 Ch 2, slide 4 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 Ch 2, slide 5 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 Ch 2, slide 6 Validation and Verification Activities validation verification

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 7 You can’t always get what you want Correctness properties are undecidable the halting problem can be embedded in almost every property of interest Decision Procedure Property Program Pass/Fail ever

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 8 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). –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 for simplifying the property to check

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 9 Example of simplified property: Unmatched Semaphore Operations synchronized(S) { } Static checking for match is necessarily inaccurate... if (.... ) {... lock(S); }... if (... ) {... unlock(S); } Java prescribes a more restrictive, but statically checkable construct. original problemsimplified property

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 10 Some Terminology Safe: A safe analysis has no optimistic inaccuracy, i.e., it accepts only correct programs. 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. Complete: An analysis of a program P with respect to a formula F is complete if the analysis always returns true when the program actually does satisfy the formula.

(c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 11 Summary Most interesting properties are undecidable, thus in general we cannot count on tools that work without human intevention Assessing program qualities comprises two complementary sets of activities: validation (daes the software do what it is supposed to do?) and verification (does the system behave as specificed?) There is no single technique for all purposes: test designers need to select a suitable combination of techniques