19
Identification of Distributed Features in SOA Anis Yousefi, PhD Candidate Department of Computing and Software McMaster University July 30, 2010 1

Identification of Distributed Features in SOA

  • Upload
    solada

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

Identification of Distributed Features in SOA. Anis Yousefi, PhD Candidate Department of Computing and Software McMaster University July 30, 2010. Feature Identification. Feature being used. List of classes. User. Software Engineer. Legacy Software Engineering!. - PowerPoint PPT Presentation

Citation preview

Page 1: Identification of Distributed Features in SOA

Identification of Distributed Features in

SOA

Anis Yousefi, PhD Candidate

Department of Computing and Software

McMaster University

July 30, 2010

1

Page 2: Identification of Distributed Features in SOA

Feature Identification

UserSoftware Engineer

List of classes

Feature being used

2

Page 3: Identification of Distributed Features in SOA

Legacy Software Engineering!

3

Page 4: Identification of Distributed Features in SOA

Feature Identification Literature• Identifying the source code constructs

activated when exercising a feature– Feature: functionality offered by a system

• Techniques – Textual analysis– Static analysis – Dynamic analysis– Hybrid approaches

4

Page 5: Identification of Distributed Features in SOA

Trace-based Dynamic Analysis• Instrumentation– TPTP

• Scenario execution

• Trace analysis– Pattern mining

5

Page 6: Identification of Distributed Features in SOA

Challenges

• Trace collection– Scattered implementation of features– Concurrency of events

• Feature location– Non-deterministic behavior of features

6

Page 7: Identification of Distributed Features in SOA

Summary

• What? – Identify the code associated with distributed features in SOA

– Identify dynamic feature behavior

• How? – Trace-based dynamic analysis of services in SOA

– Pattern mining to identify feature behavior

• Challenges?– Scattered implementation of features, concurrency of events, non-

deterministic behavior of features

7

Page 8: Identification of Distributed Features in SOA

Steps of The Proposed Approach• Run feature-oriented scenarios in SOA• Collect and merge execution traces of

services• Mine traces to extract patterns• Analyze the patterns to identify feature-

specific code and behavior

8

Page 9: Identification of Distributed Features in SOA

12

3 4

The Proposed Framework

9

Page 10: Identification of Distributed Features in SOA

10

Step 1- Running Scenarios

10

`̀`

`

`

`

Page 11: Identification of Distributed Features in SOA

11

m1 m2m3 m4…

Step 2- Merging Distributed Traces• Trace Structure

11

Enter m1, Timestamp: 0Enter m2, Timestamp: 1Leave m2, Timestamp: 3Enter m3, Timestamp: 4Enter m4, Timestamp: 5Leave m4, Timestamp: 6Leave m3, Timestamp: 7…

Page 12: Identification of Distributed Features in SOA

Step 2- Merging(Contd.)• Problems

– Distributed data– Interweaved data

• Solution– Building “block

execution tree”– Resolving

uncertainties• Before-after

analysis• Textual analysis• Frequency analysis

– Merging the traces

12

Page 13: Identification of Distributed Features in SOA

Step 3- Mining Frequent Patterns• Traces represent “call graphs”

• Mining frequent sub-graphs

Trace i Trace j

m0

m1

m2

m3

m4

m5

m6

m7

m0 m1m2 m3

m4m5m6m7

m0

m6

m2 m3m4

m5m6m7

m1

m0

m1

m2

m3

m4

m5

m6

m7

m6

X XY Y

Z W

Patterns: m1, Y

13

m1, {i}m5, {i}m6, {i}m7, {i}X, {i}m4, {i}Y, {i}Z, {i}

m1, {i,j}m5, {i,j}m6, {i,j}m7, {i,j}X, {i,j}m4, {i,j}Y, {i,j}Z{i}m6, {j}W,{j}

Page 14: Identification of Distributed Features in SOA

Step 4- Analyzing Patterns

• Distinguishing “feature-specific patterns” from “omnipresent patterns” and “noise patterns”

Pattern 1 Pattern 2 Pattern 3 Pattern 4

Trace 1 * * - *

Trace 2 * * - -

Trace 3 * - * -

14

Page 15: Identification of Distributed Features in SOA

Metrics: Feature Distribution

15

,

Sn

50%

100% 25%

FD (f) = 1 - 58.3% = 41.7%

f

f: featurep: patternFD(f,p): distribution of feature f over SOA with regard to pattern pSp: services contributing in pattern pMs: methods defined in services sMp: methods contributing in pattern p

FD( f , p) =1−1

Sp∗

Ms ∩ M p

Mss∈S p

FD( f ) =1−1

S f∗

Ms ∩ M f

Mss∈S f

S f = Spp∈P f

U

FD(f): distribution of feature f (all patterns)Sf: services contributing in the execution of feature fMf: methods contributing in the execution of feature fPf: patterns for feature f

M f = M pp∈P f

U,

Sm

Sk

15

mi

Page 16: Identification of Distributed Features in SOA

Metrics: Call Frequency

f

2 10 CF (f) = 12

CF( f , p) = number of calls to s. opop∈OPs∑

s∈Sp∑

CF( f ) =

CF( f , p)p∈P f

Pf

f: featurep: patternCF (f,p): call frequency of feature f with regard to pattern pSp: services contributing in pattern pOPs: interface operations defined in services s

CF (f): call frequency of feature f (all patterns)Pf: patterns for feature f

OPi

16

mi

Sn

Sm

Sk

Page 17: Identification of Distributed Features in SOA

Metrics: Accuracy

Acc( f ) =Pf

C f

Acc(f): accuracy of service regarding feature fPf: patterns for feature fCf: cases defined on the scenarios

=1 works as we expected>1 considers additional cases<1 treats some cases equally

17

Page 18: Identification of Distributed Features in SOA

18

Future Work

• Abstract feature behavior– Normal vs. alternative behavior– Augment published service description

• Improve/Define metrics

18

Page 19: Identification of Distributed Features in SOA

Thank You!

Anis Yousefi

[email protected]