CScout: The C Refactoring Browser

翻译 2012年03月28日 10:01:01

CScout: The C Refactoring Browser

CScout is a source code analyzer and refactoring browser forcollections of C programs.It can process workspaces of multiple projects (we define a projectas a collection of C source files that are linked together)mapping the complexity introducedby the C preprocessor back into the original C source code files.CScout takes advantage of modern hardware advances (fast processorsand large memory capacities) to analyze C source code beyond the levelof detail and accuracy provided by current compilers, linkers, andother source code analyzers.The analysis CScout performs takes into account the identifier scopesintroduced by the C preprocessor and the C language proper scopes andnamespaces.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 fromtens of thousands of lines,like the Apache web server, to millions oflines, 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 adual-CPU 2.2MHz AMD Opteron computer.After the processing CScout holds details on 1.1 million identifiers and 89 thousandfunctions and function-like macros.
Read more ...,walkthrough(CScout documentation).

The licenseof the free unsupported CScout version allows youto freely use CScout on open source software code.A different CScout version is available under asupport contract for use on proprietary software.

CScout runs and has been tested underLinux,Microsoft Windows,Apple Mac OS X,FreeBSD, andSun Solaris,under several processor architectures.

CScout: A Refactoring Browser for C

CScout: A Refactoring Browser for C Diomidis Spinellis Athens University of Economics and Busine...
  • gxp
  • gxp
  • 2012年03月28日 11:01
  • 2413

Challenges of Refactoring C Programs .pdf

  • 2011年12月27日 23:28
  • 117KB
  • 下载

Refactoring-Improving the Design of Existing Code——学习笔记(2)

Chapter 7 Moving Features Between Objects (1)Move Method A method is, orwill be, using or used by ...


What Refacing: 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。 经...

UVA10879H Code Refactoring

Problem B Code Refactoring Time Limit: 2 seconds "Harry, my dream is a code waiting to be ...

Refactoring notes 20120105

《重构:改善既有代码的设计》阅读随笔 之前很长时间就听说了重构这个词。有一次baidu面试官还问过我,大致回答就是通过现有的代码组织出一个更好的结构,使以后的开发思路更清晰容易。然后问我重写和重...

Codeforces Gym 101190 (NEERC 2016) H. Hard Refactoring (模拟 + 树状数组)

H - Hard Refactoring题意Helen had come upon a piece of code that uses a lot of “magical constants”. Sh...


重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。  1、一般在代码里找出函数内的局部变量和参数。我找到了两个,each和 thisamount,前...

What Refactoring is, and what it isn’t

重构(Refactoring)这个词最初由Martin Fowler 和 Kent Beck给下的定义,它是一种修改,使软件的内部结构更容易理解,在不改变软件的可见行为方式前提下使软件更容易变更…它是...

Uva 10879 Code Refactoring

Problem B Code Refactoring Time Limit: 2 seconds "Harry, my dream is a code waiting to be ...
您举报文章:CScout: The C Refactoring Browser