All Projects → dspinellis → Cscout

dspinellis / Cscout

Licence: gpl-3.0
C code refactoring browser

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Cscout

Clang Tools Extra
Mirror kept for legacy. Moved to https://github.com/llvm/llvm-project
Stars: ✭ 358 (+157.55%)
Mutual labels:  static-analysis, refactoring
flextool
C++ compile-time programming (serialization, reflection, code modification, enum to string, better enum, enum to json, extend or parse language, etc.)
Stars: ✭ 32 (-76.98%)
Mutual labels:  refactoring, static-analysis
Jedi
Awesome autocompletion, static analysis and refactoring library for python
Stars: ✭ 5,037 (+3523.74%)
Mutual labels:  static-analysis, refactoring
Phpdeprecationdetector
Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.
Stars: ✭ 263 (+89.21%)
Mutual labels:  static-analysis, refactoring
Cxxctp
DEPRECATED. USE INSTEAD github.com/blockspacer/flextool
Stars: ✭ 58 (-58.27%)
Mutual labels:  static-analysis, refactoring
Zpa
A parser and source code analyzer for PL/SQL and Oracle SQL.
Stars: ✭ 124 (-10.79%)
Mutual labels:  static-analysis
Rewrite
Semantic code search and transformation
Stars: ✭ 134 (-3.6%)
Mutual labels:  refactoring
Argus Saf
Argus static analysis framework
Stars: ✭ 117 (-15.83%)
Mutual labels:  static-analysis
Php Cs Fixer
A tool to automatically fix PHP Coding Standards issues
Stars: ✭ 10,709 (+7604.32%)
Mutual labels:  static-analysis
Piranha
A tool for refactoring code related to feature flag APIs
Stars: ✭ 1,840 (+1223.74%)
Mutual labels:  refactoring
Php testability
Analyses and reports testability issues of a php codebase
Stars: ✭ 136 (-2.16%)
Mutual labels:  static-analysis
Rstcheck
Checks syntax of reStructuredText and code blocks nested within it
Stars: ✭ 130 (-6.47%)
Mutual labels:  static-analysis
Malwarelab vm Setup
Setup scripts for my Malware Analysis VMs
Stars: ✭ 126 (-9.35%)
Mutual labels:  static-analysis
Nodejsscan
nodejsscan is a static security code scanner for Node.js applications.
Stars: ✭ 1,874 (+1248.2%)
Mutual labels:  static-analysis
Reading
A list of computer-science readings I recommend
Stars: ✭ 1,919 (+1280.58%)
Mutual labels:  static-analysis
Dependency Cruiser
Validate and visualize dependencies. Your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.
Stars: ✭ 2,326 (+1573.38%)
Mutual labels:  static-analysis
Config Lint
Command line tool to validate configuration files
Stars: ✭ 118 (-15.11%)
Mutual labels:  static-analysis
Frama C Snapshot
Release snapshots of the Frama-C platform for source code analysis
Stars: ✭ 129 (-7.19%)
Mutual labels:  static-analysis
Typestat
Converts JavaScript to TypeScript and TypeScript to better TypeScript.
Stars: ✭ 136 (-2.16%)
Mutual labels:  static-analysis
Ruby Type Inference
Dynamic definitions and types provider for ruby static analysis
Stars: ✭ 129 (-7.19%)
Mutual labels:  static-analysis

Build Status Coverity Scan Build Status

CScout is a source code analyzer and refactoring browser for collections of C programs. It can process workspaces of multiple projects (a project is defined 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 (fast processors and large memory capacities) to analyze C source code beyond the level of detail and accuracy provided by current compilers and linkers. The analysis CScout performs takes into account the identifier scopes introduced by the C preprocessor and the C language proper scopes and namespaces. CScout has already been applied on projects of tens of thousands of lines to millions of lines, like the Linux, OpenSolaris, and FreeBSD kernels, and the Apache web server.

For more details, examples, and documentation visit the project's web site.

Building, Testing, Installing, Using

CScout has been compiled and tested on GNU/Linux (Debian jessie), Apple OS X (El Capitan), FreeBSD (11.0), and Cygwin. In order to build and use CScout you need a Unix (like) system with a modern C++ compiler, GNU make, and Perl. To test CScout you also need to be able to run Java from the command line, in order to use the HSQLDB database. To view CScout's diagrams you must have the GraphViz dot command in your executable file path.

  • To build run make. You can also use the -j make option to increase the build's speed.
  • To build and test, run make test.
  • To install (typically after building and testing), run sudo make install.
  • To see CScout in action run make example.

Under FreeBSD use gmake rather than make.

Testing requires an installed version of HSQLDB. If this is already installed in your system, specify to make the absolute path of the hsqldb directory, e.g. make HSQLDB_DIR=/usr/local/lib/hsqldb-2.3.3/hsqldb. Otherwise, make will automatically download and unpack a local copy of HSQLDB in the current directory.

Contributing

  • You can contribute to any of the open issues or you can open a new one describing what you want to do.
  • For small-scale improvements and fixes simply submit a GitHub pull request. Each pull request should cover only a single feature or bug fix. The changed code should follow the code style of the rest of the program. If you're contributing a feature don't forget to update the documentation. If you're submitting a bug fix, open a corresponding GitHub issue, and refer to the issue in your commit. Avoid gratuitous code changes. Ensure that the tests continue to pass after your change. If you're fixing a bug or adding a feature related to the language, add a corresponding test case.
  • Before embarking on a large-scale contribution, please open a GitHub issue.
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].