====== 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.]]