Skip to main content

Towards Code Review Guideline in a Classroom

  • Conference paper
  • First Online:
Frontiers in Software Engineering Education (FISEE 2019)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12271))

Included in the following conference series:

  • 337 Accesses

Abstract

Software companies generally adopt code review to identify errors and suggest improvements to code, and share knowledge in the team. Companies assume a pre-knowledge on their engineers to undertake the activity. This could be difficult for freshly graduated students as in an academic environment code review is not often exercised: it is not an individual activity and requires substantial interaction among students, educators, deliverance, and acceptance of feedback, timely actions upon feedback as well as the ability to agree on a solution in the wake of diverse viewpoints. This paper proposes a guideline to code reviewing in a classroom. We report on the lessons learnt after applying the proposed guidelines to a large course in Computer Science. Students’ feedback suggests that the process has been well received with some points to be improved.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    An excerpt of the shared Google document can be found in here.

  2. 2.

    Examples of different tags: [CLOSED] here, [TO BE IMPLEMENTED] here and [TO BE DISCUSSED] here.

References

  1. Potvin, R., Levenberg, J.: Why Google stores billions of lines of code in a single repository. Commun. ACM 59(7), 78–87 (2016). https://doi.org/10.1145/2854146

    Article  Google Scholar 

  2. Rigby, P.C., Bird, C.: Convergent contemporary software peer review practices. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ser. ESEC/FSE 2013, pp. 202–212. ACM, New York (2013). https://doi.org/10.1145/2491411.2491444

  3. Saeed, S., Zyngier, D.: How motivation influences student engagement: a qualitative case study. J. Educ. Learn. 1(2), 252–267 (2012)

    Article  Google Scholar 

  4. Fagan, M.E.: Design and code inspections to reduce errors in program development. IBM Syst. J. 15(3), 182–211 (1976). http://domino.research.ibm.com/tchjr/journalindex.nsf/495f80c9d0f539778525681e00724804/91d9f4f02fea9d9085256bfa00685ad3?OpenDocument

  5. Bird, C., Bacchelli, A.: Expectations, outcomes, and challenges of modern code review. In: Proceedings of the International Conference on Software Engineering. IEEE, May 2013. https://www.microsoft.com/en-us/research/publication/expectations-outcomes-and-challenges-of-modern-code-review/

  6. Kemerer, C.F., Paulk, M.C.: The impact of design and code reviews on software quality: an empirical study based on PSP data. IEEE Trans. Softw. Eng. 35(4), 534–550 (2009)

    Article  Google Scholar 

  7. Sadowski, C., Söderberg, E., Church, L., Sipko, M., Bacchelli, A.: Modern code review: a case study at Google. In: International Conference on Software Engineering, Software Engineering in Practice Track (2018)

    Google Scholar 

  8. Johnson, P.M.: Reengineering inspection. Commun. ACM 41(2), 49–52 (1998). https://doi.org/10.1145/269012.269020

    Article  Google Scholar 

  9. Github Inc.: Write better code (2020). https://github.com/features/code-review/. Accessed June 2020

  10. Czerwonka, J., Greiler, M., Bird, C., Panjer, L., Coatta, T.: CodeFlow: improving the code review process at Microsoft. Queue 16(5), 81–100 (2018). https://doi.org/10.1145/3291276.3292420

    Article  Google Scholar 

  11. Gerrit: Gerrit Code Review, June 2020. https://www.gerritcodereview.com/. Accessed Apr 2020

  12. Rawat, S.: Getting Started with Review Board. Packt Publishing (2014)

    Google Scholar 

  13. Phacility Inc.: Discuss. Plan. Code. Review. Test. (2020). https://www.phacility.com/phabricator/. Accessed Apr 2020

  14. Tatarchenko, E.: Analysis of performing code review in the classroom. Master’s thesis (2012). http://up.csail.mit.edu/other-pubs/elena-thesis.pdf

  15. Kubincová, Z., Csicsolová, I.: Code review in high school programming. In: 2018 17th International Conference on Information Technology Based Higher Education and Training (ITHET), pp. 1–4 (2018)

    Google Scholar 

  16. Wind, D.K.: Teaching code review to university students, August 2017. https://towardsdatascience.com/teaching-code-review-in-university-courses-using-peer-feedback-5625fe039f2a. Accessed May 2020

  17. Hundhausen, C.D., Agrawal, A., Agarwal, P.: Talking about code: integrating pedagogical code reviews into early computing courses. ACM Trans. Comput. Educ. 13(3), 1–28 (2013). https://doi.org/10.1145/2499947.2499951

    Article  Google Scholar 

  18. Cohen, J.: White paper: 11 proven practices for more effective, efficient peer code review. IBM, Technical report, January 2011. https://www.ibm.com/developerworks/rational/library/11-proven-practices-for-peer-review/index.html

  19. Meyer, B.: Design and code reviews in the age of the internet. Commun. ACM 51(9), 66–71 (2008). https://doi.org/10.1145/1378727.1378744

    Article  Google Scholar 

  20. Stanfield, B.: The Art of Focused Conversation: 100 Ways to Access Group Wisdom in the Workplace. New Society Publishers, Gabriola Island, B.C (2000)

    Google Scholar 

  21. Aslam, H., Brown, J.A.: Affordance theory in game design: a guide toward understanding players. Synth. Lect. Games Comput. Intell. 4(1), 1–111 (2020)

    Google Scholar 

  22. de Carvalho, D., et al.: Teaching programming and design-by-contract. In: Auer, M.E., Tsiatsos, T. (eds.) ICL 2018. AISC, vol. 916, pp. 68–76. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-11932-4_7

    Chapter  Google Scholar 

  23. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall Inc., Upper Saddle River (1997)

    MATH  Google Scholar 

  24. Rivera, V.: Code Review in the classroom, Data (2020). https://github.com/varivera/CodeReview. Accessed Apr 2020

  25. Ng, V., Fai, C.M.: Engaging student learning through peer assessments. In: Proceedings of International Conference on E-Education, E-Business and E-Technology, ser. ICEBT 2017, pp. 30–35. ACM, New York (2017). https://doi.org/10.1145/3141151.3141165

  26. Freeman, S., et al.: Active learning increases student performance in science, engineering, and mathematics. Proc. Natl. Acad. Sci. 111(23), 8410–8415 (2014). https://www.pnas.org/content/111/23/8410

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Victor Rivera .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Rivera, V., Aslam, H., Naumchev, A., de Carvalho, D., Khazeev, M., Mazzara, M. (2020). Towards Code Review Guideline in a Classroom. In: Bruel, JM., Capozucca, A., Mazzara, M., Meyer, B., Naumchev, A., Sadovykh, A. (eds) Frontiers in Software Engineering Education. FISEE 2019. Lecture Notes in Computer Science(), vol 12271. Springer, Cham. https://doi.org/10.1007/978-3-030-57663-9_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-57663-9_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-57662-2

  • Online ISBN: 978-3-030-57663-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics