SlideShare a Scribd company logo
1 of 13
Download to read offline
Numerical Signatures of
      Antipatterns
An Approach based on B-Splines
Rocco Oliveto*, Foutse Khomh+, Giuliano Antoniol+, and Yann-Gaël
                          Guéhéneuc+
                         * University of Salerno, Italy, roliveto@unisa.it
         + Ecole Polytechnique de Montréal, QC, Canada, foutsekh@iro.umontreal.ca,
                     {giuliano.antoniol, yann-gael.gueheneuc}@polymtl.ca

                                       Presented by
                                Fatemeh Asadi
                   Ecole Polytechnique de Montréal, QC, Canada
Outline
•   Context and motivations

    •   Antipattern identification

•   Limitations of previously approaches

•   A novel approach based on numerical analysis

•   Lessons learned from a preliminary evaluation

•   Conclusion and future work
Context and Motivations
•   Antipatterns: poor solutions to recurring design problems

    •   Introduced by developers when designing and implementing classes

    •   Negatively impact the quality of a system

•   Antipattern identification is a crucial activity in software
    maintenance

    •   Important for researchers as well as for practitioners

•   Various approaches have been proposed

    •   Exploit quality metrics

    •   DECOR and Bayesian Beliefs Networks (BBNs)
Limitations of Previous Approaches
•   DECOR: identification based on fixed threshold

    •   Yes, it is an antipattern - No, it is not an antipattern

    •   Inaccurate information for borderline classes

    •   Submarine effect: several classes may be very close to be identified
        as antipatterns but remain under the threshold during their evolution

•   BBN: probabilities of classes to be antipatterns

    •   Expensive (time and knowledge) tuning by experts for accuracy

    •   Incomplete experts’ knowledge cause false positives

    •   Models not generalisable to other contexts
The Proposed Approach
•   ABS (Antipattern identification using B-Splines)

    •   ABS builds signatures of classes based on quality metrics

    •   A class is modelled using specific interpolation curves (i.e., B-
        splines) of plots mapping metrics and their values for the class
ABS: Identification of Antipatterns
•   Given a set of classes identified as antipatterns A and a
    set of classes classified as good classes G, the godliness
    of a class ci is based on (i) the similarity between the
    curves representing the antipatterns and ci; and (ii) the
    distance between the curves representing the good
    classes and ci
                                         Xp
             godli ness(ci ; A; G)   =          wA i ; j ¢si mi l ar i ty(ci ; aj ) ¡
                                         j=1
                                         Xq
                                                wG i ; k ¢si mi lar i ty(ci ; gk )
                                         k= 1


•   The higher the similarity with the antipatterns (the lower
    the distance with the good classes) the higher is the
    likelihood that the class is an antipattern too
ABS: Distance Computation
•   ABS abstracts the signature (i.e., curve) of the antipatterns
    and good classes

    •   The obtained signature is used to derive the likelihood that a given
        class is an antipattern too

    •   The likelihood is based on distance between the curves
        representing the antipatterns (or good classes) and the class,
        respectively

                                                 The lower the
                                             distance, the higher
                                            the similarity-in terms
                                             of quality measures-
                                           between the compared
                                                   classes!
Why ABS?
•   ABS vs. DECOR

    •   ABS returns the probability of classes to be an antipattern (not true/false)

    •   ABS does not suffer of the submarine effect

•   ABS vs. BBN

    •   ABS requires a training corpus as well as BBS

    •   ABS does not need experts’ knowledge to define a learning structure

    •   ABS reduces the bias introduced in BBNs by the experts’ subjectivity when
        structuring the BBNs of the antipatterns

    •   ABS is portable: a model build in a context can be used in other contexts
SIGN-O-METER
                   The similarity between the class
                     under development and an
                   antipattern using the godliness
                       metric scaled in [0, 100]




A plot of three B-spline curves representing, respectively, the
 current signature of the class, the signature of the previous
version of the class, and the signature of an ideal antipattern,
defined as the average signature of the previously classified
                          antipatterns
Preliminary Evaluation: Design
•   ABS was used to identify the Blob antipattern

    •   Accuracy of ABS was compared with DECOR and BBN

    •   Case study conducted on two medium size open-source Java systems

•   Two experimental scenarios

    •   Intra-system identification: where historical data (i.e., correctly identified
        Blobs) are available for a given system and this data are used to identify other
        Blobs in the same system

    •   Extra-system identification: where a quality analyst has access to the historical
        data from one system and uses it to identify Blobs in another system

•   Accuracy evaluated through recall and precision
Preliminary Evaluation: Results
•   ABS generally outperforms BBN and DECOR in precision
    and recall

    •   In few explainable cases, ABS has lower precision or recall than
        previous approaches, when the training set to build the signature is
        too small

•   ABS is more portable than BBN and DECOR

•   ABS is more attractive in practice thanks to its speed and
    ease to generate and interpret the signatures.
Conclusion and Future Work
•   A novel approach (ABS) is proposed to identify
    occurrences of antipatterns

    •   The approach uses B-splines to abstract the signature of classes

    •   The extracted signature is used to compare a class with classes
        previously classified as blobs or good classes

•   ABS outperforms both BBN and DECOR

•   Future work

    •   Replicating the evaluation of ABS on other antipatterns

    •   Analysing whether the use of “Sign-o-meter” during software
        development impacts the quality of the produced classes
THANK YOU!



QUESTIONS
  and–or
COMMENTS?

More Related Content

Similar to CSMR10d.ppt

[UMAP2013] Recommendation with Differential Context Weighting
[UMAP2013] Recommendation with Differential Context Weighting[UMAP2013] Recommendation with Differential Context Weighting
[UMAP2013] Recommendation with Differential Context WeightingYONG ZHENG
 
Survey of Recommendation Systems
Survey of Recommendation SystemsSurvey of Recommendation Systems
Survey of Recommendation Systemsyoualab
 
A new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid dataA new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid dataMark Heckmann
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingLionel Briand
 
A Visual Exploration of Distance, Documents, and Distributions
A Visual Exploration of Distance, Documents, and DistributionsA Visual Exploration of Distance, Documents, and Distributions
A Visual Exploration of Distance, Documents, and DistributionsRebecca Bilbro
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroPyData
 
Lecture 7&8 computer vision face_recognition
Lecture 7&8 computer vision face_recognitionLecture 7&8 computer vision face_recognition
Lecture 7&8 computer vision face_recognitioncairo university
 
How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?Tuan Yang
 
Data mining techniques unit iv
Data mining techniques unit ivData mining techniques unit iv
Data mining techniques unit ivmalathieswaran29
 
k-Nearest Neighbors with brief explanation.pptx
k-Nearest Neighbors with brief explanation.pptxk-Nearest Neighbors with brief explanation.pptx
k-Nearest Neighbors with brief explanation.pptxgamingzonedead880
 
Learning loss for active learning
Learning loss for active learningLearning loss for active learning
Learning loss for active learningNAVER Engineering
 
about data mining and Exp about data mining and Exp.
about data mining and Exp about data mining and Exp.about data mining and Exp about data mining and Exp.
about data mining and Exp about data mining and Exp.MohammadMoreb
 
Overview of recommender system
Overview of recommender systemOverview of recommender system
Overview of recommender systemStanley Wang
 
Machine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersMachine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersAlbert Y. C. Chen
 
Kaggle Gold Medal Case Study
Kaggle Gold Medal Case StudyKaggle Gold Medal Case Study
Kaggle Gold Medal Case StudyAlon Bochman, CFA
 
Measurement and scaling
Measurement and scalingMeasurement and scaling
Measurement and scalingAli Syed
 
Image classification, remote sensing, P K MANI
Image classification, remote sensing, P K MANIImage classification, remote sensing, P K MANI
Image classification, remote sensing, P K MANIP.K. Mani
 

Similar to CSMR10d.ppt (20)

[UMAP2013] Recommendation with Differential Context Weighting
[UMAP2013] Recommendation with Differential Context Weighting[UMAP2013] Recommendation with Differential Context Weighting
[UMAP2013] Recommendation with Differential Context Weighting
 
Survey of Recommendation Systems
Survey of Recommendation SystemsSurvey of Recommendation Systems
Survey of Recommendation Systems
 
A new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid dataA new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid data
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software Testing
 
A Visual Exploration of Distance, Documents, and Distributions
A Visual Exploration of Distance, Documents, and DistributionsA Visual Exploration of Distance, Documents, and Distributions
A Visual Exploration of Distance, Documents, and Distributions
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca Bilbro
 
Lecture 7&8 computer vision face_recognition
Lecture 7&8 computer vision face_recognitionLecture 7&8 computer vision face_recognition
Lecture 7&8 computer vision face_recognition
 
How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?
 
Data mining techniques unit iv
Data mining techniques unit ivData mining techniques unit iv
Data mining techniques unit iv
 
k-Nearest Neighbors with brief explanation.pptx
k-Nearest Neighbors with brief explanation.pptxk-Nearest Neighbors with brief explanation.pptx
k-Nearest Neighbors with brief explanation.pptx
 
16 17 bag_words
16 17 bag_words16 17 bag_words
16 17 bag_words
 
Declarative data analysis
Declarative data analysisDeclarative data analysis
Declarative data analysis
 
Learning loss for active learning
Learning loss for active learningLearning loss for active learning
Learning loss for active learning
 
about data mining and Exp about data mining and Exp.
about data mining and Exp about data mining and Exp.about data mining and Exp about data mining and Exp.
about data mining and Exp about data mining and Exp.
 
Overview of recommender system
Overview of recommender systemOverview of recommender system
Overview of recommender system
 
Machine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersMachine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional Managers
 
Kaggle Gold Medal Case Study
Kaggle Gold Medal Case StudyKaggle Gold Medal Case Study
Kaggle Gold Medal Case Study
 
Renikko
RenikkoRenikko
Renikko
 
Measurement and scaling
Measurement and scalingMeasurement and scaling
Measurement and scaling
 
Image classification, remote sensing, P K MANI
Image classification, remote sensing, P K MANIImage classification, remote sensing, P K MANI
Image classification, remote sensing, P K MANI
 

More from 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
 

More from 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
 

Recently uploaded

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

CSMR10d.ppt

  • 1. Numerical Signatures of Antipatterns An Approach based on B-Splines Rocco Oliveto*, Foutse Khomh+, Giuliano Antoniol+, and Yann-Gaël Guéhéneuc+ * University of Salerno, Italy, roliveto@unisa.it + Ecole Polytechnique de Montréal, QC, Canada, foutsekh@iro.umontreal.ca, {giuliano.antoniol, yann-gael.gueheneuc}@polymtl.ca Presented by Fatemeh Asadi Ecole Polytechnique de Montréal, QC, Canada
  • 2. Outline • Context and motivations • Antipattern identification • Limitations of previously approaches • A novel approach based on numerical analysis • Lessons learned from a preliminary evaluation • Conclusion and future work
  • 3. Context and Motivations • Antipatterns: poor solutions to recurring design problems • Introduced by developers when designing and implementing classes • Negatively impact the quality of a system • Antipattern identification is a crucial activity in software maintenance • Important for researchers as well as for practitioners • Various approaches have been proposed • Exploit quality metrics • DECOR and Bayesian Beliefs Networks (BBNs)
  • 4. Limitations of Previous Approaches • DECOR: identification based on fixed threshold • Yes, it is an antipattern - No, it is not an antipattern • Inaccurate information for borderline classes • Submarine effect: several classes may be very close to be identified as antipatterns but remain under the threshold during their evolution • BBN: probabilities of classes to be antipatterns • Expensive (time and knowledge) tuning by experts for accuracy • Incomplete experts’ knowledge cause false positives • Models not generalisable to other contexts
  • 5. The Proposed Approach • ABS (Antipattern identification using B-Splines) • ABS builds signatures of classes based on quality metrics • A class is modelled using specific interpolation curves (i.e., B- splines) of plots mapping metrics and their values for the class
  • 6. ABS: Identification of Antipatterns • Given a set of classes identified as antipatterns A and a set of classes classified as good classes G, the godliness of a class ci is based on (i) the similarity between the curves representing the antipatterns and ci; and (ii) the distance between the curves representing the good classes and ci Xp godli ness(ci ; A; G) = wA i ; j ¢si mi l ar i ty(ci ; aj ) ¡ j=1 Xq wG i ; k ¢si mi lar i ty(ci ; gk ) k= 1 • The higher the similarity with the antipatterns (the lower the distance with the good classes) the higher is the likelihood that the class is an antipattern too
  • 7. ABS: Distance Computation • ABS abstracts the signature (i.e., curve) of the antipatterns and good classes • The obtained signature is used to derive the likelihood that a given class is an antipattern too • The likelihood is based on distance between the curves representing the antipatterns (or good classes) and the class, respectively The lower the distance, the higher the similarity-in terms of quality measures- between the compared classes!
  • 8. Why ABS? • ABS vs. DECOR • ABS returns the probability of classes to be an antipattern (not true/false) • ABS does not suffer of the submarine effect • ABS vs. BBN • ABS requires a training corpus as well as BBS • ABS does not need experts’ knowledge to define a learning structure • ABS reduces the bias introduced in BBNs by the experts’ subjectivity when structuring the BBNs of the antipatterns • ABS is portable: a model build in a context can be used in other contexts
  • 9. SIGN-O-METER The similarity between the class under development and an antipattern using the godliness metric scaled in [0, 100] A plot of three B-spline curves representing, respectively, the current signature of the class, the signature of the previous version of the class, and the signature of an ideal antipattern, defined as the average signature of the previously classified antipatterns
  • 10. Preliminary Evaluation: Design • ABS was used to identify the Blob antipattern • Accuracy of ABS was compared with DECOR and BBN • Case study conducted on two medium size open-source Java systems • Two experimental scenarios • Intra-system identification: where historical data (i.e., correctly identified Blobs) are available for a given system and this data are used to identify other Blobs in the same system • Extra-system identification: where a quality analyst has access to the historical data from one system and uses it to identify Blobs in another system • Accuracy evaluated through recall and precision
  • 11. Preliminary Evaluation: Results • ABS generally outperforms BBN and DECOR in precision and recall • In few explainable cases, ABS has lower precision or recall than previous approaches, when the training set to build the signature is too small • ABS is more portable than BBN and DECOR • ABS is more attractive in practice thanks to its speed and ease to generate and interpret the signatures.
  • 12. Conclusion and Future Work • A novel approach (ABS) is proposed to identify occurrences of antipatterns • The approach uses B-splines to abstract the signature of classes • The extracted signature is used to compare a class with classes previously classified as blobs or good classes • ABS outperforms both BBN and DECOR • Future work • Replicating the evaluation of ABS on other antipatterns • Analysing whether the use of “Sign-o-meter” during software development impacts the quality of the produced classes
  • 13. THANK YOU! QUESTIONS and–or COMMENTS?