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

130531 francis nahm - on the evolution of antipatterns genealogies

on

  • 130 views

Anti-patterns, evolution, genealogies

Anti-patterns, evolution, genealogies

Statistics

Views

Total Views
130
Slideshare-icon Views on SlideShare
130
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    130531   francis nahm - on the evolution of antipatterns genealogies 130531 francis nahm - on the evolution of antipatterns genealogies Presentation Transcript

    • 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