====== Static Source Code Analysis (Linting) ======
[[wpde>Statische Code-Analyse]] ([[wp>Static program analysis]]) :GB: :US:
* [[http://www.csoonline.com/article/477016/source-code-analysis-tools-how-to-choose-and-use-them|Source Code Analysis Tools]] -- How to Choose and Use Them
===== Metriken =====
==== Größe − „Anzahl an Programmzeilen“ ====
[[wpde>Lines of Code]]
* [[http://code.google.com/p/line-counting/|line-counting-script]] -- Count lines of code & comments in C/C++, produces basic metrics.\\
pros: cross platform (requires awk)\\ pros: very simple
cons: does not care about brace/parenthesis only lines
* [[http://sourceforge.net/projects/cloc/|cloc]] -- (Count Lines Of Code) counts, and computes differences of, comment lines, blank lines, and physical lines of source code in many programming languages.\\
pros: cross platform (requires perl)\\ pros: very simple
cons: does not care about brace/parenthesis only lines
* [[http://csse.usc.edu/ucc_wp/|Unified Code Count]] [[http://csse.usc.edu/ucc_wp/about/|About]] [[http://csse.usc.edu/ucc_wp/|Download]] (erfordert Registrierung)
==== Komplexität ====
* [[wpde>Komplexität (Informatik)]]
* [[wpde>Effizienz (Informatik)]]
* [[wpde>McCabe-Metrik]]
* [[http://www.mccabe.com/iq_research_metrics.htm|McCabe Metrics]]
==== Kosten/Aufwand/Zeitplan ====
[[wpde>COCOMO]]
* [[http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html|COnstructive COst MOdel II (COCOMO® II)]] is a model that allows one to estimate the cost, effort, and schedule when planning a new software development activity. [[http://csse.usc.edu/tools/COCOMOSuite.php|COCOMO Suite of Constructive Cost Models]]
* [[http://www.dwheeler.com/sloccount/|SLOCCount]] is a "software metrics tool" or "software measurement tool". SLOCCount will even automatically estimate the effort, time, and money it would take to develop the software.
==== Tools ====
* [[https://maultech.com/chrislott/resources/cmetrics/|Metrics collection tools for C and C++ Source Code]] [(https://web.archive.org/web/20190723123725/https://maultech.com/chrislott/resources/cmetrics/)]
* [[http://msquaredtechnologies.com/|Resource Standard Metrics, or RSM]] [(https://web.archive.org/web/20190723124250/http://msquaredtechnologies.com/index.html)], is a source code metrics and quality analysis tool unlike any other on the market. RSM provides a standard method for analyzing C, ANSI C++, C# and Java source code across operating systems.
* [[https://scan.coverity.com/|Coverity Scan]] [(https://web.archive.org/web/20190824092111/https://scan.coverity.com/)] -- Static Analysis
===== Struktur =====
* [[http://www.gnu.org/software/cflow/|GNU cflow]] analyzes a collection of C source files and prints a graph, charting control flow within the program.
* [[http://www.dependencywalker.com|Dependency Walker]] is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules.
====== Universell ======
* [[http://msquaredtechnologies.com/m2rsm/|Resource Standard Metrics (RSM)]] provides a standard method for analyzing C, ANSI C++, C# and Java source code.\\ [[http://msquaredtechnologies.com/m2rsm/rsm_demo.php|FREE Fully Functional Copy for Use or Evaluation
]]\\
pros: cross platform
cons: verbose output complicates post processing
* [[http://www.sonarqube.org|SonarQube]] is an open platform to manage code quality.\\ [[http://www.sonarsource.com/products/editions/community-edition/|Community Edition is open source and available at no cost.]]
* [[http://www.scitools.com|Understand]] your code.\\ [[https://scitools.com/non-commercial-license/|Non-Commercial License Registration.]]
* www.grammatech.com [[http://www.grammatech.com/codesonar|codesonar]]
* [[http://sourceforge.net/projects/metrics/|Eclipse Metrics plugin]]
* [[http://www.locmetrics.com|LocMetrics]] counts total lines of code (LOC), blank lines of code (BLOC), comment lines of code (CLOC), lines with both code and comments (C&SLOC), logical source lines of code (SLOC-L), McCabe VG complexity (MVG), number of comment words (CWORDS) and physical executable source lines of code (SLOC-P).
* [[http://sourceforge.net/projects/cccc/|CCCC]] is a C and C++ Code Counter which analyzes C++ and Java files and generates a report on various metrics of the code. Metrics supported include lines of code, McCabe's complexity and metrics proposed by Chidamber&Kemerer and Henry&Kafura.
* [[http://www.locmetrics.com/alternatives.html|Alternative metrics tools.]]