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

Más contenido relacionado

Similar a 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 a 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
 

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

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

Último

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
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
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
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
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Último (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
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
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
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
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

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!!!