Software inspections and the industrial production of software
Proc. of a symposium on Software validation: inspection-testing-verification-alternatives
ICICLE: groupware for code inspection
CSCW '90 Proceedings of the 1990 ACM conference on Computer-supported cooperative work
Does every inspection need a meeting?
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
CAIS: collaborative asynchronous inspection of software
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
A case study of distributed, asynchronous software inspection
ICSE '97 Proceedings of the 19th international conference on Software engineering
Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Software Inspections: An Effective Verification Process
IEEE Software
Scrutiny: A Collaborative Inspection and Review System
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
Conducting On-line Surveys in Software Engineering
ISESE '03 Proceedings of the 2003 International Symposium on Empirical Software Engineering
Studying Software Engineers: Data Collection Techniques for Software Field Studies
Empirical Software Engineering
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Open Borders? Immigration in Open Source Projects
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Using FindBugs on production software
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Open source software peer review practices: a case study of the apache server
Proceedings of the 30th international conference on Software engineering
Design and code inspections to reduce errors in program development
IBM Systems Journal
Understanding broadcast based peer review on open source software projects
Proceedings of the 33rd International Conference on Software Engineering
Using grounded theory to study the experience of software development
Empirical Software Engineering
Proceedings of the 2013 International Conference on Software Engineering
Convergent contemporary software peer review practices
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Social influences on secure development tool adoption: why security tools spread
Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing
Hi-index | 0.00 |
Code review is a common software engineering practice employed both in open source and industrial contexts. Review today is less formal and more lightweight than the code inspections performed and studied in the 70s and 80s. We empirically explore the motivations, challenges, and outcomes of tool-based code reviews. We observed, interviewed, and surveyed developers and managers and manually classified hundreds of review comments across diverse teams at Microsoft. Our study reveals that while finding defects remains the main motivation for review, reviews are less about defects than expected and instead provide additional benefits such as knowledge transfer, increased team awareness, and creation of alternative solutions to problems. Moreover, we find that code and change understanding is the key aspect of code reviewing and that developers employ a wide range of mechanisms to meet their understanding needs, most of which are not met by current tools. We provide recommendations for practitioners and researchers.