The following are three popular software review and analysis tool-
- Gerrit
Link: https://www.gerritcodereview.com/
Languages supported: Java EE
Licensing: Free
Advantages7–
- Acts as a repository
- Auto-review mode – all code pushed to the repository gets reviewd – so not possible to “commit” code changes without review
- Does not require additional command line tools to “push” the code.
- Integrated with LDAP with minimal configuration.
- Granular permissions possible – Allows granting and denying permissions at the repository level and at the low-end branch level. This is makes it easy to create different teams and allows only specified access based on their role and function.
- Automatic merge features to merge changes and integration
- Open source software, with active community support, and under active development.
- Has command line access capability – this helpful is automating and batch-processing reviews and in scripting.
- Supported by Eclipse, easily integrates into it– Eclipse is the most popular interface for code development
Disadvantages
- It works only with GitHub.
- Cannot handle auditing or post commit review
- Each new Gerrit account must be explicitly requested. This slows down the on-boarding time of new employees and team members.
- It has no official APIs. The existing API tools are released by independent developers by reverse-engineering Gerrit’s internal APIs.
- The ability to add a repository requires escalated administrator privileges
- Heavy in modules and slow in execution
- Steep learning curve to get navigate around it and productively use it
- Phabricator
Link: https://www.phacility.com/
Languages supported: PHP
Licensing: Free and commercial flavors available
Advantages7–
- Integrates with GitHub, Syn and Hg.
- Allows auditing and post commit review Integrates loads of tools.
- Phabricator features include code-review, bug-tracking, source-browsing, and creating a wiki.
- It is FOSS and PHP-based – and is light
- Active and responsive development team
- It has a comprehensive official API library
- Supports command line instructions
- Has well laid out logging features
- Efficient “search” functionality – within a single module and across disparate ones
Disadvantages
- Doesn’t manage repositories – it is necessary to interface with an external repository management tool.
- Permissions configurations are not fine-grained and don’t offer much control
- Codacy8
Link: https://www.codacy.com/
Languages supported: Python, Ruby, PHP, Java, JavaScript, Scala, Swift
Licensing: Free and commercial versions available
Advantages-
- Supports multiple languages
- Works on multiple Operating systems: Windows, Linux, and Mac
- Integrates with GitHub, Bitbucket, JIRA, YouTrack, Heroku, HipChat and Slack
- Easy setup
- Easily customizable
- Faster employee onboarding
- Small learning curve
- Detects duplicated code
- Detects unused functions and modules
Disadvantages-
- Slow
- The free version has limited features
- No auto-sync feature – has to manually be synced with GitHub
UI is clunky – not very clean