SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
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

Más contenido relacionado

Similar 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
 

Similar 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
 

Más 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
 

Más 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

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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
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 BrazilV3cube
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 

Último (20)

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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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...
 

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