Date: October 23rd, 2020 (See Connex for link to Zoom, you need to use your UVic ID to access Connex)
- Learn about code assessment techniques that are used in industry to improve code quality
- Learn about empirical studies that have increased our understanding of code review and assessment techniques and tools that are applicable to industry
- Discuss how empirical studies may be limited and what we can do about it
- Learn how to do code reviews, how they can improve code quality and how to discuss/promote code reviews on the job or in job interviews
- Jorge Aranda, Workday
- Chris Bird, Microsoft Research
- Michaela Greiler, Code Review Consultant
- Brian Houck, Microsoft
- Ali Mesbah, UBC
- Assertions Are Strongly Correlated with Test Suite Effectiveness by Yucheng Zhang and Ali Mesbah, ESEC/FSE 2015.
- The Secret Life of Bugs: Going Past the Errors and Omissions in Software Repositories, PPT file by Jorge Aranda and Gina Venolia, ICSE '09: Proceedings of the 31st International Conference on Software Engineering, May 2009, Pages 298–308.
- Expectations, Outcomes, and Challenges of Modern Code Review by Christian Bird Alberto Bacchelli, ICSE 2013.
- Refactoring Book
- Code Reviewing in the Trenches: Understanding Challenges and Best Practices by Laura MacLeod, M. Greiler, M. Storey, C. Bird and J. Czerwonka, IEEE Softwre 2017.
Time | Speaker | Topic |
---|---|---|
1:30-2:00 | Jorge Aranda | The Secret Life of Bugs |
2:00-2:30 | Ali Mesbah | Assertions Are Strongly Correlated with Test Suite Effectiveness |
2:30-2:45 | Break | |
2:45-3:15 | Chris Bird | "Modern" Code Review: From Research to Practice |
3:15-3:45 | Brian Houck | Code Review and Assessment: A Perspective from the Trenches |
3:45-4:20 | Code Review Activity (provided by Michaela Greiler) |
For this class activity, Michaela Greiler has generously shared with us an exercise she uses in industry to train developers how to conduct effective code reviews (see https://www.michaelagreiler.com/).
For this activity:
- Individually, spend approx. 10 mins reviewing the (to be) supplied source code. Refer to Dr. Greiler's checklist as you complete this review.
- Would you accept and merge this code as a contribution as is, yes or no? Write up a review that you would give to the submitter of this code with your feedback.
- In small breakout groups, discuss and compare your individual reviews. Discuss which points you covered in the checklist. Which parts were not relevant?
- How would the checklist help in a future code review you might do on the job?
- What kinds of training would you need to follow all of the guidelines in this checklist? Do you feel prepared to do a code review?
- If you were asked about code review in a job interview now that you've seen this checklist, would it change how you answer a question about code review?
Write a blogpost on the above assigned materials in advance of the lecture (to be completed by 6pm the day before the workshop --> Thursday).
Your blogpost should synthesize information from all of the assigned pre workshop materials and it should include at most one discussion question per assigned reading/video/podcast. Copy these questions to the relevant Slack channel and like other questions you think should be asked of our guests (we can't ask all of them!). The course staff will curate/group them on Thursday evening. You may (and are encouraged to) update your blogpost after the workshop (but in a separate section of the post). The final version of your blogpost (if you improve it) is due by the following Monday at 6pm.