SlideShare a Scribd company logo
1 of 24
Download to read offline
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
SMURF: A SVM-based Incremental
Anti-pattern Detection Approach
Abdou Maiga, Nasir Ali, Neelesh Bhattacharya, Aminata
Saban´e, Yann-Ga¨el Gu´eh´eneuc, Esma A¨ımeur
DIRO, Universit´e de Montr´eal
DGIGL, ´Ecole Polytechnique, Qu´ebec, Canada
E-mails: {abdou.maiga, nasir.ali, n.bhattacharya, a.sabane}@polymtl.ca,
{guehene, aimeur}@iro.umontreal.ca
WCRE 2012
October 18, 2012
Pattern Trace Identification, Detection, and Enhancement in Java
SOftware Cost-effective Change and Evolution Research Lab
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Outline
Introduction
Related Work
Our Approach: SMURF
Study Results
Conclusion and Future Work
2 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Introduction
Motivation
Anti-patterns: “poor” solutions to recurring design and
implementation problems.
Impact program comprehension, software evolution and
maintenance activities [1].
Important to detect them early in software
development process, to reduce the maintenance costs
3 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Related Work
Smell/Anti-pattern Detection
Many researchers studied anti-patterns detection.
Alikacem et al. [2] used meta-model for representing
the source code and fuzzy thresholds;
Langelier et al. [3] used a visual approach;
Marinescu [4] used quantifiable expression of rules;
Sahraoui et al. [5] used search-based techniques;
Moha et al. [6] proposed an approach based on a set of
rules that describes each anti-pattern;
Khomh et al. [7] present BDTEX a probabilistic
anti-patterns detection approach.
4 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Related Work
Limitations
The works carried out so far suffered from some limitations:
they have limited precision and recall (if reported at
all);
had not been adopted by practitioners yet;
cannot be applied on subsets of systems;
required extensive knowledge of anti-patterns;
are not iterative and incremental.
To the best of our knowledge, no previous approach used
SVM for anti-pattern detection.
5 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Related Work
Contributions: SMURF
We propose
SMURF approach to detect anti-patterns using SVM
and practitioners’ feedback;
Use of precision and recall to compare SMURF to
DETEX [6] and BDTEX [7];
the accuracy of SMURF is greater than that of DETEX
and BDTEX on subsets and whole system;
SMURF can be applied in both intra-system and
inter-system configurations;
SMURF accuracy improves when using practitioners’
feedback.
6 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Our Approach: SMURF
SMURF - Steps
Figure : SMURF process overview
7 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Empirical Study
Empirical Study
Goal: validate that SMURF can overcome previous
approaches’ limitations.
Quality focus: accuracy of SMURF, in terms of
precision and recall.
Perspective: researchers and practitioners interested in
verifying if SMURF can be effective in detecting
various kinds of anti-patterns, and in overcoming the
previous limitations.
8 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Empirical Study
Research Questions
RQ1 and RQ2: How does the accuracy of SMURF
compare with that of DETEX and BDTEX, in terms
of precision and recall?
RQ3: How does the accuracy of SMURF change when
trained/applied on the same system and trained/applied
on different systems, in terms of precision and recall?
RQ4: How does the accuracy of SMURF, with
feedback, compare with that of SMURF without
feedback, in terms of precision and recall?
9 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Empirical Study
Objects and Subjects
Use of 3 open source systems: ArgoUML 0.19.8,
Azureus 2.3.0.6 and Xerces 2.7.0
Use of 4 anti-patterns:Blob, Functional Decomposition
(FD), Spaghetti Code (SC),Swiss Army Knife (SAK)
These 3 systems and 4 anti-patterns because well known,
commonly studied in previous work and for comparison.
10 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
Subsets of System: RQ11
Table : Precision of SMURF vs. DETEX in subsets (%)
ArgoUML Azureus Xerces
Blob
DETEX 0.00 0.00 0.00
SMURF 97.09 97.32 95.51
FD
DETEX 0.00 0.00 0.00
SMURF 70.68 72.01 66.93
SC
DETEX 0.00 0.00 0.00
SMURF 85.00 88.00 86.00
SAK
DETEX 10.00 10.00 0.00
SMURF 75.46 84.54 80.76
11 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
Subsets of System: RQ11
Table : Recall of SMURF vs. DETEX in subsets (%)
ArgoUML Azureus Xerces
Blob
DETEX 0.00 0.00 0.00
SMURF 84.09 91.33 95.29
FD
DETEX 0.00 0.00 0.00
SMURF 57.50 84.28 70.00
SC
DETEX 0.00 0.00 0.00
SMURF 71.00 89.00 86.00
SAK
DETEX 0.00 0.00 0.00
SMURF 77.14 85.71 75.50
12 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
Complete System: RQ12
Table : Total recovered occurrences of BLOB by DETEX and
SMURF on whole system
DETEX SMURF
ArgoUML 25 40
Azureus 38 48
Xerces 39 55
Total 102 143
We answer RQ1: “How does the accuracy of SMURF
compare with that of DETEX, in terms of precision and
recall?” as follows:
on subsets of systems, SMURF dramatically
outperforms DETEX.
on entire systems, SMURF detects more occurrences
of Blob than DETEX.13 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ2
Figure : Trends in the increase of precision and recall when
decreasing the probabilty of being an antipattern for Blob and
Xerces
14 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ2
Figure : Trends in the increase of precision and recall when
decreasing the probabilty of being an antipattern for Spaguetti
Code and Xerces
Thus, we answer RQ2 as follows: SMURF has a better
precision and recall than BDTEX.
15 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ3
Table : Precision of SMURF in inter-systems configuration
ArgoUML (%) Azureus (%) Xerces (%)
Blob 92.00 96.00 89.00
FD 57.00 62.00 36.00
SC 77.00 74.00 91.00
SAK 56.00 73.00 90.00
Table : Recall of SMURF in inter-systems configuration
ArgoUML (%) Azureus (%) Xerces (%)
Blob 62.00 48.00 94.00
FD 40.00 100.00 20.00
SC 96.00 88.00 91.00
SAK 68.00 84.00 56.00
16 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ3
Thus, we answer RQ3 as follows: SMURF has a better
precision and recall than DETEX. Even in the inter-system
configuration, its precision and recall are acceptable in the
most of cases excepted for the functional decomposition in
the programs ArgoUML (the recall is 40%) and Xerces (the
precision is 36% and the recall 20%).
17 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ4
Figure : Trends in the increase of precision when integrating
incremental feedback18 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ4
Figure : Trends in the increase of recall when integrating
incremental feedback
19 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Study Results
RQ4
We observe that the more feedback, the better the precision,
up to 100%. For recall, the more feedback, the better the
recall but with a slight decrease when we use 100% feedback.
Thus, we answer RQ4 as follows: both precision and recall
values increase when taking into account practitioners’
feedback.
20 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Conclusion and Future Work
Future Work
use SMURF in real-world environments;
integrate SMURF in eclipse;
reproduce the study with other systems and
anti-patterns to increase our confidence in the
generalisability of our conclusions;
evaluate the impact of the quality of training dataset
and feedback set on SMURF results.
21 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
Conclusion and Future Work
Conclusion
Introduced a novel approach to detect anti-patterns,
SMURF, based on SVM;
SMURF performs on 3 systems (ArgoUML v0.19.8,
Azureus v2.3.0.6, and Xerces v2.7.0) and 4
anti-patterns (Blob, Functional Decomposition,
Spaghetti Code, and Swiss Army Knife);
the accuracy of SMURF is greater than that of
DETEX;
SMURF is more stable than the probabilistic approach
BDTEX;
SMURF can overcome the limitations of the previous
approaches and could be more readily adopted by
practitioners.
SMURF is an iterative and incremental detection
approach: could be applied in continuous integration
context.
22 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
References
F. Khomh, M. D. Penta, and Y.-G. Gu´eh´eneuc, “An exploratory study of
the impact of antipatterns on class change-and fault-proneness,” Journal
of Empirical Software Engineering (EMSE), 2011.
E. H. Alikacem and H. A. Sahraoui, “D´etection d’anomalies utilisant un
langage de r`egle de qualit´e,” in LMO. Hermes Science Publications,
2006, pp. 185–200.
G. Langelier, H. Sahraoui, and P. Poulin, “Visualization-based analysis of
quality for large-scale software systems,” in Proceedings of the 20th
IEEE/ACM international Conference on Automated software engineering,
ser. ASE ’05. New York, NY, USA: ACM, 2005, pp. 214–223.
R. Marinescu, “Detection strategies: Metrics-based rules for detecting
design flaws,” in In Proceedings of the IEEE 20th International
Conference on Software Maintenance. IEEE Computer Society Press,
2004, pp. 350–359.
M. Kessentini, S. Vaucher, and H. Sahraoui,“Deviance from perfection is
a better criterion than closeness to evil when identifying risky code,” in
Proceedings of the IEEE/ACM international conference on Automated
software engineering, ser. ASE ’10. New York, NY, USA: ACM, 2010,
pp. 113–122.
23 / 24
SMURF
Maiga, Ali,
Bhattacharya,
Saban´e,
Gu´eh´eneuc,
A¨ımeur
Introduction
Related Work
Our Approach:
SMURF
Study Results
Conclusion and
Future Work
References
References
N. Moha, Y.-G. Gu´eh´eneuc, L. Duchien, and A.-F. L. Meur, “DECOR: A
method for the specification and detection of code and design smells,”
Transactions on Software Engineering (TSE), 2009.
F. Khomh, S. Vaucher, Y.-G. Gu´eh´eneuc, and H. Sahraoui, “Bdtex: A
gqm-based bayesian approach for the detection of antipatterns,” J. Syst.
Softw., vol. 84, no. 4, pp. 559–572, Apr. 2011.
24 / 24

More Related Content

Similar to Wcre12a.ppt

A scalable collaborative filtering framework based on co-clustering
A scalable collaborative filtering framework based on co-clusteringA scalable collaborative filtering framework based on co-clustering
A scalable collaborative filtering framework based on co-clustering
lau
 
02training material for msa
02training material for msa02training material for msa
02training material for msa
營松 林
 

Similar to Wcre12a.ppt (20)

I2b2 2008
I2b2 2008I2b2 2008
I2b2 2008
 
Shorter Multi-marker Signatures: a new tool to facilitate cancer diagnosis
Shorter Multi-marker Signatures:  a new tool to facilitate cancer diagnosisShorter Multi-marker Signatures:  a new tool to facilitate cancer diagnosis
Shorter Multi-marker Signatures: a new tool to facilitate cancer diagnosis
 
Shorter Multimarker signatures: a new tool to facilitate cancer diagnosis
Shorter Multimarker signatures:  a new tool to facilitate cancer diagnosisShorter Multimarker signatures:  a new tool to facilitate cancer diagnosis
Shorter Multimarker signatures: a new tool to facilitate cancer diagnosis
 
Evaluation of methods in clinical laboratory
Evaluation of methods in clinical laboratoryEvaluation of methods in clinical laboratory
Evaluation of methods in clinical laboratory
 
Novel Frequency Domain Classification Algorithm Based On Parameter Weight Fac...
Novel Frequency Domain Classification Algorithm Based On Parameter Weight Fac...Novel Frequency Domain Classification Algorithm Based On Parameter Weight Fac...
Novel Frequency Domain Classification Algorithm Based On Parameter Weight Fac...
 
YOLOv8-Based Lung Nodule Detection: A Novel Hybrid Deep Learning Model Proposal
YOLOv8-Based Lung Nodule Detection: A Novel Hybrid Deep Learning Model ProposalYOLOv8-Based Lung Nodule Detection: A Novel Hybrid Deep Learning Model Proposal
YOLOv8-Based Lung Nodule Detection: A Novel Hybrid Deep Learning Model Proposal
 
ch01.pdf
ch01.pdfch01.pdf
ch01.pdf
 
MSA
MSAMSA
MSA
 
Msa 5 day
Msa 5 dayMsa 5 day
Msa 5 day
 
A scalable collaborative filtering framework based on co-clustering
A scalable collaborative filtering framework based on co-clusteringA scalable collaborative filtering framework based on co-clustering
A scalable collaborative filtering framework based on co-clustering
 
Heart Disease Identification Method Using Machine Learnin in E-healthcare.
Heart Disease Identification Method Using Machine Learnin in E-healthcare.Heart Disease Identification Method Using Machine Learnin in E-healthcare.
Heart Disease Identification Method Using Machine Learnin in E-healthcare.
 
Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...
Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...
Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...
 
Webinar slides how to reduce sample size ethically and responsibly
Webinar slides   how to reduce sample size ethically and responsiblyWebinar slides   how to reduce sample size ethically and responsibly
Webinar slides how to reduce sample size ethically and responsibly
 
02training material for msa
02training material for msa02training material for msa
02training material for msa
 
Analytical mehod validation explained sadasiva
Analytical mehod validation explained sadasivaAnalytical mehod validation explained sadasiva
Analytical mehod validation explained sadasiva
 
Analytical mehod validation explained sadasiva
Analytical mehod validation explained sadasivaAnalytical mehod validation explained sadasiva
Analytical mehod validation explained sadasiva
 
Msa
MsaMsa
Msa
 
Performance evaluation of hepatitis diagnosis using single and multi classifi...
Performance evaluation of hepatitis diagnosis using single and multi classifi...Performance evaluation of hepatitis diagnosis using single and multi classifi...
Performance evaluation of hepatitis diagnosis using single and multi classifi...
 
PerkinElmer: Whole Tablet Measurements Using the Frontier Tablet Autosampler ...
PerkinElmer: Whole Tablet Measurements Using the Frontier Tablet Autosampler ...PerkinElmer: Whole Tablet Measurements Using the Frontier Tablet Autosampler ...
PerkinElmer: Whole Tablet Measurements Using the Frontier Tablet Autosampler ...
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug prediction
 

More from Yann-Gaël Guéhéneuc

Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

Wcre12a.ppt

  • 1. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References SMURF: A SVM-based Incremental Anti-pattern Detection Approach Abdou Maiga, Nasir Ali, Neelesh Bhattacharya, Aminata Saban´e, Yann-Ga¨el Gu´eh´eneuc, Esma A¨ımeur DIRO, Universit´e de Montr´eal DGIGL, ´Ecole Polytechnique, Qu´ebec, Canada E-mails: {abdou.maiga, nasir.ali, n.bhattacharya, a.sabane}@polymtl.ca, {guehene, aimeur}@iro.umontreal.ca WCRE 2012 October 18, 2012 Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Outline Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work 2 / 24
  • 3. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Introduction Motivation Anti-patterns: “poor” solutions to recurring design and implementation problems. Impact program comprehension, software evolution and maintenance activities [1]. Important to detect them early in software development process, to reduce the maintenance costs 3 / 24
  • 4. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Related Work Smell/Anti-pattern Detection Many researchers studied anti-patterns detection. Alikacem et al. [2] used meta-model for representing the source code and fuzzy thresholds; Langelier et al. [3] used a visual approach; Marinescu [4] used quantifiable expression of rules; Sahraoui et al. [5] used search-based techniques; Moha et al. [6] proposed an approach based on a set of rules that describes each anti-pattern; Khomh et al. [7] present BDTEX a probabilistic anti-patterns detection approach. 4 / 24
  • 5. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Related Work Limitations The works carried out so far suffered from some limitations: they have limited precision and recall (if reported at all); had not been adopted by practitioners yet; cannot be applied on subsets of systems; required extensive knowledge of anti-patterns; are not iterative and incremental. To the best of our knowledge, no previous approach used SVM for anti-pattern detection. 5 / 24
  • 6. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Related Work Contributions: SMURF We propose SMURF approach to detect anti-patterns using SVM and practitioners’ feedback; Use of precision and recall to compare SMURF to DETEX [6] and BDTEX [7]; the accuracy of SMURF is greater than that of DETEX and BDTEX on subsets and whole system; SMURF can be applied in both intra-system and inter-system configurations; SMURF accuracy improves when using practitioners’ feedback. 6 / 24
  • 7. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Our Approach: SMURF SMURF - Steps Figure : SMURF process overview 7 / 24
  • 8. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Empirical Study Empirical Study Goal: validate that SMURF can overcome previous approaches’ limitations. Quality focus: accuracy of SMURF, in terms of precision and recall. Perspective: researchers and practitioners interested in verifying if SMURF can be effective in detecting various kinds of anti-patterns, and in overcoming the previous limitations. 8 / 24
  • 9. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Empirical Study Research Questions RQ1 and RQ2: How does the accuracy of SMURF compare with that of DETEX and BDTEX, in terms of precision and recall? RQ3: How does the accuracy of SMURF change when trained/applied on the same system and trained/applied on different systems, in terms of precision and recall? RQ4: How does the accuracy of SMURF, with feedback, compare with that of SMURF without feedback, in terms of precision and recall? 9 / 24
  • 10. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Empirical Study Objects and Subjects Use of 3 open source systems: ArgoUML 0.19.8, Azureus 2.3.0.6 and Xerces 2.7.0 Use of 4 anti-patterns:Blob, Functional Decomposition (FD), Spaghetti Code (SC),Swiss Army Knife (SAK) These 3 systems and 4 anti-patterns because well known, commonly studied in previous work and for comparison. 10 / 24
  • 11. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results Subsets of System: RQ11 Table : Precision of SMURF vs. DETEX in subsets (%) ArgoUML Azureus Xerces Blob DETEX 0.00 0.00 0.00 SMURF 97.09 97.32 95.51 FD DETEX 0.00 0.00 0.00 SMURF 70.68 72.01 66.93 SC DETEX 0.00 0.00 0.00 SMURF 85.00 88.00 86.00 SAK DETEX 10.00 10.00 0.00 SMURF 75.46 84.54 80.76 11 / 24
  • 12. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results Subsets of System: RQ11 Table : Recall of SMURF vs. DETEX in subsets (%) ArgoUML Azureus Xerces Blob DETEX 0.00 0.00 0.00 SMURF 84.09 91.33 95.29 FD DETEX 0.00 0.00 0.00 SMURF 57.50 84.28 70.00 SC DETEX 0.00 0.00 0.00 SMURF 71.00 89.00 86.00 SAK DETEX 0.00 0.00 0.00 SMURF 77.14 85.71 75.50 12 / 24
  • 13. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results Complete System: RQ12 Table : Total recovered occurrences of BLOB by DETEX and SMURF on whole system DETEX SMURF ArgoUML 25 40 Azureus 38 48 Xerces 39 55 Total 102 143 We answer RQ1: “How does the accuracy of SMURF compare with that of DETEX, in terms of precision and recall?” as follows: on subsets of systems, SMURF dramatically outperforms DETEX. on entire systems, SMURF detects more occurrences of Blob than DETEX.13 / 24
  • 14. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ2 Figure : Trends in the increase of precision and recall when decreasing the probabilty of being an antipattern for Blob and Xerces 14 / 24
  • 15. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ2 Figure : Trends in the increase of precision and recall when decreasing the probabilty of being an antipattern for Spaguetti Code and Xerces Thus, we answer RQ2 as follows: SMURF has a better precision and recall than BDTEX. 15 / 24
  • 16. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ3 Table : Precision of SMURF in inter-systems configuration ArgoUML (%) Azureus (%) Xerces (%) Blob 92.00 96.00 89.00 FD 57.00 62.00 36.00 SC 77.00 74.00 91.00 SAK 56.00 73.00 90.00 Table : Recall of SMURF in inter-systems configuration ArgoUML (%) Azureus (%) Xerces (%) Blob 62.00 48.00 94.00 FD 40.00 100.00 20.00 SC 96.00 88.00 91.00 SAK 68.00 84.00 56.00 16 / 24
  • 17. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ3 Thus, we answer RQ3 as follows: SMURF has a better precision and recall than DETEX. Even in the inter-system configuration, its precision and recall are acceptable in the most of cases excepted for the functional decomposition in the programs ArgoUML (the recall is 40%) and Xerces (the precision is 36% and the recall 20%). 17 / 24
  • 18. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ4 Figure : Trends in the increase of precision when integrating incremental feedback18 / 24
  • 19. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ4 Figure : Trends in the increase of recall when integrating incremental feedback 19 / 24
  • 20. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Study Results RQ4 We observe that the more feedback, the better the precision, up to 100%. For recall, the more feedback, the better the recall but with a slight decrease when we use 100% feedback. Thus, we answer RQ4 as follows: both precision and recall values increase when taking into account practitioners’ feedback. 20 / 24
  • 21. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Conclusion and Future Work Future Work use SMURF in real-world environments; integrate SMURF in eclipse; reproduce the study with other systems and anti-patterns to increase our confidence in the generalisability of our conclusions; evaluate the impact of the quality of training dataset and feedback set on SMURF results. 21 / 24
  • 22. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References Conclusion and Future Work Conclusion Introduced a novel approach to detect anti-patterns, SMURF, based on SVM; SMURF performs on 3 systems (ArgoUML v0.19.8, Azureus v2.3.0.6, and Xerces v2.7.0) and 4 anti-patterns (Blob, Functional Decomposition, Spaghetti Code, and Swiss Army Knife); the accuracy of SMURF is greater than that of DETEX; SMURF is more stable than the probabilistic approach BDTEX; SMURF can overcome the limitations of the previous approaches and could be more readily adopted by practitioners. SMURF is an iterative and incremental detection approach: could be applied in continuous integration context. 22 / 24
  • 23. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References References F. Khomh, M. D. Penta, and Y.-G. Gu´eh´eneuc, “An exploratory study of the impact of antipatterns on class change-and fault-proneness,” Journal of Empirical Software Engineering (EMSE), 2011. E. H. Alikacem and H. A. Sahraoui, “D´etection d’anomalies utilisant un langage de r`egle de qualit´e,” in LMO. Hermes Science Publications, 2006, pp. 185–200. G. Langelier, H. Sahraoui, and P. Poulin, “Visualization-based analysis of quality for large-scale software systems,” in Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, ser. ASE ’05. New York, NY, USA: ACM, 2005, pp. 214–223. R. Marinescu, “Detection strategies: Metrics-based rules for detecting design flaws,” in In Proceedings of the IEEE 20th International Conference on Software Maintenance. IEEE Computer Society Press, 2004, pp. 350–359. M. Kessentini, S. Vaucher, and H. Sahraoui,“Deviance from perfection is a better criterion than closeness to evil when identifying risky code,” in Proceedings of the IEEE/ACM international conference on Automated software engineering, ser. ASE ’10. New York, NY, USA: ACM, 2010, pp. 113–122. 23 / 24
  • 24. SMURF Maiga, Ali, Bhattacharya, Saban´e, Gu´eh´eneuc, A¨ımeur Introduction Related Work Our Approach: SMURF Study Results Conclusion and Future Work References References N. Moha, Y.-G. Gu´eh´eneuc, L. Duchien, and A.-F. L. Meur, “DECOR: A method for the specification and detection of code and design smells,” Transactions on Software Engineering (TSE), 2009. F. Khomh, S. Vaucher, Y.-G. Gu´eh´eneuc, and H. Sahraoui, “Bdtex: A gqm-based bayesian approach for the detection of antipatterns,” J. Syst. Softw., vol. 84, no. 4, pp. 559–572, Apr. 2011. 24 / 24