Codiga has joined Datadog!

Read the Blog·

Interested in our Static Analysis?

Sign up
← All posts
Julien Delange Thursday, August 8, 2019

Automate your Code Reviews on GitHub

Share

AUTHOR

Julien Delange, Founder and CEO

Julien is the CEO of Codiga. Before starting Codiga, Julien was a software engineer at Twitter and Amazon Web Services.

Julien has a PhD in computer science from Universite Pierre et Marie Curie in Paris, France.

See all articles

Today, Codiga is proud to announce a new feature: automatic code reviews on GitHub. This feature is available for all accounts, starting today. We hope this will be a significant step towards helping developers remove their technical debt and embrace our #nomoretechnicaldebt movement.

Why is automating Code Review important?

There are several factors at play:

  1. Consistency: code reviews are manual and often subjective. Reviewers can miss obvious defects in the code and issues can still end up in the codebase. By automating the code review process as much as possible, we make sure that any issues detected by the analysis engine are reported to the submitter.
  2. Quality: the quality of a code review depends on the skills and experience level of the reviewer. A less experienced developer may spend a lot of time meticulously combing through each line of code and still may not catch the all of the defects. A reviewer that is a friend of the submitter might be willing to ship the code, despite pending and unresolved issues. When using an automated process, these subjective factors are no longer a concern, ensuring a consistent quality of reviews every time.
  3. Finance: software engineers spend between 10% and 20% of their time doing code review (some think this goes up to 25%). By automating your code review, you can significantly reduce this time, meaning your productivity will improve overall. Today, software engineers are paid more than $100,000 a year. By reducing the time spent on code review from 20% to 5%, you get back at least $15,000/engineer per year. This is a conservative estimation, as engineers are paid more in some parts of the country (e.g. California), our automated Code Review can easily give you back more than $30,000 to $40,000 a year per engineer.

How does it work?

The automated Code Review feature is straightforward to use; (illustration below):

  1. Developers work on a change on a branch. They create a pull request on GitHub.
  2. Once the pull request is created, Codiga analyzes the code and populates the review on GitHub, directly on the pull request page.
  3. If the pull request is accepted and mergeable, developers can choose to merge it.
  4. If the pull request is not accepted and changes are necessary, developers can make the modifications, commit them, and the code review will be updated on the pull request page.

The GitHub code review interface

Our recent move to GitHub app provides the opportunity to have a more seamless integration with GitHub. Our platform now annotates each commit on GitHub with the results of our analysis, showing potential bugs that have been introduced by the new code.

When sending a pull request, you can see the result of our smart engine analysis directly in the pull request and the results are shown directly on GitHub like this.

Code Review Status with Codiga status

If you click on the Code Review entry, all commits for this pull request are visible. For each issue, our smart engine surfaces its severity (important or not), its category (such as security, safety, complexity), and a description.

Annotation from the Codiga Automated Code Review

Issues can then be marked and flagged within the GitHub interface. If you believe our engine flagged an issue by mistake, you can flag it in our engine so that all further analyses will not report that issue again.

Ignore noisy warnings

Often, developers want to tailor code reviews and ignore smaller issues. We adapted our Code Review engine for that use case, meaning if you want to ignore an issue for a code review and all subsequent code reviews, you can easily do it.

To do so, go to the Resolve link associated with the Code Review and click on the ignore button, as shown below. By doing that, all issues of that kind will be ignored in the next reviews.

Check it for yourself

If you would like to see how a Code Review looks on GitHub, you can explore a public pull request we have within a public repository: https://github.com/codiga/code-review-example/pull/1

You can explore the GitHub interface and see how issues are being surfaced. The very same interface is available for your pull request and for all languages supported by Codiga.

How to enroll in Automatic Code Review (and for FREE)?

  1. Install our GitHub App on your GitHub account (user or organization). The app is available on github.com/apps/codiga
  2. Select the repositories you want to use
  3. Add the project on the Codiga App
  4. Send a pull request: the pull request will be analyzed automatically

Questions?

If you have any questions regarding this new feature or if you would like to discuss another use case, please contact us!

Are you interested in Datadog Static Analysis?

Sign up