SlideShare a Scribd company logo
1 of 22
Download to read offline
IMPACT OF ANTIPATTERNS
ON SOFTWARES QUALITY
HOW ANTIPATTERNS ARE
INTODUCED IN THE CODE AND
WHAT LINKS THEY HAVE WITH THE
EVOLUTION OF THE CLASSES?
Supervisor Professor: Foutse KHOMH
Date: 31 May 2013

By Francis NAHM
SUMMARY
Context of the study
II. Tools Used
III. First Results
IV. Remaining Work
I.
Context of the study
 The study of antipatterns and their impact is not a

new concern for researchers.
 However, many studies thus far did not link the

evolution of classes to antipatterns
 The goal of this study is to establish existing links

between antipatterns and evolution of classes.
Context of the study
 2 importants steps:
 First step: How and When Antipatterns are introduced in
the code
 Second step: Links between these antipatterns and the
classes evolution
Tools Used
 SAD Tool:
 Used to detects design patterns and anti patterns in classes


Example of programs aanalyzed : ArgoUML, Netbeans, Eclipse
(In progress)



Very very long to detect Design Pattern; creation of the model
is extremely expensive in time and resource



Results are stored in a database in two tables:
SAD Tool
 Table for antipatterns detection
SAD Tool
 Table for design patterns detection
SAD Tool
 The two previous table are joined with table

containing all the classes of the program to obtain
this final table:
SAD Tool
 This table contains all the information to generate

three other useful tables:


A table containing characteristics of each class for each version
SAD Tool

o

With this table, we can create a table containing for each class
changement from one version to another
SAD Tool
 This table allows us to organize classes in 4 groups: stable

classes, stabilized classes; deteriorated classes and improved
classes
SAD Tool
 With this 3 tables, we can compute stats on

programs: Average time for a default add/remove,
Percent of classes added/removed at each version ….
SAD Tool
Tools Used
 Evolizer
 Used to extract changes between two subsequent files


Changes are stored in a database.



Used with a SVN repository, it gives all the evolution of the
classes from one specified revision to another one



Still not able to use it on my computer 
Evolizer and SAD
 By crossing data from SAD and Evolizer, we will be

able to detect which kind of changement in the class
is more likely to introduce a specific default
(antipattern or bugs) in the future
 The main idea is to determine for the developers

what are the way of coding which are risked.
RESULTS
ArgoUML results
 Some general stats by version:
Percents of classes with APs

Percent of added classes

Percent of classes removed

70

35

30

60

30

25

50

25

20

40

20

15

30

15

20

10

10

5

0

0
30/12/1899
30/12/1899
30/12/1899
0.30.2
30/12/1899
0.10.1
0.18.1
30/12/1899
30/12/1899
0.32.1

10
5
0
30/12/1899
30/12/1899
30/12/1899
0.30.2
30/12/1899
0.10.1
0.18.1
30/12/1899
30/12/1899
0.32.1

30/12/1899
30/12/1899
30/12/1899
0.30.2
30/12/1899
0.10.1
0.18.1
30/12/1899
30/12/1899
0.32.1

Percent of APs removed

Percent of APs added
60

30

50

25
20

40

15

30

10

20

5

10

0

0
30/12/1899
30/12/1899
30/12/1899
0.30.2
30/12/1899
0.10.1
0.18.1
30/12/1899
30/12/1899
0.32.1

30/12/1899
30/12/1899
30/12/1899
0.30.2
30/12/1899
0.10.1
0.18.1
30/12/1899
30/12/1899
0.32.1
ArgoUML Results
ArgoUML results
 Repartition of groups






Deteriorated classes percent: 18.11
Improved classes percent: 13.28
Stable classes percent: 61.12
Stabilized classes percent: 7.47
First Results
 Only two programs has been analyzed by SAD tool

until now: ArgoUML and Netbeans

 According to the results, it seems like there’s no

particular links between introduction of antipatterns
and designpatterns evolution
Remaining work
 Find a way to operate Evolizer and cross data with

SAD results.
 Check the SVN logs to get usefuls information like
the modifiers, or the bugs and cross this data with
SAD results.
 Re-Organize the actual way it’s coded..
THANK YOU FOR YOUR ATTENTION

More Related Content

Viewers also liked

Best SAP HANA Online Training
Best SAP HANA Online TrainingBest SAP HANA Online Training
Best SAP HANA Online TrainingSamatha Kamuni
 
Privacy preserving back up and recovery of emergency data
Privacy preserving back up and recovery of emergency dataPrivacy preserving back up and recovery of emergency data
Privacy preserving back up and recovery of emergency dataZdravko Danailov
 
Solution For Doctors
Solution For DoctorsSolution For Doctors
Solution For DoctorsCloudAgency
 
AgileTour-2010, Noida : What it means to be "An Agile Developer"?
AgileTour-2010, Noida : What it means to be "An Agile Developer"?AgileTour-2010, Noida : What it means to be "An Agile Developer"?
AgileTour-2010, Noida : What it means to be "An Agile Developer"?Ganesh Gembali
 

Viewers also liked (6)

Best SAP HANA Online Training
Best SAP HANA Online TrainingBest SAP HANA Online Training
Best SAP HANA Online Training
 
Cheasgn
CheasgnCheasgn
Cheasgn
 
Privacy preserving back up and recovery of emergency data
Privacy preserving back up and recovery of emergency dataPrivacy preserving back up and recovery of emergency data
Privacy preserving back up and recovery of emergency data
 
Zaman
ZamanZaman
Zaman
 
Solution For Doctors
Solution For DoctorsSolution For Doctors
Solution For Doctors
 
AgileTour-2010, Noida : What it means to be "An Agile Developer"?
AgileTour-2010, Noida : What it means to be "An Agile Developer"?AgileTour-2010, Noida : What it means to be "An Agile Developer"?
AgileTour-2010, Noida : What it means to be "An Agile Developer"?
 

Similar to 130531 francis nahm - on the evolution of antipatterns genealogies

How do we detect malware? A step-by-step guide
How do we detect malware? A step-by-step guideHow do we detect malware? A step-by-step guide
How do we detect malware? A step-by-step guideMarcus Botacin
 
Abstract.doc
Abstract.docAbstract.doc
Abstract.docbutest
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
130830 stephane bunod - impact of code ownership on antipatterns
130830   stephane bunod - impact of code ownership on antipatterns130830   stephane bunod - impact of code ownership on antipatterns
130830 stephane bunod - impact of code ownership on antipatternsPtidej Team
 
Online examination system
Online examination systemOnline examination system
Online examination systemRahul Khanwani
 
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET Journal
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...eSAT Journals
 
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALE
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALEDETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALE
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALEijseajournal
 
Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...PVS-Studio
 
MACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOXMACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOXmlaij
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Reviewinventionjournals
 
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSUSING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSijseajournal
 
Bug Triage: An Automated Process
Bug Triage: An Automated ProcessBug Triage: An Automated Process
Bug Triage: An Automated ProcessIRJET Journal
 
Fuzzy Rule Base System for Software Classification
Fuzzy Rule Base System for Software ClassificationFuzzy Rule Base System for Software Classification
Fuzzy Rule Base System for Software Classificationijcsit
 
EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...
EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...
EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...ijcsa
 
Christopher N. Bull History-Sensitive Detection of Design Flaws B ...
Christopher N. Bull History-Sensitive Detection of Design Flaws B ...Christopher N. Bull History-Sensitive Detection of Design Flaws B ...
Christopher N. Bull History-Sensitive Detection of Design Flaws B ...butest
 
Thesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptThesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptPtidej Team
 
Integrative Programming chapter 5
Integrative Programming chapter 5Integrative Programming chapter 5
Integrative Programming chapter 5RolandoCurugan
 
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriyaIntegrative Programming Technology Chapter 5 - Dr. J. VijiPriya
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriyaVijiPriya Jeyamani
 

Similar to 130531 francis nahm - on the evolution of antipatterns genealogies (20)

How do we detect malware? A step-by-step guide
How do we detect malware? A step-by-step guideHow do we detect malware? A step-by-step guide
How do we detect malware? A step-by-step guide
 
Abstract.doc
Abstract.docAbstract.doc
Abstract.doc
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
130830 stephane bunod - impact of code ownership on antipatterns
130830   stephane bunod - impact of code ownership on antipatterns130830   stephane bunod - impact of code ownership on antipatterns
130830 stephane bunod - impact of code ownership on antipatterns
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...
 
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALE
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALEDETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALE
DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALE
 
Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...
 
MACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOXMACHINE LEARNING TOOLBOX
MACHINE LEARNING TOOLBOX
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Review
 
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSUSING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTS
 
M018147883
M018147883M018147883
M018147883
 
Bug Triage: An Automated Process
Bug Triage: An Automated ProcessBug Triage: An Automated Process
Bug Triage: An Automated Process
 
Fuzzy Rule Base System for Software Classification
Fuzzy Rule Base System for Software ClassificationFuzzy Rule Base System for Software Classification
Fuzzy Rule Base System for Software Classification
 
EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...
EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...
EMPIRICAL APPLICATION OF SIMULATED ANNEALING USING OBJECT-ORIENTED METRICS TO...
 
Christopher N. Bull History-Sensitive Detection of Design Flaws B ...
Christopher N. Bull History-Sensitive Detection of Design Flaws B ...Christopher N. Bull History-Sensitive Detection of Design Flaws B ...
Christopher N. Bull History-Sensitive Detection of Design Flaws B ...
 
Thesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptThesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.ppt
 
Integrative Programming chapter 5
Integrative Programming chapter 5Integrative Programming chapter 5
Integrative Programming chapter 5
 
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriyaIntegrative Programming Technology Chapter 5 - Dr. J. VijiPriya
Integrative Programming Technology Chapter 5 - Dr. J. VijiPriya
 

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

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

130531 francis nahm - on the evolution of antipatterns genealogies

  • 1. IMPACT OF ANTIPATTERNS ON SOFTWARES QUALITY HOW ANTIPATTERNS ARE INTODUCED IN THE CODE AND WHAT LINKS THEY HAVE WITH THE EVOLUTION OF THE CLASSES? Supervisor Professor: Foutse KHOMH Date: 31 May 2013 By Francis NAHM
  • 2. SUMMARY Context of the study II. Tools Used III. First Results IV. Remaining Work I.
  • 3. Context of the study  The study of antipatterns and their impact is not a new concern for researchers.  However, many studies thus far did not link the evolution of classes to antipatterns  The goal of this study is to establish existing links between antipatterns and evolution of classes.
  • 4. Context of the study  2 importants steps:  First step: How and When Antipatterns are introduced in the code  Second step: Links between these antipatterns and the classes evolution
  • 5. Tools Used  SAD Tool:  Used to detects design patterns and anti patterns in classes  Example of programs aanalyzed : ArgoUML, Netbeans, Eclipse (In progress)  Very very long to detect Design Pattern; creation of the model is extremely expensive in time and resource  Results are stored in a database in two tables:
  • 6. SAD Tool  Table for antipatterns detection
  • 7. SAD Tool  Table for design patterns detection
  • 8. SAD Tool  The two previous table are joined with table containing all the classes of the program to obtain this final table:
  • 9. SAD Tool  This table contains all the information to generate three other useful tables:  A table containing characteristics of each class for each version
  • 10. SAD Tool o With this table, we can create a table containing for each class changement from one version to another
  • 11. SAD Tool  This table allows us to organize classes in 4 groups: stable classes, stabilized classes; deteriorated classes and improved classes
  • 12. SAD Tool  With this 3 tables, we can compute stats on programs: Average time for a default add/remove, Percent of classes added/removed at each version ….
  • 14. Tools Used  Evolizer  Used to extract changes between two subsequent files  Changes are stored in a database.  Used with a SVN repository, it gives all the evolution of the classes from one specified revision to another one  Still not able to use it on my computer 
  • 15. Evolizer and SAD  By crossing data from SAD and Evolizer, we will be able to detect which kind of changement in the class is more likely to introduce a specific default (antipattern or bugs) in the future  The main idea is to determine for the developers what are the way of coding which are risked.
  • 17. ArgoUML results  Some general stats by version: Percents of classes with APs Percent of added classes Percent of classes removed 70 35 30 60 30 25 50 25 20 40 20 15 30 15 20 10 10 5 0 0 30/12/1899 30/12/1899 30/12/1899 0.30.2 30/12/1899 0.10.1 0.18.1 30/12/1899 30/12/1899 0.32.1 10 5 0 30/12/1899 30/12/1899 30/12/1899 0.30.2 30/12/1899 0.10.1 0.18.1 30/12/1899 30/12/1899 0.32.1 30/12/1899 30/12/1899 30/12/1899 0.30.2 30/12/1899 0.10.1 0.18.1 30/12/1899 30/12/1899 0.32.1 Percent of APs removed Percent of APs added 60 30 50 25 20 40 15 30 10 20 5 10 0 0 30/12/1899 30/12/1899 30/12/1899 0.30.2 30/12/1899 0.10.1 0.18.1 30/12/1899 30/12/1899 0.32.1 30/12/1899 30/12/1899 30/12/1899 0.30.2 30/12/1899 0.10.1 0.18.1 30/12/1899 30/12/1899 0.32.1
  • 19. ArgoUML results  Repartition of groups     Deteriorated classes percent: 18.11 Improved classes percent: 13.28 Stable classes percent: 61.12 Stabilized classes percent: 7.47
  • 20. First Results  Only two programs has been analyzed by SAD tool until now: ArgoUML and Netbeans  According to the results, it seems like there’s no particular links between introduction of antipatterns and designpatterns evolution
  • 21. Remaining work  Find a way to operate Evolizer and cross data with SAD results.  Check the SVN logs to get usefuls information like the modifiers, or the bugs and cross this data with SAD results.  Re-Organize the actual way it’s coded..
  • 22. THANK YOU FOR YOUR ATTENTION