detection of soa antipatterns

79
Detection of SOA Antipatterns Francis Palma 1,2 Supervisors: Dr. Naouel Moha 2 and Dr. Yann-Gaël Guéhéneuc 1 May 29, 2013 1 Ptidej Team, École Polytechnique de Montréal, Canada 2 Latece, Université du Québec à Montréal, Canada

Upload: francis-palma

Post on 14-Apr-2017

131 views

Category:

Technology


1 download

TRANSCRIPT

Detection of SOA Antipatterns

Francis Palma1,2

Supervisors: Dr. Naouel Moha2 and Dr. Yann-Gaël Guéhéneuc1

May 29, 2013

1Ptidej Team, École Polytechnique de Montréal, Canada

2Latece, Université du Québec à Montréal, Canada

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context: An Example

2 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Service Based Systems (SBSs) evolve to fit new user requirements, execution contexts: - may degrade design and quality of service (QoS) - may cause the appearance of common poor solutions: Antipatterns

Service Based Systems (SBSs)

Context: An Example

2 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Tiny Service

Multi Service

Tiny Service: Small service with few methods which requires several coupled services to complete an abstraction (Dudney et al., 2003)

Multi Service: Implements a multitude of methods, is not easily reusable because of low cohesion of its methods, is often unavailable due to overload (Dudney et al., 2003)

Examples of SOA Antipatterns

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context: SOA Antipatterns

3 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Service Oriented Architecture (SOA)

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Adoption of SOA

• Key features of SOA: faster time-to-market, reduced cost,

flexibility, scalability, enhanced security …

• Service-based systems (SBSs): Designed and developed with SOA

- Services: autonomous, platform-independent entities, can be

described, published and discovered (Papazoglou et al.)

- Use WSDL (Web Service Definition Language) and XML-based

SOAP (Simple Object Access Protocol) protocols

• Implementation technologies & principles: XML-RPC/SOAP-based

Web services, Service Component Architecture (SCA),

REpresentational State Transfer (REST)-style, BPEL etc.

4 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Conceptual View: SOA

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

- Service provider

- Service consumer

- Service registry

Three Main Components

5 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Motivation

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• SBSs also face common SE challenges: evolution and maintenance

• Maintenance and evolution phase consume resources of more than

60% (Harrison, 1990 and Nosek, 1990)

• Software evolution may introduce new antipatterns; Or existing

antipatterns might hinder evolution

• Impacts of antipatterns,

- Understandability (Abbes et al., 2011)

- Changeability (Khomh et al., 2012)

- Evolvability (Mäntylä and Lassenius, 2006)

6 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Related Work

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Patterns and antipatterns: express quality concerns

• Object-oriented design patterns (Gamma et al., 1994)

• 50 antipatterns from J2EE technologies (Dudney et al., 2003)

• 9 SOA adoption, design and realization antipatterns (Cherbakov et

al., 2005)

• 13 SOA antipatterns with their resolutions (Jones, 2006)

• 7 SOA antipatterns with high-level view (Modi, 2006)

• 7 additional SOA antipatterns (Král et al., 2008)

SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

7 of 44

Related Work

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Rule card-based approach (Marinescu et al., 2004)

• Rule-based approach with run time analyses (Parsons & Murphy, 2004)

• Metric-based approach using machine learning (Kreimer, 2005)

• Genetic algorithm (Wong et al., 2010)

• Rule card-based approach, DECOR (Moha et al., 2010)

- specify smells with domain specific language via rules - generate detection algorithms - precision of 60.5% and recall of 100% • Automatic rule construction (Kessentini et al., 2011)

Detection of OO Smells and Antipatterns Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

8 of 44

Related Work: Summary

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

What to Detect/ Technology

OO CBSs SOA Other

Code Smells

Emden and Moonen, 2002 Khomh et al., 2009 Moha et al., 2010 Luo et al., 2010

Maneerat and Muenchaisri, 2011

X X X

Antipatterns

Correa et al., 2000 Marinescu, 2001, 2004 Boussaidi et al., 2005

Kreimer, 2005, Biehl, 2006 Salehie et al., 2006

Choinzon and Ueda, 2006 Rao and Reddy, 2007

Khomh et al., 2009, 2011 Llano and Pooley, 2009

Moha et al., 2010 Cortellessa et al., 2010

Luo et al., 2010, Settas et al., 2011 Stoianov and Sora, 2010 Kessentini et al., 2011

Parsons and Murphy, 2004 Parsons and Murphy, 2008

Chis, 2008

X Wong et al., 2010 Fourati et al., 2011

Design Patterns

Kramer and Prechelt, 1996 Antoniol et al., 1998

Heuzeroth et al., 2003 Tsantalis et al., 2006 Kaczor et al., 2006

Guéhéneuc and Antoniol, 2008 Stoianov and Sora, 2010

Maggioni and Arcelli, 2010 Kaczor et al., 2010

Rasool and Mäder, 2011

X X X

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

9 of 44

Related Work

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• No detection approaches for SOA antipatterns

• OO detection methods/tools are not directly applicable to SOA

- first-class entity for SOA is service, for OO is class

- SBSs operate in highly-dynamic environment than OO systems

• Works from literature on OO smells and antipatterns form a sound

basis of expertise and technical knowledge

Detection of Service-oriented Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

10 of 44

Problems in the Literature

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• No specification of SOA antipatterns

- Only textual description, ambiguous representation

(e.g., hard to use and describe)

Problem 1

Assuming that SOA antipatterns may hinder design, QoS, and future evolution and maintenance of SBSs Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

11 of 44

Problems in the Literature

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• No specification of SOA antipatterns

- Only textual description, ambiguous representation

(e.g., hard to use and describe)

Problem 1

• No approach and framework for the detection of SOA antipatterns

- No tool support

Problem 2

Assuming that SOA antipatterns may hinder design, QoS, and future evolution and maintenance of SBSs Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

11 of 44

Problems in the Literature

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• No specification of SOA antipatterns

- Only textual description, ambiguous representation

(e.g., hard to use and describe)

Problem 1

• No approach and framework for the detection of SOA antipatterns

- No tool support

Problem 2

Assuming that SOA antipatterns may hinder design, QoS, and future evolution and maintenance of SBSs

• Impact of SOA antipatterns is not yet verified in SBSs

- Impacts of OO antipatterns by Abbes et al., 2011

Problem 3

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

11 of 44

Research Challenges

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Specifying SOA antipatterns

• Repository of SBSs

• Handling dynamic environment of SOA

- Service unavailability

Key Research Challenges

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

12 of 44

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Problem

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

“To develop an approach supported by a framework for specifying and detecting SOA antipatterns, and thus provide a solution to the problem of detecting SOA antipatterns in SBSs, along with their validation through experimental evidence”

General Objective Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

13 of 44

Problem

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Provide a complete and extensible domain specific language (DSL)

• Verify the impact of SOA antipatterns in SBSs

• Propose a generic approach based on a framework for detecting

SOA antipatterns (cutting edge SOA technologies)

• Develop a tool to perform the detection of SOA antipatterns

• Analyze and empirically validate the detection results

Specific Objectives

“To develop an approach supported by a framework for specifying and detecting SOA antipatterns, and thus provide a solution to the problem of detecting SOA antipatterns in SBSs, along with their validation through experimental evidence”

General Objective Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

13 of 44

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach 1

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Approach: Solution 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Inspired from DECOR (Moha et al., 2010) • Step 1: Specification • Step 2: Generation • Step 3: Detection • Step 4: Validation

Service Oriented Detection for Antipatterns (SODA)

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

14 of 44

Approach: Domain Analysis

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

“Multi Service also known as God Object corresponds to a service that implements a multitude of methods related to different business and technical abstractions. This aggregates too much into a single service, such a service is not easily reusable because of the low cohesion of its methods and is often unavailable to end-users because of its overload, which may induce a high response time” (Dudney et al., 2003)

Textual Description of Antipatterns

1. S

pe

cifi

cati

on

s

Rule Card

2. G

en

era

tio

n

Detection Algorithms

3. D

ete

ctio

n

Suspicious Services

SBS Template

4. V

alid

atio

n

Services involved in

antipatterns Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

15 of 44

Approach: Domain Specific Language

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Textual Description of Antipatterns

1. S

pe

cifi

cati

on

s

Rule Card

2. G

en

era

tio

n

Detection Algorithms

3. D

ete

ctio

n

Suspicious Services

SBS Template

4. V

alid

atio

n

Services involved in

antipatterns Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

16 of 44

Approach: Rule Cards

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Rule Cards of Antipatterns

Multi Service : 1 RULE CARD: MultiService { 2 RULE: MultiService { INTER MultiMethod HighResponse LowAvailability LowCohesion }; 3 RULE: MultiMethod { NMD VERY_HIGH }; 4 RULE: HighResponse { RT VERY_HIGH }; 5 RULE: LowAvailability { A LOW }; 6 RULE: LowCohesion { COH LOW }; 7 };

Tiny Service : 1 RULE CARD: TinyService { 2 RULE: TinyService { INTER FewMethod HighCoupling }; 3 RULE: FewMethod { NMD VERY_LOW }; 4 RULE: HighCoupling { CPL HIGH }; 5 };

Textual Description of Antipatterns

1. S

pe

cifi

cati

on

s

Rule Card

2. G

en

era

tio

n

Detection Algorithms

3. D

ete

ctio

n

Suspicious Services

SBS Template

4. V

alid

atio

n

Services involved in

antipatterns Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

17 of 44

Approach: Algorithm Generation

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Visitors on models of antipattern rule cards

• Java templates with well-defined tags

• Compilable and executable generated code

Generation of Detection Algorithms

Textual Description of Antipatterns

1. S

pe

cifi

cati

on

s

Rule Card

2. G

en

era

tio

n

Detection Algorithms

3. D

ete

ctio

n

Suspicious Services

SBS Template

4. V

alid

atio

n

Services involved in

antipatterns Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

18 of 44

Approach: Framework

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Textual Description of Antipatterns

1. S

pe

cifi

cati

on

s

Rule Card

2. G

en

era

tio

n

Detection Algorithms

3. D

ete

ctio

n

Suspicious Services

SBS Template

4. V

alid

atio

n

Services involved in

antipatterns Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

19 of 44

Service Oriented Framework for Antipatterns (SOFA)

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment 1

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive

A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns

A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds

A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumptions Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

20 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive

A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns

A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds

A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumptions Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

20 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive

A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns

A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds

A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumptions Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

20 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive

A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns

A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds

A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumptions Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

20 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive

A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns

A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds

A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumptions Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

20 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

A1. Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

A2. Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive

A3. Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns

A4. Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds

A5. Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

A6. Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumptions Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

20 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

We specify 10 SOA antipatterns (7 from literature, 3 newly defined)

• Multi Service • Tiny Service • Sand Pile • Chatty Service • The Knot • Nobody Home • Duplicated Service • Bottleneck Service • Service Chain • Data Service

Subjects Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

21 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Two different versions of Home-Automation:

- An SCA application with 13 components

- Original version with 13 services

- A version by adding & modifying services to inject Antipatterns

Objects Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

22 of 44

Experiment 1

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

1. Specify SOA antipatterns using rule cards

2. Use SOFA to generate detection algorithms for all antipatterns

3. Apply these algorithms on Home-Automation system

4. Detection of antipatterns:

- Assessing design ≡ static analyses

- Assessing QoS ≡ dynamic analyses

4. Validate detection results by analyzing suspicious services

5. Use precision, recall, F1 measure for accuracy measurement

Validation Process

|ns}antipatter{detected_||ns}antipatter{detected_ns}antipatter{existing_| precision

|ns}antipatter{existing_||ns}antipatter{detected_ns}antipatter{existing_| recall

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

23 of 44

Experiment 1: Preliminary Results

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Antipattern Services Version Analy-

ses Metrics

Time

(Sec)

Preci-sion

Recall F1-Value

Tiny Service [MediatorDelegate] evolved S NOR-4 CPL-0.44 NMD-1 0.194

[1/1] 100%

[1/1] 100%

100%

Multi Service [IMediator] original S, D COH-0.027 NMD-13 RT-132ms 0.462

[1/1] 100%

[1/1] 100%

100%

Duplicated Service

[Communication Service] [IMediator]

original S ANIM-25% 0.215 [2/2] 100%

[2/2] 100%

100%

Chatty Service [PatientDAO] [IMediator]

original S, D ANP-1.0 ANPT-1.0 NMI-3 ANAM-100% COH-0.167

0.383 [2/2] 100%

[2/2] 100%

100%

Nobody Home [UselessService] evolved S, D NIR>0 NMI-0 1.154 [1/1] 100%

[1/1] 100%

100%

Sand Pile [HomeAutomation] original S NCS-13 ANP-1.0 ANPT-1.0 ANAM-100% COH-0.167

0.310 [1/1] 100%

[1/1] 100%

100%

The Knot [IMediator]

[PatientDAO] original S, D

COH-0.027 NIR-7 NOR-7 CPL-1.0 RT-57ms

0.412 [1/2] 50%

[1/1] 100%

66.67%

Bottleneck Service

[IMediator] [PatientDAO]

original S, D NIR-7 NOR-7 CPL-1.0 RT-40ms 0.246

[2/2] 100%

[2/2] 100%

100%

Data Service [PatientDAO] original S ANAM-100% COH-0.167 ANPT-1.0 ANP-1.0

0.268 [1/1] 100%

[1/1] 100%

100%

Service Chain

[IMediator] [SunSpotService]

[PatientDAO] [PatientDAO2]

original D NTMI-4.0 0.229 [3/4] 75%

[3/3] 100%

85.71%

Average 0.387 [15/17] 92.5%

[15/15] 100%

95.24%

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

24 of 44

*Availability 100% due to local service

Detection Result: Multi Service

Mediator

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

25 of 44

Detection Result: Discussion

May 29, 2013

Generality: The DSL allows the specification of many different SOA antipatterns, from simple to more complex ones

Assumption 1

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

26 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive.

Assumption 2

Detection Result: Discussion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

27 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Accuracy: The generated detection algorithms have a recall of 100%, i.e., all existing antipatterns are detected, and a precision greater than 75%, i.e., more than three-quarters of detected antipatterns are true positive.

Assumption 2

Detection Result: Discussion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

27 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns.

Assumption 3

Detection Result: Discussion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

28 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Extensibility: The DSL and the proposed framework, SOFA is extensible for adding new SOA metrics and SOA antipatterns.

Assumption 3

Detection Result: Discussion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

28 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds.

Assumption 4

Detection Result: Discussion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

29 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Performance: The computation time required for the detection of antipatterns using the generated algorithms is reasonably very low, i.e., in the order of few seconds.

Assumption 4

Detection Result: Discussion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

29 of 44

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Impact: SOA Antipatterns have negative impact on the performance and maintainability of SBSs

Assumption 6

Detection Result: Discussion

Technology: The proposed approach, SODA supports any technologies, i.e., SBSs developed using different technologies, i.e., SOAP/RPC, SCA, REST, Web services, BPEL, etc.

Assumption 5

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

30 of 44

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach 2

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 31 of 44

Approach: (1/5) (Solution 2)

Step 1: Rule specification Step 2: Process transformation Step 3: Detection of process antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Francis Palma | Detection of SOA Antipatterns

May 29, 2013 32 of 44

Approach (2/5): Specify Rules

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 32 of 44

Approach (2/5): Specify Rules

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 33 of 44

Approach (3/5): Process Transform

• Process transformation (more abstract and simplified)

(a) from the original BPEL to a simplified BPEL

(b) from the simplified BPEL to a generic model

• Goal of this transformation is to ease:

- implementation of the rules

- further analysis of the processes

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 34 of 44

Approach (4/5): Process Transform

Francis Palma | Detection of SOA Antipatterns

(a)

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 34 of 44

Approach (4/5): Process Transform

Francis Palma | Detection of SOA Antipatterns

(a)

(b)

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 35 of 44

Approach (5/5): Detection

• The implementation of rules

• Applying implemented algorithms on transformed models

• Detection is now semi-automatic

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment 2

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 36 of 44

Experiment 2 (1/4): Input travelProcess auctionProcess salesProcess

Francis Palma | Detection of SOA Antipatterns

3 Web services 7 I/O Var

3 Web services 6 I/O Var

2 Web services 4 I/O Var Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 37 of 44

Experiment 2 (2/4): Rule Specification

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 37 of 44

Experiment 2 (2/4): Rule Specification

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 38 of 44

Experiment 2 (3/4): Results

Francis Palma | Detection of SOA Antipatterns

auctionProcess

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 38 of 44

Experiment 2 (3/4): Results

Francis Palma | Detection of SOA Antipatterns

auctionProcess

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 39 of 44

Experiment 2 (4/4): Results (cont.)

salesProcess

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 39 of 44

Experiment 2 (4/4): Results (cont.)

salesProcess

travelProcess

Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Threats to Validity

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• External Validity: Generalization to other SBSs and BPEL

processes

• Internal Validity: Detection depends on services provided by

SOFA. We experiment on a representative set of SOA

antipatterns

• Construct Validity: Rule Cards are subjective. We define rule

cards based on literature review & domain analysis

40 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Future Plan: Current State

May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Future Plan: Current State

May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Future Plan: Current State

May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Future Plan: Current State

May 29, 2013 Francis Palma | Detection of SOA Antipatterns 41 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Current Contributions

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Accepted Refereed Articles in International Conferences: 1. Naouel Moha, Francis Palma, Mathieu Nayrolles, Benjamin Joyen Conseil, Yann-Gaël Guéhéneuc, Benoit Baudry, and Jean-Marc Jézéquel, Specification and Detection of SOA Antipatterns, ICSOC 2012, 10th International Conference on Service Oriented Computing, November 12-16, Shanghai, China, 2012. (2nd Best Paper Award)

Accepted Workshop and Symposium Papers: 1. Francis Palma, Detection of SOA Antipatterns, 8th PhD Symposium (Shanghai, China), in conjunction with ICSOC 2012, 10th International Conference on Service Oriented Computing, November 12-16, Shanghai, China, 2012

2. Mathieu Nayrolles, Francis Palma, Naouel Moha and Yann-Gaël Guéhéneuc, SODA: A Tool Support for the Detection of SOA Antipatterns, ICSOC Demonstration Track (Shanghai, China), in conjunction with ICSOC 2012, 10th International Conference on Service Oriented Computing, November 12-16, Shanghai, China, 2012

3. Francis Palma, Hadi Farzin, Yann-Gaël Guéhéneuc and Naouel Moha, Recommendation System for Design Patterns in Software Development: An DPR Overview, 3rd International Workshop on Recommendation Systems for Software Engineering (RSSE’12), in conjunction with ICSE 2012, Zurich, Switzerland

Submitted: 1. Francis Palma, Naouel Moha, Yann-Gaël Guéhéneuc, Detection of Process Antipatterns: A BPEL Perspective, MRI-BP 2013, in conjunction with the 17th IEEE International EDOC Conference (EDOC 2013)

Current Contributions

42 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Future Plan

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Extend some previously performed phases: - Specify more SOA antipatterns - Extend the repository of detected and validated SOA antipatterns

Plan for Short Term Work

43 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Future Plan

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Towards the completion of problem requirements: - Provide a taxonomy of SOA antipatterns - Explore other techniques towards specification and detection - Detect antipatterns in SBSs with different SOA technologies - Perform empirical studies to validate proposed approach

• Conduct more experiments and analyze results using industrial setup with real systems - Instrument the target service-based system - Deploy our framework (SOFA) within target platform - Perform all the steps in our proposed approach (SODA), and report suspicious service(s)

Plan for Long Term Work

• Extend some previously performed phases: - Specify more SOA antipatterns - Extend the repository of detected and validated SOA antipatterns

Plan for Short Term Work

43 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Content

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

Conclusion

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

• Existing problems - No specification - No detection approach - Impact of SOA antipatterns unverified • Research objective - “Propose an approach supported by a framework, towards the specification and detection of SOA antipatterns in SBSs, and to empirically validate the proposed approach” • Proposed approach, SODA - From domain analysis to DSL - Generation of detection algorithms - Validation in terms of precision, recall and F1-measure • http://sofa.uqam.ca/

44 of 44

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Bibliography [Wong et al., 2010] Wong, S., Aaron, M., Segall, J., Lynch, K., Mancoridis, S.: Reverse Engineering Utility Functions Using Genetic Programming to Detect Anomalous Behavior in Software. In: Proceedings of the 2010 17th Working Conference on Reverse Engineering. pp. 141–149. WCRE, IEEE Computer Society, Washington, DC, USA (2010) [Kessentini et al., 2011] Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design Defects Detection and Correction by Example. In: IEEE 19th International Conference on Program Comprehension (ICPC). pp. 81 –90 (june 2011) [Parsons and Murphy, 2004] Parsons, T., Murphy, J.: A Framework for Automatically Detecting and Assessing Performance Antipatterns in Component Based Systems Using Run-Time Analysis. In: The 9th International Workshop on Component Oriented Programming, part of ECOOP (2004) [Kreimer, 2005] Kreimer, J.: Adaptive Detection of Design Flaws. Electronic Notes on Theoratical Computer Science 141(4), 117–136 (Dec 2005) [Marinescu et al., 2004] Marinescu, R.: Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. In: Proceedings of the 20th IEEE International Conference on Software Maintenance. pp. 3–359. ICSM ’04, IEEE Computer Society, Washington, DC, USA (2004) [Moha et al., 2010] Moha, N., Guéhéneuc, Y.G., Duchien, L., Meur, A.F.L.: DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transaction on Software Engineering 36(1), 20–36 (January 2010)

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Bibliography [Král et al., 2008] Král, J., Žemlicka, M.: Crucial Service-Oriented Antipatterns. vol. 2, pp. 160–171. International Academy, Research and Industry Association (IARIA) (2008) [Dudney et al., 2003] Dudney, B., Asbury, S., Krozak, J.K., Wittkopf, K.: J2EE AntiPatterns (2003) [Modi, 2006] Modi, T.: SOA Management: SOA Antipatterns (August 2006), www.ebizq.net/topics/soa_management/features/7238.html [Jones, 2006] Jones, S.: SOA Antipatterns (June 2006), www.infoq.com/articles/SOA-anti-patterns [Cherbakov et al., 2005] Cherbakov, L., Ibrahim, M., Ang, J.: SOA Antipatterns: The Obstacles to the Adoption and Successful Realization of Service-Oriented Architecture (November 2005), www.ibm.com/developerworks/webservices/library/ws-antipatterns/ [Harrison, 1990] Harrison, W., Cook, C.: Insights on Improving the Maintenance Process through Software Measurement. In International Conference on Software Maintenance (1990) [Nosek, 1990] Nosek, J.T., Palvia, P.: Software Maintenance Management: Changes in the Last Decade. Journal of Software Maintenance 2(3), 157–174 (Sep 1990) [Tan and Mookerjee, 2005] Tan, Y., Mookerjee, V.S.: Comparing Uniform and Flexible Policies for Software Maintenance and Replacement. IEEE Transaction on Software Engineering 31(3), 238–255 (Mar 2005)

May 29, 2013 Francis Palma | Detection of SOA Antipatterns

Bibliography [Brown et al., 1998] Brown, W.J., Malveau, R.C., III, H.W.M., Mowbray, T.J.: Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis (1998) [Abbes et al., 2011] Abbes, M., Khomh, F., Guéhéneuc, Y.G., Antoniol, G.: An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension. In: Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering. pp. 181–190. CSMR ’11, IEEE Computer Society, Washington, DC, USA (2011) [Khomh et al., 2012] Khomh, F., Penta, M.D., Guéhéneuc, Y.G., Antoniol, G.: An Exploratory Study of the Impact of Antipatterns on Class Change- and Fault-proneness. Empirical Software Engineering 17(3), 243–275 (2012) [Mäntylä and Lassenius, 2006] Mäntylä, M.V., Lassenius, C.: Subjective Evaluation of Software Evolvability Using Code Smells: An Empirical Study. Empirical Software Engineering 11(3), 395–431 (September 2006), http://dx.doi.org/10.1007/s10664-006-9002-8 [Gamma et al., 2005] Gamma, E.: How to Use Design Patterns – A Conversation with Erich Gamma, part I (May 2005) [Gamma et al., 1994] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software (1994)

Thanks for your attention! Questions?

Context

Motivation

Related Work

Problem

Approach

Experiment

Future Plan

Conclusion