Let's get started with GridrawCM right now!

Code analysis can be started in 3 steps.

Start GridrawCM

  1. Log in to GitHub
    cm/gh-login.png

    To use GridrawCM you need a GitHub account.

  2. Approve the access permission
    cm/gh-auth.png

    GridrawCM needs the access permissions for GitHub.

  3. Register your repository
    cm/cm-repos.png

    Select the "Repositories" tab and check the repository you want to manage in GridrawCM.

This completes the setting! When you push to GitHub, the analysis starts automatically.

$ git push

What is GridrawCM?

cm/cm.png

Automatic and continuous code analysis

"CM" in GridrawCM means Continuous Modeling. It measures the design quality by code analysis and reviews the design. You can complete this iteration automatically, continuously, and in a short period. Currently, GridrawCM can analyze C/C++ code, output various code metrics, and output DSM to visualize the relationship of dependency.

cm/des.png

Development efficiency is raised by good design

If the software has passed the test, do you conclude that the code quality does not matter? Actually, development efficiency may be influenced by factors that cannot be tested, such as code reusability, maintainability, and ease of change. To improve the code and architectural design quality raises development efficiency in the long term.

cm/team.png

Change awareness of the design quality

GridrawCM detects code change (by a push to GitHub) and immediately starts code analysis. As the results are shared within the team as soon as the analysis has finished, the team members will naturally be more conscious about the code and the architectural design quality. The skills of the team members will consequently improve with this iteration.

Also, since the design quality that has been abstract up to now becomes concrete and expressed by numerical terms, it will be possible to refactor more effectively.

cm/click-gh-cm.png

Easy to introduce with several clicks

GridrawCM is a service that interlocks with GitHub. You don't have to install or configure the tools as you would with other tools.

cm/noneed-res.png

No resources required for management

To maintain design quality, adequate time and human resources are needed in order to build, operate, and promote an environment. GridrawCM carries out automatic analysis when someone has committed code, and it then notifies and shares the results with the members. In this way, we realize the visualization of the code and design quality without wasting valuable time and human resources.

cm/alert.png

Find the warning sign

Results of code analysis are stored in the server as history. You can see the trend of the code by graphing the history. If there is a different numerical change than usual, it may be a sign of abnormality.

Price

Analysis of GitHub's public repository is free. Please use all means.

Public repository

FREE

Private repository

$89 /repository month

Beta start campaign

Usage of private repositories is free for 1 month!

Troublesome registration is not required, and all functions can be used for a month. In addition, you will not be billed automatically after a month. Please try with confidence.

On-premises

Contuct us

FAQ

What languages are supported?

At present, GridrawCM supports C/C++. We plan to increase the number of support languages in the future.

How are the files to be analyzed?

GridrawCM finds (recursively) the *.c, *.cc, *.cpp, *.cpp, *.cpp, *.c++, *.cp, and *.cxx files that exist in the target repository and analyzes them.

What can be obtained as a result of analysis?

A DSM representing the relationship of dependencies in analyzing code and the various code metrics are obtained for each commit.

How to see DSM

When you look at an element in the row direction of a namespace/class/function, this element is dependent (used) by the column element featuring the "x" mark. On the other hand, when you look at an element in the column direction, this element depends on the row element with the "x" mark. For example, "x" marked on the row of "FuncA" means that "FuncA" depends on the column elements; that is, "FuncA" is invoked from column elements. If this changes the behavior of FuncA, you can see that the column elements with the "x" mark are also affected.

What are the meanings of the code metrics?

ncss
The number of valid statements contained in the function. This is not the number of lines but count statements such as conditional branches or instructions.
cycle-comp
Cyclomatic complexity.
npath-comp
NPath complexity. This is the result of multiplying all condition branch case numbers in the function.
call-depth
Depth of the function call. (Currently under development)
namespace-deps-count
Number of dependencies between namespaces.
namespace-rdeps-count
Number of reverse dependencies from namespaces.
class-deps-count
Number of dependencies between classes.
class-rdeps-count
Number of reverse dependencies from classes.
func-deps-count
Number of dependencies between functions.
func-rdeps-count
Number of reverse dependencies from functions.

I cannot find a function that is written in code

GridrawCM cannot detect function correctly in code that features compile errors. Even if the code compiles successfully at the local environment, it will sometimes fail analysis because of the absence of the header files or lack of the compile options at the cloud server. Currently, we are improving the system to be able to deal with such conditions. If you contact us, we will correspond individually.