SlideShare a Scribd company logo
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

Viewers also liked

Game design journeys in primary schools
Game design journeys in primary schoolsGame design journeys in primary schools
Game design journeys in primary schools
Gabriella Dodero
 
Extreme Apprenticeship Meets Operating Systems
Extreme Apprenticeship Meets Operating SystemsExtreme Apprenticeship Meets Operating Systems
Extreme Apprenticeship Meets Operating Systems
Gabriella Dodero
 
Supervivencia.Survival
Supervivencia.SurvivalSupervivencia.Survival
Supervivencia.Survival
Cachi Chien
 
Come motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comandoCome motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comando
Gabriella Dodero
 
Danza de moléculas. Dance of molecules
Danza de moléculas. Dance of moleculesDanza de moléculas. Dance of molecules
Danza de moléculas. Dance of molecules
Cachi Chien
 
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
Gabriella 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 Linux
Gabriella Dodero
 
L'universita' per tutti
L'universita' per tuttiL'universita' per tutti
L'universita' per tutti
Gabriella Dodero
 
Extreme Apprenticeship - experiences and lessons learned
Extreme Apprenticeship - experiences and lessons learnedExtreme Apprenticeship - experiences and lessons learned
Extreme Apprenticeship - experiences and lessons learned
Gabriella Dodero
 
Madagascar
MadagascarMadagascar
Madagascar
Cachi Chien
 
La guerra.The war (Pintor Mark Cross)
La guerra.The war (Pintor Mark Cross)La guerra.The war (Pintor Mark Cross)
La guerra.The war (Pintor Mark Cross)
Cachi Chien
 

Viewers also liked (11)

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
 
Supervivencia.Survival
Supervivencia.SurvivalSupervivencia.Survival
Supervivencia.Survival
 
Come motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comandoCome motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comando
 
Danza de moléculas. Dance of molecules
Danza de moléculas. Dance of moleculesDanza de moléculas. Dance of molecules
Danza de moléculas. Dance of molecules
 
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
 
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
 
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
 
Madagascar
MadagascarMadagascar
Madagascar
 
La guerra.The war (Pintor Mark Cross)
La guerra.The war (Pintor Mark Cross)La guerra.The war (Pintor Mark Cross)
La guerra.The war (Pintor Mark Cross)
 

Similar to Documenting design pattern instances: A Family of experiments on Source code comprehensibility

Master's Theses in Bioinformatics and Computational Biology
Master's Theses in Bioinformatics and Computational BiologyMaster's Theses in Bioinformatics and Computational Biology
Master's Theses in Bioinformatics and Computational Biology
Francisco Couto
 
Online Recitation Sessions
Online Recitation SessionsOnline Recitation Sessions
Online Recitation Sessions
Brandon Muramatsu
 
Pedersen masters-thesis-oct-10-2014
Pedersen masters-thesis-oct-10-2014Pedersen masters-thesis-oct-10-2014
Pedersen masters-thesis-oct-10-2014
University of Minnesota, Duluth
 
Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"
Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"
Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"CITE
 
Thesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.pptThesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.ppt
Ptidej Team
 
Workflow Reuse in Practice: A Study of Neuroimaging Pipeline Users
Workflow Reuse in Practice: A Study of Neuroimaging Pipeline UsersWorkflow Reuse in Practice: A Study of Neuroimaging Pipeline Users
Workflow Reuse in Practice: A Study of Neuroimaging Pipeline Users
dgarijo
 
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 2019
Maurício Aniche
 
Differences in-task-descriptions
Differences in-task-descriptionsDifferences in-task-descriptions
Differences in-task-descriptionsSameer Chavan
 
Lecture5.pdf
Lecture5.pdfLecture5.pdf
Lecture5.pdf
Take1As
 
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 Environment
ijcnes
 
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
Jennifer 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.
 
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 Workshop
Marijn Koolen
 
TESTA to FASTECH Presentation
TESTA to FASTECH PresentationTESTA to FASTECH Presentation
TESTA to FASTECH Presentation
Tansy_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 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
 

Similar to Documenting design pattern instances: A Family of experiments on Source code comprehensibility (20)

Master's Theses in Bioinformatics and Computational Biology
Master's Theses in Bioinformatics and Computational BiologyMaster's Theses in Bioinformatics and Computational Biology
Master's Theses in Bioinformatics and Computational Biology
 
Online Recitation Sessions
Online Recitation SessionsOnline Recitation Sessions
Online Recitation Sessions
 
Pedersen masters-thesis-oct-10-2014
Pedersen masters-thesis-oct-10-2014Pedersen masters-thesis-oct-10-2014
Pedersen masters-thesis-oct-10-2014
 
Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"
Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"
Gobert, Dede, Martin, Rose "Panel: Learning Analytics and Learning Sciences"
 
Thesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.pptThesis+of+zohreh+sharafi.ppt
Thesis+of+zohreh+sharafi.ppt
 
Workflow Reuse in Practice: A Study of Neuroimaging Pipeline Users
Workflow Reuse in Practice: A Study of Neuroimaging Pipeline UsersWorkflow Reuse in Practice: A Study of Neuroimaging Pipeline Users
Workflow Reuse in Practice: A Study of Neuroimaging Pipeline Users
 
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...
 
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 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...
 

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 asilo
Gabriella 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 RUIAP
Gabriella 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 territoriale
Gabriella Dodero
 
Ludicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in MoodleLudicizzazione di un MOOC in Moodle
Ludicizzazione di un MOOC in Moodle
Gabriella Dodero
 
Tutto il MOOC minuto per minuto
Tutto il MOOC minuto per minutoTutto il MOOC minuto per minuto
Tutto il MOOC minuto per minuto
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 unibz
Gabriella Dodero
 
Alex nel paese degli oggetti informatici
Alex nel paese degli oggetti informaticiAlex nel paese degli oggetti informatici
Alex nel paese degli oggetti informatici
Gabriella Dodero
 
L'Extreme Apprenticeship funziona davvero
L'Extreme Apprenticeship funziona davveroL'Extreme Apprenticeship funziona davvero
L'Extreme Apprenticeship funziona davvero
Gabriella Dodero
 
Pi Day @ unibz
Pi Day @ unibzPi Day @ unibz
Pi Day @ unibz
Gabriella Dodero
 
Workshop sport e università - unibz
Workshop sport e università - unibzWorkshop sport e università - unibz
Workshop sport e università - unibz
Gabriella Dodero
 
La rete RUIAP delle universita' italiane per l'apprendimento permanente
La rete RUIAP delle universita' italiane per l'apprendimento permanenteLa rete RUIAP delle universita' italiane per l'apprendimento permanente
La rete RUIAP delle universita' italiane per l'apprendimento permanente
Gabriella Dodero
 
Extreme Apprenticeship: what do students think?
Extreme Apprenticeship: what do students think?Extreme Apprenticeship: what do students think?
Extreme Apprenticeship: what do students think?
Gabriella Dodero
 
Quando i computer non funzionano, su Marte
Quando i computer non funzionano, su MarteQuando i computer non funzionano, su Marte
Quando i computer non funzionano, su Marte
Gabriella Dodero
 
A portrait of Italian Women rectors in 2040
A portrait of Italian Women rectors in 2040A portrait of Italian Women rectors in 2040
A portrait of Italian Women rectors in 2040
Gabriella Dodero
 
Kids playing business games, Are you kidding?
Kids playing business games, Are you kidding?Kids playing business games, Are you kidding?
Kids playing business games, Are you kidding?
Gabriella Dodero
 
Extreme Apprenticeship ... 2+ years later
Extreme Apprenticeship ... 2+ years laterExtreme Apprenticeship ... 2+ years later
Extreme Apprenticeship ... 2+ years later
Gabriella Dodero
 
"Fare rete" per l'apprendimento permanente universitario in Italia
"Fare rete" per l'apprendimento permanente universitario in Italia"Fare rete" per l'apprendimento permanente universitario in Italia
"Fare rete" per l'apprendimento permanente universitario in Italia
Gabriella Dodero
 
Extreme apprenticeship: a new way of teaching Computer Science?
Extreme apprenticeship: a new way of teaching Computer Science?Extreme apprenticeship: a new way of teaching Computer Science?
Extreme apprenticeship: a new way of teaching Computer Science?
Gabriella Dodero
 
Eucen2011 FUB
Eucen2011 FUBEucen2011 FUB
Eucen2011 FUB
Gabriella Dodero
 

More from Gabriella Dodero (19)

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
 
Tutto il MOOC minuto per minuto
Tutto il MOOC minuto per minutoTutto il MOOC minuto per minuto
Tutto il MOOC minuto per minuto
 
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
 
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
 
La rete RUIAP delle universita' italiane per l'apprendimento permanente
La rete RUIAP delle universita' italiane per l'apprendimento permanenteLa rete RUIAP delle universita' italiane per l'apprendimento permanente
La rete RUIAP delle universita' italiane per l'apprendimento permanente
 
Extreme Apprenticeship: what do students think?
Extreme Apprenticeship: what do students think?Extreme Apprenticeship: what do students think?
Extreme Apprenticeship: what do students think?
 
Quando i computer non funzionano, su Marte
Quando i computer non funzionano, su MarteQuando i computer non funzionano, su Marte
Quando i computer non funzionano, su Marte
 
A portrait of Italian Women rectors in 2040
A portrait of Italian Women rectors in 2040A portrait of Italian Women rectors in 2040
A portrait of Italian Women rectors in 2040
 
Kids playing business games, Are you kidding?
Kids playing business games, Are you kidding?Kids playing business games, Are you kidding?
Kids playing business games, Are you kidding?
 
Extreme Apprenticeship ... 2+ years later
Extreme Apprenticeship ... 2+ years laterExtreme Apprenticeship ... 2+ years later
Extreme Apprenticeship ... 2+ years later
 
"Fare rete" per l'apprendimento permanente universitario in Italia
"Fare rete" per l'apprendimento permanente universitario in Italia"Fare rete" per l'apprendimento permanente universitario in Italia
"Fare rete" per l'apprendimento permanente universitario in Italia
 
Extreme apprenticeship: a new way of teaching Computer Science?
Extreme apprenticeship: a new way of teaching Computer Science?Extreme apprenticeship: a new way of teaching Computer Science?
Extreme apprenticeship: a new way of teaching Computer Science?
 
Eucen2011 FUB
Eucen2011 FUBEucen2011 FUB
Eucen2011 FUB
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 

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