All Projects → bright-tools → ccsm

bright-tools / ccsm

Licence: Apache-2.0 license
C Code Source Metrics - tool to gather simple metrics from C code

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ccsm

Clang Tutor
A collection of out-of-tree Clang plugins for teaching and learning
Stars: ✭ 223 (+619.35%)
Mutual labels:  clang
TON-Compiler
Clang compiler for Free TON Virtual Machine
Stars: ✭ 56 (+80.65%)
Mutual labels:  clang
flatorize
Generate fast implementations of mathematical expressions. Inclues a linear algebra library.
Stars: ✭ 18 (-41.94%)
Mutual labels:  clang
Bazel Compilation Database
Tool to generate compile_commands.json from the Bazel build system
Stars: ✭ 236 (+661.29%)
Mutual labels:  clang
xcross
"Zero Setup" cross-compilation for C/C++. Supports numerous architectures, build systems, C standard libraries, vcpkg, and Conan.
Stars: ✭ 29 (-6.45%)
Mutual labels:  clang
clangbuilder
Building Clang ♡ Utility and Environment
Stars: ✭ 101 (+225.81%)
Mutual labels:  clang
Scan Build
Clang's scan-build re-implementation in python
Stars: ✭ 224 (+622.58%)
Mutual labels:  clang
bazel-compile-commands-extractor
Goal: Enable awesome tooling for Bazel users of the C language family.
Stars: ✭ 295 (+851.61%)
Mutual labels:  clang
FrameOfReference
C++ library to pack and unpack vectors of integers having a small range of values using a technique called Frame of Reference
Stars: ✭ 36 (+16.13%)
Mutual labels:  clang
EmbedSanitizer
EmbedSantizer is a runtime race detection tool which extends ThreadSanitizer to detect data races in 32-bit ARM applications.
Stars: ✭ 16 (-48.39%)
Mutual labels:  clang
Checkedc
Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors. Checked C does not address use-after-free errors. This repo has a wiki for Checked C, sample code, the specification, a…
Stars: ✭ 2,692 (+8583.87%)
Mutual labels:  clang
Shafa-CD
File Compressor written in C using both Shannon Fano and RLE algorithms
Stars: ✭ 24 (-22.58%)
Mutual labels:  clang
perses
Language-agnostic program reducer.
Stars: ✭ 57 (+83.87%)
Mutual labels:  clang
Cppast.net
CppAst is a .NET library providing a C/C++ parser for header files powered by Clang/libclang with access to the full AST, comments and macros
Stars: ✭ 228 (+635.48%)
Mutual labels:  clang
edgeofchaos
This repository is not maintained anymore. If I have any significant contributions, I usually do a PR for the Faust libraries. This repository contains the Faust libraries for sound and information processing that I use to implement my music complex adaptive systems.
Stars: ✭ 51 (+64.52%)
Mutual labels:  complexity
Sol2
Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
Stars: ✭ 2,791 (+8903.23%)
Mutual labels:  clang
linux
Linux kernel source tree
Stars: ✭ 234 (+654.84%)
Mutual labels:  clang
C-Cpp-Coverage-for-CLion
Get coverage data in CLion using gcov or llvm-cov
Stars: ✭ 37 (+19.35%)
Mutual labels:  clang
c-project-template
A C project template with Makefile, command line options parsing, unittest using cmocka and valgrind
Stars: ✭ 97 (+212.9%)
Mutual labels:  clang
vuo
A realtime visual programming language for interactive media.
Stars: ✭ 103 (+232.26%)
Mutual labels:  clang

ccsm

C Code Source Metrics - tool to gather simple metrics from C code (C++ will hopefully be supported in the future).

Metrics may provide insight into the size and complexity of code (both of which have potential impacts on the ability to effectively test & maintain it).

Some of the metrics are very straight forward (and arguably may not be particularly useful by themselves), for example the count of the number of 'if' conditions. Other metrics are built on these, such as the McCabe cyclomatic complexity measure.

The aim is to also include metrics in order to support the set specified by HIS.

Output is hierarchical - for example, the metrics relating to each function are output and the metrics for a file will include the functions relating to the functions within that file. A global wrap-up provides a top-level overview of all files.

CCSM is also able to check metrics against specified limits and output a warning in the case that the limit is not adhered to.

Comparison To Other Tools

Other tools are available which analyse C code for metrics. It's possible that the results for some of the metrics will vary slightly between the tools.

Useful Links

  1. C99 Draft
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].