SlideShare a Scribd company logo
1 of 12
Download to read offline
Documenting design pattern instances:
A Family of experiments on
Source code comprehensibility
Gabriella Dodero (uniBZ)
Joint work with G.Scanniello (uniBAS), C.Gravino, M.Risi,
G.Tortora (uniSA)
RDSS, December 2014
Summary:
1. A research question
2. A family of experiments
3. Our results
A research question
● Consider a software maintenance task, typically done by
someone who is NOT an author of such code.
● The system under maintenance contains several
patterns
● Is there a difference in such a task, if code is
DOCUMENTED showing use of pattern instances?
● That is, not documenting patterns w.r.t. documenting
wherever patterns have been used
● Is there a difference between ways of documenting
patterns?
● That is, textual w.r.t. graphical documentation
A family of experiments-1
● Make an experiment about software maintenance, i.e.
give a set of „software comprehension tasks“
● Repeat the experiment with different populations
(developers with different experience)
● What is measured:
– Correctness of understanding
– Time
– Confidence
– Perceived difficulty
A family of experiments - 2
Choose a piece of
software
● A chunk of JHotDraw v5.1
(1326 LOC, non trivial!)
Choose a notation for
documenting patterns
● Textual descriptions reported
in the code as comments
● Graphic documentation like
class diagrams
A family of experiments - 3
● „Family“ means replicating an original experiment
under controlled conditions
● In this case: using populations with different
experience as developers
Participants Where How many
Practitioners Companies 25
2nd year Msc U.Salerno 25
3rd year Bsc U.Basilicata 23
2-3 yr PhD unibz 15
A family of experiments - 4
● In each experiment,
● 1/3 of participants were given textual documentation,
● 1/3 were given graphical documentation, and
● 1/3 had no documentation on pattern instances
● Hypotheses:
(1) There is no difference in Correctness nor Time
between people having documentation and not having
documentation
(2)There is no difference between people with different
experience
A family of experiments - 5
● What was asked: 14 questions like this one:
● A post assessment questionnaire on the experience
● Typical duration was 2-3 hours
Results - 1
● Hypothesis (1) is rejected for Correctness of
understanding, by professionals and PhD
students only
– Time is not affected by documentation
● But there is no significant difference between
those who had textual documentation or
graphical documentation
● Hypothesis (2) is rejected for Experience, with
respect to Correctness of Understanding and
Time
Results - 2
● Correctness of understanding is significantly greater when
pattern instances are correctly identified
● 30% improvement on Correctness of understanding
● Correctness of understanding is greater also for Msc
students, when patterns are documented, but this is not
statistically significant
● Experienced participants (professionals, PhD) benefit
more than non-experienced participants (BSc, Msc
students) from the documentation on patterns
● Experienced participants with textually documented
patterns were the fastest to do the task
Results - 3
● Lessons for practitioners:
● Documenting instances improves code
comprehensibility, for maintainers with experience
● Reading such documentation does not slow down
comprehension tasks
● Comprehensibility improves when pattern instances are
correctly identified, when developers have at least a
Bsc degree
● Lessons for researchers:
● Bsc or Msc students may be too inexperienced
compared to professionals, to gather reliable results
by performing experiments on them!!!
Thank You!
Questions?
Gdodero @ unibz.it

More Related Content

Similar to Documenting Design Pattern Instances: A family of Experiments on Source Code Comprehensibility

Assignment 2 powerpoint 2
Assignment 2 powerpoint 2Assignment 2 powerpoint 2
Assignment 2 powerpoint 2robynwood
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Maurício Aniche
 
Differences in-task-descriptions
Differences in-task-descriptionsDifferences in-task-descriptions
Differences in-task-descriptionsSameer Chavan
 
Lecture5.pdf
Lecture5.pdfLecture5.pdf
Lecture5.pdfTake1As
 
TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan...
 TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan... TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan...
TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan...TESTA winch
 
Open from beginning to end: addressing barriers to open research - a personal...
Open from beginning to end: addressing barriers to open research - a personal...Open from beginning to end: addressing barriers to open research - a personal...
Open from beginning to end: addressing barriers to open research - a personal...UoLResearchSupport
 
Analysis of pair Programming Effectiveness in Academic Environment
Analysis of pair Programming Effectiveness in Academic EnvironmentAnalysis of pair Programming Effectiveness in Academic Environment
Analysis of pair Programming Effectiveness in Academic Environmentijcnes
 
An Integrative Review Of The Cognitive Costs And Benefits Of Note-Taking
An Integrative Review Of The Cognitive Costs And Benefits Of Note-TakingAn Integrative Review Of The Cognitive Costs And Benefits Of Note-Taking
An Integrative Review Of The Cognitive Costs And Benefits Of Note-TakingJennifer Strong
 
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha A_Palalas C_G...
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha  A_Palalas C_G...DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha  A_Palalas C_G...
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha A_Palalas C_G...Agnieszka (Aga) Palalas, Ed.D.
 
Writing good research papers
Writing good research papersWriting good research papers
Writing good research papersAhmed Sabbah
 
Experimental design
Experimental designExperimental design
Experimental designmetalkid132
 
Lessons Learned from a Digital Tool Criticism Workshop
Lessons Learned from a Digital Tool Criticism WorkshopLessons Learned from a Digital Tool Criticism Workshop
Lessons Learned from a Digital Tool Criticism WorkshopMarijn Koolen
 
TESTA to FASTECH Presentation
TESTA to FASTECH PresentationTESTA to FASTECH Presentation
TESTA to FASTECH PresentationTansy_Jessop
 
TESTA, School of Politics & International Relations, University of Nottingham...
TESTA, School of Politics & International Relations, University of Nottingham...TESTA, School of Politics & International Relations, University of Nottingham...
TESTA, School of Politics & International Relations, University of Nottingham...TESTA winch
 
Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...
Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...
Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...Mirjam Eladhari
 
Constructive Alignment in Teaching Game Research in Game Development Bachelor...
Constructive Alignment in Teaching Game Research in Game Development Bachelor...Constructive Alignment in Teaching Game Research in Game Development Bachelor...
Constructive Alignment in Teaching Game Research in Game Development Bachelor...Petri Lankoski
 
Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...
Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...
Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...Petra Galuscakova
 
Quantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collection
Quantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collectionQuantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collection
Quantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collectionSomayeh Sorouri
 
Facilitating peer-led group research
Facilitating peer-led group researchFacilitating peer-led group research
Facilitating peer-led group researchRichardM_Walker
 

Similar to Documenting Design Pattern Instances: A family of Experiments on Source Code Comprehensibility (20)

Assignment 2 powerpoint 2
Assignment 2 powerpoint 2Assignment 2 powerpoint 2
Assignment 2 powerpoint 2
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019
 
Differences in-task-descriptions
Differences in-task-descriptionsDifferences in-task-descriptions
Differences in-task-descriptions
 
Lecture5.pdf
Lecture5.pdfLecture5.pdf
Lecture5.pdf
 
TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan...
 TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan... TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan...
TESTA, Presentation to the SDG Course Leaders, University of West of Scotlan...
 
Open from beginning to end: addressing barriers to open research - a personal...
Open from beginning to end: addressing barriers to open research - a personal...Open from beginning to end: addressing barriers to open research - a personal...
Open from beginning to end: addressing barriers to open research - a personal...
 
Analysis of pair Programming Effectiveness in Academic Environment
Analysis of pair Programming Effectiveness in Academic EnvironmentAnalysis of pair Programming Effectiveness in Academic Environment
Analysis of pair Programming Effectiveness in Academic Environment
 
An Integrative Review Of The Cognitive Costs And Benefits Of Note-Taking
An Integrative Review Of The Cognitive Costs And Benefits Of Note-TakingAn Integrative Review Of The Cognitive Costs And Benefits Of Note-Taking
An Integrative Review Of The Cognitive Costs And Benefits Of Note-Taking
 
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha A_Palalas C_G...
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha  A_Palalas C_G...DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha  A_Palalas C_G...
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha A_Palalas C_G...
 
Writing good research papers
Writing good research papersWriting good research papers
Writing good research papers
 
Experimental design
Experimental designExperimental design
Experimental design
 
Lessons Learned from a Digital Tool Criticism Workshop
Lessons Learned from a Digital Tool Criticism WorkshopLessons Learned from a Digital Tool Criticism Workshop
Lessons Learned from a Digital Tool Criticism Workshop
 
TESTA to FASTECH Presentation
TESTA to FASTECH PresentationTESTA to FASTECH Presentation
TESTA to FASTECH Presentation
 
TESTA, School of Politics & International Relations, University of Nottingham...
TESTA, School of Politics & International Relations, University of Nottingham...TESTA, School of Politics & International Relations, University of Nottingham...
TESTA, School of Politics & International Relations, University of Nottingham...
 
Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...
Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...
Constructive Alignment in
 Teaching Game Research 
 in Game Development 
 Bac...
 
Constructive Alignment in Teaching Game Research in Game Development Bachelor...
Constructive Alignment in Teaching Game Research in Game Development Bachelor...Constructive Alignment in Teaching Game Research in Game Development Bachelor...
Constructive Alignment in Teaching Game Research in Game Development Bachelor...
 
Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...
Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...
Experiments with Segmentation Strategies for Passage Retrieval in Audio-Visua...
 
Quantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collection
Quantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collectionQuantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collection
Quantitative Research,Mackey&Gass ch.3, TEFL/TESL, data collection
 
Laptops smartphones-and-your-studies
Laptops smartphones-and-your-studiesLaptops smartphones-and-your-studies
Laptops smartphones-and-your-studies
 
Facilitating peer-led group research
Facilitating peer-led group researchFacilitating peer-led group research
Facilitating peer-led group research
 

More from Gabriella Dodero

Unitedbz-Una esperienza di integrazione universitaria di richiedenti asilo
Unitedbz-Una esperienza di integrazione universitaria di richiedenti asiloUnitedbz-Una esperienza di integrazione universitaria di richiedenti asilo
Unitedbz-Una esperienza di integrazione universitaria di richiedenti asiloGabriella Dodero
 
Didacta 2018- Il MOOC promosso dalla RUIAP
Didacta 2018- Il MOOC promosso dalla RUIAPDidacta 2018- Il MOOC promosso dalla RUIAP
Didacta 2018- Il MOOC promosso dalla RUIAPGabriella Dodero
 
Ecosistemi di apprendimento come snodo per lo sviluppo territoriale
Ecosistemi di apprendimento come snodo per lo sviluppo territorialeEcosistemi di apprendimento come snodo per lo sviluppo territoriale
Ecosistemi di apprendimento come snodo per lo sviluppo territorialeGabriella Dodero
 
Ludicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleLudicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleGabriella Dodero
 
Tre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare LinuxTre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare LinuxGabriella Dodero
 
Tutto il MOOC minuto per minuto
Tutto il MOOC minuto per minutoTutto il MOOC minuto per minuto
Tutto il MOOC minuto per minutoGabriella Dodero
 
Game design journeys in primary schools
Game design journeys in primary schoolsGame design journeys in primary schools
Game design journeys in primary schoolsGabriella Dodero
 
Extreme Apprenticeship Meets Operating Systems
Extreme Apprenticeship Meets Operating SystemsExtreme Apprenticeship Meets Operating Systems
Extreme Apprenticeship Meets Operating SystemsGabriella Dodero
 
Extreme Apprenticeship - experiences and lessons learned
Extreme Apprenticeship - experiences and lessons learnedExtreme Apprenticeship - experiences and lessons learned
Extreme Apprenticeship - experiences and lessons learnedGabriella Dodero
 
How women reach top academic positions: Italy as a case study
How women reach top academic positions: Italy as a case studyHow women reach top academic positions: Italy as a case study
How women reach top academic positions: Italy as a case studyGabriella Dodero
 
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'Gabriella Dodero
 
Workshop Informatica e scuole - didamatica 2015 unibz
Workshop Informatica e scuole - didamatica 2015 unibzWorkshop Informatica e scuole - didamatica 2015 unibz
Workshop Informatica e scuole - didamatica 2015 unibzGabriella Dodero
 
Alex nel paese degli oggetti informatici
Alex nel paese degli oggetti informaticiAlex nel paese degli oggetti informatici
Alex nel paese degli oggetti informaticiGabriella Dodero
 
L'Extreme Apprenticeship funziona davvero
L'Extreme Apprenticeship funziona davveroL'Extreme Apprenticeship funziona davvero
L'Extreme Apprenticeship funziona davveroGabriella Dodero
 
Extreme Apprenticeship: insegnare scienze esatte con un approccio sperimentale
Extreme Apprenticeship: insegnare scienze esatte con un approccio sperimentaleExtreme Apprenticeship: insegnare scienze esatte con un approccio sperimentale
Extreme Apprenticeship: insegnare scienze esatte con un approccio sperimentaleGabriella Dodero
 
The right to (language) education @ unibz
The right to (language) education @ unibzThe right to (language) education @ unibz
The right to (language) education @ unibzGabriella Dodero
 
Workshop sport e università - unibz
Workshop sport e università - unibzWorkshop sport e università - unibz
Workshop sport e università - unibzGabriella Dodero
 
Documenting design pattern instances: A Family of experiments on Source code ...
Documenting design pattern instances: A Family of experiments on Source code ...Documenting design pattern instances: A Family of experiments on Source code ...
Documenting design pattern instances: A Family of experiments on Source code ...Gabriella Dodero
 

More from Gabriella Dodero (20)

Unitedbz-Una esperienza di integrazione universitaria di richiedenti asilo
Unitedbz-Una esperienza di integrazione universitaria di richiedenti asiloUnitedbz-Una esperienza di integrazione universitaria di richiedenti asilo
Unitedbz-Una esperienza di integrazione universitaria di richiedenti asilo
 
Didacta 2018- Il MOOC promosso dalla RUIAP
Didacta 2018- Il MOOC promosso dalla RUIAPDidacta 2018- Il MOOC promosso dalla RUIAP
Didacta 2018- Il MOOC promosso dalla RUIAP
 
Ecosistemi di apprendimento come snodo per lo sviluppo territoriale
Ecosistemi di apprendimento come snodo per lo sviluppo territorialeEcosistemi di apprendimento come snodo per lo sviluppo territoriale
Ecosistemi di apprendimento come snodo per lo sviluppo territoriale
 
Ludicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleLudicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in Moodle
 
Tre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare LinuxTre lingue e un MOOC per imparare Linux
Tre lingue e un MOOC per imparare Linux
 
Tutto il MOOC minuto per minuto
Tutto il MOOC minuto per minutoTutto il MOOC minuto per minuto
Tutto il MOOC minuto per minuto
 
Game design journeys in primary schools
Game design journeys in primary schoolsGame design journeys in primary schools
Game design journeys in primary schools
 
Extreme Apprenticeship Meets Operating Systems
Extreme Apprenticeship Meets Operating SystemsExtreme Apprenticeship Meets Operating Systems
Extreme Apprenticeship Meets Operating Systems
 
L'universita' per tutti
L'universita' per tuttiL'universita' per tutti
L'universita' per tutti
 
Extreme Apprenticeship - experiences and lessons learned
Extreme Apprenticeship - experiences and lessons learnedExtreme Apprenticeship - experiences and lessons learned
Extreme Apprenticeship - experiences and lessons learned
 
How women reach top academic positions: Italy as a case study
How women reach top academic positions: Italy as a case studyHow women reach top academic positions: Italy as a case study
How women reach top academic positions: Italy as a case study
 
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
 
Workshop Informatica e scuole - didamatica 2015 unibz
Workshop Informatica e scuole - didamatica 2015 unibzWorkshop Informatica e scuole - didamatica 2015 unibz
Workshop Informatica e scuole - didamatica 2015 unibz
 
Alex nel paese degli oggetti informatici
Alex nel paese degli oggetti informaticiAlex nel paese degli oggetti informatici
Alex nel paese degli oggetti informatici
 
L'Extreme Apprenticeship funziona davvero
L'Extreme Apprenticeship funziona davveroL'Extreme Apprenticeship funziona davvero
L'Extreme Apprenticeship funziona davvero
 
Extreme Apprenticeship: insegnare scienze esatte con un approccio sperimentale
Extreme Apprenticeship: insegnare scienze esatte con un approccio sperimentaleExtreme Apprenticeship: insegnare scienze esatte con un approccio sperimentale
Extreme Apprenticeship: insegnare scienze esatte con un approccio sperimentale
 
The right to (language) education @ unibz
The right to (language) education @ unibzThe right to (language) education @ unibz
The right to (language) education @ unibz
 
Pi Day @ unibz
Pi Day @ unibzPi Day @ unibz
Pi Day @ unibz
 
Workshop sport e università - unibz
Workshop sport e università - unibzWorkshop sport e università - unibz
Workshop sport e università - unibz
 
Documenting design pattern instances: A Family of experiments on Source code ...
Documenting design pattern instances: A Family of experiments on Source code ...Documenting design pattern instances: A Family of experiments on Source code ...
Documenting design pattern instances: A Family of experiments on Source code ...
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

Documenting Design Pattern Instances: A family of Experiments on Source Code Comprehensibility

  • 1. Documenting design pattern instances: A Family of experiments on Source code comprehensibility Gabriella Dodero (uniBZ) Joint work with G.Scanniello (uniBAS), C.Gravino, M.Risi, G.Tortora (uniSA) RDSS, December 2014
  • 2. Summary: 1. A research question 2. A family of experiments 3. Our results
  • 3. A research question ● Consider a software maintenance task, typically done by someone who is NOT an author of such code. ● The system under maintenance contains several patterns ● Is there a difference in such a task, if code is DOCUMENTED showing use of pattern instances? ● That is, not documenting patterns w.r.t. documenting wherever patterns have been used ● Is there a difference between ways of documenting patterns? ● That is, textual w.r.t. graphical documentation
  • 4. A family of experiments-1 ● Make an experiment about software maintenance, i.e. give a set of „software comprehension tasks“ ● Repeat the experiment with different populations (developers with different experience) ● What is measured: – Correctness of understanding – Time – Confidence – Perceived difficulty
  • 5. A family of experiments - 2 Choose a piece of software ● A chunk of JHotDraw v5.1 (1326 LOC, non trivial!) Choose a notation for documenting patterns ● Textual descriptions reported in the code as comments ● Graphic documentation like class diagrams
  • 6. A family of experiments - 3 ● „Family“ means replicating an original experiment under controlled conditions ● In this case: using populations with different experience as developers Participants Where How many Practitioners Companies 25 2nd year Msc U.Salerno 25 3rd year Bsc U.Basilicata 23 2-3 yr PhD unibz 15
  • 7. A family of experiments - 4 ● In each experiment, ● 1/3 of participants were given textual documentation, ● 1/3 were given graphical documentation, and ● 1/3 had no documentation on pattern instances ● Hypotheses: (1) There is no difference in Correctness nor Time between people having documentation and not having documentation (2)There is no difference between people with different experience
  • 8. A family of experiments - 5 ● What was asked: 14 questions like this one: ● A post assessment questionnaire on the experience ● Typical duration was 2-3 hours
  • 9. Results - 1 ● Hypothesis (1) is rejected for Correctness of understanding, by professionals and PhD students only – Time is not affected by documentation ● But there is no significant difference between those who had textual documentation or graphical documentation ● Hypothesis (2) is rejected for Experience, with respect to Correctness of Understanding and Time
  • 10. Results - 2 ● Correctness of understanding is significantly greater when pattern instances are correctly identified ● 30% improvement on Correctness of understanding ● Correctness of understanding is greater also for Msc students, when patterns are documented, but this is not statistically significant ● Experienced participants (professionals, PhD) benefit more than non-experienced participants (BSc, Msc students) from the documentation on patterns ● Experienced participants with textually documented patterns were the fastest to do the task
  • 11. Results - 3 ● Lessons for practitioners: ● Documenting instances improves code comprehensibility, for maintainers with experience ● Reading such documentation does not slow down comprehension tasks ● Comprehensibility improves when pattern instances are correctly identified, when developers have at least a Bsc degree ● Lessons for researchers: ● Bsc or Msc students may be too inexperienced compared to professionals, to gather reliable results by performing experiments on them!!!