Your SlideShare is downloading. ×
130531   francis nahm - on the evolution of antipatterns genealogies
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

130531 francis nahm - on the evolution of antipatterns genealogies

58
views

Published on

Anti-patterns, evolution, genealogies

Anti-patterns, evolution, genealogies

Published in: Technology, Spiritual

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
58
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 ….
  • 13. SAD Tool
  • 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.
  • 16. RESULTS
  • 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
  • 18. ArgoUML Results
  • 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