SlideShare a Scribd company logo
1 of 32
Download to read offline
An Empirical Investigation of Relevant
Changes and Automation Needs in
Modern Code Review
Sebastian
o

Panichella
Nik
 

Zaugg
Outline
2
Context & Motivation:
Goal & Study Design:
Study Results & Findings
Modern Code Review (MCR)
-“Investigating the approaches and tools
that are needed by developers to
perform MCR activities”

- MCR Change Types
- MCR Automation Needs
I. Context & Motivation
What is Peer Code Review?
4
Peer Code Review


is the systematic examination by one’s peers of computer source code intended
to find and fix mistakes overlooked in the initial development phase.
What is Peer Code Review?
5
The essence of code review is providing an author timely


feedback on his or her changes
Vulnerabilities:


1) Format string exploits,


2) Race conditions,


3) Buffer overflows and


memory leak.


4) Etc.
Types of Code Reviews
6
Formal	Inspection	


Process


Over	The	Shoulder	


Reviews
Tool	assisted	


reviews
Pair	Programming
Email	Pass	Around	
Interviews
Modern Code Review (MCR)
7
Formal	Inspection	


Process


Over	The	Shoulder	


Reviews
Tool	assisted	


reviews
Pair	Programming
Email	Pass	Around	
Interviews
“Modern code review
is a form of code
inspection which has
the qualities of being
informal, tool-based
and frequent.”
“Expectations, Outcomes, and Challenges of Modern Code Review
”

Alberto Bacchelli and Christian Bird - ICSE 2013
Benefits
8
8
“Common Outcomes of Code Review”
Improved	


Code	Quality
Fewer	defects


	in	Code
Improved	Knowledge


	Transfer
Education	of	Junior	
Programmers
“Expectations, Outcomes, and Challenges of Modern Code Review
”

Alberto Bacchelli and Christian Bird - ICSE 2013
Concept of Code Review in Microsoft:
“If you do a code review and did not
learn anything about the area and you
still do not know anything about the
area, then that was not as good code
review as it could have been…
”
Motivation (Education)
9
9
Course Link
:

https://www.i
fi
.uzh.ch/en/seal/teaching/courses/sme.html
I am teaching a course called “Software
Maintenance and Evolution” since 2015…
Students’ questions on the
lecture “Peer Code Review:
Theory and Practices”
Motivation (Education)
10
10
Course Link
:

https://www.i
fi
.uzh.ch/en/seal/teaching/courses/sme.html
I am teaching a course called “Software
Maintenance and Evolution” since 2015…
Any References on MCR
Change Types?
Any References on MCR
Tools Limitation?
… or MCR
Automation
Needs?
Students’ questions on the
lecture “Peer Code Review:
Theory and Practices”
Motivation (Education)
11
11
I am teaching a course called “Software
Maintenance and Evolution” since 2015…
Students’ questions on the
lecture “Peer Code Review:
Theory and Practices”
Any References on MCR
Change Types?
Any References on MCR
Tools Limitation?
… or MCR
Automation
Needs?
“No comprehensive
related work found…”
Motivation (Education)
12
12
I am teaching a course called “Software
Maintenance and Evolution” since 2015…
Sebastian
o

Panichella
Nik
 

Zaugg
Students’ questions on the
lecture “Peer Code Review:
Theory and Practices”
Any References on MCR
Change Types?
Any References on MCR
Tools Limitation?
… or MCR
Automation
Needs?
“No comprehensive
related work found…”
Motivation (Education)
13
13
I am teaching a course called “Software
Maintenance and Evolution” since 2015…
Students’ questions on the
lecture “Peer Code Review:
Theory and Practices”
Any References on MCR
Change Types?
Any References on MCR
Tools Limitation?
… or MCR
Automation
Needs?
Sebastian
o

Panichella
Nik
 

Zaugg
… hence, Nik and I decided to
make the students happy by
writing our own work on it.
II. Goal & Study Design
Goal & Research Questions
15
15
• RQ1: What types of changes occur during MCR?
Goal: “Investigating the approaches and tools that are
needed by developers	to perform MCR activities”.
• RQ2: What are the emerging automation needs of
developers in MCR?
Research Approach
16
16
Research Approach
17
17
Beller et al. [22] RQ1
Analyzed MCR comments and 

code of 10 projects
Research Approach
18
18
Beller et al. [22] RQ1 We surveyed 52 developers
We surveyed 14 additional participants
Research Approach
19
19
Beller et al. [22] RQ1 RQ2
Research Approach
20
20
Beller et al. [22] RQ1 RQ2
III. Study Results & Findings
22
22
• RQ1: What types of changes occur during MCR?
Code Review chAnges Model (CRAM)
IIn RED the
categories not
present in the
schema


by Beller et al.
23
23
Code Review chAnges Model (CRAM)
IIn RED the
categories not
present in the
schema


by Beller et al.
• RQ1: What types of changes occur during MCR?
24
24
IIn RED the
categories not
present in the
schema


by Beller et al.
• RQ1: What types of changes occur during MCR?
25
25
IIn RED the
categories not
present in the
schema


by Beller et al.
Observation
• RQ1: What types of changes occur during MCR?
• RQ2: What are the emerging automation needs of
developers in MCR?
• RQ2: What are the emerging automation needs of
developers in MCR?
• RQ2: What are the emerging automation needs of
developers in MCR?
• RQ2: What are the emerging automation needs of
developers in MCR?
• RQ2: What are the emerging automation needs of
developers in MCR?
Data
Data
• RQ2: What are the emerging automation needs of
developers in MCR?
Example of new solution in MCR:
Summary


Generation
Conclusion & Future Work
32
Context:
Our Work:
Study Results & Findings
Modern Code Review (MCR)
-“Investigating the approaches and tools
that are needed by developers to
perform MCR activities”

- MCR Change Types
- MCR Automation Needs

More Related Content

Similar to An Empirical Investigation of Relevant Changes and Automation Needs in Modern Code Review

On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoftMichaela Greiler
 
Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?Sebastiano Panichella
 
Week 1 lecture 2 - introduction to re
Week 1   lecture 2 - introduction to reWeek 1   lecture 2 - introduction to re
Week 1 lecture 2 - introduction to reHoo Jason
 
Managing Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsManaging Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsSimon Price
 
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...Lviv Startup Club
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...Jayanthi Kannan MK
 
Agile Development – Why requirements matter
Agile Development – Why requirements matterAgile Development – Why requirements matter
Agile Development – Why requirements matterAgile Austria Conference
 
Micro patterns in agile software
Micro patterns in agile softwareMicro patterns in agile software
Micro patterns in agile softwareUjjwal Joshi
 
Software lifecycle lodhi (1)
Software lifecycle   lodhi (1)Software lifecycle   lodhi (1)
Software lifecycle lodhi (1)Nitesh Nayal
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process modelsSyed Zaid Irshad
 

Similar to An Empirical Investigation of Relevant Changes and Automation Needs in Modern Code Review (20)

On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoft
 
Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?Would Static Analysis Tools Help Developers with Code Reviews?
Would Static Analysis Tools Help Developers with Code Reviews?
 
Week 1 lecture 2 - introduction to re
Week 1   lecture 2 - introduction to reWeek 1   lecture 2 - introduction to re
Week 1 lecture 2 - introduction to re
 
Customizing iso 9126 quality model for evaluation of b2 b applications
Customizing iso 9126 quality model for evaluation of b2 b applicationsCustomizing iso 9126 quality model for evaluation of b2 b applications
Customizing iso 9126 quality model for evaluation of b2 b applications
 
Managing Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsManaging Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development Projects
 
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
Нікіта Галкін “Technical backlog: інструкція до застосування” Kyiv Project Ma...
 
Ladc presentation
Ladc presentationLadc presentation
Ladc presentation
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
2 (1).ppt
2 (1).ppt2 (1).ppt
2 (1).ppt
 
1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
 
Agile Development – Why requirements matter
Agile Development – Why requirements matterAgile Development – Why requirements matter
Agile Development – Why requirements matter
 
Micro patterns in agile software
Micro patterns in agile softwareMicro patterns in agile software
Micro patterns in agile software
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software lifecycle lodhi (1)
Software lifecycle   lodhi (1)Software lifecycle   lodhi (1)
Software lifecycle lodhi (1)
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
 

More from Sebastiano Panichella

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Sebastiano Panichella
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSebastiano Panichella
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...Sebastiano Panichella
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsSebastiano Panichella
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Sebastiano Panichella
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...Sebastiano Panichella
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Sebastiano Panichella
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingSebastiano Panichella
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Sebastiano Panichella
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsSebastiano Panichella
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Sebastiano Panichella
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22Sebastiano Panichella
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021. Sebastiano Panichella
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Sebastiano Panichella
 
A Framework for Multi-source Studies based on Unstructured Data.
A Framework for Multi-source Studies based on Unstructured Data.A Framework for Multi-source Studies based on Unstructured Data.
A Framework for Multi-source Studies based on Unstructured Data.Sebastiano Panichella
 

More from Sebastiano Panichella (20)

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical Systems
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software Engineering
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz Testing
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play Apps
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22
 
NLBSE’22: Tool Competition
NLBSE’22: Tool CompetitionNLBSE’22: Tool Competition
NLBSE’22: Tool Competition
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
 
A Framework for Multi-source Studies based on Unstructured Data.
A Framework for Multi-source Studies based on Unstructured Data.A Framework for Multi-source Studies based on Unstructured Data.
A Framework for Multi-source Studies based on Unstructured Data.
 

Recently uploaded

Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Baileyhlharris
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Delhi Call girls
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatmentnswingard
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIINhPhngng3
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoKayode Fayemi
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lodhisaajjda
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfSkillCertProExams
 

Recently uploaded (20)

Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 

An Empirical Investigation of Relevant Changes and Automation Needs in Modern Code Review

  • 1. An Empirical Investigation of Relevant Changes and Automation Needs in Modern Code Review Sebastian o Panichella Nik Zaugg
  • 2. Outline 2 Context & Motivation: Goal & Study Design: Study Results & Findings Modern Code Review (MCR) -“Investigating the approaches and tools that are needed by developers to perform MCR activities” - MCR Change Types - MCR Automation Needs
  • 3. I. Context & Motivation
  • 4. What is Peer Code Review? 4 Peer Code Review 
 is the systematic examination by one’s peers of computer source code intended to find and fix mistakes overlooked in the initial development phase.
  • 5. What is Peer Code Review? 5 The essence of code review is providing an author timely feedback on his or her changes Vulnerabilities: 1) Format string exploits, 2) Race conditions, 3) Buffer overflows and memory leak. 4) Etc.
  • 6. Types of Code Reviews 6 Formal Inspection Process Over The Shoulder Reviews Tool assisted reviews Pair Programming Email Pass Around Interviews
  • 7. Modern Code Review (MCR) 7 Formal Inspection Process Over The Shoulder Reviews Tool assisted reviews Pair Programming Email Pass Around Interviews “Modern code review is a form of code inspection which has the qualities of being informal, tool-based and frequent.” “Expectations, Outcomes, and Challenges of Modern Code Review ” Alberto Bacchelli and Christian Bird - ICSE 2013
  • 8. Benefits 8 8 “Common Outcomes of Code Review” Improved Code Quality Fewer defects in Code Improved Knowledge Transfer Education of Junior Programmers “Expectations, Outcomes, and Challenges of Modern Code Review ” Alberto Bacchelli and Christian Bird - ICSE 2013 Concept of Code Review in Microsoft: “If you do a code review and did not learn anything about the area and you still do not know anything about the area, then that was not as good code review as it could have been… ”
  • 9. Motivation (Education) 9 9 Course Link : https://www.i fi .uzh.ch/en/seal/teaching/courses/sme.html I am teaching a course called “Software Maintenance and Evolution” since 2015… Students’ questions on the lecture “Peer Code Review: Theory and Practices”
  • 10. Motivation (Education) 10 10 Course Link : https://www.i fi .uzh.ch/en/seal/teaching/courses/sme.html I am teaching a course called “Software Maintenance and Evolution” since 2015… Any References on MCR Change Types? Any References on MCR Tools Limitation? … or MCR Automation Needs? Students’ questions on the lecture “Peer Code Review: Theory and Practices”
  • 11. Motivation (Education) 11 11 I am teaching a course called “Software Maintenance and Evolution” since 2015… Students’ questions on the lecture “Peer Code Review: Theory and Practices” Any References on MCR Change Types? Any References on MCR Tools Limitation? … or MCR Automation Needs? “No comprehensive related work found…”
  • 12. Motivation (Education) 12 12 I am teaching a course called “Software Maintenance and Evolution” since 2015… Sebastian o Panichella Nik Zaugg Students’ questions on the lecture “Peer Code Review: Theory and Practices” Any References on MCR Change Types? Any References on MCR Tools Limitation? … or MCR Automation Needs? “No comprehensive related work found…”
  • 13. Motivation (Education) 13 13 I am teaching a course called “Software Maintenance and Evolution” since 2015… Students’ questions on the lecture “Peer Code Review: Theory and Practices” Any References on MCR Change Types? Any References on MCR Tools Limitation? … or MCR Automation Needs? Sebastian o Panichella Nik Zaugg … hence, Nik and I decided to make the students happy by writing our own work on it.
  • 14. II. Goal & Study Design
  • 15. Goal & Research Questions 15 15 • RQ1: What types of changes occur during MCR? Goal: “Investigating the approaches and tools that are needed by developers to perform MCR activities”. • RQ2: What are the emerging automation needs of developers in MCR?
  • 17. Research Approach 17 17 Beller et al. [22] RQ1 Analyzed MCR comments and code of 10 projects
  • 18. Research Approach 18 18 Beller et al. [22] RQ1 We surveyed 52 developers We surveyed 14 additional participants
  • 21. III. Study Results & Findings
  • 22. 22 22 • RQ1: What types of changes occur during MCR? Code Review chAnges Model (CRAM) IIn RED the categories not present in the schema by Beller et al.
  • 23. 23 23 Code Review chAnges Model (CRAM) IIn RED the categories not present in the schema by Beller et al. • RQ1: What types of changes occur during MCR?
  • 24. 24 24 IIn RED the categories not present in the schema by Beller et al. • RQ1: What types of changes occur during MCR?
  • 25. 25 25 IIn RED the categories not present in the schema by Beller et al. Observation • RQ1: What types of changes occur during MCR?
  • 26. • RQ2: What are the emerging automation needs of developers in MCR?
  • 27. • RQ2: What are the emerging automation needs of developers in MCR?
  • 28. • RQ2: What are the emerging automation needs of developers in MCR?
  • 29. • RQ2: What are the emerging automation needs of developers in MCR?
  • 30. • RQ2: What are the emerging automation needs of developers in MCR? Data
  • 31. Data • RQ2: What are the emerging automation needs of developers in MCR? Example of new solution in MCR: Summary Generation
  • 32. Conclusion & Future Work 32 Context: Our Work: Study Results & Findings Modern Code Review (MCR) -“Investigating the approaches and tools that are needed by developers to perform MCR activities” - MCR Change Types - MCR Automation Needs