Sebastiano Panichella and Nik Zaugg: An Empirical Investigation of Relevant Changes and Automation Needs in Modern Code Review. Empirical Software Engineering (EMSE) Journal.
Presented as J1 at The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
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
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…
”
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.
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?
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