1 / 12

Heuristics for Improving Model Learning Based Testing

Heuristics for Improving Model Learning Based Testing. Muhammad Naeem Irfan VASCO-LIG, Computer Science Lab, Grenoble Universities, 38402 Saint Martin d’Hères. Introduction. Component Based Software Engineering. Formal models of such components is missing

patia
Télécharger la présentation

Heuristics for Improving Model Learning Based Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Heuristics for Improving Model Learning Based Testing Muhammad Naeem Irfan VASCO-LIG, Computer Science Lab, Grenoble Universities, 38402 Saint Martin d’Hères

  2. Introduction • Component Based Software Engineering • Formal models of such components is missing • Methods to construct the model from source code are available • Source code for components (black boxes) is most often missing • Construct the model by sending inputs and observing outputs

  3. Introduction • Reverse engineering models Learn model Observe outputs for inputs Learner Black Box Tester Test model Learned Model

  4. Angluin Style Learning Input set I Observe outputs • Complexity O( |I|² nm+ |I| m n²) • I : the size of the input set • n : the number of states in the actual machine • m : the length of the longest counterexample • Method by Shahbaz to process the counterexampleO( |I|² n + |I| m n²) Algorithm Perform test Send inputs “OK” or Counterexample Learnt Model Oracle

  5. Problem Statement Input set I Observe outputs • The length of counterexample m is important parameter for the complexity • Oracle is of low quality • How we can reduce relying on the quality of counterexample • Process the counterexample more efficiently Algorithm Perform test Send inputs “OK” or Counterexample Learnt Model Oracle

  6. Learning Black Box Discriminating Sequences b/y a/x Black Box q0 q2 b/y States b/x a/x a/x Equivalent States q1 Observation Table Conjecture a/x b/y Counterexample: a b a b a a b q0 x y x y x x y Conjecture: x y x y x x x Black Box:

  7. Processing the Counterexample Counterexample: b a b a a b a babaab abaab baab aab ab ab Discriminating Sequences Discriminating Sequences States Eq. States Observation Table (Previous Method) Observation Table (New Method)

  8. Difference between Algorithms Processing the Counterexample a b a b a a b Add suffixes to Discriminating Sequencesuntil new state is identified 21 49 Observation Table after processing counterexample with previous method Observation Table after processing counterexample

  9. Edinburg Concurrency Workbench Results CWB Examples Tests Counterexamples • Gain for number of tests conducted • Lose for the number of counter examples processed

  10. Comparison of two Methods • New method less number of discriminating sequences • Previous method processing all the discriminating sequences • Worst case complexity is same • Gain for processing the Counterexample from Random Walk method

  11. Perspectives • Find efficient heuristics to bring down the average complexity of algorithm • Process the counterexamples • Processing sparse tables • How to deal with the abstractions to be made on actual interactions with black box components • How to perform random walks to get the counterexample

  12. Questions

More Related