Overview
Last updated
Last updated
The following is a quick overview of how to use iCR.
iCR consists of 3 major components:
The Navigator is the main component with which you interact;
The Analysis Engine analyzes source code and generates fixes;
The Reviewer helps you to review, approve/reject and apply the fixes. Using the Navigator, you will:
Direct the Analysis Engine to scan the source code of your iCR project; and
Initiate the Reviewer(s) to examine the generated fixes and accept or reject them.
To understand how each of these steps is executed, let’s first look at how to select and analyze a project. The figure below outlines the steps taken to select the code to be analyzed and initiating the analysis.
Select the repository that you are using to manage your source code. Test Drive iCR only supports repositories managed by GitHub.
Once logged into GitHub, the Navigator will present you with a view of all the available repositories associated with your User ID. You may then clone any repository you wish to examine, and you will have all of the branches available for analysis.
Pick a branch to analyze and simply click on the Analyze button in the Navigator.
Navigator will start the Analysis Engine as a background process. You may monitor the progress from the Navigator in a separate browser tab. For a long running analysis, you may choose to receive a notification and exit iCR. Only one analysis can be run at a time.
The Analysis Engine analyzes the source code and prepares the fixes. You may choose to have the Navigator send you an email notification when the analysis completes and the fixes are ready.
iCR employs a suite of scalable deep analysis tools to provide a comprehensive analysis of your program’s flow with emphasis on tracking references across methods. From that analysis, iCR then employs a broad family of what we call Fixers which are focused on common programming flaws and coding standards such as the SEI CERT Oracle Coding Standard for Java or the PEP 8 Style Guide for Python Code for Python.
The list of iCR supported fixers for the supported languages may be found using these links:
Once a project has been analyzed and fixes generated, they are available for review. The diagram below outlines the steps taken to perform a reviewing session.
Return to the Navigator when analysis is complete to review the fixes. Select any branch that has been analyzed and click on Review button within the Navigator. You may review past results even when the Analysis Engine is currently running on a project.
The Navigator starts the Reviewer component in a separate tab.
The Reviewer allows you to browse all of the fixes and gives you the opportunity to accept or reject various fixes. Any number of your developers can review and approve fixes concurrently. If there are fixes that you are not clear about or you think are incorrect, you can let our developers know by filling out a quick feedback report for that particular fix.
Test Drive iCR does not support applying fixes to your project. This feature is only available in the private platform deployment version of iCR.
The remainder of this guide will provide you with all the details needed to help you to run iCR on your projects.