CScout 2.7

CScout is a source code analyzer and refactoring browser for collections of C programs.
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.

The application 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

- perform accurate cross project identifier renames,
- process sophisticated queries on identifiers, files, and functions,
- locate unused or wrongly-scoped identifiers,
- identify header files that don't need to be included, and
- create call graphs spanning both C functions and function-like macros.

CScout has already been applied on projects ranging from tens of thousands of lines, like the Apache web server, to millions of lines, like the Linux, the FreeBSD, and the Windows Research kernels. With CScout you can make your hardware really work for its money. For example, processing the 2.6.11 Linux kernel (4.2 million lines of code) requires 4052MB of RAM and 4.7 hours of processing on a dual-CPU 2.2MHz AMD Opteron computer. After the processing CScout holds details on 1.1 million identifiers and 89 thousand functions and function-like macros.

last updated on:
July 9th, 2009, 9:17 GMT
price:
FREE!
homepage:
www.spinellis.gr
license type:
Free for non-commercial use
developed by:
Diomidis Spinellis
category:
ROOT \ Programming \ Quality Assurance and Testing
CScout
Download Button

In a hurry? Add it to your Download Basket!

user rating 15

2.5/5
 

0/5

Rate it!
What's New in version 2.6
  • This version adds support for the display of graph files in PDF and PNG format, as well as options for specifying graph, node, and edge properties to dot.
  • In addition, the workspace compiler now deals correctly with scoped definitions for files, and yacc terminal symbols can be unified with the corresponding y.tab.h macros.
  • Finally, this version corrects extraneous line spacing in source code listings of files containing carriage returns, fixes the display of graphs with empty nodes, and corrects the handling of identifiers declaring a function at an inner scope with no storage-class specifier.
read full changelog

Add your review!

SUBMIT