http://en.wikipedia.org/wiki/List%5Fof%5Ftools%5Ffor%5Fstatic%5Fcode%5Fanalysis#C

List of tools for static code analysis

From Wikipedia, the free encyclopedia

Jump to: navigation, search

This is a list of significant tools for static code analysis.


Contents

[hide]

[edit] Historical products

  • Lint — the original static code analyzer of C code.

[edit] Open-source or Noncommercial products

[edit] Multi-language

  • RATS — Rough Auditing Tool for Security, which can scan C, C++, Perl, PHP and Python source code.
  • Yasca - Yet Another Source Code Analyzer, a plugin-based framework for scanning arbitrary file types, with plugins for scanning C/C++, Java, _javascript_, ASP, PHP, HTML/CSS, ColdFusion, COBOL, and other file types. It integrates with other scanners, including FindBugs, JLint, PMD, and Pixy.
  • CPD - The Copy/Paste Detector (CPD) is an add-on to PMD that finds duplicated code. CPD works with Java, JSP, C, C++, Fortran and PHP code.

[edit] .NET (C#, VB.NET and all .NET compatible languages)

  • FxCop — Free static analysis for Microsoft .NET programs that compile to CIL. Standalone and integrated in some Microsoft Visual Studio editions. >From Microsoft.
  • StyleCop - Analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Microsoft Visual Studio or integrated into an MSBuild project. Free download from Microsoft.

[edit] Java

  • Checkstyle — besides some static code analysis, it can be used to show violations of a configured coding standard
  • FindBugs — an open-source static bytecode analyzer for Java (based on Jakarta BCEL) from the University of Maryland.
  • PMD (software) — a static ruleset based Java source code analyzer that identifies potential problems.
  • Hammurapi - a versatile code review solution.
  • Sonar - a platform to manage source code quality
  • Soot - a language manipulation and optimization framework consisting of intermediate languages for Java

[edit] C

  • Sparse — A tool designed to find faults in the Linux kernel.
  • Splint — An open source evolved version of Lint (C language).
  • Uno — A tool designed to find most common type of programming errors without generating too much output.
  • BLAST (Berkeley Lazy Abstraction Software verification Tool) - a software model checker for C programs based on lazy abstraction.
  • Frama-C — A static analysis framework for C.

[edit] C/C++

  • Cppcheck — can find memory leaks, buffer overruns and many other common errors.

[edit] Objective-C +

[edit] Perl

  • Perl::Critic — module and program to help find deviations from commonly accepted best practices

[edit] Commercial products

[edit] Multi-language

  • Axivion Bauhaus Suite — a tool for C, C++, C#, Java and Ada code that comprises various analyses such as architecture checking, interface analyses, and clone detection.
  • CodeSecure - Appliance with Web interface and built-in language parsers for analyzing ASP.NET, VB.NET, C#, Java/J2EE, JSP, EJB, PHP, Classic ASP and _vbscript_.
  • CAST Application Intelligence Platform -- Detailed, audience-specific dashboards to measure quality and productivity. 30+ languages, SAP, Oracle, PeopleSoft, .NET, Java, C/C++, Struts, and all major databases.
  • Coverity Prevent — identifies security vulnerabilities and code defects in C, C++, C# and Java code.
  • DMS Software Reengineering Toolkit — supports custom analysis of C, C++, Java, COBOL, and many other languages.
  • Fortify — helps developers identify software security vulnerabilities in C/C++, .NET, Java, JSP, ASP.NET, ColdFusion, "Classic" ASP, PHP, VB6, _vbscript_, _javascript_, PL/SQL, T-SQL and COBOL as well as configuration files.
  • GrammaTech CodeSonar - Analyzes C,C++. Ada-Assured -Analyzes Ada
  • Klocwork Insight and Klocwork Developer for Java — provides security vulnerability and defect detection as well as architectural and build-over-build trend analysis for C, C++, C# and Java
  • Lattix, Inc. LDM - Architecture and dependency analysis tool for Ada, C/C++, Java, .NET software systems.
  • LDRA Testbed - A software analysis and testing tool suite for C, C++, Ada83, Ada95 and Assembler (Intel, Freescale, Texas Instruments).
  • Ounce Labs — automated source code analysis that enables organizations to identify and eliminate software security vulnerabilities in languages including Java, JSP, C/C++, C#, ASP.NET, and VB.Net.
  • Parasoft - Security, reliability, performance, and maintainability analysis of Java, JSP, C, C++, .NET (C#, ASP.NET, VB.Net, etc.), WSDL, XML, HTML, CSS, _javascript_, _vbscript_/ASP, and configuration files.
  • SofCheck Inspector — provides static detection of logic errors, race conditions, and redundant code for Java and Ada.
  • Sotoarc/Sotograph - Architecture and quality in-depth analysis and monitoring for Java, C#, C and C++
  • Structure101 - For understanding, analyzing, measuring and controlling the quality of your Software Architecture as it evolves over time. Available for Java and Ada, with support for C/C++ via Coverity and Programming Research.
  • Understand — analyzes C,C++, Java, Ada, Fortran, Jovial, Delphi — reverse engineering of source, code navigation, and metrics tool.
  • Visual Studio Team System - analyzes C++,C# source codes. only available in team suite and development edition.

[edit] .NET

Products covering multiple .NET languages.

  • ReSharper - Add-on for Visual Studio 2003/2005 from the creators of IntelliJ IDEA, which also provides static code analysis for C#.
  • NDepend - Simplifies managing a complex .NET code base by analyzing code dependencies, by defining design rules, by doing impact analysis, and by comparing different versions of the code (all .NET languages supported)
  • CodeIt.Right - combines Static Code Analysis and automatic Refactoring to best practices which allows automatically correct code errors and violations. Supports both C# and VB.NET.

[edit] C/C++

  • Abraxas Software CodeCheck — programmable static analysis and style checker for C and C++ code.
  • Astrée — Run-time error analyzer for C
  • Green Hills Software DoubleCheck — static analysis for C and C++ code.
  • HP Code Advisor — A static analysis tool for C and C++ programs
  • LDRA Testbed — A software analysis and testing tool suite for C & C++.
  • Microsoft PREfast - The "Analyze Tool" included with Microsoft Visual Studio Team Editions.
  • Microsoft PREfast for Drivers (PFD) - An extension to PREfast to allow better analysis of Windows device drivers.
  • Microsoft Static Driver Verifier (SDV) - Performs detailed code path analysis for Windows device drivers.
  • PAG — The Program Analyzer Generator.
  • PC-Lint — A software analysis tool for C & C++.
  • QA-C (and QA-C++) — deep static analysis of C for quality assurance and guideline enforcement.
  • Red Lizard's Goanna — Static analysis for C/C++ in Eclipse and Visual Studio.
  • Viva64 — analyzes C, C++ code to detect 64-bit portability issues.

[edit] Java

  • checKing - monitors the quality of software development process, including violations of coding rules for Java, JSP, _javascript_, XML and HTML.
  • IntelliJ IDEA — IDE for Java that also provides static code analysis.
  • Swat4j — a model based, goal oriented source code auditing tool for Java.

[edit] Visual Basic

  • Project Analyzer — static analysis tool for Visual Basic, Visual Basic .NET and Visual Basic for Applications.

[edit] Uncategorized

  • SemmleCode — object oriented code queries for static program analysis.


[edit] Formal methods tools

Tools that use a formal methods approach to static analysis (e.g., using static program assertions):

[edit] External links

[edit] See also

[edit] References


Reply via email to