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

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley 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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
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
 
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
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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...
 
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?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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
 
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
 

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?