Graph Theory Techniques in Model-Based Testing

Slides:



Advertisements
Similar presentations
AI Pathfinding Representing the Search Space
Advertisements

CSC411Artificial Intelligence 1 Chapter 3 Structures and Strategies For Space State Search Contents Graph Theory Strategies for Space State Search Using.
Dependence Analysis in Reduction of Requirement Based Test Suites Boris Vaysburg Luay Tahat Bogdan Korel Computer Science Department Bell Labs Innovations.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
An Approach to Evaluate Data Trustworthiness Based on Data Provenance Department of Computer Science Purdue University.
Chapter 12: Expert Systems Design Examples
Parallel random walks Brian Moffat. Outline What are random walks What are Markov chains What are cover/hitting/mixing times Speed ups for different graphs.
Multi-Source Shortest Paths T. Patrick Bailey CSC 5408 Graph Theory 4/28/2008.
GS 540 week 6. HMM basics Given a sequence, and state parameters: – Each possible path through the states has a certain probability of emitting the sequence.
Advanced Topics in Algorithms and Data Structures 1 Rooting a tree For doing any tree computation, we need to know the parent p ( v ) for each node v.
Reliability SHARPE Reliability and SHARPE. Outline 1. What is Reliability? 2. How can you evaluate it? 3. What is SHARPE? 4. Usage of SHARPE.
GamePal  Mark Fedorak  Vera Casteel  Ron Smith  Kris Pucci.
IBM Labs in Haifa Software and Verification Technologies Supporting SAT based BMC on Finite Path Models Daniel Geist Mark Ginzburg Yoad Lustig Ishai Rabinovitz.
Belief Propagation, Junction Trees, and Factor Graphs
Chapter 11 Graphs and Trees This handout: Terminology of Graphs Eulerian Cycles.
Software Testing and QA Theory and Practice (Chapter 4: Control Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Graphs and Euler cycles Let Maths take you Further…
Path testing Path testing is a “design structural testing” in that it is based on detailed design & the source code of the program to be tested. The methodology.
Ant Colony Optimization (ACO): Applications to Scheduling
By: Dr. Velur Rajappa Arun Birabar Satanik panda
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Graph Theory Chapter 6 from Johnsonbaugh Article(6.1, 6.2)
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Management Science 461 Lecture 9 – Arc Routing November 18, 2008.
© J. Christopher Beck Lecture 5: Graph Theory and Longest Paths.
Liang Ge.  Introduction  Important Concepts in MCL Algorithm  MCL Algorithm  The Features of MCL Algorithm  Summary.
Topology aggregation and Multi-constraint QoS routing Presented by Almas Ansari.
Foundations of Software Testing Chapter 5: Test Selection, Minimization, and Prioritization for Regression Testing Last update: September 3, 2007 These.
Chinese postman problem
Spring 2015 Mathematics in Management Science Chinese Postman Problem What is CPP? CPP & ECs & EPs Fleury’s Algorithm Eulerization.
Structures 7 Decision Maths: Graph Theory, Networks and Algorithms.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
CS 415 – A.I. Slide Set 5. Chapter 3 Structures and Strategies for State Space Search – Predicate Calculus: provides a means of describing objects and.
Prim's Algorithm This algorithm starts with one node. It then, one by one, adds a node that is unconnected to the new graph to the new graph, each time.
DISTRIBUTED SYSTEMS II A POLYNOMIAL LOCAL SOLUTION TO MUTUAL EXCLUSION Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Software Production Chapter 2: Identifying Software Development Activities.
April 28, 2003 Early Fault Detection and Failure Prediction in Large Software Systems Felix Salfner and Miroslaw Malek Department of Computer Science Humboldt.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Software testing techniques Software testing techniques Statistical Testing Presentation on the seminar Kaunas University of Technology.
SybilGuard: Defending Against Sybil Attacks via Social Networks.
Verification & Validation By: Amir Masoud Gharehbaghi
Lecture 11: 9.4 Connectivity Paths in Undirected & Directed Graphs Graph Isomorphisms Counting Paths between Vertices 9.5 Euler and Hamilton Paths Euler.
Theory and Practice of Software Testing
Presented by Dajiang Zhu 11/1/2011.  Introduction of Markov chains Definition One example  Two problems as examples 2-SAT Algorithm (simply introduce.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Project 1 : Phase 1 22C:021 CS II Data Structures.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
1 3/21/2016 MATH 224 – Discrete Mathematics First we determine if a graph is connected.
Foundations of Software Testing Chapter 5: Test Selection, Minimization, and Prioritization for Regression Testing Last update: September 3, 2007 These.
Theory of Computational Complexity Probability and Computing Lee Minseon Iwama and Ito lab M1 1.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Modelling Complex Systems Video 4: A simple example in a complex way.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 4 Control Flow Testing
Euler Paths and Circuits
Statistical Testing Jonas Abromaitis IFM-0/2.
White-Box Testing.
Testing, conclusion Based on material by Michael Ernst, University of Washington.
More Graph Algorithms.
Approximation algorithms
White-Box Testing.
Graphs Chapter 13.
Genome Assembly.
Nuffield Free-Standing Mathematics Activity
Graph Theory: Euler Graphs and Digraphs
Unit III – Chapter 3 Path Testing.
Presentation transcript:

Graph Theory Techniques in Model-Based Testing Kumeel Alsmail COMP 587

Outline The traditional software testing. Modeling. Model Based-Testing. Graph Theory. Testing Example. Random Walk. Markov Chain.

The Traditional Software Testing. The TS suffer from pesticide paradox. Pesticide Paradox: Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual. Test Scenarios are difficult to change. Solution: Model based-testing.

Modeling “ Is a way of representing the behavior of a system”. Finite State Machine

Model Based-Testing Constructing the behavioral models can begin early in the development cycle. Modeling exposes ambiguities in the specification and design of the software. The model embodies behavioral information that can be re-used in future testing, even when the specifications change. The model is easier to update than a suite of individual tests

Graph Theory “ Is an area of mathematics that deals with entities (called nodes) and the connections (called links) between the nodes”. Anything that we can represent with node and edges. The behavior of any software can be represent as states and edges.

Example Königsberg bridge problem (Eukerian) A Postman’s Problem (a b c b e f g d d )

Example A Street Sweeper’s Problem. Direct Graph : “ is a graph whose edges have direction and are called arcs”. Solution: ( a b c b f e g d e g ).

Software Testing. Testing software behavior in an efficient time. Represent the software behavior as graph help us find the bugs easily. Diving the software into many graph to represent all the software behavior.

Testing Combination of Action Achieving statement coverage when testing code. Switch cover: the approach of testing combinations of actions. a b c b f e c b g d e f e g bc bf bg

Testing under a Time Deadline If we have several test machines. If we have very limited time to perform the test. The system goes to a rest state after certain input. Each test machine can run a test scenario until rest state occur. a b c b f e g d e g Machine 1 : a b c d f e g Machine 2 : d e g After using the algorithm Machine 1 : a b c b g Machine 2 : d e f e g

Random Walk & Most Likely Paths “From the current node, choose an outgoing link at random, follow that link to the next node and repeat the process”. Most likely Paths: The activities that the user more likely to perform. Assigning a probability to each link. Random walk will follow the link with high probability.

Example

Conclusion Models are an excellent way to represent and understand system behavior. Models provide an easy way to update tests. Testing an application can be viewed as traversing a path through the graph of the model. Graph theory techniques allow us to use the behavioral information stored in models to generate new and useful tests.