SlideShare a Scribd company logo
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Web Service Antipatterns Detection Using
Genetic Programming
Ali Ouni1, Raula Gaikovina Kula1, Marouane Kessentini2, Katsuro Inoue1
1Osaka University, Japan
2University of Michigan, USA
Genetic and Evolutionary Computation Conference (GECCO’15)
13 July 2015, Madrid, Spain
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• SOA is
– a way of designing system
– an approach to system development
– a design paradigm
• SOA is not an architecture, is not a system
• SOA can be implemented utilizing different technologies
– OSGi, SCA, REST, Web services
• Service-based system = a set of ready-made, composable and reusable
services
What is SOA?
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Services
• Services are reusable components that
represent business tasks
– Customer lookup
– Meteo servie
– Localisation service
– Credit check
– Hotel reservation
– Interest calculation
• Services provide reusable functionality with well-
defined interfaces
• An SOA infrastructure enables discovery,
composition and invocation of services
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• Example: Travel system
Service-based system
Client
Travel
Service
+ bookTrip()
Payment serviceFlight Service
+ checkDates()
+ reserveFlight()
+ cancelFlight()
Rent Car Service
+ checkAvailability()
+ reserveCar()
+ cancelCar()
HotelService
+ checkHotel()
+ reserveHotel()
+ cancelHotel()
XML technologies
{SOAP, WSDL, UDDI,...}
Service provider
Internet
Client
Client
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
If designed well…
• If designed well, Web service adoption can lead to
– Cost-efficiency
– interoperability
– Agility
– Adaptability
– Leverage of legacy investments
The hard part is the “if designed well”.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• SOA Change continuously
– add new user requirements
– Adapt to environment changes
• Poorly planned changes may degrade their design quality
and QoS
–> bad design practices: Anti-patterns
Problem
6
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Typical Web service antipatterns
Multi-service Nano-service
7
TravelService
Endpoint
+ bookFlight()
+ reserveFlight()
+ cancelFlight()
+ reserveCar()
+ cancelCar()
+ reserveHotel()
+ checkDates()
+ modifyBooking()
+ acceptPayment()
+ addPaymentDetails()
+ validateCredit()
+ printInvoice()
+ sendInvoice()
Client 1
Client 2
Client 3
Client n
Flight details.xml
Car reservation.xml
Hotel booking.xml
Payment.xml
.
.
.
TravelService
Flight Reservation
Service
+ bookFlight()
Flight Change
Service
+ changeFlight()
Flight Cancellation
Service
+ cancelFlight()
- Symptoms
- Aggregates too many methods into a single
service
- Low cohesion of its methods
- Consequences
- Not easily reusable
- Overload: often unavailable to end-users
- Symptoms
- Small service with few operations
- whose overhead outweighs its utility
- Consequences
- requires several coupled services
- high development complexity
- reduced usability
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Current approaches
• Manual approaches
– Service antipatterns definition (Dudney et al., 2003, Král et al, 2009, Rotem-
Gal-Oz et al., 2012)
• Symptoms-based approaches
– Detection rules (Moha et al., 2012, Palma et al., 2014)
• Translate antipattern symptoms into detection rules
8
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Antipattern detection challenges
• Difficult to define/express detection rules
– Large list of antipattern types to categorize
– Large exhaustive list of quality metrics
– Large number of possible threshold values
– Huge space to explore: An expert to manually write and validate
detection rules
9
Idea: Infer detection rules from antipattern examples
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Approach
Generation of
Web services anti-patterns
detection rules
(Genetic Programming)
Generation of
Web services anti-patterns
detection rules
(Genetic Programming)
Metric suite Web services anti-
patterns detection
rules
Base of Examples (Web
service anti-patterns)
category 2
category 1
category 3
Anti-pattern
instance
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
GP adaptation
NST
NOPT
COH
NOD
[1..200]
[1..100]
Quality metrics
NCT
Solution representation
11
1 : multi-service
Base of examples
antipattern
instance
IF (NOD(s)≥21 AND COH(s)≤0.32 AND NOPT(s)≥7.8) OR (NOD(s)≥24 AND COH(s)≤0.2 AND NPT(s)≥3 AND NST(s)≥41 OR NCT(s)≥32) THEN MultiService(s)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
GP adaptation
• Fitness function
• Crossover
– random, single point crossover operator
• Mutation
– Substitution, deletion, insertion
12
𝑓𝑖𝑡𝑛𝑒𝑠𝑠 =
𝑖=1
𝑝
𝑎𝑖
𝑡
+ 𝑖=1
𝑝
𝑎𝑖
𝑝
2
∈ [0,1]
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Research questions
• RQ1 (SBSE Validation): How does the proposed GP-based
approach performs compared to RS, PSO and SA?
• RQ2 (Efficiency): To which extent can the proposed
approach detect Web service antipatterns?
• RQ3 (Sensitivity): What types of Web service antipatterns
does it detect correctly?
13
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Evaluation
• Studied Web service
– Benchmark of 310 Web services
14
Category
#
services
#
antipatterns
Average #
of operations
Average #
of messages
Average # of
complex types
Financial 94 67 29.52 57.31 19.01
Science 34 3 8.47 17.14 96.73
Search 37 13 8.35 18.94 26.13
Shipping 38 10 13.36 27.76 20.21
Travel 65 28 16.09 33.13 121.13
Weather 42 15 8.54 17.16 9.14
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Evaluation
• Five common types of antipatterns
– multiservice, nanoservice, chatty service, data service, and ambiguous service
• 6-fold cross validation
– Detect antpatterns in a category using the 5 other categories
• Detection precision and recall
15
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑡𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑎𝑛𝑡𝑖𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑒𝑡𝑒𝑐𝑡𝑒𝑑 𝑎𝑛𝑡𝑖𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
RQ1: Comparison with PSO, SA, and RS
16
GP PSO SA RS
Category
Precision
(%)
Recall
(%)
Precision
(%)
Recall
(%)
Precision
(%)
Recall
(%)
Precision
(%)
Recall
(%)
Financial 88 85 79 78 75 75 42 45
Science 75 100 50 100 43 100 17 67
Search 85 85 79 85 63 77 26 46
Shipping 90 90 53 80 57 80 19 40
Travel 80 86 89 86 81 79 27 36
Weather 76 87 72 87 61 73 20 33
Average 85 87 76 82 70 76 30 42
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
– 31 independent runs
17
all financial science search shipping travel weather
25
50
75
100
25
50
75
100
recallprecision
GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA
RQ1: Comparison with PSO, SA, and RS
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
GP
Category Precision (%) Recall (%)
Financial 88 85
Science 75 100
Search 85 85
Shipping 90 90
Travel 80 86
Weather 76 87
Average 85 87
18
RQ2: detection efficiency
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
19
Ambiguousservice Chattyservice Dataservice Multiservice Nanoservice
All
Financial
Science
Search
Shipping
Travel
Weather
0 25 50 75 1000 25 50 75 1000 25 50 75 1000 25 50 75 1000 25 50 75 100
type
precision
recall
RQ3: sensitivity towards antipattern types
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Conclusion & Future Work
• We proposed an SBSE approach to automatically detect Web
service antipatterns.
– Infer detection rules from antipattern examples
– Genetic programming
• Empirical evaluation on 310 Web services from 6 categories
– Promising detection results of 85% of precision and 87% of recall
• Future Works
– Include other types of anti-patterns
– Extend the base of examples
– Consider dynamic Web service metrics
– Recommend refactoring solutions to fix the detected antipatterns
20
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Thank you for your attention
Questions? Discussions? Suggestions?
21

More Related Content

What's hot

Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
Sung Kim
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
Thomas Zimmermann
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution Techniques
Sung Kim
 
Performance analysis of machine learning approaches in software complexity pr...
Performance analysis of machine learning approaches in software complexity pr...Performance analysis of machine learning approaches in software complexity pr...
Performance analysis of machine learning approaches in software complexity pr...
Sayed Mohsin Reza
 
An Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source ProjectsAn Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source Projects
Pavneet Singh Kochhar
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
Sung Kim
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Chakkrit (Kla) Tantithamthavorn
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
Sung Kim
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash Reproduction
Sung Kim
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
Lionel Briand
 
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsUser-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
ISSEL
 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
130321   zephyrin soh - on the effect of exploration strategies on maintenanc...130321   zephyrin soh - on the effect of exploration strategies on maintenanc...
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
Ptidej Team
 
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
Lionel Briand
 
Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...
Rik Marselis
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
Sung Kim
 
Re2018 Semios for Requirements
Re2018 Semios for RequirementsRe2018 Semios for Requirements
Re2018 Semios for Requirements
Clément Portet
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
IJECEIAES
 
Legal Markup Generation in the Large: An Experience Report
Legal Markup Generation in the Large: An Experience ReportLegal Markup Generation in the Large: An Experience Report
Legal Markup Generation in the Large: An Experience Report
Lionel Briand
 
Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...
ISSEL
 

What's hot (20)

Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution Techniques
 
Performance analysis of machine learning approaches in software complexity pr...
Performance analysis of machine learning approaches in software complexity pr...Performance analysis of machine learning approaches in software complexity pr...
Performance analysis of machine learning approaches in software complexity pr...
 
An Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source ProjectsAn Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source Projects
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
Icsm20.ppt
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash Reproduction
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
 
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsUser-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
130321   zephyrin soh - on the effect of exploration strategies on maintenanc...130321   zephyrin soh - on the effect of exploration strategies on maintenanc...
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
 
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
 
Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...Testing of artificial intelligence; AI quality engineering skils - an introdu...
Testing of artificial intelligence; AI quality engineering skils - an introdu...
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
 
Re2018 Semios for Requirements
Re2018 Semios for RequirementsRe2018 Semios for Requirements
Re2018 Semios for Requirements
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
 
Legal Markup Generation in the Large: An Experience Report
Legal Markup Generation in the Large: An Experience ReportLegal Markup Generation in the Large: An Experience Report
Legal Markup Generation in the Large: An Experience Report
 
Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...
 

Similar to Web Service Antipatterns Detection Using Genetic Programming

IRJET- Automation Software for Student Monitoring System
IRJET-  	  Automation Software for Student Monitoring SystemIRJET-  	  Automation Software for Student Monitoring System
IRJET- Automation Software for Student Monitoring System
IRJET Journal
 
IRJET- 3D Object Recognition of Car Image Detection
IRJET-  	  3D Object Recognition of Car Image DetectionIRJET-  	  3D Object Recognition of Car Image Detection
IRJET- 3D Object Recognition of Car Image Detection
IRJET Journal
 
F22 SRE LECTURE 1.pptx
F22 SRE LECTURE 1.pptxF22 SRE LECTURE 1.pptx
F22 SRE LECTURE 1.pptx
websites3
 
Ten years of service research from a computer science perspective
Ten years of service research from a computer science perspectiveTen years of service research from a computer science perspective
Ten years of service research from a computer science perspective
Jorge Cardoso
 
IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...
IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...
IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...
IRJET Journal
 
Off-line vs. On-line Evaluation of Recommender Systems in Small E-commerce
Off-line vs. On-line Evaluation of Recommender Systems in Small E-commerceOff-line vs. On-line Evaluation of Recommender Systems in Small E-commerce
Off-line vs. On-line Evaluation of Recommender Systems in Small E-commerce
Ladislav Peska
 
IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...
IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...
IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...
IRJET Journal
 
Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...
Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...
Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...
Alejandro Salado
 
Sueki_Resume_LaTeX
Sueki_Resume_LaTeXSueki_Resume_LaTeX
Sueki_Resume_LaTeX
Hidematsu Sueki
 
IOT model to Unified Communication Events in SDN
IOT model to Unified Communication  Events in SDNIOT model to Unified Communication  Events in SDN
IOT model to Unified Communication Events in SDN
Chandrashekhar Rao
 
Seminar pasqualina potena
Seminar pasqualina potenaSeminar pasqualina potena
Seminar pasqualina potena
fbk-das
 
RESUME SCREENING USING LSTM
RESUME SCREENING USING LSTMRESUME SCREENING USING LSTM
RESUME SCREENING USING LSTM
IRJET Journal
 
Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...
Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...
Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...
IRJET Journal
 
IRJET- Cheque Bounce Detection System using Image Processing
IRJET- Cheque Bounce Detection System using Image ProcessingIRJET- Cheque Bounce Detection System using Image Processing
IRJET- Cheque Bounce Detection System using Image Processing
IRJET Journal
 
Criminal Identification using Arm7
Criminal Identification using Arm7Criminal Identification using Arm7
Criminal Identification using Arm7
IRJET Journal
 
AjinkyaKher_Resume
AjinkyaKher_ResumeAjinkyaKher_Resume
AjinkyaKher_Resume
Ajinkya Kher
 
IRJET- Security Efficiency of Transfering the Data for Wireless Sensor Ne...
IRJET-  	  Security Efficiency of Transfering the Data for Wireless Sensor Ne...IRJET-  	  Security Efficiency of Transfering the Data for Wireless Sensor Ne...
IRJET- Security Efficiency of Transfering the Data for Wireless Sensor Ne...
IRJET Journal
 
A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...
A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...
A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...
IRJET Journal
 
Skyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed EnvironmentSkyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed Environment
IJMER
 
An Enhanced Technique for Network Traffic Classification with unknown Flow De...
An Enhanced Technique for Network Traffic Classification with unknown Flow De...An Enhanced Technique for Network Traffic Classification with unknown Flow De...
An Enhanced Technique for Network Traffic Classification with unknown Flow De...
IRJET Journal
 

Similar to Web Service Antipatterns Detection Using Genetic Programming (20)

IRJET- Automation Software for Student Monitoring System
IRJET-  	  Automation Software for Student Monitoring SystemIRJET-  	  Automation Software for Student Monitoring System
IRJET- Automation Software for Student Monitoring System
 
IRJET- 3D Object Recognition of Car Image Detection
IRJET-  	  3D Object Recognition of Car Image DetectionIRJET-  	  3D Object Recognition of Car Image Detection
IRJET- 3D Object Recognition of Car Image Detection
 
F22 SRE LECTURE 1.pptx
F22 SRE LECTURE 1.pptxF22 SRE LECTURE 1.pptx
F22 SRE LECTURE 1.pptx
 
Ten years of service research from a computer science perspective
Ten years of service research from a computer science perspectiveTen years of service research from a computer science perspective
Ten years of service research from a computer science perspective
 
IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...
IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...
IRJET - A Survey on Recognition of Handwritten ZIP Codes in a Postal Sorting ...
 
Off-line vs. On-line Evaluation of Recommender Systems in Small E-commerce
Off-line vs. On-line Evaluation of Recommender Systems in Small E-commerceOff-line vs. On-line Evaluation of Recommender Systems in Small E-commerce
Off-line vs. On-line Evaluation of Recommender Systems in Small E-commerce
 
IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...
IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...
IRJET- Scandroid: A Machine Learning Approach for Understanding Handwritten N...
 
Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...
Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...
Assessing the Impacts of Uncertainty Propagation to System Requirements by Ev...
 
Sueki_Resume_LaTeX
Sueki_Resume_LaTeXSueki_Resume_LaTeX
Sueki_Resume_LaTeX
 
IOT model to Unified Communication Events in SDN
IOT model to Unified Communication  Events in SDNIOT model to Unified Communication  Events in SDN
IOT model to Unified Communication Events in SDN
 
Seminar pasqualina potena
Seminar pasqualina potenaSeminar pasqualina potena
Seminar pasqualina potena
 
RESUME SCREENING USING LSTM
RESUME SCREENING USING LSTMRESUME SCREENING USING LSTM
RESUME SCREENING USING LSTM
 
Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...
Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...
Empirical Analysis of Radix Sort using Curve Fitting Technique in Personal Co...
 
IRJET- Cheque Bounce Detection System using Image Processing
IRJET- Cheque Bounce Detection System using Image ProcessingIRJET- Cheque Bounce Detection System using Image Processing
IRJET- Cheque Bounce Detection System using Image Processing
 
Criminal Identification using Arm7
Criminal Identification using Arm7Criminal Identification using Arm7
Criminal Identification using Arm7
 
AjinkyaKher_Resume
AjinkyaKher_ResumeAjinkyaKher_Resume
AjinkyaKher_Resume
 
IRJET- Security Efficiency of Transfering the Data for Wireless Sensor Ne...
IRJET-  	  Security Efficiency of Transfering the Data for Wireless Sensor Ne...IRJET-  	  Security Efficiency of Transfering the Data for Wireless Sensor Ne...
IRJET- Security Efficiency of Transfering the Data for Wireless Sensor Ne...
 
A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...
A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...
A Comparative study of K-SVD and WSQ Algorithms in Fingerprint Compression Te...
 
Skyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed EnvironmentSkyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed Environment
 
An Enhanced Technique for Network Traffic Classification with unknown Flow De...
An Enhanced Technique for Network Traffic Classification with unknown Flow De...An Enhanced Technique for Network Traffic Classification with unknown Flow De...
An Enhanced Technique for Network Traffic Classification with unknown Flow De...
 

Recently uploaded

ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Recently uploaded (20)

ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

Web Service Antipatterns Detection Using Genetic Programming

  • 1. Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Web Service Antipatterns Detection Using Genetic Programming Ali Ouni1, Raula Gaikovina Kula1, Marouane Kessentini2, Katsuro Inoue1 1Osaka University, Japan 2University of Michigan, USA Genetic and Evolutionary Computation Conference (GECCO’15) 13 July 2015, Madrid, Spain
  • 2. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University • SOA is – a way of designing system – an approach to system development – a design paradigm • SOA is not an architecture, is not a system • SOA can be implemented utilizing different technologies – OSGi, SCA, REST, Web services • Service-based system = a set of ready-made, composable and reusable services What is SOA?
  • 3. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Services • Services are reusable components that represent business tasks – Customer lookup – Meteo servie – Localisation service – Credit check – Hotel reservation – Interest calculation • Services provide reusable functionality with well- defined interfaces • An SOA infrastructure enables discovery, composition and invocation of services
  • 4. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University • Example: Travel system Service-based system Client Travel Service + bookTrip() Payment serviceFlight Service + checkDates() + reserveFlight() + cancelFlight() Rent Car Service + checkAvailability() + reserveCar() + cancelCar() HotelService + checkHotel() + reserveHotel() + cancelHotel() XML technologies {SOAP, WSDL, UDDI,...} Service provider Internet Client Client
  • 5. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University If designed well… • If designed well, Web service adoption can lead to – Cost-efficiency – interoperability – Agility – Adaptability – Leverage of legacy investments The hard part is the “if designed well”.
  • 6. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University • SOA Change continuously – add new user requirements – Adapt to environment changes • Poorly planned changes may degrade their design quality and QoS –> bad design practices: Anti-patterns Problem 6
  • 7. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Typical Web service antipatterns Multi-service Nano-service 7 TravelService Endpoint + bookFlight() + reserveFlight() + cancelFlight() + reserveCar() + cancelCar() + reserveHotel() + checkDates() + modifyBooking() + acceptPayment() + addPaymentDetails() + validateCredit() + printInvoice() + sendInvoice() Client 1 Client 2 Client 3 Client n Flight details.xml Car reservation.xml Hotel booking.xml Payment.xml . . . TravelService Flight Reservation Service + bookFlight() Flight Change Service + changeFlight() Flight Cancellation Service + cancelFlight() - Symptoms - Aggregates too many methods into a single service - Low cohesion of its methods - Consequences - Not easily reusable - Overload: often unavailable to end-users - Symptoms - Small service with few operations - whose overhead outweighs its utility - Consequences - requires several coupled services - high development complexity - reduced usability
  • 8. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Current approaches • Manual approaches – Service antipatterns definition (Dudney et al., 2003, Král et al, 2009, Rotem- Gal-Oz et al., 2012) • Symptoms-based approaches – Detection rules (Moha et al., 2012, Palma et al., 2014) • Translate antipattern symptoms into detection rules 8
  • 9. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Antipattern detection challenges • Difficult to define/express detection rules – Large list of antipattern types to categorize – Large exhaustive list of quality metrics – Large number of possible threshold values – Huge space to explore: An expert to manually write and validate detection rules 9 Idea: Infer detection rules from antipattern examples
  • 10. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Approach Generation of Web services anti-patterns detection rules (Genetic Programming) Generation of Web services anti-patterns detection rules (Genetic Programming) Metric suite Web services anti- patterns detection rules Base of Examples (Web service anti-patterns) category 2 category 1 category 3 Anti-pattern instance
  • 11. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University GP adaptation NST NOPT COH NOD [1..200] [1..100] Quality metrics NCT Solution representation 11 1 : multi-service Base of examples antipattern instance IF (NOD(s)≥21 AND COH(s)≤0.32 AND NOPT(s)≥7.8) OR (NOD(s)≥24 AND COH(s)≤0.2 AND NPT(s)≥3 AND NST(s)≥41 OR NCT(s)≥32) THEN MultiService(s)
  • 12. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University GP adaptation • Fitness function • Crossover – random, single point crossover operator • Mutation – Substitution, deletion, insertion 12 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 = 𝑖=1 𝑝 𝑎𝑖 𝑡 + 𝑖=1 𝑝 𝑎𝑖 𝑝 2 ∈ [0,1]
  • 13. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Research questions • RQ1 (SBSE Validation): How does the proposed GP-based approach performs compared to RS, PSO and SA? • RQ2 (Efficiency): To which extent can the proposed approach detect Web service antipatterns? • RQ3 (Sensitivity): What types of Web service antipatterns does it detect correctly? 13
  • 14. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Evaluation • Studied Web service – Benchmark of 310 Web services 14 Category # services # antipatterns Average # of operations Average # of messages Average # of complex types Financial 94 67 29.52 57.31 19.01 Science 34 3 8.47 17.14 96.73 Search 37 13 8.35 18.94 26.13 Shipping 38 10 13.36 27.76 20.21 Travel 65 28 16.09 33.13 121.13 Weather 42 15 8.54 17.16 9.14
  • 15. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Evaluation • Five common types of antipatterns – multiservice, nanoservice, chatty service, data service, and ambiguous service • 6-fold cross validation – Detect antpatterns in a category using the 5 other categories • Detection precision and recall 15 𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠 𝑡𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑎𝑛𝑡𝑖𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑒𝑡𝑒𝑐𝑡𝑒𝑑 𝑎𝑛𝑡𝑖𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑠
  • 16. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University RQ1: Comparison with PSO, SA, and RS 16 GP PSO SA RS Category Precision (%) Recall (%) Precision (%) Recall (%) Precision (%) Recall (%) Precision (%) Recall (%) Financial 88 85 79 78 75 75 42 45 Science 75 100 50 100 43 100 17 67 Search 85 85 79 85 63 77 26 46 Shipping 90 90 53 80 57 80 19 40 Travel 80 86 89 86 81 79 27 36 Weather 76 87 72 87 61 73 20 33 Average 85 87 76 82 70 76 30 42
  • 17. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University – 31 independent runs 17 all financial science search shipping travel weather 25 50 75 100 25 50 75 100 recallprecision GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA GP PSO RS SA RQ1: Comparison with PSO, SA, and RS
  • 18. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University GP Category Precision (%) Recall (%) Financial 88 85 Science 75 100 Search 85 85 Shipping 90 90 Travel 80 86 Weather 76 87 Average 85 87 18 RQ2: detection efficiency
  • 19. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 19 Ambiguousservice Chattyservice Dataservice Multiservice Nanoservice All Financial Science Search Shipping Travel Weather 0 25 50 75 1000 25 50 75 1000 25 50 75 1000 25 50 75 1000 25 50 75 100 type precision recall RQ3: sensitivity towards antipattern types
  • 20. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Conclusion & Future Work • We proposed an SBSE approach to automatically detect Web service antipatterns. – Infer detection rules from antipattern examples – Genetic programming • Empirical evaluation on 310 Web services from 6 categories – Promising detection results of 85% of precision and 87% of recall • Future Works – Include other types of anti-patterns – Extend the base of examples – Consider dynamic Web service metrics – Recommend refactoring solutions to fix the detected antipatterns 20
  • 21. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Thank you for your attention Questions? Discussions? Suggestions? 21