formal approaches for detecting feature interactions, their experimental results, and application to...

39
Formal Approaches for Det Formal Approaches for Det ecting Feature Interactio ecting Feature Interactio ns, Their Experimental Re ns, Their Experimental Re sults, and Application to sults, and Application to VoIP VoIP T. Yoneda, S. Kawauchi, T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta J. Yoshida and T. Ohta SOKA University SOKA University

Upload: john-spencer

Post on 14-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Formal Approaches for Detecting Formal Approaches for Detecting Feature Interactions, Their ExperiFeature Interactions, Their Experimental Results, and Application to mental Results, and Application to

VoIPVoIP

T. Yoneda, S. Kawauchi, T. Yoneda, S. Kawauchi,

J. Yoshida and T. OhtaJ. Yoshida and T. Ohta

SOKA UniversitySOKA University

Page 2: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Contents

1. Background and Problems2. Problems and Their Solutions

- Terminal Assignments- Reachability Test- Static Detection Algorithm

3. Implementation and Evaluations4. Application to VoIP

Page 3: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Background

Explosion in computation time for detecting feature interactions

Coverage and Redundancy in detecting feature interactions

Dynamic Detection: Detecting interactions by executing service specifications.

Static Detection: Detecting interactions solely by analyzing service specifications

Page 4: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Problems in Static Detection

InputSpec.

Reach-abilityTest

Detection ofInteractions

Static Detection System

Det.FIs

Comb. of Spec.

TerminalAssignments

Prob. 1 Prob. 2 Prob. 3

Generation of Testing Objects

Filtering Formal Detection

Page 5: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Contents

1. Background and Problems2. Problems and Their Solutions

- Terminal Assignments- Reachability Test- Static Detection Algorithm

3. Implementation and Evaluations4. Application to VoIP

Page 6: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Specification Description Language STR:State Transition Rule

Rule application : Precondition exists in the current system state

  Pre-cond. Event: Post-cond.Form :

Specification is represented as a set of STR rules

Next System State

Post-cond.

Delete Add

Event

Current System State

Pre-cond.

Pre-cond. and Post-cond. are represented as a set of primitives.

State change:

Page 7: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Terminal is described as a variable in rules. Terminal Assignments

To detect FIs, real terminals are assigned to variables.

Ex. :m-cfv(ya,za), dialtone(xa), idle(za)

m-cfv(B,C), dialtone(A), idle(C)

m-ocs(xb,yb), dialtone(xb), idle(yb)

m-ocs(A,C), dialtone(A), idle(C)

Page 8: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Problems so far

Explosive computation time with all assignmentsLow coverage with reduced assignments

It was not clear how to assign real terminals to terminal variables.

Proposal of terminal assignment method, whereunnecessary terminal assignments are deleted.

Page 9: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Basic Idea for Terminal AssignmentNo terminals belong to both services: no feature interactions If a terminal belongs to both services, feature interactions may occur.

A terminal belongs to both services: xa for service A, xb for service B xa=xb=terminal P

Combination of variables: a set of pairs of variables to which the same real terminals are assigned

Different terminal assignments to the same combination of variable gives equivalent states, the same state with different terminal names.

Page 10: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Equivalent States

zaxa

ya

xb yb

xa=xb, za=yb

Combination of variables are the same.Terminal assignments are different.

Equiv. States

A B C

xa ya za

xb yb

Case 1

D B E

xa ya za

xb yb

Case 2

CA

B

State 1

ED

B

State 2

Service a

Service b

Page 11: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Basic Idea for Terminal AssignmentNo terminals belong to both services: no feature interactions If a terminal belongs to both services, feature interactions may occur.

A terminal belongs to both services: xa for service A, xb for service B xa=xb=terminal P

Combination of variables: a set of pairs of variables to which the same real terminals are assigned

Different terminal assignments to the same combination of variable gives equivalent states, the same state with different terminal names.

Interactions caused in equivalent states are equivalent interactions.

One terminal assignment to one combination of variables.Consider only different combination of variables.

Page 12: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

The number of combinations of variables

Service A Var. 1 Var.2 Var.3 : na

Var.4Var. 1 Var.2 Var.3 Service Bnb

t

ΣN = t=1

t=na

A B C D EReal terminals ・・・

The number of all terminal assignments:

nTPna × nTP nb Here nT =na + nb

When na=nb=3, N=33

14400

nbPtnaCt ×

(na nb)≧

Page 13: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Effects of Deleting Equiv. Term. Assign.The number of terminal assignments for a

service pair which have 3 term. variables.

0

500,000

1,000,000

1,500,000

2,000,000

6 7 8 9 10 11 12Num. of real terminals

Num of real ter. 6 7 8 9 10 11 12 ... 100(a) 14,400 44,100 112,896 254,016 518,400 980,100 1,742,400 ... 941,288,040,000(b) 33 33 33 33 33 33 33 33

(a) Before deletion(b) After deletion

The numberof terminalassignments

Page 14: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Problem 2

Reachability Test

Page 15: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

New Method

Generating states

P-invariant in Petri-Net

Require much time

Using knowledge which can be obtained easily

Conventional

New Proposal

Page 16: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Illegal Combinations of PrimitivesEx. {dialtone(x),idle(x)} 【 POTS 】

【 POTS 】【 service a 】

{idle,dialtone},{dialtone,talk},…

union

Knowledge

【 service b 】

Ex. {dialtone(x),cw-calling(x,y)} 【 service i 】considering only service i and POTS

Generating Knowledge for reachability test for combined service of service a and service b

Page 17: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Problem 3

Static Detection Algorithm of Feature Interactions

Page 18: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Classification of Interactions

Logical Int. : can be identified by State Transition Diagrams

Semantic Int. : can be identified by meaning of State Transition

Occurrence of abnormal state/transitionDisappearence of normal state/transition

? ?ek

ei ej

Non-determinacy, Dead lock, Live lock

Non-determinacyek

ei ej

Classification based on FSM Model

Page 19: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Static Detection AlgorithmPre-cond    Event :   Post-cond

rule for service a

rule for service b

rac ranea

rbc rbneb

→can be judged solely by specifications

Event

Current State Next State

State for service a

rac ran

rbc

ea

State for service b

JudgingFormula

{(ea≠eb)∧[{(rbc - rac ) ∪ ran}   ( rbc Δ∪ rac)]  ∨{(ea = eb)∧[{(rbc - rac )∪ ran   (rbn Δ∪ rac)}

       ∨ {(rac-ran)   (rbc-rbn)}]⊇

⊇:

Page 20: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Contents

1. Background and Problems2. Problems and Their Solutions

- Terminal Assignments- Reachability Test- Static Detection Algorithm

3. Implementation and Evaluations4. Application to VoIP

Page 21: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Evaluation Items

As close as possible to 100 % Coverage:

Redundancy: Detecting what is not actually interaction

Detection time:

Page 22: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Bench Mark

FIW98 contest results published in 2000

12 services: CFBL, CND, INFB, INFR, INTL, TCS, TWC, INCF, CW, INCC, RC, CELL

FIW2000 contest results could not used because of lack in detailed information:scenario where interactions occur.

Page 23: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Detection System

Terminal assignments

KnowledgeData Base

Paring specifications

SpecificationsKnowledge

Interactions

Reachability tests

   Interaction detection

Page 24: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Coverage and Redundancy

The number of interactions detected: 2,650

Including all interactions described in the bench mark

No redundancies: miss detection, duplicated detection

Page 25: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Filtering Effects

1.E+001.E+011.E+021.E+031.E+041.E+051.E+061.E+071.E+08

cfbl

cnd

infb

infr

intl

tcs

twc

incf cw incc rc cell

The number of testing subjects

reduced to 0.4 % by deleting equiv. term. assignments and reduced to 0.07 % after reachability test.

:Before

:equi. t.

:reach. t.

Page 26: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Detecting Time

Mean time for one pair of services: 17.7 sec. ●

020406080

100120140160180

0 20 40 60 80Service pair number

sec

Av,: 17.7(sec)

Detecting Time

TWC&TWC

TWC&CW

Total time for 12 services: 23 min. ●

Page 27: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Evaluations

Coverage: 100% based on the bench mark●

● Redundancy: no redundancies

● Detection time: 17.7 sec. ; mean time for a pair of services

Effective detection system

Page 28: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Contents

1. Background and Problems2. Problems and Their Solutions

- Terminal Assignments- Reachability Test

3. Implementation and Evaluations4. Application to VoIP

Page 29: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Active Network for VoIP

ActiveGK

ActiveGK

IP Tel.IP Tel. PC IP Tel.

Validationserver

deliver

upload

User terminal User terminal

PSTN

GW

PSTN

GW

upload

Page 30: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Experimental System Structure for Validation Server

Validation Server

Web serverWeb server

FI Detection

Part

FI Detection

Part

Deliveringuser

programs

Deliveringuser

programs

Receiving user programsReceiving user programs

User terminal

ActiveGK

ActiveGK

Uploadingprograms

Page 31: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Future Work• Interaction resolution algorithm

– for selecting interactions

to be resolved actually

– for automatic resolution or assisting resolution

• Application to other than telephone services

– Home network

– Ado-hoc network

– Data base system

– …

Page 32: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Thank you for your kind attentions.

Page 33: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

ESTR(2)

Pre-condition event

Post-condition:

Syntax:

Pre-condition: conditions for state transitionevent: triger for state transitionPost-condition: state after transitionAction: procedure accompanied by state transition

Example; idle(x) setup(x,y): w-alert(y,x), {Send(setup,x,y)} Example; idle(x) setup(x,y): w-alert(y,x), {Send(setup,x,y)}

action, { }

( send a signal, retrieve database, and so on)

Page 34: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Example for ESTR Description idle(x) arq(x): w-setup(x),{Send(acf,x)}w-setup(x) setup(x,y): w-arq(y,x),{Send(setup,x,y)}w-arq(y,x) arq(y,x): w-proc(y,x),{Send(acf,y)}w-proc(y,x) proc(y,x): w-alert(y,x),{Send(proc,y,x)}w-alert(y,x) alert(y,x): w-conn(y,x),{Send(alert,y,x)}w-conn(y,x) conn(y,x): talk(x,y),{Send(conn,y,x)}talk(x,y) disc(x,y): w-release(y,x),{Send(disc,x,y)}talk(x,y) disc(y,x): w-release(x,y),{Send(disc,y,x)}w-release(y,x) release(y,x): w-release_conf(x), w-drq(y),{Send(release,y,x)}w-release_conf(x) release_conf(x): w-drq(x),{}

Page 35: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Structure of Active GK

Input of signal

Rule selection

Actions execution

EE

Network platform provided by a vendor

Active GK

Ruledatabase

User Programs

Page 36: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Example for Interaction

Interaction

dial(A,B)

CA

B B

CA

Reject C

Forward to C

CFV Service

OCSService

Interaction between CFV and OCS

<Current State> <Event> <Next State>

dialtone Calling

Forward to C

Reject C

Page 37: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Comparison with Nakamura’s Method

1

10

100

1000

10000

100000

CW CFV OCS TCS DO DT DC

(Unit)

Nakamura’s MethodProposed Method

Detection Time

Detection Time

Can be reduced to 1 60th

DT: reject all terminating callDO: reject all originating callDC: direct call (hot line)

Page 38: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Deleting Equivalent Terminal Assignments

One set of terminal assignment to a combination of terminal variables to which the same terminals are assigned, respectively

A B C

xa ya za

xb yb

A B C

xa ya za

xb yb

A B C

xa ya za

xb yb

D…

ΣkaPt×kbCtt=0

ka

( ka≤ kb )

g: The number of real terminals to be assignedka,kb : The number of terminal variables in service a and b, repectivelyt: The number of pairs of terminal variables to be assigned the same terminals

gPka×gPkb

Deleting equivalent terminal assignments

The number of all terminal assignments

Terminal assignments after deleting equivalent ones:

Page 39: Formal Approaches for Detecting Feature Interactions, Their Experimental Results, and Application to VoIP T. Yoneda, S. Kawauchi, J. Yoshida and T. Ohta

Static Detection AlgorithmPre-cond    Event :   Post-cond

rule for service a

rule for service b

rac ranea

rbc rbneb

JudgingFormula

→can be judged solely by specifications

{(ea≠eb)∧[{(rac∪rbc) - rac }∪ ran   rbc Δ∪ rac}]  ∨{(ea = eb)∧[{(rac∪rbc) - rac }∪ {ran   (rbn Δ∪ rac)}

       ∨ {(rac-ran)∪ (ran   rbc-rbn)}]⊇

Event

Current State Next State

State for service a

rac ran

rbc

ea

State for service b

: