SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
SVMDetect

  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur
                      Support Vector Machines for Anti-pattern
Introduction
                                     Detection
Related Work

Our Approach:
SVMDetect
                    Abdou Maiga, Nasir Ali, Neelesh Bhattacharya, Aminata
Study Results       Saban´, Yann-Ga¨l Gu´h´neuc, Giuliano Antoniol, Esma
                         e         e    e e
Discussions                                 A¨
                                             ımeur
Conclusion and
Future Work                          ´
                    DGIGL et DIRO, Ecole Polytechnique et Universit´ de Montr´al, Qu´bec,
                                                                      e          e     e
Questions                                           Canada
References                 E-mails: {abdou.maiga, nasir.ali, n.bhattacharya, a.sabane,
                      giuliano.antoniol}@polymtl.ca, {guehene, aimeur}@iro.umontreal.ca


                                               ASE 2012
                                           September 6, 2012


                                              Pattern Trace Identification, Detection, and Enhancement in Java
                                              SOftware Cost-effective Change and Evolution Research Lab
SVMDetect
                    Outline
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur
                    Introduction
Introduction

Related Work
                    Related Work
Our Approach:
SVMDetect

Study Results       Our Approach: SVMDetect
Discussions

Conclusion and      Study Results
Future Work

Questions

References
                    Discussions

                    Conclusion and Future Work

                    Questions



      2 / 25
SVMDetect
                    Introduction
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction

Related Work

Our Approach:
                    Motivation
SVMDetect
                        Anti-patterns: “poor” solutions to recurring design and
Study Results
                        implementation problems.
Discussions

Conclusion and
                        Impact program comprehension, software evolution and
Future Work             maintenance activities [8].
Questions
                        Important to detect them early in software
References
                        development process, to reduce the maintenance costs




      3 / 25
SVMDetect
                    Introduction
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur   Limitations
Introduction        Current anti-pattern detection approaches have several
Related Work        limitations:
Our Approach:
SVMDetect
                        they require extensive knowledge of anti-patterns
Study Results           they have limited precision and recall
Discussions
                        they cannot be applied on subsets of systems.
Conclusion and
Future Work         We propose
Questions
                        Apply SVM on subsets because it considers system
References
                        classes one at a time, not collectively as previous
                        rule-based approaches do.
                        To the best of our knowledge, researchers have not yet
                        studied the potential benefits of using SVM to
                        detect anti-patterns.

      4 / 25
SVMDetect
                    Introduction
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction
                    Contributions
Related Work            SVMDetect to detect anti-patterns using SVM
Our Approach:
SVMDetect
                        Use of precision and recall to compare SVMDetect to
Study Results
                        DETEX [13], the best state-of-the-art approach, on 3
Discussions
                        programs and 4 anti-patterns.
Conclusion and          The accuracy of SVMDetect is greater than of
Future Work

Questions
                        DETEX on subsets.
References              For whole system, SVMDetect find more anti-patterns
                        occurrences than DETEX.
                    We thus conclude that: a SVM-based approach can
                    overcome the limitations of previous approaches.



      5 / 25
SVMDetect
                    Related Work
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e            Smell/Anti-pattern Detection
Antoniol, A¨ımeur
                    Many researchers studied anti-patterns detection.
Introduction
                        Alikacem et al. [1] used meta-model for representing
Related Work

Our Approach:
                        the source code and fuzzy thresholds.
SVMDetect
                        Langelier et al. [10] used a visual approach.
Study Results

Discussions
                        Marinescu [11] used quantifiable expression of rules.
Conclusion and          Sahraoui et al. [7] used search-based techniques.
Future Work

Questions
                        Moha et al. [13] proposed an approach based on a set
References              of rules that describes each anti-pattern.
                    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 sufficient knowledge of anti-patterns.
      6 / 25
SVMDetect
                    Related Work
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur   SVM Applications
Introduction            SVM in several domains for various applications, e.g.,
Related Work            bioinformatics [2], object recognition [4].
Our Approach:
SVMDetect
                        SVM is a recent alternative to the classification
Study Results           problems.
Discussions             Guihong et al. [3] used SVM, for terms classification.
Conclusion and
Future Work             SVM used in image retrieval systems by Sethia et al.
Questions               [12]
References
                        Kim et al. [9] proposed the change classification
                        approach for predicting latent software bugs based on
                        SVM.
                    To the best of our knowledge, no previous approach used
                    SVM for anti-pattern Detection.

      7 / 25
SVMDetect
                    Our Approach: SVMDetect
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e            SVMDetect
Antoniol, A¨ımeur
                    SVMDetect is based on Support Vector Machines (SVM)
Introduction        using a polynomial kernel to detect occurrences of
Related Work
                    anti-patterns.
Our Approach:
SVMDetect           We use SVMDetect to detect the well-known anti-patterns:
Study Results       Blob, Functional Decomposition, Spaghetti code, and Swiss
Discussions         Army Knife. For each anti-pattern detection, the detection
Conclusion and      process is identical.
Future Work
                    We illustrate the detection process with the Blob
Questions

References
                    anti-pattern for the sake of clarity. We define:
                        TDS = {Ci , i = 1, . . . , p}, a set of classes Ci derived
                        from an object-oriented system that constitutes the
                        training dataset;
                        ∀i, Ci is labelled as Blob (B) or not (N);
                        DDS is the set of the classes of a system in which we
                        want to detect the Blob classes.
      8 / 25
SVMDetect
                    Our Approach: SVMDetect
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur   SVMDetect - Steps
Introduction
                    To detect the Blob classes in the set DDS, we apply
Related Work        SVMDetect through the following steps:
Our Approach:
SVMDetect
                        Step 1 (Object Oriented Metric Specification)
Study Results
                        SVMDetect takes as input the training dataset TDS
Discussions
                        with object-oriented metrics for classes.
Conclusion and          Step 2 (Train the SVM Classifier) Train SVMDetect
Future Work
                        with TDS defined in Step 1.
Questions

References              Step 3 (Construction of the dataset DDS and
                        detection of the occurrences of an anti-pattern)
                        Build detection dataset DDS and apply SVMDetect
                        trained in step 2 to DDS.
                    We use Weka to implement SVMDetect using its SVM
                    classifier.

      9 / 25
SVMDetect
                    Empirical Study
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction

Related Work
                    Empirical Study
Our Approach:           goal: validate that SVMDetect can overcome previous
SVMDetect
                        approaches’ limitations
Study Results

Discussions             quality focus: accuracy of SVMDetect, in terms of
Conclusion and          precision and recall.
Future Work

Questions
                        perspective: researchers and practitioners interested in
References              verifying if SVMDetect can be effective in detecting
                        various kinds of anti-patterns, and in overcoming the
                        previous limitations.




     10 / 25
SVMDetect
                    Empirical Study
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction

Related Work
                    Research Questions
Our Approach:           RQ1: How does the accuracy of SVMDetect compare
SVMDetect
                        with that of DETEX, in terms of precision and recall?
Study Results
                        We decompose RQ1 as follows:
Discussions

Conclusion and              RQ11 : How does the accuracy of SVMDetect compare
Future Work                 with that of DETEX, in terms of precision and recall,
Questions                   when applied on a same subset of a system?
References                  RQ12 : How many occurrences of Blob SVMDetect can
                            detect when comparing with that of DETEX on a same
                            entire system?




     11 / 25
SVMDetect
                    Empirical Study
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction

Related Work
                    Objects
Our Approach:          Names       Versions   # Lines of Code        # Classes   # Interfaces
SVMDetect
                      ArgoUML      0.19.8              113,017           1,230            67
Study Results                                 A design tool for UML
Discussions           Azureus     2.3.0.6              191,963        1,449             546
Conclusion and            A peer-to-peer client that implements the protocol BitTorrent
Future Work
                      Xerces       2.7.0                71,217            513            162
Questions                                      A syntaxic analyser
References
                               Table : Description of the objects of the study




     12 / 25
SVMDetect
                    Empirical Study
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction
                    Subjects
Related Work

Our Approach:
                    The subjects of our study are the following four
SVMDetect
                    anti-patterns:
Study Results

Discussions
                        Blob
Conclusion and          Functional Decomposition (FD)
Future Work

Questions
                        Spaghetti Code (SC)
References              Swiss Army Knife (SAK)
                    These four anti-patterns because known anti-patterns,
                    commonly studied in previous work for comparison.




     13 / 25
SVMDetect
                    Study Results
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction
                    Subsets of System: RQ11
Related Work

Our Approach:          Table : Precision of SVMDetect vs. DETEX in subsets (%)
SVMDetect

Study Results                                   ArgoUML     Azureus   Xerces
                                     DETEX           0.00      0.00     0.00
Discussions                Blob
                                    SVMDetect       97.09     97.32    95.51
Conclusion and
                                     DETEX           0.00      0.00     0.00
Future Work                FD
                                    SVMDetect       70.68     72.01    66.93
Questions
                                     DETEX           0.00      0.00     0.00
                           SC
References                          SVMDetect       85.00     88.00    86.00
                                     DETEX          10.00     10.00     0.00
                           SAK
                                    SVMDetect       75.46     84.54    80.76




     14 / 25
SVMDetect
                    Study Results
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction
                    Subsets of System: RQ11
Related Work

Our Approach:           Table : Recall of SVMDetect vs. DETEX in subsets (%)
SVMDetect

Study Results                                   ArgoUML     Azureus   Xerces
                                     DETEX           0.00      0.00     0.00
Discussions                Blob
                                    SVMDetect       84.09     91.33    95.29
Conclusion and
                                     DETEX           0.00      0.00     0.00
Future Work                FD
                                    SVMDetect       57.50     84.28    70.00
Questions
                                     DETEX           0.00      0.00     0.00
                           SC
References                          SVMDetect       71.00     89.00    86.00
                                     DETEX           0.00      0.00     0.00
                           SAK
                                    SVMDetect       77.14     85.71    75.50




     15 / 25
SVMDetect
                    Study Results
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e            Complete System: RQ12
Antoniol, A¨ımeur


Introduction
                    Table : Total recovered occurrences of BLOB by DETEX and
                    SVMDetect
Related Work

Our Approach:                                DETEX      SVMDetect
SVMDetect
                               ArgoUML       25         40
Study Results

Discussions
                               Azureus       38         48
Conclusion and
                               Xerces        39         55
Future Work
                               Total         102        143
Questions

References
                    We answer RQ1: “How does the accuracy of SVMDetect
                    compare with that of DETEX, in terms of precision and
                    recall?” as follows:
                        on subsets of systems, SVMDetect dramatically
                        outperforms DETEX.
                        on entire systems, SVMDetect detects more
     16 / 25
                        occurrences of Blob than DETEX.
SVMDetect
                    Discussions
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur
                    Threats to Validity
Introduction
                    Threats to the validity of our results.
Related Work             Construct validity (Measurement errors, subjectivity):
Our Approach:
SVMDetect
                         occurrences of anti-patterns manually validated.
Study Results            Internal Validity (dependence of the obtained results
Discussions              on chosen anti-patterns and systems.): used four
Conclusion and
Future Work
                         well-known and representative anti-patterns. used in
Questions
                         previous works. used 3 open-source systems with
References
                         different sizes, used in previous works.
                         Reliability Validity (possibility of replication): used 3
                         open-source systems available on-line.
                         External Validity (Generalisability): 3 systems with
                         different sizes and different domains. Representative
                         subset of anti-patterns.

     17 / 25
SVMDetect
                    Conclusion and Future Work
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur   Conclusion
Introduction
                        introduced a novel approach to detect anti-patterns,
Related Work
                        SVMDetect, based on SVM.
Our Approach:           SVMDetect performs on 3 systems (ArgoUML v0.19.8,
SVMDetect
                        Azureus v2.3.0.6, and Xerces v2.7.0) and 4
Study Results

Discussions
                        anti-patterns (Blob, Functional Decomposition,
Conclusion and
                        Spaghetti Code, and Swiss Army Knife)
Future Work
                        the accuracy of SVMDetect is greater than that of
Questions
                        DETEX on a subset of classes.
References
                        on whole system, SVMDetect is able to find more
                        anti-patterns occurrences than DETEX
                        SVM-based approach can overcome the limitations of
                        the previous approaches and could be more readily
                        adopted by practitioners.

     18 / 25
SVMDetect
                    Conclusion and Future Work
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction

Related Work
                    Future Work
Our Approach:       Future work includes:
SVMDetect

Study Results
                        use SVMDetect in real-world environments.
Discussions             reproduce the study with other systems and
Conclusion and          anti-patterns to increase our confidence in the
Future Work
                        generalisability of our conclusions.
Questions

References              take into account the user feedback.
                        evaluate the impact of the quality of training dataset
                        and feedback set on SVMDetect results.




     19 / 25
SVMDetect
                    Any Question?
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction

Related Work

Our Approach:
SVMDetect

Study Results

Discussions

Conclusion and
Future Work

Questions

References




     20 / 25
SVMDetect
                    References
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction
                        E. H. Alikacem and H. A. Sahraoui.
Related Work
                        D´tection d’anomalies utilisant un langage de r`gle de
                          e                                            e
Our Approach:
                        qualit´.
                              e
SVMDetect
                        In LMO. Hermes Science Publications, 2006.
Study Results

Discussions             J. Bedo, C. Sanderson, and A. Kowalczyk.
Conclusion and          An efficient alternative to svm based recursive feature
Future Work
                        elimination with applications in natural language
Questions
                        processing and bioinformatics.
References
                        In A. Sattar and B.-h. Kang, editors, AI 2006: Advances
                        in Artificial Intelligence, volume 4304 of Lecture Notes
                        in Computer Science, pages 170–180. Springer Berlin
                        Heidelberg, 2006.



     21 / 25
SVMDetect
                    References
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur
                        G. Cao, J.-Y. Nie, J. Gao, and S. Robertson.
                        Selecting good expansion terms for pseudo-relevance
Introduction
                        feedback.
Related Work
                        In Proceedings of the 31st Annual International ACM
Our Approach:
SVMDetect               SIGIR Conference on Research and Development in
Study Results           Information Retrieval, SIGIR 2008, Singapore, July
Discussions             20-24, 2008, pages 243–250. ACM, 2008.
Conclusion and
Future Work             M. J. Choi, A. Torralba, and A. S. Willsky.
Questions               A tree-based context model for object recognition.
References              IEEE Trans. Pattern Anal. Mach. Intell., 34:240–252,
                        Feb. 2012.
                        C. Cortes and V. Vapnik.
                        Support-vector networks.
                        Machine Learning, 20:273–297, 1995.
                        10.1007/BF00994018.
     22 / 25
SVMDetect
                    References
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur


Introduction
                        Y.-G. Gu´h´neuc, H. Sahraoui, and Farouk Zaidi.
                                 e e
Related Work
                        Fingerprinting design patterns.
Our Approach:           In E. Stroulia and A. de Lucia, editors, Proceedings of
SVMDetect
                        the 11th Working Conference on Reverse Engineering
Study Results
                        (WCRE). IEEE Computer Society Press, November
Discussions
                        2004.
Conclusion and
Future Work
                        M. Kessentini, S. Vaucher, and H. Sahraoui.
Questions
                        Deviance from perfection is a better criterion than
References
                        closeness to evil when identifying risky code.
                        In Proceedings of the IEEE/ACM international
                        conference on Automated software engineering, ASE
                        ’10, pages 113–122, New York, NY, USA, 2010. ACM.



     23 / 25
SVMDetect
                    References
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur       F. Khomh, M. D. Penta, and Y.-G. Gu´h´neuc.
                                                              e e
Introduction
                        An exploratory study of the impact of antipatterns on
Related Work
                        class change-and fault-proneness.
Our Approach:           Journal of Empirical Software Engineering (EMSE),
SVMDetect
                        2011.
Study Results

Discussions
                        S. Kim, E. J. W. Jr., and Y. Zhang.
Conclusion and
                        Classifying software changes: Clean or buggy?
Future Work
                        IEEE Trans. Software Eng., 34(2):181–196, 2008.
Questions

References              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, ASE
                        ’05, pages 214–223, New York, NY, USA, 2005. ACM.

     24 / 25
SVMDetect
                    References
  Maiga, Ali,
 Bhattacharya,
    Saban´,e
  Gu´h´neuc,
     e e
Antoniol, A¨ımeur       R. Marinescu.
Introduction
                        Detection strategies: Metrics-based rules for detecting
Related Work
                        design flaws.
Our Approach:
                        In In Proceedings of the IEEE 20th International
SVMDetect
                        Conference on Software Maintenance. IEEE Computer
Study Results
                        Society Press, 2004.
Discussions

Conclusion and          L. Setia, J. Ick, and H. Burkhardt.
Future Work
                        Svm-based relevance feedback in image retrieval using
Questions
                        invariant feature histograms.
References

                        Naouel Moha, Y.-G. Gu´h´neuc, L. Duchien, and
                                                e e
                        A.-F. L. Meur.
                        DECOR: A method for the specification and detection of
                        code and design smells.
                        Transactions on Software Engineering (TSE), 2009.

     25 / 25

Weitere ähnliche Inhalte

Ähnlich wie ASE12.ppt

FIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERS
FIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERSFIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERS
FIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERScsandit
 
IRJET - Survey on Malware Detection using Deep Learning Methods
IRJET -  	  Survey on Malware Detection using Deep Learning MethodsIRJET -  	  Survey on Malware Detection using Deep Learning Methods
IRJET - Survey on Malware Detection using Deep Learning MethodsIRJET Journal
 
IRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and ApplicationsIRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and ApplicationsIRJET Journal
 
Sentiment Analysis using Naïve Bayes, CNN, SVM
Sentiment Analysis using Naïve Bayes, CNN, SVMSentiment Analysis using Naïve Bayes, CNN, SVM
Sentiment Analysis using Naïve Bayes, CNN, SVMIRJET Journal
 
IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...
IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...
IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...IRJET Journal
 
Darius Silingas - From Model Driven Testing to Test Driven Modelling
Darius Silingas - From Model Driven Testing to Test Driven ModellingDarius Silingas - From Model Driven Testing to Test Driven Modelling
Darius Silingas - From Model Driven Testing to Test Driven ModellingTEST Huddle
 
IRJET- Intrusion Detection using IP Binding in Real Network
IRJET- Intrusion Detection using IP Binding in Real NetworkIRJET- Intrusion Detection using IP Binding in Real Network
IRJET- Intrusion Detection using IP Binding in Real NetworkIRJET Journal
 
MACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOXMACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOXmlaij
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptxanguraju1
 
Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...
Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...
Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...SBGC
 
Implementation of Spam Classifier using Naïve Bayes Algorithm
Implementation of Spam Classifier using Naïve Bayes AlgorithmImplementation of Spam Classifier using Naïve Bayes Algorithm
Implementation of Spam Classifier using Naïve Bayes AlgorithmIRJET Journal
 
Novel Class Detection Using RBF SVM Kernel from Feature Evolving Data Streams
Novel Class Detection Using RBF SVM Kernel from Feature Evolving Data StreamsNovel Class Detection Using RBF SVM Kernel from Feature Evolving Data Streams
Novel Class Detection Using RBF SVM Kernel from Feature Evolving Data Streamsirjes
 
SYNOPSIS on Parse representation and Linear SVM.
SYNOPSIS on Parse representation and Linear SVM.SYNOPSIS on Parse representation and Linear SVM.
SYNOPSIS on Parse representation and Linear SVM.bhavinecindus
 
IRJET - Cognitive based Emotion Analysis of a Child Reading a Book
IRJET -  	  Cognitive based Emotion Analysis of a Child Reading a BookIRJET -  	  Cognitive based Emotion Analysis of a Child Reading a Book
IRJET - Cognitive based Emotion Analysis of a Child Reading a BookIRJET Journal
 
report.doc
report.docreport.doc
report.docbutest
 

Ähnlich wie ASE12.ppt (20)

Ase12.ppt
Ase12.pptAse12.ppt
Ase12.ppt
 
Wcre12a.ppt
Wcre12a.pptWcre12a.ppt
Wcre12a.ppt
 
FIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERS
FIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERSFIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERS
FIDUCIAL POINTS DETECTION USING SVM LINEAR CLASSIFIERS
 
IRJET - Survey on Malware Detection using Deep Learning Methods
IRJET -  	  Survey on Malware Detection using Deep Learning MethodsIRJET -  	  Survey on Malware Detection using Deep Learning Methods
IRJET - Survey on Malware Detection using Deep Learning Methods
 
IRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and ApplicationsIRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
 
Wcre12a.ppt
Wcre12a.pptWcre12a.ppt
Wcre12a.ppt
 
Sentiment Analysis using Naïve Bayes, CNN, SVM
Sentiment Analysis using Naïve Bayes, CNN, SVMSentiment Analysis using Naïve Bayes, CNN, SVM
Sentiment Analysis using Naïve Bayes, CNN, SVM
 
IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...
IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...
IRJET - Support Vector Machine versus Naive Bayes Classifier:A Juxtaposition ...
 
Darius Silingas - From Model Driven Testing to Test Driven Modelling
Darius Silingas - From Model Driven Testing to Test Driven ModellingDarius Silingas - From Model Driven Testing to Test Driven Modelling
Darius Silingas - From Model Driven Testing to Test Driven Modelling
 
IRJET- Intrusion Detection using IP Binding in Real Network
IRJET- Intrusion Detection using IP Binding in Real NetworkIRJET- Intrusion Detection using IP Binding in Real Network
IRJET- Intrusion Detection using IP Binding in Real Network
 
MACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOXMACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOX
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
 
Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...
Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...
Dotnet datamining ieee projects 2012 @ Seabirds ( Chennai, Pondicherry, Vello...
 
Implementation of Spam Classifier using Naïve Bayes Algorithm
Implementation of Spam Classifier using Naïve Bayes AlgorithmImplementation of Spam Classifier using Naïve Bayes Algorithm
Implementation of Spam Classifier using Naïve Bayes Algorithm
 
Paper-1 PPT.pptx
Paper-1 PPT.pptxPaper-1 PPT.pptx
Paper-1 PPT.pptx
 
Novel Class Detection Using RBF SVM Kernel from Feature Evolving Data Streams
Novel Class Detection Using RBF SVM Kernel from Feature Evolving Data StreamsNovel Class Detection Using RBF SVM Kernel from Feature Evolving Data Streams
Novel Class Detection Using RBF SVM Kernel from Feature Evolving Data Streams
 
SYNOPSIS on Parse representation and Linear SVM.
SYNOPSIS on Parse representation and Linear SVM.SYNOPSIS on Parse representation and Linear SVM.
SYNOPSIS on Parse representation and Linear SVM.
 
NAIVE BAYES ALGORITHM
NAIVE BAYES ALGORITHMNAIVE BAYES ALGORITHM
NAIVE BAYES ALGORITHM
 
IRJET - Cognitive based Emotion Analysis of a Child Reading a Book
IRJET -  	  Cognitive based Emotion Analysis of a Child Reading a BookIRJET -  	  Cognitive based Emotion Analysis of a Child Reading a Book
IRJET - Cognitive based Emotion Analysis of a Child Reading a Book
 
report.doc
report.docreport.doc
report.doc
 

Mehr von Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

Mehr von Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Kürzlich hochgeladen

IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 

Kürzlich hochgeladen (20)

IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 

ASE12.ppt

  • 1. SVMDetect Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Support Vector Machines for Anti-pattern Introduction Detection Related Work Our Approach: SVMDetect Abdou Maiga, Nasir Ali, Neelesh Bhattacharya, Aminata Study Results Saban´, Yann-Ga¨l Gu´h´neuc, Giuliano Antoniol, Esma e e e e Discussions A¨ ımeur Conclusion and Future Work ´ DGIGL et DIRO, Ecole Polytechnique et Universit´ de Montr´al, Qu´bec, e e e Questions Canada References E-mails: {abdou.maiga, nasir.ali, n.bhattacharya, a.sabane, giuliano.antoniol}@polymtl.ca, {guehene, aimeur}@iro.umontreal.ca ASE 2012 September 6, 2012 Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. SVMDetect Outline Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Introduction Related Work Related Work Our Approach: SVMDetect Study Results Our Approach: SVMDetect Discussions Conclusion and Study Results Future Work Questions References Discussions Conclusion and Future Work Questions 2 / 25
  • 3. SVMDetect Introduction Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Related Work Our Approach: Motivation SVMDetect Anti-patterns: “poor” solutions to recurring design and Study Results implementation problems. Discussions Conclusion and Impact program comprehension, software evolution and Future Work maintenance activities [8]. Questions Important to detect them early in software References development process, to reduce the maintenance costs 3 / 25
  • 4. SVMDetect Introduction Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Limitations Introduction Current anti-pattern detection approaches have several Related Work limitations: Our Approach: SVMDetect they require extensive knowledge of anti-patterns Study Results they have limited precision and recall Discussions they cannot be applied on subsets of systems. Conclusion and Future Work We propose Questions Apply SVM on subsets because it considers system References classes one at a time, not collectively as previous rule-based approaches do. To the best of our knowledge, researchers have not yet studied the potential benefits of using SVM to detect anti-patterns. 4 / 25
  • 5. SVMDetect Introduction Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Contributions Related Work SVMDetect to detect anti-patterns using SVM Our Approach: SVMDetect Use of precision and recall to compare SVMDetect to Study Results DETEX [13], the best state-of-the-art approach, on 3 Discussions programs and 4 anti-patterns. Conclusion and The accuracy of SVMDetect is greater than of Future Work Questions DETEX on subsets. References For whole system, SVMDetect find more anti-patterns occurrences than DETEX. We thus conclude that: a SVM-based approach can overcome the limitations of previous approaches. 5 / 25
  • 6. SVMDetect Related Work Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Smell/Anti-pattern Detection Antoniol, A¨ımeur Many researchers studied anti-patterns detection. Introduction Alikacem et al. [1] used meta-model for representing Related Work Our Approach: the source code and fuzzy thresholds. SVMDetect Langelier et al. [10] used a visual approach. Study Results Discussions Marinescu [11] used quantifiable expression of rules. Conclusion and Sahraoui et al. [7] used search-based techniques. Future Work Questions Moha et al. [13] proposed an approach based on a set References of rules that describes each anti-pattern. 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 sufficient knowledge of anti-patterns. 6 / 25
  • 7. SVMDetect Related Work Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur SVM Applications Introduction SVM in several domains for various applications, e.g., Related Work bioinformatics [2], object recognition [4]. Our Approach: SVMDetect SVM is a recent alternative to the classification Study Results problems. Discussions Guihong et al. [3] used SVM, for terms classification. Conclusion and Future Work SVM used in image retrieval systems by Sethia et al. Questions [12] References Kim et al. [9] proposed the change classification approach for predicting latent software bugs based on SVM. To the best of our knowledge, no previous approach used SVM for anti-pattern Detection. 7 / 25
  • 8. SVMDetect Our Approach: SVMDetect Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e SVMDetect Antoniol, A¨ımeur SVMDetect is based on Support Vector Machines (SVM) Introduction using a polynomial kernel to detect occurrences of Related Work anti-patterns. Our Approach: SVMDetect We use SVMDetect to detect the well-known anti-patterns: Study Results Blob, Functional Decomposition, Spaghetti code, and Swiss Discussions Army Knife. For each anti-pattern detection, the detection Conclusion and process is identical. Future Work We illustrate the detection process with the Blob Questions References anti-pattern for the sake of clarity. We define: TDS = {Ci , i = 1, . . . , p}, a set of classes Ci derived from an object-oriented system that constitutes the training dataset; ∀i, Ci is labelled as Blob (B) or not (N); DDS is the set of the classes of a system in which we want to detect the Blob classes. 8 / 25
  • 9. SVMDetect Our Approach: SVMDetect Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur SVMDetect - Steps Introduction To detect the Blob classes in the set DDS, we apply Related Work SVMDetect through the following steps: Our Approach: SVMDetect Step 1 (Object Oriented Metric Specification) Study Results SVMDetect takes as input the training dataset TDS Discussions with object-oriented metrics for classes. Conclusion and Step 2 (Train the SVM Classifier) Train SVMDetect Future Work with TDS defined in Step 1. Questions References Step 3 (Construction of the dataset DDS and detection of the occurrences of an anti-pattern) Build detection dataset DDS and apply SVMDetect trained in step 2 to DDS. We use Weka to implement SVMDetect using its SVM classifier. 9 / 25
  • 10. SVMDetect Empirical Study Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Related Work Empirical Study Our Approach: goal: validate that SVMDetect can overcome previous SVMDetect approaches’ limitations Study Results Discussions quality focus: accuracy of SVMDetect, in terms of Conclusion and precision and recall. Future Work Questions perspective: researchers and practitioners interested in References verifying if SVMDetect can be effective in detecting various kinds of anti-patterns, and in overcoming the previous limitations. 10 / 25
  • 11. SVMDetect Empirical Study Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Related Work Research Questions Our Approach: RQ1: How does the accuracy of SVMDetect compare SVMDetect with that of DETEX, in terms of precision and recall? Study Results We decompose RQ1 as follows: Discussions Conclusion and RQ11 : How does the accuracy of SVMDetect compare Future Work with that of DETEX, in terms of precision and recall, Questions when applied on a same subset of a system? References RQ12 : How many occurrences of Blob SVMDetect can detect when comparing with that of DETEX on a same entire system? 11 / 25
  • 12. SVMDetect Empirical Study Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Related Work Objects Our Approach: Names Versions # Lines of Code # Classes # Interfaces SVMDetect ArgoUML 0.19.8 113,017 1,230 67 Study Results A design tool for UML Discussions Azureus 2.3.0.6 191,963 1,449 546 Conclusion and A peer-to-peer client that implements the protocol BitTorrent Future Work Xerces 2.7.0 71,217 513 162 Questions A syntaxic analyser References Table : Description of the objects of the study 12 / 25
  • 13. SVMDetect Empirical Study Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Subjects Related Work Our Approach: The subjects of our study are the following four SVMDetect anti-patterns: Study Results Discussions Blob Conclusion and Functional Decomposition (FD) Future Work Questions Spaghetti Code (SC) References Swiss Army Knife (SAK) These four anti-patterns because known anti-patterns, commonly studied in previous work for comparison. 13 / 25
  • 14. SVMDetect Study Results Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Subsets of System: RQ11 Related Work Our Approach: Table : Precision of SVMDetect vs. DETEX in subsets (%) SVMDetect Study Results ArgoUML Azureus Xerces DETEX 0.00 0.00 0.00 Discussions Blob SVMDetect 97.09 97.32 95.51 Conclusion and DETEX 0.00 0.00 0.00 Future Work FD SVMDetect 70.68 72.01 66.93 Questions DETEX 0.00 0.00 0.00 SC References SVMDetect 85.00 88.00 86.00 DETEX 10.00 10.00 0.00 SAK SVMDetect 75.46 84.54 80.76 14 / 25
  • 15. SVMDetect Study Results Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Subsets of System: RQ11 Related Work Our Approach: Table : Recall of SVMDetect vs. DETEX in subsets (%) SVMDetect Study Results ArgoUML Azureus Xerces DETEX 0.00 0.00 0.00 Discussions Blob SVMDetect 84.09 91.33 95.29 Conclusion and DETEX 0.00 0.00 0.00 Future Work FD SVMDetect 57.50 84.28 70.00 Questions DETEX 0.00 0.00 0.00 SC References SVMDetect 71.00 89.00 86.00 DETEX 0.00 0.00 0.00 SAK SVMDetect 77.14 85.71 75.50 15 / 25
  • 16. SVMDetect Study Results Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Complete System: RQ12 Antoniol, A¨ımeur Introduction Table : Total recovered occurrences of BLOB by DETEX and SVMDetect Related Work Our Approach: DETEX SVMDetect SVMDetect ArgoUML 25 40 Study Results Discussions Azureus 38 48 Conclusion and Xerces 39 55 Future Work Total 102 143 Questions References We answer RQ1: “How does the accuracy of SVMDetect compare with that of DETEX, in terms of precision and recall?” as follows: on subsets of systems, SVMDetect dramatically outperforms DETEX. on entire systems, SVMDetect detects more 16 / 25 occurrences of Blob than DETEX.
  • 17. SVMDetect Discussions Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Threats to Validity Introduction Threats to the validity of our results. Related Work Construct validity (Measurement errors, subjectivity): Our Approach: SVMDetect occurrences of anti-patterns manually validated. Study Results Internal Validity (dependence of the obtained results Discussions on chosen anti-patterns and systems.): used four Conclusion and Future Work well-known and representative anti-patterns. used in Questions previous works. used 3 open-source systems with References different sizes, used in previous works. Reliability Validity (possibility of replication): used 3 open-source systems available on-line. External Validity (Generalisability): 3 systems with different sizes and different domains. Representative subset of anti-patterns. 17 / 25
  • 18. SVMDetect Conclusion and Future Work Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Conclusion Introduction introduced a novel approach to detect anti-patterns, Related Work SVMDetect, based on SVM. Our Approach: SVMDetect performs on 3 systems (ArgoUML v0.19.8, SVMDetect Azureus v2.3.0.6, and Xerces v2.7.0) and 4 Study Results Discussions anti-patterns (Blob, Functional Decomposition, Conclusion and Spaghetti Code, and Swiss Army Knife) Future Work the accuracy of SVMDetect is greater than that of Questions DETEX on a subset of classes. References on whole system, SVMDetect is able to find more anti-patterns occurrences than DETEX SVM-based approach can overcome the limitations of the previous approaches and could be more readily adopted by practitioners. 18 / 25
  • 19. SVMDetect Conclusion and Future Work Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Related Work Future Work Our Approach: Future work includes: SVMDetect Study Results use SVMDetect in real-world environments. Discussions reproduce the study with other systems and Conclusion and anti-patterns to increase our confidence in the Future Work generalisability of our conclusions. Questions References take into account the user feedback. evaluate the impact of the quality of training dataset and feedback set on SVMDetect results. 19 / 25
  • 20. SVMDetect Any Question? Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Related Work Our Approach: SVMDetect Study Results Discussions Conclusion and Future Work Questions References 20 / 25
  • 21. SVMDetect References Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction E. H. Alikacem and H. A. Sahraoui. Related Work D´tection d’anomalies utilisant un langage de r`gle de e e Our Approach: qualit´. e SVMDetect In LMO. Hermes Science Publications, 2006. Study Results Discussions J. Bedo, C. Sanderson, and A. Kowalczyk. Conclusion and An efficient alternative to svm based recursive feature Future Work elimination with applications in natural language Questions processing and bioinformatics. References In A. Sattar and B.-h. Kang, editors, AI 2006: Advances in Artificial Intelligence, volume 4304 of Lecture Notes in Computer Science, pages 170–180. Springer Berlin Heidelberg, 2006. 21 / 25
  • 22. SVMDetect References Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur G. Cao, J.-Y. Nie, J. Gao, and S. Robertson. Selecting good expansion terms for pseudo-relevance Introduction feedback. Related Work In Proceedings of the 31st Annual International ACM Our Approach: SVMDetect SIGIR Conference on Research and Development in Study Results Information Retrieval, SIGIR 2008, Singapore, July Discussions 20-24, 2008, pages 243–250. ACM, 2008. Conclusion and Future Work M. J. Choi, A. Torralba, and A. S. Willsky. Questions A tree-based context model for object recognition. References IEEE Trans. Pattern Anal. Mach. Intell., 34:240–252, Feb. 2012. C. Cortes and V. Vapnik. Support-vector networks. Machine Learning, 20:273–297, 1995. 10.1007/BF00994018. 22 / 25
  • 23. SVMDetect References Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur Introduction Y.-G. Gu´h´neuc, H. Sahraoui, and Farouk Zaidi. e e Related Work Fingerprinting design patterns. Our Approach: In E. Stroulia and A. de Lucia, editors, Proceedings of SVMDetect the 11th Working Conference on Reverse Engineering Study Results (WCRE). IEEE Computer Society Press, November Discussions 2004. Conclusion and Future Work M. Kessentini, S. Vaucher, and H. Sahraoui. Questions Deviance from perfection is a better criterion than References closeness to evil when identifying risky code. In Proceedings of the IEEE/ACM international conference on Automated software engineering, ASE ’10, pages 113–122, New York, NY, USA, 2010. ACM. 23 / 25
  • 24. SVMDetect References Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur F. Khomh, M. D. Penta, and Y.-G. Gu´h´neuc. e e Introduction An exploratory study of the impact of antipatterns on Related Work class change-and fault-proneness. Our Approach: Journal of Empirical Software Engineering (EMSE), SVMDetect 2011. Study Results Discussions S. Kim, E. J. W. Jr., and Y. Zhang. Conclusion and Classifying software changes: Clean or buggy? Future Work IEEE Trans. Software Eng., 34(2):181–196, 2008. Questions References 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, ASE ’05, pages 214–223, New York, NY, USA, 2005. ACM. 24 / 25
  • 25. SVMDetect References Maiga, Ali, Bhattacharya, Saban´,e Gu´h´neuc, e e Antoniol, A¨ımeur R. Marinescu. Introduction Detection strategies: Metrics-based rules for detecting Related Work design flaws. Our Approach: In In Proceedings of the IEEE 20th International SVMDetect Conference on Software Maintenance. IEEE Computer Study Results Society Press, 2004. Discussions Conclusion and L. Setia, J. Ick, and H. Burkhardt. Future Work Svm-based relevance feedback in image retrieval using Questions invariant feature histograms. References Naouel Moha, Y.-G. Gu´h´neuc, L. Duchien, and e e A.-F. L. Meur. DECOR: A method for the specification and detection of code and design smells. Transactions on Software Engineering (TSE), 2009. 25 / 25