CMPSCI 521/621 Homework 2 Solutions
|
|
- Howard Brown
- 5 years ago
- Views:
Transcription
1 CMPSCI 521/621 Homework 2 Solutions Problem 1 Direct data dependencies: 3 is directly data dependent on 1 and 5 5 is directly data dependent on 1,3, and 5 7 is directly data dependent on 1,3, and 5 Note, these data dependencies are explicitly listed in the answer to question 2 c). Control flow dependencies: A node s v is control dependent on node s u iff there exists a path s u P s v not containing the immediate forward dominator of s u. The immediate forward dominators (ifd) of the nodes in the graph are as follows: ifd(1)=2; ifd(2)=4; ifd(3)=4; ifd(4)=6; ifd(5)=6; ifd(6)=7. Thus, the control flow dependencies are: 2 is control dependent on 6 3 is control dependent on 2 and 6 4 is control dependent on 6 5 is control dependent on 4 and 6 6 is control dependent on 6 Problem 2 a) 1,2,3,4,5,6,7 covers all the nodes (statements) but does not cover all the branches (e.g., branches 2-4, 4-6, 6-2 are not covered). b) All-def requirements: In parenthesis, we also list how the all-def requirements below correspond to the def-use pairs from 2 c). d 1 (x) to a use of x (corresponds to requirements a or b from 2 c)) d 1 (y) to a use of y (c or d or e) d 3 (x) to a use of x (f or g) d 5 (y) to a use of y (h or i or j) Paths: 1,2,4,6,7 (b,e); 1,2,3,4,5,6,7 (c,d,f,g,j). Does not provide all-uses coverage as not every use of a given definition is reached (e.g., d 1 (x) does not reach u 5 (x) ). c) All-uses requirements: a : d 1 (x) to u 5 (x) b : d 1 (x) to u 7 (x) c : d 1 (y) to u 3 (y) d : d 1 (y) to u 5 (y) 1
2 e : d 1 (y) to u 7 (y) f : d 3 (x) to u 5 (x) g : d 3 (x) to u 7 (x) h : d 5 (y) to u 3 (y) i : d 5 (y) to u 5 (y) j : d 5 (y) to u 7 (y) Paths: 1,2,3,4,5,6,7 (c,d,f,g,j); 1,2,4,6,7 (b,e); 1,2,4,5,6,2,3,4,5,6,7 (a,d,f,g,h,i) These paths do not provide All-du coverage, because they do not satisfy some of the all-du requirements listed below (e.g., they don t satisfy requirement b 1 ). d) If a node has two outgoing edges, let T and F (for true and false) denote the left and right outgoing edges respectively. Thus, for example, the edge from node 2 to node 4 will be denoted with 2T and the edge from node 2 to node 3 will be denoted with 2F. To achieve All-Du coverage, we need all definition-clear subpaths that are cycle-free or are simple cycles 1 from each definition to each use reached by that definition and each successor node of the use. Thus, for each of the def-use pairs in part c), we need to find all def-clear subpaths (form the definition to the use) that are cycle free or are simple cycles. All-Du requirements: a : d 1 (x) to u 5 (x), [2T, 4T ] b 1 : d 1 (x) to u 7 (x), [4T, 6F ] b 2 : d 1 (x) to u 7 (x), [4F, 6F ] c : d 1 (y) to u 3 (x), [2F ] d 1 : d 1 (y) to u 5 (y), [2T, 4T, 6F ] d 2 : d 1 (y) to u 5 (y), [2F, 4T, 6F ] e 1 : d 1 (y) to u 7 (y), [2T, 4F, 6F ] e 2 : d 1 (y) to u 7 (y), [2F, 4F, 6F ] f : d 3 (x) to u 5 (x), [4T, 6F ] g 1 : d 3 (x) to u 7 (x), [4F, 6F ] g 2 : d 3 (x) to u 7 (x), [4T, 6F ] h : d 5 (y) to u 3 (y), [6T, 2F ] i 1 : d 5 (y) to u 5 (y), [6T, 2T, 4T ] i 2 : d 5 (y) to u 5 (y), [6T, 2F, 4T ] j : d 5 (y) to u 7 (y), [6F ] Paths: 1,2,3,4,5,6,7 (c, d 2, f, g 2, j); 1,2,4,6,7 (b 2, e 1 ); 1,2,4,5,6,2,3,4,5,6,7 (a, d 1, f, g 2, h, i 2, j); 1,2,4,5,6,7 (b 1 ), 1,2,3,4,6,7 (e 2, g 1 ), 1,2,4,5,6,2,4,5,6,7 (i 1 ). e) Context coverage for node 7 Requirements: a : {d 1 (x), d 1 (y)} b : {d 1 (x), d 5 (y)} c : {d 3 (x), d 1 (y)} d : {d 3 (x), d 5 (y)} 1 Strictly speaking, the only cycles on a path from a def to a use allowed by the All-Du coverage definition are cycles such that only the first and the last node on that path are the same (i.e. the path has to be a simple cycle). Since the first node on a path from a def to a use is the node containing the def and the last node on such a path is the node containing the use, a simple cycle implies that the def and the use are at the same node. If the def and the use are at different nodes, then the path from the def to the use cannot be a simple cycle and thus the definition of All-Du requires that this path be cycle free. 2
3 Paths: 1,2,4,6,7 (a); 1,2,4,5,6,7 (b); 1,2,3,4,6,7 (c); 1,2,3,4,5,6,7 (d) f) Ordered context coverage for node 7: Requirements (square brackets are used to indicate sequence): a : [d 1 (x), d 1 (y)] b : [d 1 (x), d 5 (y)] c : [d 1 (y), d 3 (x)] d : [d 3 (x), d 5 (y)] e : [d 5 (y), d 3 (x)] Paths: The same paths as in part e) plus 1,2,4,5,6,2,3,4,6,7 to cover requirement e. Problem 3 Because of the existence of infeasible paths in a control flow graph. Suppose x is assigned a value of 117 at node 3 and the conditional at node 4 is if (x < 50) then node 5, else node 6. In that case, the path from node 3 to node 5 is infeasible and thus the definition of x at node 3 cannot reach the use of x at node 5. Problem 4 No, criterion A will not always detect more faults than criterion B for this program. The fact that the given test set satisfying criterion A found more faults than the given test set satisfying criterion B may be due to the specific input values of these two specific test sets. For example, the test set satisfying criteria B may have contained input values that lead to coincidental correctness of the program. Another test set satisfying criteria B may not lead to coincidental correctness of the program and it is possible that this test set finds more errors than a test set satisfying criteria A. For the same reason, criteria A will not always detect more faults than criteria B for any program. Problem 5 The costs associated with testing include the creation of the set of test cases, determining the oracles for these test cases, executing these test cases, determining if the selected testing criteria have been satisfied and creating additional test cases to satisfy the the criterion in case it has not been satisfied by the previous set of test cases. The costs associated with statement coverage are usually significantly lower than the costs associated with mutation testing. There are a smaller number of test cases that need to be created for statement coverage. These test cases would probably kill some of the mutant programs, such as those that delete each statement, but many more test cases would usually be needed to kill the additional mutants. Also, coming up with a test case that covers a statement is usually easier than coming up with a test case to kill a mutant. Since there are usually many more test cases for mutation testing, the cost of determining the oracles and executing the program with these test cases would also be higher. For statement coverage, one has to determine if a statement can be executed and this can sometimes be difficult. For mutation testing, one has to determine if the surviving mutants are equivalent to the original program or a test case exists that can kill the mutant, and this is usually more difficult and thus more costly. 3
4 Problem 6 Computation tree for the given code segment. X is integer between 2 and 4, Y is a Boolean. The symbol # is used to represent an uninitialized value. Problem 7 Transfer set = {(A 2, D 3 ), (A 2, B 4 ), (D 3, B 4 )} Transfer Routes: Route 1: (A 2, D 3 ), (A 2, B 4 ), (D 3, B 4 ) Route 2: (A 2, D 3 ), (A 2, B 4 ) Route 3: (A 2, D 3 ), (A 2, B 4 ), (D 3, B 4 ) Route 4: (A 2, D 3 ), (A 2, B 4 ), (D 3, B 4 ) Origination condition: c 5 Constraint based on the final expression at statement 4 (for any route that can transfer the fault to the final expression at node 4, we want the value of b at statement 4 in the correct program to be different from the value of b at statement 4 in the incorrect prorram): b b, where b is the value of b at statement 4 in the correct program. b b a(d 1) a (d 1) a(ab 1) a (a b 1) a 2 b a a 2 b a a 2 b a 2 b a a b(a a )(a + a ) a a (we can divide both sides by (a a ) since a a 0 by origination condition.) b(a + a ) 1 b(2b + c + 2b + 5) 1 b(4b + c + 5) 1 4b + c + 5 1/b, if b 0 c 1/b 4b 5, if b 0. Thus, the constraint is b = 0 (b 0 c 1/b 4b 5). Route 1 Constraints: b 0 d 1 = 0 a 0 b 0 d = 1 2b + c 0 b 0 (2b + c)b = 1 2b + c 0 (2b + c)b = 1 Thus, b=1 and c=-1, for example, will reveal the fault as they satisfy the conditions for route 1, the origination incorrect program output=0). Route 2 Constraints: b = 0 d 1 0 b = 0 d 1 b = 0 (2b + c)b 1 b = 0 Thus, b=0 will reveal the fault, as long as c 5. (E.g, for b=0, c=0, correct program outputs -5, incorrect 0) 4
5 Route 3 Constraints: b 0 d 1 0 a = 0 b 0 d 1 2b + c = 0 b 0 (2b + c)b 1 2b + c = 0 b 0 2b+c = 0 Thus, b=1, c=-2, for example, will reveal the fault as they satisfy the conditions for route 3, the origination incorrect program output=0). Route 4 Constraints: b 0 d 1 0 a 0 b 0 d 1 a 0 b 0 (2b+c)b 1 2b+c 0 Thus, b=1, c=1, for example, will reveal the fault as they satisfy the conditions for route 4, the origination incorrect program output=6). Note that b=-1 and c=-2, which violates the constraint based on the final expression at statement 4 but satisfies the conditions for routes 1,3 and 4, will not reveal the fault. The program outputs -12 for both versions with the correct and with the incorrect line 2. 5
MTAT : Software Testing
MTAT.03.159: Software Testing Lecture 04: White-Box Testing (advanced) Part1 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee White-Box Testing Techniques Control-Flow Testing Data-Flow Testing Mutation
More informationTesting Role in Unified Approach Coverage: Structural/Coverage Model Based Test Generation from Model Checking (project) Interaction of
Testing Role in Unified Approach Coverage: Structural/Coverage Model Based Test Generation from Model Checking (project) Interaction of Coverage/Model Based Testing Will Not Cover Statistical Methods Partition
More informationCS 520 Theory and Practice of Software Engineering Fall 2018
Today CS 52 Theory and Practice of Software Engineering Fall 218 Software testing October 11, 218 Introduction to software testing Blackbox vs. whitebox testing Unit testing (vs. integration vs. system
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Dietmar Pfahl Spring 2017 email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture
More informationTesting: Dataflow Coverage
Testing: Dataflow Coverage Testing, Quality Assurance, and Maintenance Winter 2018 Arie Gurfinkel based on slides by Thibaud Lutellier, Marsha Chechik and Prof. Lin Tan Non-looping Path Selection Problem
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture
More informationWhat is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation
What is Mutation Testing? Mutation Testing Breaking the application to test it n Mutation Testing is a testing technique that focuses on measuring the adequacy of test cases n Mutation Testing is NOT a
More informationIntroduction to Software Testing Chapter 5.1 Syntax-based Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/ softwaretest/ Ch. 5 : Syntax Coverage Four Structures for Modeling Software Graphs
More informationTest Case Specifications and Test adequacy. Research Methods - Barbara Russo SwSE - Software and Systems Engineering
Test Case Specifications and Test adequacy Research Methods - Barbara Russo SwSE - Software and Systems Engineering 1 Test Case Selection How do we create tests? Test are defined in terms of their adequacy
More informationWhite Box Testing III
White Box Testing III Outline Today we continue our look at white box testing methods, with mutation testing We will look at : definition and role of mutation testing what is a mutation? how is mutation
More informationUsing the code to measure test adequacy (and derive test cases) Structural Testing
Using the code to measure test adequacy (and derive test cases) Structural Testing Objectives To describe a second approach to testing which is geared to find program defects To explain the use of program
More information6. Test-Adequacy. Assessment Using Control Flow and Data Flow. Andrea Polini
6. Test-Adequacy Assessment Using Control Flow and Data Flow Andrea Polini Software Engineering II Software Testing MSc in Computer Science University of Camerino (Software Engineering II Software Testing)
More informationSoftware Testing. Testing: Our Experiences
Software Testing Testing: Our Experiences Test Case Software to be tested Output 1 Test Case Generation When to Stop? Test Case Software to be tested Verification Output No Enough? Test Coverage Yes A
More informationSoftware Testing. 1. Testing is the process of demonstrating that errors are not present.
What is Testing? Software Testing Many people understand many definitions of testing :. Testing is the process of demonstrating that errors are not present.. The purpose of testing is to show that a program
More informationOverview Graph Coverage Criteria
Overview Graph Coverage Criteria Graph Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Applied to Applied to Source FSMs Applied to Specs DNF Source Specs Source Models Design
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Dietmar Pfahl Spring 2016 email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture
More informationTesting Methods: White Box Testing II
Testing Methods: White Box Testing II Outline Today we continue our look at white box testing with more code coverage methods, and a data coverage method We ll look at : - code coverage testing - decision
More informationIntroduction to Software Testing Chapter 2, Sections: 2.1 & 2.2 Overview Graph Coverage Criteria
Introduction to Software Testing Chapter 2, Sections: 2.1 & 2.2 Overview Graph Coverage Criteria Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/softwa retest/ Ch. 2 : Graph Coverage Four Structures
More informationIntroduction to Software Testing Chapter 2.1, 2.2 Overview Graph Coverage Criteria Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 2.1, 2.2 Overview Graph Coverage Criteria Paul Ammann & Jeff Offutt www.introsoftwaretesting.com Ch. 2 : Graph Coverage Four Structures for Modeling Software Graphs
More informationPart I: Preliminaries 24
Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................
More informationIntroduction to Dynamic Analysis
Introduction to Dynamic Analysis Reading assignment Gary T. Leavens, Yoonsik Cheon, "Design by Contract with JML," draft paper, http://www.eecs.ucf.edu/~leavens/jml//jmldbc.pdf G. Kudrjavets, N. Nagappan,
More informationClass 17. Discussion. Mutation analysis and testing. Problem Set 7 discuss Readings
Class 17 Questions/comments Graders for Problem Set 6 (4); Graders for Problem set 7 (2-3) (solutions for all); will be posted on T-square Regression testing, Instrumentation Final project presentations:
More informationWhat is Structural Testing?
Structural Testing What is Structural Testing? Based on Source Code Examine the internal structure of the program Test cases are derived from an examination of program s logic Do not pay any attention
More informationGetting those Bugs Out --Software Testing
1 1 Getting those Bugs Out --Software Testing 1. Issues in software testing and reliability 2. Test sets, test selection criteria, and ideal test sets. 3. Defect Testing 3.1 Black Box Testing 3.2 White
More informationMatlab- Command Window Operations, Scalars and Arrays
1 ME313 Homework #1 Matlab- Command Window Operations, Scalars and Arrays Last Updated August 17 2012. Assignment: Read and complete the suggested commands. After completing the exercise, copy the contents
More informationUpcoming. Repairing Automated Repair. Generalizing 3/19/18
Upcoming Homework 3 due March 22 Literature review due today March 20 Project plan assignment posted, due April 10 Repairing Automated Repair Paper presentation instructions: http://people.cs.umass.edu/~brun/class/2018spring/cs21/paperpresentation/paperpresentation.pdf
More informationTesting! Prof. Leon Osterweil! CS 520/620! Spring 2013!
Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are
More informationImportance of Predicatebased. Predicate-based Testing. Terms Defined. Terms Defined (2) Terms Defined (3) Assumptions. Thorough testing of C used to
Predicate-based Testing Predicates are conditions Divides the input domain into partitions Define the paths of the program Program P Input X; Predicate C If outcome of C is incorrect, Either C is incorrect,
More informationReview; questions Basic Analyses (2) Assign (see Schedule for links)
Class 2 Review; questions Basic Analyses (2) Assign (see Schedule for links) Representation and Analysis of Software (Sections -5) Additional reading: depth-first presentation, data-flow analysis, etc.
More informationWhite-Box Testing Techniques
T-76.5613 Software Testing and Quality Assurance Lecture 3, 18.9.2006 White-Box Testing Techniques SoberIT Content What are white-box testing techniques Control flow testing Statement coverage Branch coverage
More informationData Flow Analysis. CSCE Lecture 9-02/15/2018
Data Flow Analysis CSCE 747 - Lecture 9-02/15/2018 Data Flow Another view - program statements compute and transform data So, look at how that data is passed through the program. Reason about data dependence
More informationIntroduction to Software Testing Chapter 2.3 Graph Coverage for Source Code. Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 2.3 Graph Coverage for Source Code Paul Ammann & Jeff Offutt Overview The most common application of graph criteria is to program source Graph : Usually the control
More informationStructural Testing. (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1
Structural Testing (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1 Learning objectives Understand rationale for structural testing How structural (code-based or glass-box) testing complements functional
More informationDataflow-based Coverage Criteria
Dataflow-based Coverage Criteria W. Eric Wong Department of Computer Science The University of Texas at Dallas ewong@utdallas.edu http://www.utdallas.edu/~ewong Dataflow-based Coverage Criteria ( 2012
More informationProgram Structure. Simple Statements. Program consists of blocks Block. Can be represented by a flow graph. Sequence of statements
An Applicable Family of Data Flow Testing Criteria Assumptions about the program No goto statements with variant records Functions having var parameters By reference Procedural or functional parameters
More informationProgram Structure. Simple Statements. Program consists of blocks Block. Can be represented by a flow graph. Sequence of statements
An Applicable Family of Data Flow Testing Criteria Assumptions about the program No goto statements with variant records Functions having var parameters By reference Procedural or functional parameters
More informationMutation Testing. Leaving the Stone Age
Mutation Testing Leaving the Stone Age 2017 whoami ios Developer by day compiler hacker by night https://twitter.com/1101_debian https://lowlevelbits.org https://systemundertest.org Outline Quality of
More informationCS 31: Intro to Systems Binary Arithmetic. Martin Gagné Swarthmore College January 24, 2016
CS 31: Intro to Systems Binary Arithmetic Martin Gagné Swarthmore College January 24, 2016 Unsigned Integers Suppose we had one byte Can represent 2 8 (256) values If unsigned (strictly non-negative):
More informationProgram Testing and Analysis: Manual Testing Prof. Dr. Michael Pradel Software Lab, TU Darmstadt
Program Testing and Analysis: Manual Testing Prof. Dr. Michael Pradel Software Lab, TU Darmstadt Partly based on slides from Peter Müller, ETH Zurich 1 Warm-up Quiz What does the following code print?
More informationFacts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development
Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary
More informationDataflow Testing. Chapter 9!
Dataflow Testing Chapter 9! Dataflow Testing Testing All-Nodes and All-Edges in a control flow graph may miss significant test cases! Testing All-Paths in a control flow graph is often too timeconsuming!
More informationStructural Testing & Mutation
Structural Testing & Mutation Filippo Ricca DISI, Università di Genova, Italy ricca@disi.unige.it 1 White vs. Black box testing A white box testing is based upon explicit knowledge of the SUT and its structure
More informationTaibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103. Chapter 2. Sets
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 2 Sets Slides are adopted from Discrete Mathematics and It's Applications Kenneth H.
More informationIntroduction. Easy to get started, based on description of the inputs
Introduction Testing is about choosing elements from input domain. The input domain of a program consists of all possible inputs that could be taken by the program. Easy to get started, based on description
More informationMSc Software Testing MSc Prófun hugbúnaðar
MSc Software Testing MSc Prófun hugbúnaðar Fyrirlestrar 7 & 8 Structural Testing White-box tests. 29/8/27 Dr Andy Brooks 1 Case Study Dæmisaga Reference Structural Testing of Programs, A Survey, A A Omar
More informationClass-Component Testability Analysis
Class-Component Testability Analysis SUPAPORN KANSOMKEAT Faculty of Engineering, Chulalongkorn University Bangkok, 10330, THAILAND WANCHAI RIVEPIBOON Faculty of Engineering, Chulalongkorn University Bangkok,
More informationCoding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!
Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science
More informationLecture 2 Finite Automata
Lecture 2 Finite Automata August 31, 2007 This lecture is intended as a kind of road map to Chapter 1 of the text just the informal examples that I ll present to motivate the ideas. 1 Expressions without
More informationProgramming Embedded Systems
Programming Embedded Systems Lecture 8 Overview of software testing Wednesday Feb 8, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/53 Lecture outline Testing in general Unit testing
More informationCourse updates. Repairing Automated Repair. Generalizing 3/20/17. Literature review was due today Project plan assignment is posted, due April 11
3/20/17 Course updates Repairing Automated Repair Literature review was due today Project plan assignment is posted, due April 11 Homework 3 due this Thursday, 9 AM EDT Homework 4 in posted, due April
More informationSubject Software Testing Structural Testing
Subject Software Testing Structural Testing Objective: 1. Understand Concept of structural testing 2. How structural (code-based or glass-box) testing complements functional (black-box) testing 3. Recognize
More informationTest Oracles and Mutation Testing. CSCE Lecture 23-11/18/2015
Test Oracles and Mutation Testing CSCE 740 - Lecture 23-11/18/2015 Software Testing - Back to the Basics Tests are sequences of stimuli and observations. We care about input and output. (I 1 O 1 ) (I 2
More informationProgram-based Mutation Testing
Program-based Mutation Testing CS 4501 / 6501 Software Testing [Ammann and Offutt, Introduction to Software Testing, Ch. 9.2] 1 Applying Syntax-Based Testing to Programs Test requirements are derived from
More informationAdvanced Topics Combining S. M. T
Advanced Topics Combining S. M. T 1 an empirical study of predicate dependence levels and trends Icse 2003 david binkley mark harman Or How to use slicing to measure testability 2 overview evolutionary
More informationWhite-Box Testing Techniques II
White-Box Testing Techniques II Software Testing and Verification Lecture 8 Prepared by Stephen M. Thebaut, Ph.D. University of Florida White-Box Testing Topics Logic coverage (lecture I) Dataflow coverage
More informationDataflow Testing. Chapter 10!
Dataflow Testing Chapter 10! Dataflow Testing Testing All-Nodes and All-Edges in a control flow graph may miss significant test cases! Testing All-Paths in a control flow graph is often too timeconsuming!
More informationHow to Create Fields in Microsoft CRM Online
How to Create Fields in Microsoft CRM Online Go to https://portal.office.com and log in. Then switch from portal to CRM from the square menu. Once in CRM you need to go to the form you wish to add fields
More informationTesting. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?
Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,
More informationSymbolic Evaluation/Execution
Symbolic Evaluation/Execution Reading Assignment *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer
More informationLecture Compiler Middle-End
Lecture 16-18 18 Compiler Middle-End Jianwen Zhu Electrical and Computer Engineering University of Toronto Jianwen Zhu 2009 - P. 1 What We Have Done A lot! Compiler Frontend Defining language Generating
More informationIntroduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications
Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/softwa retest/ Design Specifications A design specification
More informationTesting, Fuzzing, & Symbolic Execution
Testing, Fuzzing, & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed
More informationFinite Math - J-term Homework. Section Inverse of a Square Matrix
Section.5-77, 78, 79, 80 Finite Math - J-term 017 Lecture Notes - 1/19/017 Homework Section.6-9, 1, 1, 15, 17, 18, 1, 6, 9, 3, 37, 39, 1,, 5, 6, 55 Section 5.1-9, 11, 1, 13, 1, 17, 9, 30 Section.5 - Inverse
More informationFOR INTERNAL SCRUTINY (date of this version: 17/2/2016) UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS
UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS SOFTWARE TESTING Tuesday 1 st April 2014 00:00 to 00:00 INSTRUCTIONS TO CANDIDATES Answer QUESTION 1 and ONE other question.
More informationTesting. Lydie du Bousquet, Ioannis Parissis. TAROT Summer School July (TAROT 2009)
Testing TAROT Summer School Lustre/SCADE programs 2009 - July 6-10 Lydie du Bousquet, Ioannis Parissis 1 (TAROT 2009) Synchrone Scade/Lustre Siesta Issues 2 Synchronous / safety-critical software control/command
More informationIntroduction to Machine-Independent Optimizations - 6
Introduction to Machine-Independent Optimizations - 6 Machine-Independent Optimization Algorithms Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course
More information15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018
15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming
More information(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt
Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing
More information7. Testing and Debugging Concurrent Programs
7. Testing and Debugging Concurrent Programs The purpose of testing is to find program failures => A successful test is a test that causes a program to fail. Ideally, tests are designed before the program
More informationTesting Object Oriented Software 2010
Testing Object Oriented Software 2010 Graph Coverage Barry van Veen Rick van der Zwet 2.1 Graph coverage Introduction into graph coverage Theoretical definition of
More informationSoftware Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION
Software Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION Overview, Test specification and cases, Adequacy criteria, comparing criteria, Overview of test execution, From test case specification
More informationSoftware Testing for Critical Systems
Software Testing for Critical Systems Julien Fayolle and Sandrine-Dominique Gouraud 1 1 Génie logiciel, LRI, Université d Orsay. {fayolle, gouraud}@lri.fr Web pages: www.lri.fr/ fayolle and www.lri.fr/
More informationCMPT 473 Software Quality Assurance. Graph Coverage. Nick Sumner
CMPT 473 Software Quality Assurance Graph Coverage Nick Sumner Recall: Coverage/Adequacy Can't look at all possible inputs. Need to determine if a test suite covers / is adequate for our quality objectives.
More informationCS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING
1 CS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING Outline 2 Quiz Black-Box Testing Equivalence Class Testing (Equivalence Partitioning) Boundary value analysis Decision Table Testing 1 3 Quiz - 1
More informationSFWR ENG 3S03: Software Testing
(Slide 1 of 52) Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on [?] Techniques (Slide 2 of 52) 1 2 3 4 Empirical
More informationDataflow Testing. Dataflow Testing. Dataflow Analysis. Definitions. Definitions 2. Definitions 3
Dataflow Testing Dataflow Testing Testing All-Nodes and All-Edges in a control flow graph may miss significant test cases Testing All-Paths in a control flow graph is often too timeconsuming Chapter 9
More informationPropositional Logic Formal Syntax and Semantics. Computability and Logic
Propositional Logic Formal Syntax and Semantics Computability and Logic Syntax and Semantics Syntax: The study of how expressions are structured (think: grammar) Semantics: The study of the relationship
More informationDataflow Testing. Definitions 2
Dataflow Testing Dataflow Analysis Can reveal interesting bugs Dataflow Testing Chapter 9 Testing All-Nodes and All-Edges in a control flow graph may miss significant test cases Testing All-Paths in a
More informationCoverage-Directed Differential Testing of JVM Implementations
Coverage-Directed Differential Testing of JVM Implementations Yuting Chen 1, Ting Su 2, Chengnian Sun 3, Zhendong Su 3, and Jianjun Zhao 1,4 1 Shanghai Jiao Tong University 2 East China Normal University
More informationTesting Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan
heory Lecture Plan 2 esting heory Lecture 8 Software Engineering DDC88/DDC93 autumn 28 Department of Computer and Information Science Linköping University, Sweden L - Course Introduction and Overview L2
More informationSecond assignment came out Monday evening. Find defects in Hnefetafl rules written by your classmates. Topic: Code Inspection and Testing
Announcements Second assignment came out Monday evening Topic: Code Inspection and Testing Find defects in Hnefetafl rules written by your classmates Compare inspection, coverage testing, random testing,
More informationInput Space Partitioning
Input Space Partitioning Instructor : Ali Sharifara CSE 5321/4321 Summer 2017 CSE 5321/4321, Ali Sharifara, UTA 1 Input Space Partitioning Introduction Equivalence Partitioning Boundary-Value Analysis
More informationPESIT Bangalore South Campus SOLUTION
USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Information Science & Engineering INTERNAL ASSESSMENT TEST 2 Date : 02/04/2018 Max Marks: 40
More informationDEBUGGING TIPS. 1 Introduction COMPUTER SCIENCE 61A
DEBUGGING TIPS COMPUTER SCIENCE 61A 1 Introduction Every time a function is called, Python creates what is called a stack frame for that specific function to hold local variables and other information.
More informationLogic Coverage for Source Code
Logic Coverage for Source Code CS 4501 / 6501 Software Testing [Ammann and Offutt, Introduction to Software Testing, Ch. 8] 1 Structural Logic Coverage for Source Code Aim: to identify test requirements
More informationTest Automation. 20 December 2017
Test Automation 20 December 2017 The problem of test automation Testing has repetitive components, so automation is justified The problem is cost-benefit evaluation of automation [Kaner] Time for: test
More informationTesting & Symbolic Execution
Testing & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed Behavior
More information1B1a Arrays. Arrays. Indexing. Naming arrays. Why? Using indexing. 1B1a Lecture Slides. Copyright 2003, Graham Roberts 1
Ba Arrays Arrays A normal variable holds value: An array variable holds a collection of values: 4 Naming arrays An array has a single name, so the elements are numbered or indexed. 0 3 4 5 Numbering starts
More informationGenerating Tests for Detecting Faults in Feature Models
Generating Tests for Detecting Faults in Feature Models Paolo Arcaini 1, Angelo Gargantini 2, Paolo Vavassori 2 1 Charles University in Prague, Czech Republic 2 University of Bergamo, Italy Outline Feature
More informationDarshan Institute of Engineering & Technology for Diploma Studies
CODING Good software development organizations normally require their programmers to follow some welldefined and standard style of coding called coding standards. Most software development organizations
More informationSoftware Testing. Testing 1
Software Testing Testing 1 Background Main objectives of a project: High Quality & High Productivity (Q&P) Quality has many dimensions reliability, maintainability, interoperability etc. Reliability is
More informationIntegration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson
Integration Testing Conrad Hughes School of Informatics Slides thanks to Stuart Anderson 19 February 2010 Software Testing: Lecture 10 1 Unit Test vs Integration Testing 1 The ideal in unit testing is
More informationAn Introduction to Systematic Software Testing. Robert France CSU
An Introduction to Systematic Software Testing Robert France CSU Why do we need to systematically test software? Poor quality products can Inconvenience direct and indirect users Result in severe financial
More informationQuestion Bank. Unit 1: Perspective on Testing, Examples. Chapter 1 & 2 from Dr. Paul C. Jorgensen
Unit 1: Perspective on Testing, Examples Chapter 1 & 2 from Dr. Paul C. Jorgensen Sl no Question Description 1. Make a Venn Diagram that reflects a part of the following statement: we have left undone
More informationCompiler Construction
Compiler Construction Exercises 1 Review of some Topics in Formal Languages 1. (a) Prove that two words x, y commute (i.e., satisfy xy = yx) if and only if there exists a word w such that x = w m, y =
More informationTesting: Coverage and Structural Coverage
Testing: Coverage and Structural Coverage Testing, Quality Assurance, and Maintenance Winter 2017 Prof. Arie Gurfinkel based on slides by Prof. Marsha Chechik and Prof. Lin Tan How would you test this
More informationCpSc 421 Final Solutions
CpSc 421 Final Solutions Do any eight of the ten problems below. If you attempt more than eight problems, please indicate which ones to grade (otherwise we will make a random choice). This allows you to
More informationReading Assignment. Symbolic Evaluation/Execution. Move from Dynamic Analysis to Static Analysis. Move from Dynamic Analysis to Static Analysis
Reading Assignment Symbolic Evaluation/Execution *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer
More informationTesting Tactics. Structural Testing. Why Structural? Why Structural? Functional black box. Structural white box. Functional black box
ing Tactics Structural ing Functional black box Structural white box Software Engineering Andreas Zeller Saarland University s based on spec covers as much specified behavior as possible s based on code
More informationChapter 6 Primitive types
Chapter 6 Primitive types Lesson page 6-1. Primitive types Question 1. There are an infinite number of integers, so it would be too ineffient to have a type integer that would contain all of them. Question
More information