t esting and a ssessment of p rotocols and s ystems m odeled as e xtended f inite s tate m achines...

75
TESTING AND ASSESSMENT OF PROTOCOLS AND SYSTEMS MODELED AS EXTENDED FINITE STATE MACHINES Tariq M. Salameh Advisor: Dr. Khaled Fakih 30 th of June 2013

Upload: irma-york

Post on 16-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

TESTING AND ASSESSMENT OF PROTOCOLS AND SYSTEMS MODELED AS EXTENDED FINITE STATE MACHINES

Tariq M. SalamehAdvisor: Dr. Khaled El Fakih30th of June 2013

Page 2: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

2

Outlines• Introduction

• Preliminaries – The EFSM Model– EFSM Flow Graph– Data-Flow, Control-Flow Test Suites– EFSM-Based Test Suites

• Mutation Testing• Coverage Assessment of Mutation Testing• Assessing Control-Flow, Data-Flow and EFSM Based Test Suites

– Research Objectives– Assessment Methodology– Experimental Results

• Testing with Respect to Transfer Faults: A Method and an Assessment– Algorithm– Experimental Results

• Conclusion• Future Work

Page 3: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

3

INTRODUCTION

Page 4: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

4

Introduction

• Test derivation based on formal models is now widely used for deriving test suites for different kinds of systems.

• A well-known model that is widely used to represent the specification of a given software system is called the Extended Finite State Machine (EFSM) model.

Page 5: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

5

PRELIMINARIES

Page 6: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

6

The EFSM Model

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

predicate complete input complete deterministic

complete

Page 7: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

7

Test Cases & Test Suites

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 0

Page 8: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

8

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 1

Page 9: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

9

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0 - ?a/!o(2) – S0

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 1

Page 10: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

10

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0 - ?a/!o(2) – S0 - ?a/!o(0) – S1

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 2

Page 11: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

11

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0 - ?a/!o(2) – S0 - ?a/!o(0) – S1 - ?b/!o(0) – S1

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 0

Page 12: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

12

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0 - ?a/!o(2) – S0 - ?a/!o(0) – S1 - ?b/!o(0) – S1

– Test Case 2S0 - ?b/!o(0) – S0

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 0

Page 13: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

13

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0 - ?a/!o(2) – S0 - ?a/!o(0) – S1 - ?b/!o(0) – S1

– Test Case 2S0 - ?b/!o(0) – S0 - ?b/!o(0) – S0

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 0

Page 14: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

14

Test Cases & Test Suites (Cont.)

• Test Suite– Test Case 1

S0 - ?a/!o(1) – S0 - ?b/!o(1) – S0 - ?a/!o(2) – S0 - ?a/!o(0) – S1 - ?b/!o(0) – S1

– Test Case 2S0 - ?b/!o(0) – S0 - ?b/!o(0) – S0 - ?a/!o(1) – S0

S0 S1

w:=0T1: b / o(w)

T2: a, w<2 / w:=w+1, o(w)

T3: a, w=2 / w:=0, o(w)

T5: a, w>=1 / w:=1, o(w)

T4: b, w<2 / o(w)

w = 0

Page 15: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

15

EFSM Flow-Graph

EFSM Flow-Graph is a transformation of EFSM model with notations for variables' Definitions, C-Uses and P-Uses

d0w

0

S0

1 2

?b

!w

?a

C1w

6 3

Pw2-6 Pw

2-3

4C4w,d4

w

!w

7d7w

S1

!w

5C5wC8

w 8

12 9

?a ?b

11 10

Pw9-10Pw

9-11

C11w

!w

14 13

Pw12-13Pw

12-14

15d15w

16C16w

!w

Page 16: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

16

Data-Flow, Control-Flow Test Suites

– All-Uses test suite.

d0w

0

S0

1 2

?b

!w

?a

C1w

6 3

Pw2-6 Pw

2-3

4C4w,d4

w

!w

7d7w

S1

!w

5C5wC8

w 8

12 9

?a ?b

11 10

Pw9-10Pw

9-11

C11w

!w

14 13

Pw12-13Pw

12-14

15d15w

16C16w

!w

Page 17: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

17

Data-Flow, Control-Flow Test Suites

– All-Uses test suite.– All-Edges test suite.

d0w

0

S0

1 2

?b

!w

?a

C1w

6 3

Pw2-6 Pw

2-3

4C4w,d4

w

!w

7d7w

S1

!w

5C5wC8

w 8

12 9

?a ?b

11 10

Pw9-10Pw

9-11

C11w

!w

14 13

Pw12-13Pw

12-14

15d15w

16C16w

!w

Page 18: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

18

Data-Flow, Control-Flow Test Suites

– All-Uses test suite.– All-Edges test suite.– All-Nodes test suite.

d0w

0

S0

1 2

?b

!w

?a

C1w

6 3

Pw2-6 Pw

2-3

4C4w,d4

w

!w

7d7w

S1

!w

5C5wC8

w 8

12 9

?a ?b

11 10

Pw9-10Pw

9-11

C11w

!w

14 13

Pw12-13Pw

12-14

15d15w

16C16w

!w

Page 19: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

19

Data-Flow, Control-Flow Test Suites

– All-Uses test suite.– All-Edges test suite.– All-Nodes test suite.– All-Decisions test suite.

d0w

0

S0

1 2

?b

!w

?a

C1w

6 3

Pw2-6 Pw

2-3

4C4w,d4

w

!w

7d7w

S1

!w

5C5wC8

w 8

12 9

?a ?b

11 10

Pw9-10Pw

9-11

C11w

!w

14 13

Pw12-13Pw

12-14

15d15w

16C16w

!w

Page 20: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

20

EFSM Test Suites

– Single Transfer Fault (STF) test suite.

S1 S2?a/!o

Page 21: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

21

EFSM Test Suites

– Single Transfer Fault (STF) test suite.

– Double Transfer Fault (DTF) test suite.

S1

S3

S2

?a/!o

Page 22: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

22

EFSM Test Suites

– Single Assignment Fault (SAF) test suite.

S1 S2?a/{w := 1, !o}

Page 23: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

23

EFSM Test Suites

– Single Assignment Fault (SAF) test suite.

– Double Assignment Fault (DAF) test suite.

S1 S2?a/{w := 1, !o}

?a/{w := 2, !o}

Page 24: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

24

Mutation Testing• Mutation testing is a mechanism to evaluate and

assess the quality of a test suite and to guarantee its efficiency by checking the coverage of the test suite in terms of number of killed mutants [1].

• Expensive but efficient in fault and error detection [2].

• Cost can be reduced by selecting mutation operators carefully.

[1] Tatiana Sugeta, Jose Carlos Maldonado, and W. Eric Wong, "Mutation Testing Applied to Validate SDL Specifications," LNCS, pp. 193-208, 2004.[2] DeMillo R.A and Offutt A.J, "Experimental results from an automatic test case generator," ACM Trans. Software Engineering, vol. 2, pp. 109–127, 1993.

Page 25: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

25

Coverage Assessment of Mutation Testing

• Although Mutant generation was originally proposed as part of a testing strategy, Thevenod-Fosse et al. [3] used it as a method for generating faulty versions for experiments.

• James H. Andews et al. [4] compared four different test suites, Block, C-Use, Decision, and P-Use, in which they found that C-Use and P-Use test suites were able to kill more faulty machines than the others.

[3] P. Thevenod-Fosse, H. Waeselynck, and Y. Crouzet, "An Experimental Study on Software Structural Testing: Deterministic versus Random Input Generation," Proc. 21st Int’l Symp. Fault-Tolerant Computing, pp. 410-417, June 1991.[4] J.H. Andrews, L.C. Briand, Y. Labiche, and A.S. Namin, "Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria," IEEE Transactions on Software Engineering, vol. 32, pp. 608-624, August 2006.

Page 26: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

26

Coverage Assessment of Mutation Testing

• Offutt J. et al. [5] compared four testing criteria, Mutation, Edge-Pair, All-Uses, and Prime Path Coverage:

[5] Li Nan, U. Praphamontripong, and J. Offutt, "An Experimental Comparison of Four Unit Test Criteria: Mutation, Edge-Pair, All-Uses and Prime Path Coverage," Software Testing, Verification and Validation Workshops, 2009. ICSTW '09. International Conference, pp. 220-229, April 2009.

Tests Faults Cost/Benefit

All-uses 362 54 6.7

Mutation 269 75 3.6

Page 27: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

27

Coverage Assessment of Mutation Testing

• Frankl et al. compared the effectiveness of All-Uses vs. Mutation Testing in which they found that mutation testing did better than All-Uses [6].

• Kakarla et al. compared between Data-Flow testing and mutation testing [7] in which they found that Data-Flow testing outperformed mutation testing in the number of test cases required (cost), but mutation testing was twice as effective as Data-Flow testing in exposing faults (benefit).

[6] Phyllis G. Frankl, Stewart N. Weiss, and Cang Hu, "All-Uses versus Mutation Testing: An Experimental Comparison of Effectiveness," June 1996.[7] S. Kakarla, S. Momotaz, and A.S. Namin, "An Evaluation of Mutation and Data-Flow Testing: A Meta-analysis," Software Testing, Verification and Validation Workshops (ICSTW), 2011 IEEE Fourth International Conference, pp. 366-375, March 2011.

Page 28: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

28

ASSESSING CONTROL-FLOW, DATA-FLOW AND EFSM BASEDTEST SUITES

Page 29: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

29

Research ObjectivesEFSM

Compare Mutation Score

STF TSDTF TSSAF TSDAF TS

Transition TourAll-StatesRandom

All-UsesAll-EdgesAll-Nodes

All-Decisions

IUT }M

utan

ts

Page 30: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

30

Assessment MethodologyStep 1:

Given EFSM Spec

Step 2.1:Derive Definition/Use

Flow Graph from Spec

Step 2.2:Derive Control-Flow & Data-Flow Test Suites

Step 2.3:Write Derived Test

Suites in JUnit

Step 3.1:Derive EFSM-

Based Test Suites from Spec

Step 3.2:Write Derived Test

Suites in JUnit

Step 4.1:Develop Java Code

Implementations of Spec

Step 4.3:Derive Code Mutants by Using MuClipse

Step 4.2:Select Mutation

Operators

Step 5:Apply derived test suites to derived mutants and

compute mutation scores

Page 31: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

31

Considered EFSM Specification• Case Study 1: Initiator [8]

disconnect

wait

connect sending

T5: D

R/IDIS

ind

T2: ICONreq/CR, counter:=1

T4: T, counter >

=4/ IDISind

T7:

DR

/IDIS

ind

T13: DR/IDISind

T14: AK(num), Ak.num==number/Nullnumber := succ(number)

T9: AK(num), Ak.num!=number and counter <4 /DT(number, d)

counter = counter+1

T12: AK

(num), A

k.num!=num

ber and counter >= 4

/IDIS

ind

T10: T, counter<4/DT(number, d)

counter:=counter+1

T11: T, counter>=4

/IDIS

ind

T3: T, counter<4/CRcounter:=counter+1

T6: CC/ICONconfnumber:=1 >

counter:=0, number:=0;d:=0

Initiator EFSM

T8: IDATreq(data)/DT(number, d)counter :=1;

d := IDATreq.data

T1: DR/IDISind

[8] Hogrefe Dieter., "OSI formal specification case study: the Inres protocol and service, revised ," 1992.

Page 32: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

32

Considered EFSM Specification (Cont.)

• Case Study 2: Responder [8]

disconnected wait

connected

T2: CR/ICONind

number:=0

Responder EFSM

T3: IDISreq/DR

T1: IDISreq/DR T4: ICON_resp/CCnumber:=0

T6: DT(num), DT.num != succ(number)/AK(num)

T5: DT(num), DT.num==succ(number)/AK(num)

number=succ(number)

[8] Hogrefe Dieter., "OSI formal specification case study: the Inres protocol and service, revised ," 1992.

Page 33: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

33

Considered EFSM Specification (Cont.)

• Case Study 3: SCP [9]

S1 S2

S3

T2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

T4: refuse, TryCount = 2 / CONcnf(0),

T5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

T6: Data / data(FinQos)

T3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

[9] W.-H Chen, "Executable test sequences for the protocol data flow property," Int. Conference on Formal Techniques for Networked and Distributed Systems, pp. 285-299, 2011.

Page 34: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

34

Considered EFSM Specification (Cont.)

• Case Study 4: Cruise Control [10]

S1S0

S3

S2

t1: ?engon/{maxt =10; maxb =10;

t =1; bpedal =1;

!o(1)}

t11: ?engoff/{!o(0)}

t13: ?engoff/

{!o(0)}

t12:

?en

goff/

{!o(0

)}

t2: ?acc, [bpedal >= 0

&& t < maxt – 5] /

{t +=5; bpedal =0;

!o(1)}t3: ?

acc,

[bped

al >

= 0

&& t >=

max

t – 5

] /

{t =

max

t; bped

al =

0;

!o(1

)}

t5: ?

b, [ t

>= 0

&&

bpedal

>=

max

b – 1

] /

{bped

al =

max

b;

t =0;

!o(1

)}

t4: ?b, [ t >= 0 &&

bpedal < maxb – 1]

/{bpedal += 1;

t =0; !o(1)}

t6: ?on/!o(2)

t10: ?off/!o(1)

t9:

?r/

{!o

(2)}

t7: ?acc/{!o

(2)}

t8: ?

b/{

!o(3

)}

[10] L. Briand, Y. Labiche, and Y. Wang, "Using Simulation to Empirically Investigate Test Coverage Criteria on Statecharts," Carleton University, Technical Report SCE-02-09, 2002.

Page 35: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

35

Random Test Suites• A Random Test Suite is a test suite generated

by a random walk through (or from a randomly generated path of) the EFSM Specification.

• Considered Random Test Suites:– Same length as the All-Uses test suite:

• With one test case.• With the same number of test cases.

– Same length as the All-Edges test suite:• With one test case.• With the same number of test cases.

Page 36: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

36

Mutation Operators• Code mutants are derived using the following well-

known types of mutation operators [11]:Operator Description

AOR Arithmetic Operator Replacement

AOI Arithmetic Operator Insertion

AOD Arithmetic Operator Deletion

ROR Relational Operator Replacement

COR Conditional Operator Replacement

COI Conditional Operator Insertion

COD Conditional Operator Deletion

SOR Shift Operator Replacement

LOR Logical Operator Replacement

LOI Logical Operator Insertion

LOD Logical Operator Deletion

ASR Assignment Operator Replacement

[11] Yu-Seung Ma and Jeff Offutt, "Description of Method-level Mutation Operators for Java," November 2005.

Page 37: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

37

Experimental Results• Coverage of Control-Flow and Data-Flow Test Suites:

Page 38: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

38

• Coverage of EFSM-Based Test Suites

Page 39: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

39

• Coverage of EFSM-Based Random Test Suites versus All-Uses and All-Edges Test Suites

Page 40: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

40

• Coverage of Best Control-Flow, Data-Flow and EFSM-Based Test Suites

Page 41: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

41

• Coverage of Best EFSM-Based Test Suites of All-Uses and All-Decisions Test Suites

Page 42: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

42

• Coverage of Best Control-Flow, Data-Flow and EFSM-Based test suites per each mutation operators category

Page 43: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

43

• Comparison of EFSM-Based versus Code-Based Random Test Suites

Page 44: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

44

• Summary of All Results

Page 45: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

45

TESTING WITH RESPECT TO TRANSFER FAULTS: A METHOD AND AN ASSESSMENT

Page 46: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

46

Conformance Testing

EFSM Spec

EFSM Black-Box IUTDerive TS

Apply

Same Behavior?

IUT non-conforming to SpecIUT conforming to Spec

Yes No

Page 47: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

47

Assumptions

• We assume the following:

The EFSM Implementation Under Testing (IUT) has:– the same number of states as the EFSM

specifications.– No Guard Faults.– No Assignment Faults.

Page 48: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

48

Types of Considered EFSM Faults• We consider two types of EFSM faults:

– output fault

S1 S2?a/!o

Page 49: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

49

Types of Considered EFSM Faults• We consider two types of EFSM faults:

– output fault

S1 S2?a/!o

?a/!w

Page 50: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

50

Types of Considered EFSM Faults• We consider two types of EFSM faults:

– output fault

– transfer fault

S1 S2?a/!o

?a/!w

S1 S2?a/!o

Page 51: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

51

Types of Considered EFSM Faults• We consider two types of EFSM faults:

– output fault

– transfer fault

S1 S2?a/!o

?a/!w

S1

S3

S2

?a/!o

Page 52: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

52

Configuration Distinguishing

(s, v1), (s, v2) are distinguishable if:

∃ an input sequence , such that, outputs produced at (s, v1) and (s, v2) in response to are different:

(s, v1)

(s, v2)

/ /

β1

β2β1 ≠ β2

Page 53: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

53

State Distinguishing

si, sj are distinguishable if:

∃ input sequence Wij, such that:

(si, v1)

(si, v2)

(sj, v2)

(sj, v3)

Wij = {1 , 2}

1

2

/ β2

/ β4

1

2

/ β1

/ β3

Page 54: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

54

State-Reduced EFSM

An EFSM is state-reduced if:

• Initialized: Every State is reachable from (s0, v0).

• ∀two states s, s’ are distinguishable.

Page 55: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

55

Fault Model (M, , ≅ )

• EFSM specification M of a given system.

• fault domain that includes the set of all possible conforming or non-conforming EFSM implementations of the given system.

• Conformance relation ≅ .

Page 56: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

56

Algorithm

• Input: EFSM specification M: – n states– state-reduced– Deterministic, complete, initialized– initially connected– F = {Hs0, Hs1 , …, HSn-1} of the n states

• Output: A complete Test Suite TS w.r.t. the fault model (M, , ≅ ).

Page 57: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

57

Step-1: Verify Initial Configuration (s0, v0)

M I

Hs0

=

v0

s0

Hs0

v1

?x/!β1

?x/!β1

vn

Page 58: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

58

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

?accept(0) / !- , ?Data / !-

Hs1

Page 59: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

Step-2: As possible check outgoing transitions of s0 reachable from (s0, v0)

59

Hs1

v0

s0

v0

s1

v1

v1 vm

sn

t = (s0, x, P, op, y, up, s´)

∃ px: (v0, px) |= P

TC: (x, px).Hs´

Add Transition t to tested.

(x, px)

Page 60: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

60

Test Case to check t8:?Reset / !-

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Page 61: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

61

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Hs1

Test Case to check t8:?Reset / !- , ?accept(0) / !-, ?Data / !-

Page 62: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

62

Step-3: Check outgoing transitions of other states reached using tested transitions

Hs2

v0

s0

v0

s1

v1

t1

v1

Tested Transition

v1

s2

v0t2

Page 63: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

63

In order to test t4,

t2 and t3 should be tested first.

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Page 64: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

64

Test Case to check t4:r. ?CONreq(0)/!connect(0),

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Page 65: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

65

Test Case to check t4:r. ?CONreq(0)/!connect(0), ?refuse/!connect(0)

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Page 66: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

66

Test Case to check t4:r. ?CONreq(0)/!connect(0), ?refuse/!connect(0), ?refuse/!connect(0),

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Page 67: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

67

Test Case to check t4:r. ?CONreq(0)/!connect(0), ?refuse/!connect(0), ?refuse/!connect(0), ?refuse/!CONcnf(0)

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Page 68: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

68

Test Case to check t4: r. ?CONreq(0)/!connect(0), ?refuse/!connect(0), ?refuse/!connect(0), ?refuse/!CONcnf(0), ?accept(0)/!-, ?Data/!-

S1 S2

S3

t2: CONreq(qos), CONreq.qos ≤ 1 /connect(ReqQos),

ReqQos := CONreq.qos

t4: refuse, TryCount = 2 / CONcnf(0),

t5: accept(qos) / CONcnf(1, FinQos)FinQos := min(accept.qos, ReqQos)

t6: Data / data(FinQos)

t3: refuse, TryCount ≠ 2 /connect(ReqQos),

TryCount := TryCount + 1

TryCount := 0

t10: accept(qos) / -

t12: Reset / - t13: Data / -

t17: accept(qos) / -

Hs1

Page 69: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

69

Experimental Results

Page 70: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

70

Conclusion

• Random All Uses outperform EFSM-based, Data-Flow, and Control-Flow test suites.

• The best EFSM-Based test suites are Transition Tour and Single Transfer Fault test suites.

Page 71: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

71

Conclusion

• The best Data-Flow and Control-Flow test suite is All-Uses test suite.

• Transition Tour, Single Transfer Fault, and All-Uses test suites are comparable.

Page 72: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

72

Conclusion

• Transfer Faults Based Test Suites (TFTSs) outperform EFSM-based, random, and the traditional Data-Flow and Control-Flow test suites.

Page 73: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

73

Future Work

• Extending the testing with respect to transfer faults method to deal with partial EFSMs and consider related fault models and Conformance relations.

Page 74: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

74

QUESTIONS?

Page 75: T ESTING AND A SSESSMENT OF P ROTOCOLS AND S YSTEMS M ODELED AS E XTENDED F INITE S TATE M ACHINES Tariq M. Salameh Advisor: Dr. Khaled El Fakih 30 th

75

THANK YOU