SlideShare a Scribd company logo
1 of 22
Download to read offline
Impact of the Visitor Pattern on
Program Comprehension and Maintenance

Sébastien Jeanmart   Yann-Gaël Guéhéneuc      Houari Sahraoui   Naji Habra




  Univ. de Namur         DGIGL, École             DIRO          Univ. de Namur
                      Polytech. de Montréal   Univ. de Montréal
2



                                   Motivation
• Much work based on the premises that patterns
  improve
   – analyzability
   – changeability
• Some studies suggested that patterns may
  impact negatively
   – development and maintenance activities
• Goal of this study : Impact of Visitor pattern
   – comprehension
   – maintenance
3



Visitor Pattern
4



                  Study Objectives
• Study the impact of Visitor pattern
  – at the design level (UML class diagrams)
  – on comprehension and modification tasks
• From two perspectives
  – Presence vs. absence of the pattern
  – The layout of the classes involved in the
    pattern
5



                               Hypotheses
• Comprehension
  – HCa1
    • A class diagram with the Visitor reduces the
      subjects’ effort during program comprehension
      when compared to one without it
  – HCa2
    • A class diagram using the canonical representation
      of the Visitor reduces the subjects’ effort during
      program comprehension when compared to one
      using the Visitor with another layout
6



                                Hypotheses
• Maintenance
  – HMa1
    • A class diagram with the Visitor reduces the
      subjects’ effort during program modification when
      compared to a class diagram without it
  – HMa2
    • A class diagram using the canonical representation
      of the Visitor reduces the subjects’ effort during
      program modification when compared to one using
      the Visitor with another layout
7



                                       Variables
• Independent variables
  – Design Alternative
     • Visitor and canonical representation (CP)
     • Visitor and random layout (MP)
     • without Visitor (NP)
  – Tasks
     • Comprehension (C)
     • Modification (M)
• Mitigating variables
  – UML Knowledge: (1) fair/good (2) very good
  – DP Knowledge: (1) fair/good (2) very good
8



                                       Variables
• Dependent variables
  – Eye tracking system (EyeLink II from SR
    Research)
     • Two cameras on a headband
     • Detection of eye-movements using infra-red ray
       reflection on the subject’s cornea
     • Sensors help translating eye-movements into screen
       positions
     • Raw data
         – Fixations: stabilizations of the eye during a gaze,
           characterized by a duration
         – Saccades: movements from one fixation to another
     • Subject’s effort
         – Derived from the number and durations of fixations, and
           saccades
9



                                                     Variables
• Dependent variables
  – From screen coordinate to
    diagrams
     • Fixations and saccades grouped by areas of
       interest corresponding to class
       representations in a diagram
     • Two categories of classes (areas)
         – Relevant: necessary to perform the task
         – Non-relevant: otherwise
10



                                              Variables
• Dependent variables
  – ADRF and ADNRF (Average Duration of Relevant
    (resp. Non-Relevant) Fixations)
      • Conjecture
         – First phase: subjects look at the different classes of the
           diagram to identify relevant ones
         – Second phase: they use mainly relevant classes to perform
           the task
         – By hypothesis, Visitor reduces the duration of the second
           phase

     • Calculation


     d(c): total duration of the fixations made to a class c
11



                                               Variables
• Dependent variables
  – NRRF (Normalized Rate of Relevant Fixations)
     • Conjecture
         – When subject look often to the relevant classes, it means that
           he is making a lot of the effort to perform the task
         – The number of relevant fixations is normalized by the size of
           the diagram
         – By hypothesis, Visitor reduces the relative number of relevant
           fixations

     • Calculation



     f(c): number of the fixations made to a class c
12



                 Objects and Subjects
• Objects
  – Reverse-engineered class diagrams
  – Three open-source programs/libraries
     • JHotDraw, JRefactory, and PADL
• Subjects
  – 24 students (graduate) in three groups
  – Experience with software architecture and UML diagrams
13



Tasks
14



                       Study Results
• Comprehension
  – The presence of Visitor, with both
    layouts, does not change significantly
    the effort for comprehension tasks
15



                       Study Results
• Maintenance
  – The presence of Visitor (only with the
    canonical layout) does change
    significantly the effort for maintenance
    tasks
16



                        Study Results
• Combined effect
  – UML knowledge
    • No significant impact (alone or combined)
  – DP knowledge
    • No significant impact (alone or combined)
17



             Threats to the Validity
• Internal validity
   – Tasks given in random and different orders to
     subjects (learning and fatigue effects)
   – Limited time for the experiment (fatigue effect)
   – Analysis of eye-movement movies to detect
     cases of decalibration (instrumentation)
   – No communication (about the study) between
     the subjects during the study period (treatment
     learning)
18



           Threats to the Validity
• Construct validity
  – Diagrams extracted from three programs with
    different application domains (mono-operation
    bias)
  – Two dependent variables: ADRF-ADNRF and
    NRRF(mono-method bias)
  – Subjects not informed before hand about the
    study goal (hypothesis guessing)
  – Subjects reassured about the absence of risks
    and anonymous identification (apprehension)
19



            Threats to the Validity
• External validity
   – Graduate students have knowledge of UML
     and design patterns comparable to most junior
     professionals (interaction between selection
     and treatment)
   – Actual UML diagrams with a usual size of 20
     classes ((interaction between setting and
     treatment)
20



           Threats to the Validity
• Conclusion validity
  – Quiet laboratory and pre-study trials (random
    irrelevancy in setting)
  – 24 observations per design alternative
  – Heterogeneous subjects with different 2 levels
    of UML and DP knowledge, different GPAs,
    and with or without working experience
  – Combined effect analysis
21



                               Conclusion
• Analysis of the impact of Visitor for
  comprehension and modification tasks
• Considering the layout
• Using an eye-tracking system (objective
  effort measurement)
• Results
  – Visitor does not reduce the comprehension
    effort
  – Visitor does reduce the modification effort when
    presented in the canonical layout
22



                            Future Work
• Replications
  – Other variables
  – Other patterns
  – Professional subjects

More Related Content

Viewers also liked

Applying Design Patterns in Practice
Applying Design Patterns in PracticeApplying Design Patterns in Practice
Applying Design Patterns in PracticeGanesh Samarthyam
 
پیری و جوان سازی نرم افزار
پیری و جوان سازی نرم افزارپیری و جوان سازی نرم افزار
پیری و جوان سازی نرم افزارSoroush Salehi
 
Design Pattern lecture 4
Design Pattern lecture 4Design Pattern lecture 4
Design Pattern lecture 4Julie Iskander
 
Tutorial visitor
Tutorial visitorTutorial visitor
Tutorial visitorWei Wang
 
Observer Software Design Pattern
Observer Software Design Pattern Observer Software Design Pattern
Observer Software Design Pattern Nirthika Rajendran
 
Design Pattern - Chain of Responsibility
Design Pattern - Chain of ResponsibilityDesign Pattern - Chain of Responsibility
Design Pattern - Chain of ResponsibilityMudasir Qazi
 
Visitor Pattern
Visitor PatternVisitor Pattern
Visitor PatternIder Zheng
 
Chain of Responsibility Pattern
Chain of Responsibility PatternChain of Responsibility Pattern
Chain of Responsibility PatternHüseyin Ergin
 

Viewers also liked (17)

Applying Design Patterns in Practice
Applying Design Patterns in PracticeApplying Design Patterns in Practice
Applying Design Patterns in Practice
 
پیری و جوان سازی نرم افزار
پیری و جوان سازی نرم افزارپیری و جوان سازی نرم افزار
پیری و جوان سازی نرم افزار
 
Visitors Framework Generator
Visitors Framework GeneratorVisitors Framework Generator
Visitors Framework Generator
 
Design pattern
Design patternDesign pattern
Design pattern
 
State Pattern from GoF
State Pattern from GoFState Pattern from GoF
State Pattern from GoF
 
Design patterns - Observer Pattern
Design patterns - Observer PatternDesign patterns - Observer Pattern
Design patterns - Observer Pattern
 
Design Pattern lecture 4
Design Pattern lecture 4Design Pattern lecture 4
Design Pattern lecture 4
 
Memento pattern
Memento patternMemento pattern
Memento pattern
 
Tutorial visitor
Tutorial visitorTutorial visitor
Tutorial visitor
 
Observer Software Design Pattern
Observer Software Design Pattern Observer Software Design Pattern
Observer Software Design Pattern
 
State pattern
State patternState pattern
State pattern
 
Design Pattern - Chain of Responsibility
Design Pattern - Chain of ResponsibilityDesign Pattern - Chain of Responsibility
Design Pattern - Chain of Responsibility
 
Visitor Pattern
Visitor PatternVisitor Pattern
Visitor Pattern
 
Visitor pattern
Visitor patternVisitor pattern
Visitor pattern
 
Observer Pattern
Observer PatternObserver Pattern
Observer Pattern
 
Chain of Responsibility Pattern
Chain of Responsibility PatternChain of Responsibility Pattern
Chain of Responsibility Pattern
 
Chain of Responsibility Pattern
Chain of Responsibility PatternChain of Responsibility Pattern
Chain of Responsibility Pattern
 

Similar to ESEM09.ppt

Emerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision TransformersEmerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision TransformersSungchul Kim
 
COMP 775 Motion planning paper presentation
COMP 775 Motion planning paper presentation COMP 775 Motion planning paper presentation
COMP 775 Motion planning paper presentation Ravikiran J
 
BPM Cluster Meeting 2018
BPM Cluster Meeting 2018BPM Cluster Meeting 2018
BPM Cluster Meeting 2018Jan Claes
 
Grassroots geomatics synthese project
Grassroots geomatics synthese projectGrassroots geomatics synthese project
Grassroots geomatics synthese projectICTOTUDelft
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life CycleKumar
 
Design Patterns .Net
Design Patterns .NetDesign Patterns .Net
Design Patterns .NetHariom Shah
 
Supporting Learners in Adaptive Learning Environments through the enhancement...
Supporting Learners in Adaptive Learning Environments through the enhancement...Supporting Learners in Adaptive Learning Environments through the enhancement...
Supporting Learners in Adaptive Learning Environments through the enhancement...Luca Mazzola
 
Controlled Assessment vs IGCSE
Controlled Assessment vs IGCSEControlled Assessment vs IGCSE
Controlled Assessment vs IGCSEDavid Holmes
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
TIP_TAViT_presentation.pdf
TIP_TAViT_presentation.pdfTIP_TAViT_presentation.pdf
TIP_TAViT_presentation.pdfBoahKim2
 
Engr de 6_unitplan_flip_flopcircuits
Engr de 6_unitplan_flip_flopcircuitsEngr de 6_unitplan_flip_flopcircuits
Engr de 6_unitplan_flip_flopcircuitsanil u
 
Relational knowledge distillation
Relational knowledge distillationRelational knowledge distillation
Relational knowledge distillationNAVER Engineering
 
1017 Landscape modelling introduction
1017 Landscape modelling introduction1017 Landscape modelling introduction
1017 Landscape modelling introductionJulian Swindell
 

Similar to ESEM09.ppt (20)

Esem09.ppt
Esem09.pptEsem09.ppt
Esem09.ppt
 
Emerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision TransformersEmerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision Transformers
 
CSMR06b.ppt
CSMR06b.pptCSMR06b.ppt
CSMR06b.ppt
 
COMP 775 Motion planning paper presentation
COMP 775 Motion planning paper presentation COMP 775 Motion planning paper presentation
COMP 775 Motion planning paper presentation
 
BPM Cluster Meeting 2018
BPM Cluster Meeting 2018BPM Cluster Meeting 2018
BPM Cluster Meeting 2018
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Grassroots geomatics synthese project
Grassroots geomatics synthese projectGrassroots geomatics synthese project
Grassroots geomatics synthese project
 
Chapter 06
Chapter 06Chapter 06
Chapter 06
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
 
Design Patterns .Net
Design Patterns .NetDesign Patterns .Net
Design Patterns .Net
 
11 topic 9 ooa
11 topic 9 ooa11 topic 9 ooa
11 topic 9 ooa
 
Supporting Learners in Adaptive Learning Environments through the enhancement...
Supporting Learners in Adaptive Learning Environments through the enhancement...Supporting Learners in Adaptive Learning Environments through the enhancement...
Supporting Learners in Adaptive Learning Environments through the enhancement...
 
Controlled Assessment vs IGCSE
Controlled Assessment vs IGCSEControlled Assessment vs IGCSE
Controlled Assessment vs IGCSE
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
TIP_TAViT_presentation.pdf
TIP_TAViT_presentation.pdfTIP_TAViT_presentation.pdf
TIP_TAViT_presentation.pdf
 
Engr de 6_unitplan_flip_flopcircuits
Engr de 6_unitplan_flip_flopcircuitsEngr de 6_unitplan_flip_flopcircuits
Engr de 6_unitplan_flip_flopcircuits
 
Relational knowledge distillation
Relational knowledge distillationRelational knowledge distillation
Relational knowledge distillation
 
1017 Landscape modelling introduction
1017 Landscape modelling introduction1017 Landscape modelling introduction
1017 Landscape modelling introduction
 
Course Outline
Course OutlineCourse Outline
Course Outline
 
CASCON06.ppt
CASCON06.pptCASCON06.ppt
CASCON06.ppt
 

More from 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
 

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

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

ESEM09.ppt

  • 1. Impact of the Visitor Pattern on Program Comprehension and Maintenance Sébastien Jeanmart Yann-Gaël Guéhéneuc Houari Sahraoui Naji Habra Univ. de Namur DGIGL, École DIRO Univ. de Namur Polytech. de Montréal Univ. de Montréal
  • 2. 2 Motivation • Much work based on the premises that patterns improve – analyzability – changeability • Some studies suggested that patterns may impact negatively – development and maintenance activities • Goal of this study : Impact of Visitor pattern – comprehension – maintenance
  • 4. 4 Study Objectives • Study the impact of Visitor pattern – at the design level (UML class diagrams) – on comprehension and modification tasks • From two perspectives – Presence vs. absence of the pattern – The layout of the classes involved in the pattern
  • 5. 5 Hypotheses • Comprehension – HCa1 • A class diagram with the Visitor reduces the subjects’ effort during program comprehension when compared to one without it – HCa2 • A class diagram using the canonical representation of the Visitor reduces the subjects’ effort during program comprehension when compared to one using the Visitor with another layout
  • 6. 6 Hypotheses • Maintenance – HMa1 • A class diagram with the Visitor reduces the subjects’ effort during program modification when compared to a class diagram without it – HMa2 • A class diagram using the canonical representation of the Visitor reduces the subjects’ effort during program modification when compared to one using the Visitor with another layout
  • 7. 7 Variables • Independent variables – Design Alternative • Visitor and canonical representation (CP) • Visitor and random layout (MP) • without Visitor (NP) – Tasks • Comprehension (C) • Modification (M) • Mitigating variables – UML Knowledge: (1) fair/good (2) very good – DP Knowledge: (1) fair/good (2) very good
  • 8. 8 Variables • Dependent variables – Eye tracking system (EyeLink II from SR Research) • Two cameras on a headband • Detection of eye-movements using infra-red ray reflection on the subject’s cornea • Sensors help translating eye-movements into screen positions • Raw data – Fixations: stabilizations of the eye during a gaze, characterized by a duration – Saccades: movements from one fixation to another • Subject’s effort – Derived from the number and durations of fixations, and saccades
  • 9. 9 Variables • Dependent variables – From screen coordinate to diagrams • Fixations and saccades grouped by areas of interest corresponding to class representations in a diagram • Two categories of classes (areas) – Relevant: necessary to perform the task – Non-relevant: otherwise
  • 10. 10 Variables • Dependent variables – ADRF and ADNRF (Average Duration of Relevant (resp. Non-Relevant) Fixations) • Conjecture – First phase: subjects look at the different classes of the diagram to identify relevant ones – Second phase: they use mainly relevant classes to perform the task – By hypothesis, Visitor reduces the duration of the second phase • Calculation d(c): total duration of the fixations made to a class c
  • 11. 11 Variables • Dependent variables – NRRF (Normalized Rate of Relevant Fixations) • Conjecture – When subject look often to the relevant classes, it means that he is making a lot of the effort to perform the task – The number of relevant fixations is normalized by the size of the diagram – By hypothesis, Visitor reduces the relative number of relevant fixations • Calculation f(c): number of the fixations made to a class c
  • 12. 12 Objects and Subjects • Objects – Reverse-engineered class diagrams – Three open-source programs/libraries • JHotDraw, JRefactory, and PADL • Subjects – 24 students (graduate) in three groups – Experience with software architecture and UML diagrams
  • 14. 14 Study Results • Comprehension – The presence of Visitor, with both layouts, does not change significantly the effort for comprehension tasks
  • 15. 15 Study Results • Maintenance – The presence of Visitor (only with the canonical layout) does change significantly the effort for maintenance tasks
  • 16. 16 Study Results • Combined effect – UML knowledge • No significant impact (alone or combined) – DP knowledge • No significant impact (alone or combined)
  • 17. 17 Threats to the Validity • Internal validity – Tasks given in random and different orders to subjects (learning and fatigue effects) – Limited time for the experiment (fatigue effect) – Analysis of eye-movement movies to detect cases of decalibration (instrumentation) – No communication (about the study) between the subjects during the study period (treatment learning)
  • 18. 18 Threats to the Validity • Construct validity – Diagrams extracted from three programs with different application domains (mono-operation bias) – Two dependent variables: ADRF-ADNRF and NRRF(mono-method bias) – Subjects not informed before hand about the study goal (hypothesis guessing) – Subjects reassured about the absence of risks and anonymous identification (apprehension)
  • 19. 19 Threats to the Validity • External validity – Graduate students have knowledge of UML and design patterns comparable to most junior professionals (interaction between selection and treatment) – Actual UML diagrams with a usual size of 20 classes ((interaction between setting and treatment)
  • 20. 20 Threats to the Validity • Conclusion validity – Quiet laboratory and pre-study trials (random irrelevancy in setting) – 24 observations per design alternative – Heterogeneous subjects with different 2 levels of UML and DP knowledge, different GPAs, and with or without working experience – Combined effect analysis
  • 21. 21 Conclusion • Analysis of the impact of Visitor for comprehension and modification tasks • Considering the layout • Using an eye-tracking system (objective effort measurement) • Results – Visitor does not reduce the comprehension effort – Visitor does reduce the modification effort when presented in the canonical layout
  • 22. 22 Future Work • Replications – Other variables – Other patterns – Professional subjects