SlideShare a Scribd company logo
Code Review Tool Evaluation
“.. software testing alone has limited effectiveness -- the
average defect detection rate is only 25 percent for unit
testing, 35 percent for function testing, and 45 percent for
integration testing. In contrast, the average effectiveness of
design and code inspections are 55 and 60 percent. “
Code Complete
Steve McConnell
Benefits
Finding bugs early – cheap to fix
Coding standards compliance
Consistent coding style across the company
Teaching and sharing knowledge
Consistent design and implementation
Higher software security
Team cohesion
Types of Code Review
Formal inspections
Over-the-shoulder reviews
E-mail pass-around reviews
Tool-Assisted reviews
Pair-Programming
4
http://www.ccs.neu.edu/home/lieber/courses/cs4500/f07/lectures/code-review-types.pdf
Code Review Types: Formal inspections
•  Formal inspections
•  “formal” review refers to a heavy-process review with three to six
participants meeting together in one room with print-outs and/or a
projector.
5
Planning
•  Verify materials
meet entry
criteria.
•  Schedule
introductory
meeting
Introductory
Meeting
•  Code is
presented by
author
Inspection
Meeting
•  Code is
reviewed
•  Defect logged
Rework
•  Author fixes
defects
Verification
Meeting
•  Verify defect
fixed
Complete
Code Review Types: Formal inspections
Pros
•  a lot of defects can
be identified
Cons
•  Needs preparation
•  Time consuming
•  No time to dig in
and be thorough
•  Difficult to get the
right people
Code Review Types: Over-the-
shoulder reviews
•  Over-the-shoulder reviews
•  a developer standing over the author’s workstation while the author
walks the reviewer through a set of code changes.
•  With modern desktop-sharing software a so-called “over-the-
shoulder” review can be made to work over long distances
7
Preparation
• Developer finds
available
reviewer in
person or
through shared-
desktop
meeting.
Inspection
Meeting
• Developer
walks reviewer
through the
code.
• Reviewer
interrupts with
questions.
• Developer
writes down
defects
Rework
• Developer fixes
defects
Complete
• When
developer
deems himself
finished, he
checks code
into version
control
Code Review Types: Over-the-
shoulder reviews
Pros
•  simplicity in execution
Cons
• you need schedule these sharing
meetings
• this is not an enforceable process –
there’s nothing that lets a manager know
whether all code changes are being
reviewed
• there are no metrics, reports, or tools that
measure anything at all about the
process
• it’s easy for the author to unintentionally
miss a change
• Defects fixes are not verified
• The author is controlling the pace of the
review, defects can be missed
8
Code Review Types: E-mail pass-
around reviews
1.  whole files or changes are packaged up by the author
and sent to reviewers via e-mail
2.  The version control system can also assist by sending
the e- mails out automatically
9
Code Check-
In
•  Developer
checks code into
SCM.
•  SCM server
sends emails to
reviewers based
on authors (group
leads) and files
(file owners)
Inspections
•  Recipients
examine code
diffs on their own
recognizance.
•  Debate until
resolved or
ignored
Rework
•  Developer
responds to
defects by
making changes
and checking the
code in.
•  Nothing special
to do because
code is already
checked into
version control.
Complete
•  Nothing special
to do because
code is already
checked into
version control
•  Don’t really know
when in this
phase because
there’s no
physical “review”
that can
complete.
Code Review Types: E-mail pass-
around reviews
Pros
•  easy to implement
•  Good for cross-location teams
•  the ease in which other people can
be brought into the review
•  they don’t knock reviewers out of
“the zone”
Cons
• finding and collecting the files under
review
• the author has to figure out how to gather
the files together
• reviewers have to extract those files from
the e-mail and generate differences
between each
• it can rapidly become difficult to track the
various threads of conversation and code
changes
• Review takes more time
• Lack of process: it’s not clear whether
anybody is reviewing the code
10
Code Review Types: Pair-
Programming
•  a development process that
incorporates continuous code
review.
11
Pros
•  this gives the reviewer lots
of inspection time and a
deep insight into the
problem at hand, so
perhaps this means the
review is more effective
Cons
•  this closeness is exactly
what you don’t want in a
reviewer; just as no author
can see all typos in his
own writing, a reviewer too
close to the code cannot
step back and critique it
from a fresh and unbiased
position
•  it takes too much time
Code Review Types: Tool-Assisted
reviews
•  Automated File
Gathering
•  Combined Display:
Differences,
Comments, Defects
•  Automated Metrics
Collection
•  Review Enforcement
•  Clients and
Integrations
(integration with IDE,
vision control, admin
web clients)
12
Pros
• Easy to organize
• Transparent process
• Configurable workflows
• No meetings to be set u:
reviewers can review the
code at any time
• Works for cross-location
teams
Cons
• Usually these tools are not
free
ToolsCriteria Crucible by
Atlassian
Gerrit Collaborator by
SmartBear
Review Board
Configurable
Workflow
pre- and post-
commit
Pre-commit Pre-commit
Post-commit
Pre-commit
Post-commit
Integration with Jira + (ootb) JIRA provides
plugin
- -
IDE plugins IDE Connector
(ootb, free) for
Eclipse and IntelliJ
Eclipse plugin,
IntelliJ
Eclipse plugin -
supports GIT /
Stash
git/stash (ootb) git git git
supports Java,
CSS, Javascript,
XML, property files
+ + + +
Email notifications + + + +
Reporting + - + -
Hosting In house / cloud In house In house In house
License cost Apache v2 Proprietary Proprietary MIT
13
Recommended Tool
14
Crucible & Fisheye
Flexible
code
reviews
pre-commit or post-
commit code
reviews
Workflow-based
reviews
One-click reviews
from changesets or
issues
Threaded
comments
inline discussions
Turn any review
into a threaded
discussion
JIRA
integration
and more
View source code
associated with
code reviews.
View and create
code reviews from
JIRA.
Turn Crucible code
review comments
into actionable
JIRA issues
Distributed
teams
Instant feedback on
review activity via
email and RSS
Audit trail of all
review activity
Activity streams
including source
code and code
reviews
15
Customer List
Review Process
Create
Review
•  Author creates
review (can be
pre-commit or
post-commit)
•  Author invites
reviewers
Inspections
•  Reviewers
comment on the
code
Rework
•  Author responds
to the comments
•  Update the
implementation
is required
Verification
•  Reviewers verify
changes and
complete their
reviews
Complete
•  Author
summarizes and
closes the
review
Crucible Price (server host)
https://www.atlassian.com/software/crucible/pricing
Next Steps
Assign Moderators
Create checklist for authors and reviewers
Define standards
Define workflow
Installation and Configuration
Purchase License
Thank you!
Resources
•  Five Types of Review
http://www.ccs.neu.edu/home/lieber/courses/cs4500/f07/lectures/code-
review-types.pdf
•  Cricible https://www.atlassian.com/software/crucible/overview
•  Collaborator - http://smartbear.com/product/collaborator/overview/
•  Wikipedia: https://en.wikipedia.org/wiki/List_of_tools_for_code_review

More Related Content

PDF
Cyber security series advanced persistent threats
PDF
Threat Intelligence
PPTX
PPT
Malware Analysis Made Simple
PPT
Counter Measures Of Virus
PPTX
The Importance of Cybersecurity in 2017
Cyber security series advanced persistent threats
Threat Intelligence
Malware Analysis Made Simple
Counter Measures Of Virus
The Importance of Cybersecurity in 2017

What's hot (20)

PDF
Ch 11: Hacking Wireless Networks
PPTX
Windows Registry
PDF
Supply chain-attack
PPTX
Ethical hacking
PPTX
PPTX
Software Composition Analysis Deep Dive
PPT
Cryptography
PPTX
Malware analysis
PPTX
Vulnerability and Assessment Penetration Testing
PPTX
Packet sniffers
PDF
Zabbix Smart problem detection - FISL 2015 workshop
PDF
Information Security Cryptography ( L02- Types Cryptography)
PPTX
Ethical hacking : Its methodologies and tools
PPTX
ARP Spoofing.pptx
PPTX
Cyber Threat Hunting Training (CCTHP)
PDF
Mobile Hacking
PPTX
PPTX
security onion
PPTX
Secure coding practices
Ch 11: Hacking Wireless Networks
Windows Registry
Supply chain-attack
Ethical hacking
Software Composition Analysis Deep Dive
Cryptography
Malware analysis
Vulnerability and Assessment Penetration Testing
Packet sniffers
Zabbix Smart problem detection - FISL 2015 workshop
Information Security Cryptography ( L02- Types Cryptography)
Ethical hacking : Its methodologies and tools
ARP Spoofing.pptx
Cyber Threat Hunting Training (CCTHP)
Mobile Hacking
security onion
Secure coding practices
Ad

Viewers also liked (20)

PPTX
Code review process with JetBrains UpSource
PPTX
Unit tests benefits
PPTX
Application Source code review Services
PPT
Code Review
PPTX
Code Review
PPTX
How a project is born. Intro to Discovery Phase
PPTX
Ecommerce in 2018
PDF
Code reviews vs Pull requests
PDF
Code Review
PDF
Splint the C code static checker
ODP
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
PDF
Rolling Out An Enterprise Source Code Review Program
PDF
Code Review
PPTX
Database Change Management
PDF
Superintendent performance planning and review
PDF
Your first performance review as a boss
PDF
Why you should integrate peer code reviews in your software company
PDF
Hay Group. Spravedlivost oplati truda v sectore IT Soft ukraine. licevaya i o...
PPTX
Making Java more dynamic: runtime code generation for the JVM
PPT
Code Review
Code review process with JetBrains UpSource
Unit tests benefits
Application Source code review Services
Code Review
Code Review
How a project is born. Intro to Discovery Phase
Ecommerce in 2018
Code reviews vs Pull requests
Code Review
Splint the C code static checker
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
Rolling Out An Enterprise Source Code Review Program
Code Review
Database Change Management
Superintendent performance planning and review
Your first performance review as a boss
Why you should integrate peer code reviews in your software company
Hay Group. Spravedlivost oplati truda v sectore IT Soft ukraine. licevaya i o...
Making Java more dynamic: runtime code generation for the JVM
Code Review
Ad

Similar to Code Review Tool Evaluation (20)

PPTX
Code_Review_Presentation_v22222_LLM.pptx
PPTX
White box testing
PPTX
Code Reviews
PPTX
Coding, Testing, Black-box and White-box Testing.pptx
PDF
2014 August - eXo Software Factory Overview
PPT
System Testing by system analysis design.ppt
PPT
Software testing-and-analysis
PDF
Continuous integration
PPT
Software Project Management lecture 10
PPTX
Software Testing Life Cycle Unit-3
PPTX
Capability Building for Cyber Defense: Software Walk through and Screening
PDF
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
PPT
Testing fundamentals
PDF
Software testing methods, levels and types
PPTX
software project management Software inspection
PDF
Continuous integration practices to improve the software quality
PDF
Continuous Integration Practices
PPT
Test planning and software's engineering
PDF
Introduction to-automated-testing
PDF
Introduction to Automated Testing
Code_Review_Presentation_v22222_LLM.pptx
White box testing
Code Reviews
Coding, Testing, Black-box and White-box Testing.pptx
2014 August - eXo Software Factory Overview
System Testing by system analysis design.ppt
Software testing-and-analysis
Continuous integration
Software Project Management lecture 10
Software Testing Life Cycle Unit-3
Capability Building for Cyber Defense: Software Walk through and Screening
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Testing fundamentals
Software testing methods, levels and types
software project management Software inspection
Continuous integration practices to improve the software quality
Continuous Integration Practices
Test planning and software's engineering
Introduction to-automated-testing
Introduction to Automated Testing

More from Kate Semizhon (14)

PDF
Cracking 1-on-1s
PDF
Serverless Pitfalls
PPTX
Seven Facts about Belarus
PPTX
Git 101
PPTX
How to improve code quality for iOS apps?
PPTX
ATG Best Practices
PPTX
Oracle ATG Commerce Overview for developers
PPTX
Sonar Review
PPTX
Oracle eCommerce (ATG) Database Best Practices
PPTX
ATG Advanced Profile Management
PPTX
SEO Instruments in ATG
PPTX
ATG pipelines
PPTX
Common mistakes for ATG applications that affect performance
PPTX
ATG Advanced RQL
Cracking 1-on-1s
Serverless Pitfalls
Seven Facts about Belarus
Git 101
How to improve code quality for iOS apps?
ATG Best Practices
Oracle ATG Commerce Overview for developers
Sonar Review
Oracle eCommerce (ATG) Database Best Practices
ATG Advanced Profile Management
SEO Instruments in ATG
ATG pipelines
Common mistakes for ATG applications that affect performance
ATG Advanced RQL

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
Machine Learning_overview_presentation.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
August Patch Tuesday
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Assigned Numbers - 2025 - Bluetooth® Document
A comparative analysis of optical character recognition models for extracting...
TLE Review Electricity (Electricity).pptx
Machine Learning_overview_presentation.pptx
Getting Started with Data Integration: FME Form 101
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A Presentation on Artificial Intelligence
Encapsulation_ Review paper, used for researhc scholars
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Diabetes mellitus diagnosis method based random forest with bat algorithm
August Patch Tuesday
Digital-Transformation-Roadmap-for-Companies.pptx
Mushroom cultivation and it's methods.pdf
Tartificialntelligence_presentation.pptx
A comparative study of natural language inference in Swahili using monolingua...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Approach and Philosophy of On baking technology

Code Review Tool Evaluation

  • 2. “.. software testing alone has limited effectiveness -- the average defect detection rate is only 25 percent for unit testing, 35 percent for function testing, and 45 percent for integration testing. In contrast, the average effectiveness of design and code inspections are 55 and 60 percent. “ Code Complete Steve McConnell
  • 3. Benefits Finding bugs early – cheap to fix Coding standards compliance Consistent coding style across the company Teaching and sharing knowledge Consistent design and implementation Higher software security Team cohesion
  • 4. Types of Code Review Formal inspections Over-the-shoulder reviews E-mail pass-around reviews Tool-Assisted reviews Pair-Programming 4 http://www.ccs.neu.edu/home/lieber/courses/cs4500/f07/lectures/code-review-types.pdf
  • 5. Code Review Types: Formal inspections •  Formal inspections •  “formal” review refers to a heavy-process review with three to six participants meeting together in one room with print-outs and/or a projector. 5 Planning •  Verify materials meet entry criteria. •  Schedule introductory meeting Introductory Meeting •  Code is presented by author Inspection Meeting •  Code is reviewed •  Defect logged Rework •  Author fixes defects Verification Meeting •  Verify defect fixed Complete
  • 6. Code Review Types: Formal inspections Pros •  a lot of defects can be identified Cons •  Needs preparation •  Time consuming •  No time to dig in and be thorough •  Difficult to get the right people
  • 7. Code Review Types: Over-the- shoulder reviews •  Over-the-shoulder reviews •  a developer standing over the author’s workstation while the author walks the reviewer through a set of code changes. •  With modern desktop-sharing software a so-called “over-the- shoulder” review can be made to work over long distances 7 Preparation • Developer finds available reviewer in person or through shared- desktop meeting. Inspection Meeting • Developer walks reviewer through the code. • Reviewer interrupts with questions. • Developer writes down defects Rework • Developer fixes defects Complete • When developer deems himself finished, he checks code into version control
  • 8. Code Review Types: Over-the- shoulder reviews Pros •  simplicity in execution Cons • you need schedule these sharing meetings • this is not an enforceable process – there’s nothing that lets a manager know whether all code changes are being reviewed • there are no metrics, reports, or tools that measure anything at all about the process • it’s easy for the author to unintentionally miss a change • Defects fixes are not verified • The author is controlling the pace of the review, defects can be missed 8
  • 9. Code Review Types: E-mail pass- around reviews 1.  whole files or changes are packaged up by the author and sent to reviewers via e-mail 2.  The version control system can also assist by sending the e- mails out automatically 9 Code Check- In •  Developer checks code into SCM. •  SCM server sends emails to reviewers based on authors (group leads) and files (file owners) Inspections •  Recipients examine code diffs on their own recognizance. •  Debate until resolved or ignored Rework •  Developer responds to defects by making changes and checking the code in. •  Nothing special to do because code is already checked into version control. Complete •  Nothing special to do because code is already checked into version control •  Don’t really know when in this phase because there’s no physical “review” that can complete.
  • 10. Code Review Types: E-mail pass- around reviews Pros •  easy to implement •  Good for cross-location teams •  the ease in which other people can be brought into the review •  they don’t knock reviewers out of “the zone” Cons • finding and collecting the files under review • the author has to figure out how to gather the files together • reviewers have to extract those files from the e-mail and generate differences between each • it can rapidly become difficult to track the various threads of conversation and code changes • Review takes more time • Lack of process: it’s not clear whether anybody is reviewing the code 10
  • 11. Code Review Types: Pair- Programming •  a development process that incorporates continuous code review. 11 Pros •  this gives the reviewer lots of inspection time and a deep insight into the problem at hand, so perhaps this means the review is more effective Cons •  this closeness is exactly what you don’t want in a reviewer; just as no author can see all typos in his own writing, a reviewer too close to the code cannot step back and critique it from a fresh and unbiased position •  it takes too much time
  • 12. Code Review Types: Tool-Assisted reviews •  Automated File Gathering •  Combined Display: Differences, Comments, Defects •  Automated Metrics Collection •  Review Enforcement •  Clients and Integrations (integration with IDE, vision control, admin web clients) 12 Pros • Easy to organize • Transparent process • Configurable workflows • No meetings to be set u: reviewers can review the code at any time • Works for cross-location teams Cons • Usually these tools are not free
  • 13. ToolsCriteria Crucible by Atlassian Gerrit Collaborator by SmartBear Review Board Configurable Workflow pre- and post- commit Pre-commit Pre-commit Post-commit Pre-commit Post-commit Integration with Jira + (ootb) JIRA provides plugin - - IDE plugins IDE Connector (ootb, free) for Eclipse and IntelliJ Eclipse plugin, IntelliJ Eclipse plugin - supports GIT / Stash git/stash (ootb) git git git supports Java, CSS, Javascript, XML, property files + + + + Email notifications + + + + Reporting + - + - Hosting In house / cloud In house In house In house License cost Apache v2 Proprietary Proprietary MIT 13
  • 15. Crucible & Fisheye Flexible code reviews pre-commit or post- commit code reviews Workflow-based reviews One-click reviews from changesets or issues Threaded comments inline discussions Turn any review into a threaded discussion JIRA integration and more View source code associated with code reviews. View and create code reviews from JIRA. Turn Crucible code review comments into actionable JIRA issues Distributed teams Instant feedback on review activity via email and RSS Audit trail of all review activity Activity streams including source code and code reviews 15
  • 17. Review Process Create Review •  Author creates review (can be pre-commit or post-commit) •  Author invites reviewers Inspections •  Reviewers comment on the code Rework •  Author responds to the comments •  Update the implementation is required Verification •  Reviewers verify changes and complete their reviews Complete •  Author summarizes and closes the review
  • 18. Crucible Price (server host) https://www.atlassian.com/software/crucible/pricing
  • 19. Next Steps Assign Moderators Create checklist for authors and reviewers Define standards Define workflow Installation and Configuration Purchase License
  • 21. Resources •  Five Types of Review http://www.ccs.neu.edu/home/lieber/courses/cs4500/f07/lectures/code- review-types.pdf •  Cricible https://www.atlassian.com/software/crucible/overview •  Collaborator - http://smartbear.com/product/collaborator/overview/ •  Wikipedia: https://en.wikipedia.org/wiki/List_of_tools_for_code_review