|
CScout: The C Refactoring Browser
CScout is a source code analyzer and refactoring browser for
collections of C programs.
It can process workspaces of multiple projects (we define a project
as a collection of C source files that are linked together)
mapping the complexity introduced
by the C preprocessor back into the original C source code files.
CScout takes advantage of modern hardware advances (fast processors
and large memory capacities) to analyze C source code beyond the level
of detail and accuracy provided by current compilers, linkers, and
other source code analyzers.
The analysis CScout performs takes into account the identifier scopes
introduced by the C preprocessor and the C language proper scopes and
namespaces.
After the source code analysis CScout can
allyesconfig configuration
(32 out of 36 million lines of code)
consumed 102 days of CPU time over a period of 53 hours
on a 96-core CPU with 256 GB or RAM.
The result of this processing is a
167 GiB SQLite database
holding details about 11 million identifiers, including 5.5 million macros,
mapped to 47 million identifier tokens.
Read more ..., walkthrough (CScout documentation). The source code of CScout is hosted on GitHub. CScout runs and has been tested under GNU/Linux, Microsoft Windows, Apple macOS, and FreeBSD, under several processor architectures. |