Unified Language User Guides
iCR User Guide 5.0
iCR User Guide 5.0
  • Table of contents
    • Introduction
    • Overview
    • Authorizing Access to Your Source Code
      • Authenticating GitHub Cloud Access Using OAuth
      • Authenticating GitHub Cloud Access Using PAT
      • Authenticating GitHub Enterprise Access Using OAuth
      • Authenticating GitHub Enterprise Access Using PAT
      • Authenticating GitLab Cloud Access Using OAuth
      • Authenticating GitLab Cloud Access Using PAT
      • Authenticating GitLab Enterprise Access Using OAuth
      • Authenticating GitLab Enterprise Access Using PAT
      • Authenticating Bitbucket Cloud Access using OAuth
    • Using the Navigator
      • Connecting to the Navigator
      • Setting your User Password
      • Updating your User Information
      • The Navigator top banner
      • The Analysis Engine status
      • Selecting Your Source Code
        • Using a cloud-based VCS
        • Selecting your branch
        • Using a private VCS
        • Using a local project
        • Limiting the files to be analyzed
      • Integrating with your bug tracking system
        • Integrating with Jira - Define Your Project
        • Integrating with Jira - Authorizing Access for iCR
        • Integrating with Jira - Connecting with iCR
    • Using the Analysis Engine
      • Initiating an analysis
      • Monitoring the analysis
      • Interrupting the analysis
    • Reviewing your results
      • Reviewer summary and filters
        • Filter by Severity
        • Filter by Category
        • Filter by CWE
        • Filter by OWASP
        • Filter by Directory
      • Reviewing a fix
      • Accepting a fix
        • Accepting a fix when integrated with your bug system
      • Rejecting a fix
        • Rejecting a fix when integrated with your bug system
      • Undoing a fix
        • Undoing a fix when integrated with your bug system
      • Rejected fix history
      • Providing feedback
      • Applying the fixes
      • Cases needing manual attention
      • Comparing Analyses
      • Capturing results for printing or sharing
      • Ending a reviewer session
    • When you are complete
    • Integrating iCR Into Your CI/CD Workflows
      • Jenkins Workflow
        • Installing the plugin
        • Configuring the plugin
          • Creating a Personal Access Token
          • Copying Your Repository's URL
        • Viewing the Results
      • GitHub Actions Workflow
        • GitHub Actions Overview
        • Preparing the GitHub Workflow
          • Environment Variables
          • User Supplied Secrets
          • Setting the User Defined Secrets Values
        • Executing the Workflow
      • GitLab CI/CD Workflow
        • GitLab CI/CD OverView
        • Configuring the GitLab Script variables
          • Environment Variables
          • User Supplied Variables
          • Creating a Personal Access Token
          • Setting the User Defined Variable Values
        • Executing the Workflow
      • Multiple Workflows
    • Appendix – Language Specific Fixer Lists
    • Appendix - Sample Bug Listing
    • Appendix - Getting a BitBucket App Password for JENKINS
Powered by GitBook
On this page
  1. Table of contents
  2. Using the Navigator
  3. Selecting Your Source Code

Selecting your branch

PreviousUsing a cloud-based VCSNextUsing a private VCS

Last updated 5 months ago

In our example, the Baritone project shows many branches. Only one branch at a time can be selected. That is reflected using the radio buttons to choose which branch to examine. Let’s look at the master branch.

Notice that once a branch is selected an icon: appears at the end of the branch name. This icon represents access to the MonoRepo feature within iCR.

, "a monorepo is a software-development strategy in which the code for a number of projects is stored in the same repository." iCR supports this by allowing a User to navigate down through the directory structure of a branch and select the project within the branch to be used for analysis.

The User can navigate through the directory structure to identfy the specific project or directory of the branch which they wish to analyze. By default, the top directory, in this example, Baritone, is selected. Once selected, clicking the Set directory button will reduce the scope of the analysis to that chosen directory. That choice will remain in place until the User chooses a different directory in the future. To remove the scoping selection, simply choose the top directory once again. We'll click on buildSrc as our example.

Once the selection popup is closed, the branch list returns. If a subdirectory was selected, the name of the selected subdirectory is shown above the branch menu items just below the branch's name. Since we chose to limit the analysis to the buildSrc directory in this example, it is shown below:

NOTE: Only a single subdirectory can be chosen as the project to be analyzed for any repository and selected branch.

With the branch selected along with any possible subdirectory, the branch displays 4 icons:

Clicking on the icon brings up the following selection window:

The first icon, Analyze , is always available and allows you to perform an analysis on the branch. Clicking on it will take you to the Analysis screen which will display status on the ongoing analysis. Refer to for a more in-depth discussion of the Analysis Engine operation.

The second icon, Review , is not available unless one of more analyses of this branch have been executed. Once an analysis is complete, you would want to click on so that you can begin the process of looking at the detected problems and the corrections that iCR has provided. Handling Results covers the details of the Reviewer within iCR.

The third icon, Sync Branch , is made available when the current status of the branch is out of date with the currently checked-in status. That is, it may be “behind” the current master copy of the branch on the VCS repository. This is not unusual in that your developers may be working with a branch while others are also working on it. If you have made updates to the branch using the Reviewer those changes may already have been incorporated into the “main” branch. this ensures that the current branch is in sync with the latest changes.

Naturally, this will make further review of the old source invalid and so should be followed by a click of the icon to perform a new analysis of the updated source code.

The fourth icon, Engine Log , is there in the rare case that some error has occured during the analysis of your project. This icon allows you to capture the log from The Analysis Engine and send it to OpenRefactory in the event that further resolution of the failure is required.

According to Wikipedia
Analysis Engine