SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
An Empirical Study
                    of the Relationships between
                             Design Pattern Roles
                    and Class Change Proneness

Massimiliano DiPenta - University of Sannio
Luigi Cerulo - University of Sannio
Yann-Gaël Guéhéneuc - Université de Montréal
Giuliano Antoniol - École Polytechnique de Montréal   ICSM2008BEIJING
Outline

Introduction
  What is a design pattern role

Research questions
  The aim of the work

Data extraction process
  How we extract the dataset

Results
  What we observed




                                  ICSM2008BEIJING
Design Pattern Role, What Is It?

            Component
             Role a       Composite pattern
                            Design pattern

                Class A



  Class B       Class C    Class D



 Role c
 Leaf                     Role b
                            Composite
                                        ICSM2008BEIJING
Design Pattern Role, What Is It?

Subject                      Observer pattern
                                             Observer
     Class A                 Class B




     Class C                 Class D


          Concrete subject             Concrete observer
                                                    ICSM2008BEIJING
In Real Systems…
                   ArgoUML




                     ICSM2008BEIJING
DeMINA– Ptidej Tool Suite

A Multi-layered Framework for Design
  Pattern Identification
 [Y.G. Guéhéneuc and G. Antoniol, to appear in the September/October
 2008 issue of TSE]



Able to detect roles in 12 DP:
  Abstract Factories, Adapters, Commands,
  Composites, Decorators, Factory Methods, Observers,
  Prototypes, Singletons, State/Strategies, Template methods,
  Visitors

Precision = 34%, recall = 100%
                                                                ICSM2008BEIJING
What We Are Interested In




      What happens in
real software projects?




                          ICSM2008BEIJING
Research Questions

… it is known that design pattern
 classes are less change and fault
 prone…

Inside a design pattern
 RQ1 – Which roles are more likely to change?
 RQ2 – Which kind of change is more likely to
 predominate?


                                         ICSM2008BEIJING
Data We Have Extracted

   A versioned software system can be viewed as a
     sequence of snapshots generated by a sequence
     of change sets
                           Change set 2-3
                           Change set 2-3
                           commit of B1.5 G1.6
                           commit of B1.5 G1.6




   S1             S2          S3                     Sn



Change set 1-2
Change set 1-2               Heuristic:
                             Heuristic:
commit of B1.4 G1.5 F1.1
commit of B1.4 G1.5 F1.1     commits that share the same author, branch and notes
                             commits that share the same author, branch and notes
                             and their distance is < 200 s. [Zimmermann et al. ICSE 04]
                             and their distance is < 200 s. [Zimmermann et al. ICSE 04]


                                                                          ICSM2008BEIJING
Detection of Structural Changes

       S1               S2             S3                    Sn




                 Class X               Class X

                             compare

      M                A               I             H
  Method           Attribute      Class imple-   Class
  addition and     addition and   mentation      hierarchy
  removal          removal        changes        changes



                                                                  ICSM2008BEIJING
Data Set #1
                       Kind of Changes
               Snapshots
                S1     S2     S3   S4    S5    … Sn
          C1    M,A                      M,I
Classes




          C2           A,H
          C3    A,H
          C4           M      M    I,H
          …



                                                      ICSM2008BEIJING
Data Set #2
                        Design Pattern Roles
               Design pattern instances
                       #1               #2                    #3            …
               Composite (leaf)
          C1   Decorator (Component)
Classes




                                           Factory     Observer (subject)
          C2                               (creator)


               Factory(concrete creator)               Observer
          C3   Decorator(concrete                      (observer)
               component)


          …

                                                                      ICSM2008BEIJING
Back to Research Questions

Which roles are more likely to change?
  Counts of class changes grouped by design pattern roles


    Classes                    S1   S2   S3   S4   S5   …   #
    C1 (Observer#1-subject)                                 2
    C2 (Observer#1-observer)                                4
    C3 (Observer#2-subject)                                 1
    C4 (Composite#1-leaf)                                   5
    …



                                                                ICSM2008BEIJING
Back to Research Questions

  Which kind of change is more likely to
    predominate?
      Counts of class changes groupsed by design pattern roles and
         change type
Classes                    S1 S2   S3    S4    S5    …     #M   #I   #H    #A
C1 (Observer#1-subject)    M                   M,H         2    -    1      -
C2 (Observer#1-observer)       A,I A,H   A,I         M,I   -    3    1      3
C3 (Observer#2-subject)    I                               -    1    -      -
C4 (Composite#1-leaf)      H   H         H,I   H,A         -    1    4      1
…



                                                                     ICSM2008BEIJING
Results, What We Have Observed

 Analyzed systems
   JHotDraw (177 change sets)
   Xerces-j (4972 change sets)
   Eclipse JDT (23424 change sets)

 Analyzed design patterns
   Abstract Factories, Adapters, Commands,
   Composites, Decorators, Factory Methods, Observers,
   Prototypes, Singletons, State/Strategies, Template methods,
   Visitors




                                                           ICSM2008BEIJING
Abstract Factory
                   JHotDraw

                RMED
          CONFI




                              ICSM2008BEIJING
Template Method
                 Eclipse-JDT

               RMED
         CONFI




                               ICSM2008BEIJING
Composite
             Eclipse-JDT

           ally
        rti RMED
      Pa FI
       CON




                           ICSM2008BEIJING
Conclusions

This study is not yet concluded
  Many other questions still to answer…

Main issues to overcome
  Design pattern detection (e.g., other languages than Java)
  Change type detection (e.g., class relationship change)




                                                               ICSM2008BEIJING
Fragen
    questions             Perguntas
                        ερωτήσεις           въпроси
 preguntas                             frågor
                问题              ‫ا‬             質問
domande
              întrebări     questions
                                          सवाल
  pitanja
                          dotazy
                                       질문
  問題         kysymyksiä
                           вопросы        vragen
spørsmål
              pytania               spørgsmål
                                                ICSM2008BEIJING

Mais conteúdo relacionado

Semelhante a ICMS08b.ppt

Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesDongsun Kim
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization Ivano Malavolta
 
Robust Information Exchanges For BIM
Robust Information Exchanges For BIMRobust Information Exchanges For BIM
Robust Information Exchanges For BIMManu Venugopal
 
IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...
IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...
IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...IRJET Journal
 
Me6501 cad rejinpaul_iq_nov.dec2015
Me6501 cad rejinpaul_iq_nov.dec2015Me6501 cad rejinpaul_iq_nov.dec2015
Me6501 cad rejinpaul_iq_nov.dec2015vsksuresh2003
 
PatEvol - A Pattern Language for Evolution in Component-based Software Archit...
PatEvol - A Pattern Language for Evolution in Component-based Software Archit...PatEvol - A Pattern Language for Evolution in Component-based Software Archit...
PatEvol - A Pattern Language for Evolution in Component-based Software Archit...Aakash Ahmad
 
Comparative Analysis Of Different Irregular Building With Regular Building
Comparative Analysis Of Different Irregular Building With Regular BuildingComparative Analysis Of Different Irregular Building With Regular Building
Comparative Analysis Of Different Irregular Building With Regular BuildingIRJET Journal
 
On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsHenry Muccini
 
Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...
Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...
Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...IRJET Journal
 
IRJET- Comparative Study of Staircase with Various Support Conditions using S...
IRJET- Comparative Study of Staircase with Various Support Conditions using S...IRJET- Comparative Study of Staircase with Various Support Conditions using S...
IRJET- Comparative Study of Staircase with Various Support Conditions using S...IRJET Journal
 
IRJET- Predicting Filed H1-B Visa Petitions Status
IRJET- Predicting Filed H1-B Visa Petitions StatusIRJET- Predicting Filed H1-B Visa Petitions Status
IRJET- Predicting Filed H1-B Visa Petitions StatusIRJET Journal
 
Contextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of FeaturesContextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of FeaturesUniversitat Politècnica de Catalunya
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksMarkus Scheidgen
 
Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011Kim Herzig
 
Software project management
Software project managementSoftware project management
Software project managementvamsi krishna
 
Re the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_aheadRe the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_aheadEdward John Crain
 

Semelhante a ICMS08b.ppt (20)

Icsm08b.ppt
Icsm08b.pptIcsm08b.ppt
Icsm08b.ppt
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method Names
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
Robust Information Exchanges For BIM
Robust Information Exchanges For BIMRobust Information Exchanges For BIM
Robust Information Exchanges For BIM
 
IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...
IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...
IRJET-Analysis of RC Structure with and without Shear Wall and Optimum Locati...
 
Me6501 cad rejinpaul_iq_nov.dec2015
Me6501 cad rejinpaul_iq_nov.dec2015Me6501 cad rejinpaul_iq_nov.dec2015
Me6501 cad rejinpaul_iq_nov.dec2015
 
Ajs 2 b
Ajs 2 bAjs 2 b
Ajs 2 b
 
PatEvol - A Pattern Language for Evolution in Component-based Software Archit...
PatEvol - A Pattern Language for Evolution in Component-based Software Archit...PatEvol - A Pattern Language for Evolution in Component-based Software Archit...
PatEvol - A Pattern Language for Evolution in Component-based Software Archit...
 
Comparative Analysis Of Different Irregular Building With Regular Building
Comparative Analysis Of Different Irregular Building With Regular BuildingComparative Analysis Of Different Irregular Building With Regular Building
Comparative Analysis Of Different Irregular Building With Regular Building
 
On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of Viewpoints
 
Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...
Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...
Comparative Study of Y-Shaped Columns with Conventional Rectangular Shaped Co...
 
Ajs 3 a
Ajs 3 aAjs 3 a
Ajs 3 a
 
Midas Gen catalog
Midas Gen catalogMidas Gen catalog
Midas Gen catalog
 
IRJET- Comparative Study of Staircase with Various Support Conditions using S...
IRJET- Comparative Study of Staircase with Various Support Conditions using S...IRJET- Comparative Study of Staircase with Various Support Conditions using S...
IRJET- Comparative Study of Staircase with Various Support Conditions using S...
 
IRJET- Predicting Filed H1-B Visa Petitions Status
IRJET- Predicting Filed H1-B Visa Petitions StatusIRJET- Predicting Filed H1-B Visa Petitions Status
IRJET- Predicting Filed H1-B Visa Petitions Status
 
Contextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of FeaturesContextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of Features
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for Benchmarks
 
Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011Mining Cause Effect Chains from Version Archives - ISSRE 2011
Mining Cause Effect Chains from Version Archives - ISSRE 2011
 
Software project management
Software project managementSoftware project management
Software project management
 
Re the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_aheadRe the status_quo_and_what_lies_ahead
Re the status_quo_and_what_lies_ahead
 

Mais de 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
 

Mais de 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
 

Último

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 
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 DevelopmentsTrustArc
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
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
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
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
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
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
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
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...
 
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)
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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, ...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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...
 
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
 

ICMS08b.ppt

  • 1. An Empirical Study of the Relationships between Design Pattern Roles and Class Change Proneness Massimiliano DiPenta - University of Sannio Luigi Cerulo - University of Sannio Yann-Gaël Guéhéneuc - Université de Montréal Giuliano Antoniol - École Polytechnique de Montréal ICSM2008BEIJING
  • 2. Outline Introduction What is a design pattern role Research questions The aim of the work Data extraction process How we extract the dataset Results What we observed ICSM2008BEIJING
  • 3. Design Pattern Role, What Is It? Component Role a Composite pattern Design pattern Class A Class B Class C Class D Role c Leaf Role b Composite ICSM2008BEIJING
  • 4. Design Pattern Role, What Is It? Subject Observer pattern Observer Class A Class B Class C Class D Concrete subject Concrete observer ICSM2008BEIJING
  • 5. In Real Systems… ArgoUML ICSM2008BEIJING
  • 6. DeMINA– Ptidej Tool Suite A Multi-layered Framework for Design Pattern Identification [Y.G. Guéhéneuc and G. Antoniol, to appear in the September/October 2008 issue of TSE] Able to detect roles in 12 DP: Abstract Factories, Adapters, Commands, Composites, Decorators, Factory Methods, Observers, Prototypes, Singletons, State/Strategies, Template methods, Visitors Precision = 34%, recall = 100% ICSM2008BEIJING
  • 7. What We Are Interested In What happens in real software projects? ICSM2008BEIJING
  • 8. Research Questions … it is known that design pattern classes are less change and fault prone… Inside a design pattern RQ1 – Which roles are more likely to change? RQ2 – Which kind of change is more likely to predominate? ICSM2008BEIJING
  • 9. Data We Have Extracted A versioned software system can be viewed as a sequence of snapshots generated by a sequence of change sets Change set 2-3 Change set 2-3 commit of B1.5 G1.6 commit of B1.5 G1.6 S1 S2 S3 Sn Change set 1-2 Change set 1-2 Heuristic: Heuristic: commit of B1.4 G1.5 F1.1 commit of B1.4 G1.5 F1.1 commits that share the same author, branch and notes commits that share the same author, branch and notes and their distance is < 200 s. [Zimmermann et al. ICSE 04] and their distance is < 200 s. [Zimmermann et al. ICSE 04] ICSM2008BEIJING
  • 10. Detection of Structural Changes S1 S2 S3 Sn Class X Class X compare M A I H Method Attribute Class imple- Class addition and addition and mentation hierarchy removal removal changes changes ICSM2008BEIJING
  • 11. Data Set #1 Kind of Changes Snapshots S1 S2 S3 S4 S5 … Sn C1 M,A M,I Classes C2 A,H C3 A,H C4 M M I,H … ICSM2008BEIJING
  • 12. Data Set #2 Design Pattern Roles Design pattern instances #1 #2 #3 … Composite (leaf) C1 Decorator (Component) Classes Factory Observer (subject) C2 (creator) Factory(concrete creator) Observer C3 Decorator(concrete (observer) component) … ICSM2008BEIJING
  • 13. Back to Research Questions Which roles are more likely to change? Counts of class changes grouped by design pattern roles Classes S1 S2 S3 S4 S5 … # C1 (Observer#1-subject) 2 C2 (Observer#1-observer) 4 C3 (Observer#2-subject) 1 C4 (Composite#1-leaf) 5 … ICSM2008BEIJING
  • 14. Back to Research Questions Which kind of change is more likely to predominate? Counts of class changes groupsed by design pattern roles and change type Classes S1 S2 S3 S4 S5 … #M #I #H #A C1 (Observer#1-subject) M M,H 2 - 1 - C2 (Observer#1-observer) A,I A,H A,I M,I - 3 1 3 C3 (Observer#2-subject) I - 1 - - C4 (Composite#1-leaf) H H H,I H,A - 1 4 1 … ICSM2008BEIJING
  • 15. Results, What We Have Observed Analyzed systems JHotDraw (177 change sets) Xerces-j (4972 change sets) Eclipse JDT (23424 change sets) Analyzed design patterns Abstract Factories, Adapters, Commands, Composites, Decorators, Factory Methods, Observers, Prototypes, Singletons, State/Strategies, Template methods, Visitors ICSM2008BEIJING
  • 16. Abstract Factory JHotDraw RMED CONFI ICSM2008BEIJING
  • 17. Template Method Eclipse-JDT RMED CONFI ICSM2008BEIJING
  • 18. Composite Eclipse-JDT ally rti RMED Pa FI CON ICSM2008BEIJING
  • 19. Conclusions This study is not yet concluded Many other questions still to answer… Main issues to overcome Design pattern detection (e.g., other languages than Java) Change type detection (e.g., class relationship change) ICSM2008BEIJING
  • 20. Fragen questions Perguntas ερωτήσεις въпроси preguntas frågor 问题 ‫ا‬ 質問 domande întrebări questions सवाल pitanja dotazy 질문 問題 kysymyksiä вопросы vragen spørsmål pytania spørgsmål ICSM2008BEIJING