Let's Make it Fun: Gamifying and Formalizing Code Review

Code review is a highly important task in the software development lifecycle. However, some of the characteristics of code review hinder practitionersâ?? performance of this task. Code review is considered to be tedious and uninteresting, and includes challenging human aspects, such as collaboration among stakeholders. Despite the many concerns that need to be taken into consideration when performing code review, a comprehensive, formal definition thereof is yet to be determined. In a previous research, a set of formal guidelines for code review was presented, in the context of performing this task in a gamified environment. In this ongoing research, we explore whether the field of software engineering provides a formal definition for code review, and whether a formal definition is needed. The preliminary findings of this research indicate that while the field does provide several definitions for code review, in all that concerns the human aspect of this task, a formal definition is in order. As a response for this need, we present a framework of the task of code review toward its formalization, embedding gamification for motivation enhancement.

[1]  Eitan Farchi,et al.  Selective Homeworkless Reviews , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[2]  Raymond M. Henry,et al.  IMPROVING KNOWLEDGE COORDINATION IN EARLY STAGES OF SOFTWARE DEVELOPMENT USING GAMIFICATION , 2013 .

[3]  Leif Singer,et al.  It was a bit of a race: Gamification of version control , 2012, 2012 Second International Workshop on Games and Software Engineering: Realizing User Engagement with Game Engineering Techniques (GAS).

[4]  Matthias Jarke,et al.  Gamification for enforcing coding conventions , 2015, ESEC/SIGSOFT FSE.

[5]  Irit Hadar When intuition and logic clash: The case of the object-oriented paradigm , 2013, Sci. Comput. Program..

[6]  Lennart E. Nacke,et al.  Gamification : Toward a Definition , 2022 .

[7]  Miryung Kim,et al.  Critics: an interactive code review tool for searching and inspecting systematic changes , 2014, FSE 2014.

[8]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[9]  R. Nigel Horspool,et al.  Crowdsourcing Code and Process via Code Hunt , 2015, 2015 IEEE/ACM 2nd International Workshop on CrowdSourcing in Software Engineering.

[10]  Alberto Bacchelli,et al.  Expectations, outcomes, and challenges of modern code review , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  Irit Hadar,et al.  Gamifying Software Development Environments Using Cognitive Principles , 2015, CAiSE Forum.

[12]  Giordano Tamburrelli,et al.  Understanding gamification mechanisms for software development , 2013, ESEC/FSE 2013.

[13]  Adam A. Porter,et al.  Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment , 1995, IEEE Trans. Software Eng..

[14]  Jonathan Bell,et al.  Secret ninja testing with HALO software engineering , 2011, SSE '11.

[15]  Michele Lanza,et al.  Free Hugs -- Praising Developers for Their Actions , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.