Dependence Analysis in Reduction of Requirement Based Test Suites Boris Vaysburg Luay Tahat Bogdan Korel Computer Science Department Bell Labs Innovations.

Slides:



Advertisements
Similar presentations
Automata Theory Part 1: Introduction & NFA November 2002.
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items.
Outline. Conceptualization of diversity with unbalanced hierarchies.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Presenter: Jyun-Yan Li Design Fault Directed Test Generation for Microprocessor Validation Deepak A. Mathaikutty, Sandeep K. Shukla FERMAT Lab, Virginia.
1 Cost Effective Dynamic Program Slicing Xiangyu Zhang Rajiv Gupta The University of Arizona.
Of 23 Generating Automated Tests from Behavioral Models Jeff Offutt (Research with Dr. Nan Li, currently with MediData Solutions) Software Engineering.
Galit Friedman, Alan Hartman, Kenneth Nagin, Tomer Shiran IBM Haifa Research Laboratory ISSTA 2002.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Detailed Design Kenneth M. Anderson Lecture 21
Dec. 19, 2005ATS05: Agrawal and Doshi1 Concurrent Test Generation Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849,
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Independence Fault Collapsing
Department of CIS University of Pennsylvania 1/31/2001 Specification-based Protocol Testing Hyoung Seok Hong Oleg Sokolsky CSE 642.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
Modeling State-Dependent Objects Using Colored Petri Nets
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
1 State-Based Testing of Ajax Web Applications A. Marchetto, P. Tonella and F. Ricca CMSC737 Spring 2008 Shashvat A Thakor.
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Structural Analysis Approach to Fault Diagnosis with Application to Fixed-wing Aircraft Motion by Roozbeh Izadi-Zamanabadi Department of Control Engineering.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
PJSISSTA '001 Black-Box Test Reduction Using Input-Output Analysis ISSTA ‘00 Patrick J. Schroeder, Bogdan Korel Department of Computer Science Illinois.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
AMOST Experimental Comparison of Code-Based and Model-Based Test Prioritization Bogdan Korel Computer Science Department Illinois Institute of Technology.
How Significant Is the Effect of Faults Interaction on Coverage Based Fault Localizations? Xiaozhen Xue Advanced Empirical Software Testing Group Department.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Algorithms for Robot-based Network Deployment, Repair, and Coverage Gaurav S. Sukhatme Center for Robotics and Embedded.
Failure Recovery of Composite Semantic Web Services using Subgraph Replacement Hadi Saboohi Amineh Amini Hassan Abolhassani Karaj Islamic Azad University,
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Efficient Deployment Algorithms for Prolonging Network Lifetime and Ensuring Coverage in Wireless Sensor Networks Yong-hwan Kim Korea.
Predicated Static Single Assignment (PSSA) Presented by AbdulAziz Al-Shammari
RRXS Redundancy reducing XML storage in relations O. MERT ERKUŞ A. ONUR DOĞUÇ
Synchronization Transformations for Parallel Computing Pedro Diniz and Martin Rinard Department of Computer Science University of California, Santa Barbara.
1 Learning Sub-structures of Document Semantic Graphs for Document Summarization 1 Jure Leskovec, 1 Marko Grobelnik, 2 Natasa Milic-Frayling 1 Jozef Stefan.
Computer Science: A Structured Programming Approach Using C Trees Trees are used extensively in computer science to represent algebraic formulas;
Zibin Zheng DR 2 : Dynamic Request Routing for Tolerating Latency Variability in Cloud Applications CLOUD 2013 Jieming Zhu, Zibin.
Graph Theory Techniques in Model-Based Testing
Extended Finite-State Machine Induction using SAT-Solver Vladimir Ulyantsev, Fedor Tsarev St. Petersburg National.
April 28, 2003 Early Fault Detection and Failure Prediction in Large Software Systems Felix Salfner and Miroslaw Malek Department of Computer Science Humboldt.
System Testing Beyond unit testing. 2 System Testing Of the three levels of testing, system level testing is closest to everyday experience We evaluate.
Modelling by Petri nets
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
Testing Implementation Conformance with respect to its Architectural specification Software Architectures and Testing Begin Antonia Bertolino IEI - CNR,
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
2/1/20161 Computer Security Foundational Results.
Pruning Dynamic Slices With Confidence Original by: Xiangyu Zhang Neelam Gupta Rajiv Gupta The University of Arizona Presented by: David Carrillo.
1 Software Testing & Quality Assurance Lecture 13 Created by: Paulo Alencar Modified by: Frank Xu.
G LOBAL S IMILARITY B ETWEEN M ULTIPLE B IONETWORKS Yunkai Liu Computer Science Department University of South Dakota.
MMM2005The Chinese University of Hong Kong MMM2005 The Chinese University of Hong Kong 1 Video Summarization Using Mutual Reinforcement Principle and Shot.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Beyond Scenarios: Generating State Models from Use Cases An approach for the synthesis of State transition graphs from Use Cases Supporting Use Cases Based.
Test Generation for Designs with Multiple Clocks Xijiang LinSudhakar M. Reddy Mentor Graphics Corp SW Boeckman Rd. Wilsonville, OR ECE Department.
COE-571 Digital System Testing A Pattern Ordering Algorithm for Reducing the Size of Fault Dictionaries Authors: P. Bernardi, M. Grosso, M. Rebaudengo,
Modeling Arithmetic, Computation, and Languages
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Choi, Jinyoung Program in cognitive science
A Survey of Program Slicing Techniques: Section 4
Model Checking for an Executable Subset of UML
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Visualizing the Attracting Structures Results and Conclusions
Resource Allocation for Distributed Streaming Applications
Predictability Verification with Petri Net Unfoldings
Presentation transcript:

Dependence Analysis in Reduction of Requirement Based Test Suites Boris Vaysburg Luay Tahat Bogdan Korel Computer Science Department Bell Labs Innovations Computer Science Department Illinois Institute of Technology Lucent Technologies Illinois Institute of Technology Chicago, IL USA Naperville, IL USA Chicago, IL USA

Outline Model-based testing Selective model-based testing Selective test suite reduction using EFSM analysis EFSM dependencies Test Reduction based on EFSM analysis  Static approach  Dynamic approach Conclusions

Model Based Testing Model based testing is used to test software systems based on a system model Test cases are generated from the system model Testing state-based software systems

Model Based Testing Systems can be modeled using:  EFSM: Extended Finite State Machine  SDL: Specification Description Language

Model Based Testing Systems can be modeled using:  EFSM: Extended Finite State Machine  SDL: Specification Description Language

Extended Finite State Machine EFSM EFSM consists of:  States  Transitions The following elements are associated with each transition:  Event  Enabling condition  Action(s)

EFSM Transition State 1 State 2 Event(p)[Condition]/Action

EFSM Model of the ATM System

Model Based Testing Strategies State coverage Transition coverage Path coverage Constrained path coverage: each transition can be traversed at most “n” times in a test

Model-Based Testing These strategies are used to test the whole system Model-based testing strategies may generate large test suites

Selective Model-Based Testing Testers are frequently interested in testing only selected functionality (requirement) In a system model requirements frequently correspond to transitions The problem of selective testing of a requirement can be converted to a problem of testing a transition in the model (selective testing of a transition)

Selective Model-Based Testing

Selective Testing Strategies with respect to a transition State coverage Transition coverage Path coverage Constrained path coverage Each test must contain a transition (requirement) under test

Selective Model-Based Testing The size of a selective model-based test suite is frequently significantly smaller than the size of a complete system test suite However, the size of selective test suites still may be large

Reduction of Selective Test Suites The goal is to develop an approach of reduction of selective test suites EFSM dependence analysis is used to reduce the size of selective test suites

Test Suite Reduction Two tests are considered to be “equivalent” with respect to a transition under test if, during traversal of the EFSM model, these tests exhibit the same “pattern” of interactions with respect to the transition under test.

Test Suite Reduction Interactions? Dependencies between EFSM elements.

EFSM dependence analysis Dependencies between transitions (“active” elements of EFSM) Two types of dependencies between transitions in the EFSM are identified:  Data dependence  Control dependence

Data Dependence Data dependence captures the notion that one transition defines a value to a variable and another transition may potentially use this value.

Data Dependence

Control Dependence Control dependence captures the notion that one transition may affect traversal of another transition It is defined based on the concept of post- dominance

Control Dependence

EFSM Dependence Graph Nodes represent transitions Arcs represent control and data dependencies

Static EFSM Dependence Graph T5T6T8T1T4T9T2T3T7 data dependence control dependence

Test Suite Reduction Two tests are considered to be “equivalent” with respect to a transition under test if, during traversal of the EFSM model, these tests exhibit the same “pattern” of interactions with respect to the transition under test.

Test suite reduction Interactions: Data dependencies Control dependencies Pattern of interactions: Dependence sub-graph  Static interaction pattern  Dynamic interaction pattern

Test #1: T1, T4, T6, T8, T6, T8, T5, T8, T9 Test #2: T1, T2, T4, T6, T8, T6, T8, T5, T8, T9

Selective test suite reduction Static Interaction Pattern All dependencies that occurred during traversal of the test (path) are mapped to the EFSM dependence sub-graph Dependencies that do not “influence” a transition under test are removed The resulting dependence sub-graph is called Static Interaction Pattern If two tests have the same Static Interaction Pattern with respect to a transition under test, one of these tests is removed from the test suite

T1 T4 T6 T8 T6 T8 T5 T8 T9 Test #1:

Dependence Sub-graph T5T6T8T1T4T9

Dependence Sub-graph T5 T6T8T1T4T9

Dependence Sub-graph T5 T6T8T1T4T9

Static Interaction Pattern for Test #1 T5 T6T1T4

T1 T2 T4 T6 T8 T6 T8 T5 T8 T9 Test #2:

Dependence Sub-graph T5T6T8T1T4T9T2

Dependence Sub-graph T5 T6T8T1T4T9T2

Dependence Sub-graph T5 T6T8T1T4T9T2

Static Interaction Pattern for Test #2 T5 T6T1T4 Test #1 and Test #2 have the same Static Interaction Patterns

Test suite reduction Significant test reduction can be achieved using Static Interaction Patterns

Test Suite Size Reduction n Size of Selective Test Suite Size of Reduced Test Suite Using Static Interaction Pattern , , ,300 16

Selective test suite reduction Test reduction using Static Interaction Patterns is relatively “coarse” Static Interaction Patterns are not able to capture intricate interactions Dynamic Interaction Pattern is used

Dynamic EFSM dependencies Dynamic dependencies are dependencies that occur during traversal of the test (path) Dynamic EFSM dependence graph

T1 T2 T4 T6 T8 T6 T8 T5 T8 T9 Dynamic EFSM Dependencies for Test #2 Dynamic EFSM Dependence Graph

Selective test suite reduction Dynamic Interaction Pattern All dependencies that occurred during traversal of the test (path) are used to create a dynamic EFSM dependence graph. Dependencies that do not “influence” a transition under test are removed. The resulting dependence sub-graph is called Dynamic Interaction Pattern. If two tests have the same Dynamic Interaction Pattern with respect to a transition under test, one of these tests is removed from the test suite.

T1 T2 T4 T6 T8 T6 T8 T5 T8 T9 Dynamic EFSM Dependence graph for Test #2

T1 T2 T4 T6 T8 T6 T8 T5 T8 T9 Dynamic EFSM Dependence graph for Test #2

T1 T2 T4 T6 T8 T6 T8 T5 T8 T9 Dynamic EFSM Dependence graph for Test #2

T1 T2 T4 T6 T8 T6 T8 T5 T8 T9 Dynamic Interaction Pattern for Test #2 If two tests have the same Dynamic Interaction Pattern with respect to a transition under test, one of these tests is removed from the test suite

Selective Test Suite Size Reductions n Size of Selective Test Suite Size of Reduced Test Suite Using Static Interaction Pattern Size of Reduced Test Suite Using Dynamic Interaction Pattern , , ,

Conclusions Using EFSM dependence analysis to reduce selective test suites Significant reduction may be achieved Fault detection capability of the reduced test suite? The approach is under development We plan to perform an experimental study Develop efficient algorithms of test suite reduction

End of Presentation