Code Base Investigator (CBI) is an analysis tool that provides insight into the portability and maintainability of an application's source code.
-
Measure code divergence to understand how much code is specialized for different compilers, operating systems, hardware micro-architectures and more.
-
Visualize the distance between the code paths used to support different compilation targets.
-
Identify stale, legacy, code paths that are unused by any compilation target.
-
Export metrics and code path information required for P3 analysis using other tools.
- jsonschema
- Matplotlib
- NumPy
- pathspec
- Python 3
- PyYAML
- SciPy
- tqdm
The latest release of CBI is version 1.2.0. To download and install this release, run the following:
git clone --branch 1.2.0 https://github.com/intel/code-base-investigator.git
cd code-base-investigator
pip install .
We strongly recommend installing CBI within a virtual environment.
After installation, run codebasin -h
to see a complete list of options.
A full tutorial can be found in the online documentation.
Contributions to CBI are welcome in the form of issues and pull requests.
See CONTRIBUTING for more information.
See SECURITY for more information.
The main branch of CBI is the development branch, and should not be used in production. Tagged releases are available here.
Intel has adopted the Contributor Covenant as the Code of Conduct for all of its open source projects. See CODE OF CONDUCT for more information.
If your use of CBI results in a research publication, please consider citing the software and/or the papers that inspired its functionality (as appropriate). See CITATION for more information.