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 (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

Abstract.doc
Abstract.docAbstract.doc
Abstract.doc
butest
 
Online examination system
Online examination systemOnline examination system
Online examination system
Rahul Khanwani
 
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
 

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

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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
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
 
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
 
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
 
+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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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)
 
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
 
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?
 
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
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
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...
 
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
 
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
 

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