und is the command-line interface to Understand — script project creation, analysis, CodeCheck, metrics, and reports, locally or in CI.
Run Understand from the command line · Headless workflow: create, analyze, check, report
und Settings Reference
Every project setting and its options, across all languages. Apply them with the settings command (or at create time); view a project's current values with und list -all settings <project>. See also Settings Examples.
--------------------------General Settings-------------------------
Option Current Setting Available Settings
History Options:
ComparisonProjectPath None
GitRepositoryDirectory None
Dependency Options:
DependencyExcludeStandard On On/Off
DependencyUseIncludes On On/Off
DependencyMode Link Compile/Link
File Options:
OpenFilesAsReadOnly Off On/Off
EnforcePortability Off On/Off
MaxFileSizeParsed 10 MB 2-150 MB
FileEncoding UTF-8 UTF-8
Other Possible File Encodings are:
(platform dependent; run `und list settings` to see this machine's list)
Languages (+ if in project):
+ Ada + Assembly
+ Basic + C++
+ C# + Fortran
+ Java + Jovial
+ Pascal + Python
+ Rust + VHDL
+ Web
FileTypes:
Extension Language Extension Language Extension Language
.C C++ .F Fortran .F90 Fortran
.H C++ .TXT Text .a Ada
.ada Ada .adb Ada .ads Ada
.asm Assembly .bat MSDos Batch .c C
.cbl COBOL .cc C++ .cgi Perl
.cjs Javascript .cob COBOL .cpl Jovial
.cpp C++ .cpy COBOL .cs C#
.css CSS .cts TypeScript .cu CUDA
.cuh CUDA .cxx C++ .dart Dart
.dfm Delphi .dpr Delphi .f Fortran
.f03 Fortran .f77 Fortran .f90 Fortran
.f95 Fortran .fmx Delphi .for Fortran
.ftn Fortran .go Go .gpr Ada
.h C++ .hh C++ .hpp C++
.htm Html .html Html .hxx C++
.inl C++ .java Java .jov Jovial
.js Javascript .m Objective-C .mjs Javascript
.mm Objective-C++ .mts TypeScript .pas Pascal
.php Php .pl Perl .plm Plm
.pm Perl .py Python .rs Rust
.s Assembly .sp Pascal .sql Sql
.tcl Tcl .ts TypeScript .tsx TypeScript
.txt Text .upy Python .v Verilog
.vb Basic .vh Verilog .vhd VHDL
.vhdl VHDL .xml Xml
--------------------------Metric Settings--------------------------
Option Current Setting Available Settings
WriteColumnTitles On On/Off
AddUniqueNameColumn Off On/Off
ShowFunctionParameterTypes Off On/Off
ShowDeclaredInFile Off On/Off
DeclaredInFileDisplayMode N/A NoPath/FullPath/RelativePath
FileNameDisplayMode NoPath NoPath/FullPath/RelativePath
OutputFile <path>
ShowLineCountMetrics On On/Off
InactiveLines Exclude Exclude/Include/Both
ShowStatementCountMetrics On On/Off
BreakdownCountsByWebLanguage Off On/Off
Cyclomatic Normal All/Normal/Strict/Modified/StrictModified
ShowMaximumNesting On On/Off
ShowPaths Off On/Off
ShowKnots Off On/Off
ShowEssential Off On/Off
ShowInheritanceMetrics On On/Off
ShowMethodAndVariableCountMetrics
On On/Off
ShowCouplingAndCohesionMetrics On On/Off
ShowDefaultSummaryMetrics On On/Off
ShowAggregatedFileMetrics On On/Off
ShowAggregatedFunctionMetrics Off On/Off
ShowAggregatedClassMetrics Off On/Off
Metrics (+ if selected):
AltAvgLineBlank AltAvgLineCode
AltAvgLineComment AltCountLineBlank
AltCountLineCode AltCountLineComment
ArchCurDepth ArchMaxChildDepth
AvgCountLine AvgCountLineBlank
AvgCountLineBlankWithInactive AvgCountLineCode
AvgCountLineCodeWithInactive AvgCountLineComment
AvgCountLineCommentWithInactive AvgCyclomatic
AvgCyclomaticModified AvgCyclomaticStrict
AvgCyclomaticStrictModified AvgEssential
AvgEssentialStrictModified AvgLine
AvgLineBlank AvgLineCode
AvgLineComment BidirectionalDepsFound
BidirectionalDepsPercent CBRIMaxCBO
CBRIMaxRFC CBRIMaxWMC
CBRIMaxWMCM CBRIOverlyComplexFiles
CBRIOverlyComplexFilesPercent CBRIThresholdViolations
CBRIUsefulCommentToCodeRatio CBRIUsefulComments
CBRIUsefulLOC CCViolDensityCode
CCViolDensityLine CallByCountLineCode
CallByDepth CallByNodes
CallBySumCyclomatic CallCountLineCode
CallNodes CallSumCyclomatic
CognitiveComplexity ComponentReuse
CorePercentage CoreSize
CountAnalysisError CountAnalysisWarning
CountArchChildren CountArchChildrenRecursive
CountArchEnts CountArchEntsRecursive
CountCCViol CountCCViolType
CountCFileExternalFunctionsUsed CountCFileExternalMacrosUsed
CountCFileExternalTypesUsed CountCFileExternalVariablesUsed
CountCFileGlobalConstants CountCFileGlobalFunctions
CountCFileGlobalMacros CountCFileGlobalTypes
CountCFileGlobalVariables CountCFileLocalConstants
CountCFileLocalFunctionStaticVariables CountCFileLocalFunctions
CountCFileLocalMacros CountCFileLocalTypes
CountCFileLocalVariables CountCFileMemberFunctions
CountCFileMemberTypes CountCFileMemberVariables
CountCallby CountCallbyUnique
CountCalls CountCallsUnique
CountClassBase CountClassCoupled
CountClassCoupledBatch CountClassCoupledModified
CountClassDerived CountDeclClass
CountDeclClassMethod CountDeclClassVariable
CountDeclExecutableUnit CountDeclFile
CountDeclFileCode CountDeclFileHeader
CountDeclFunction CountDeclInstanceMethod
CountDeclInstanceVariable CountDeclInstanceVariableInternal
CountDeclInstanceVariablePrivate CountDeclInstanceVariableProtected
CountDeclInstanceVariableProtectedInternal CountDeclInstanceVariablePublic
CountDeclMethod CountDeclMethodAll
CountDeclMethodConst CountDeclMethodDefault
CountDeclMethodFriend CountDeclMethodInternal
CountDeclMethodPrivate CountDeclMethodProtected
CountDeclMethodProtectedInternal CountDeclMethodPublic
CountDeclMethodPublished CountDeclMethodStrictPrivate
CountDeclMethodStrictProtected CountDeclModule
CountDeclProgUnit CountDeclProgunit
CountDeclProperty CountDeclPropertyAuto
CountDeclSubprogram CountDepRefsIn
CountDepRefsOut CountDepsIn
CountDepsOut CountDirectDepRefsIn
CountDirectDepRefsOut CountDirectDepsIn
CountDirectDepsOut CountEarlyExit
CountExit CountGlobalsModified
CountGlobalsModifiedUnique CountGlobalsSet
CountGlobalsSetUnique CountGlobalsUsed
CountGlobalsUsedSetModified CountGlobalsUsedSetModifiedUnique
CountGlobalsUsedUnique CountGoTo
CountIncludeBy CountIncludes
CountInput CountLine
CountLineBlank CountLineBlankHtml
CountLineBlankJavascript CountLineBlankPhp
CountLineBlankWithInactive CountLineBlank_Html
CountLineBlank_Javascript CountLineBlank_Php
CountLineCode CountLineCodeDecl
CountLineCodeExe CountLineCodeJavascript
CountLineCodePhp CountLineCodeWithInactive
CountLineCode_Javascript CountLineCode_Php
CountLineComment CountLineCommentHtml
CountLineCommentJavascript CountLineCommentPhp
CountLineCommentWithBefore CountLineCommentWithInactive
CountLineComment_Html CountLineComment_Javascript
CountLineComment_Php CountLineHtml
CountLineInactive CountLineJavascript
CountLinePhp CountLinePreprocessor
CountLine_Html CountLine_Javascript
CountLine_Php CountMajorDepsIn
CountMajorDepsOut CountModifies
CountModifiesUnique CountObjectsModified
CountObjectsModifiedUnique CountObjectsSet
CountObjectsSetUnique CountObjectsUsed
CountObjectsUsedSetModified CountObjectsUsedSetModifiedUnique
CountObjectsUsedUnique CountOutput
CountPackageCoupled CountParams
CountPath CountPathLog
CountSemicolon CountSets
CountSetsUnique CountStmt
CountStmtDecl CountStmtDeclJavascript
CountStmtDeclPhp CountStmtDecl_Javascript
CountStmtDecl_Php CountStmtEmpty
CountStmtExe CountStmtExeJavascript
CountStmtExePhp CountStmtExe_Javascript
CountStmtExe_Php CountUseSetModify
CountUseSetModifyUnique CountUses
CountUsesUnique CoverageFunctionsFound
CoverageFunctionsHit CoverageFunctionsPercent
CoverageHits CoverageLinesFound
CoverageLinesHit CoverageLinesPercent
Cyclomatic CyclomaticModified
CyclomaticStrict CyclomaticStrictModified
DirPropagationCost DirectFanIn
DirectFanInNoCache DirectFanOut
DirectFanOutNoCache DuplicateLinesOfCode
DuplicateLinesOfCodePercent Essential
EssentialStrictModified GitAuthors
GitAvgCoupling GitCohesion
GitCommits GitCoupledFiles
GitDaysSinceCreated GitDaysSinceLastModified
GitMajorContributors GitMaxCoupling
GitMinorContributors GitOwnership
GitStrongCoupledFiles HISNOMV
HalsteadDifficulty HalsteadDistinctOperands
HalsteadDistinctOperators HalsteadEffort
HalsteadLength HalsteadMaintainIdx
HalsteadTotalOperands HalsteadTotalOperators
HalsteadVocabulary HalsteadVol
IncludeByCountLineCode IncludeByDepth
IncludeByNodes IncludeBySumCyclomatic
IncludeCountLineCode IncludeDepth
IncludeNodes IncludeSumCyclomatic
IsRecursive IsRecursiveUsePtr
Knots LCOM4
LanguageScope MaxCallDepth
MaxCyclomatic MaxCyclomaticModified
MaxCyclomaticStrict MaxCyclomaticStrictModified
MaxEssential MaxEssentialKnots
MaxEssentialStrictModified MaxInheritanceTree
MaxNesting MinEssentialKnots
MinRecursiveDepth NestedComplexity
PercentLackOfCohesion PercentLackOfCohesionModified
PercentOfParentCodeLines PercentOfParentEntities
PercentOfRootCodeLines PercentOfRootEntities
PropagationCost RatioCommentToCode
RatioCommentsWithBeforeToCode RatioSetModifyToUse
RatioUseToSetModify SecondCoreSize
StabilityIndex SumCyclomatic
SumCyclomaticModified SumCyclomaticStrict
SumCyclomaticStrictModified SumEssential
SumEssentialStrictModified VisibleFanIn
VisibleFanInNoCache VisibleFanOut
VisibleFanOutNoCache
--------------------------Report Settings--------------------------
Option Current Setting Available Settings
DisplayCreationDate Off On/Off
DisplayParameters Off On/Off
IndexByMethod Off On/Off
GroupByDirectory Off On/Off
DisplayHeaderText Off On/Off
DisplayUserHeaderText Off On/Off
UserHeaderText
FileNameDisplayMode Short Full/Short
GenerateHTMLReport On On/Off
NumberofPages Alphabetic Single/Alphabetic/NEntity
OutputDirectory <path>
HTMLClearDirectory Off On/Off
CustomHTMLTitlePage No Custom Title Page
GenerateTextReport On On/Off
NumberOfFiles Single Single/Separate (per Report)
OutputFileSingle <path>
TextClearDirectory N/A
OutputDirectorySeparate N/A
Reports (+ if selected):
+ Data Dictionary + File Contents
+ Program Unit Cross Reference + Object Cross Reference
+ Type Cross Reference + Macro Cross Reference
+ Include File Cross Reference + Declaration Tree
Extend Tree Invocation Tree
+ Simple Invocation Tree + Imports
+ With Tree + Simple With Tree
+ Generic Instantiation + Exception Cross Reference
+ Renames + Program Unit Complexity
+ Project Metrics + Program Unit Metrics
+ File Metrics + File Average Metrics
+ Fortran Extension Usage + Class Metrics
+ Class OO Metrics + Implicitly Declared Objects
+ Uninitialized Items + Unused Objects and Functions
+ Unused Objects + Unused Types
+ Unused Program Units + Uses Not Needed
+ Withs Not Needed
--------------------------Import Settings--------------------------
File Configuration Noncode files Exclude Filter
---------------------------Ada Settings----------------------------
Option Current Setting Available Settings
Display Original Original/Upper/Lower/First/Mixed
LinkageCase Lowercase Lowercase/Uppercase
Metrics
CountAndOrOperators Off On/Off
CountExceptionsHandlers On On/Off
CountForLoops On On/Off
Optimize
CreateRecordObjectComponents Off On/Off
CreateRelationsBetweenFormalAndActualParameters
Off On/Off
OptimizeForLessMemory Off On/Off
SaveCommentsWithEntities On On/Off
PromptOnParseError On On/Off
Version Ada12 Ada83/Ada95/Ada05/Ada12
Preprocessor None None/C/Gnatprep/GreenHills/Verdix
Standard <path>
Main Subprograms:
None
Library Directories:
None
Macros:
None
-------------------------Assembly Settings-------------------------
Option Current Setting Available Settings
SystemIncludePath None
Includes:
None
Assembler: Coldfire 68K/IBM
--------------------------Basic Settings---------------------------
Option Current Setting Available Settings
Analyze Reference DLLs On On/Off
Root Namespace None
Framework <platform default> net9/net8/net7/net6/net5/netstandard/netcore/netframework/none
Installed Frameworks:
(platform dependent; run `und list -all settings` to see this machine's list)
Namespaces
None
References
None
--------------------------C/C++ Settings---------------------------
Option Current Setting Available Settings
UseStrict On On/Off
C Language Standard gnu17
C++ Language Standard gnu++17
CreateUniqueEntitiesForObjectDataMembers
Off On/Off
CreateUniqueEntitiesForObjectFunctionMembers
Off On/Off
CreateReferencesInInactiveCode
On On/Off
SaveCommentsWithEntities On On/Off
SaveMacroExpansionText Off On/Off
SimplifyMacroExpansion Off On/Off
StartWorkerProcessesSerially Off On/Off
Sysroot <platform default>
MacOS Version 10.7
IOS Version 5.0
KillWorkerProcessAfter 2 Minutes (1-99)
BracketDepth 256
Compiler <platform default> (Available listed below)
Target "ARCH-VENDOR-OS-ENV"
Delay Template Parsing (win32) Off On/Off
MSC Version None
Include Options (Current Includes listed below)
AddFoundFilesToProject Off On/Off
AddFoundSystemFiles Off On/Off
SearchForIncludesInProject On On/Off
IgnoreDirectory Off On/Off
AnalyzeHeadersInIsolation On On/Off
DisableSystemIncludes Off On/Off
DisableCxxStdLibIncludes Off On/Off
Fuzzy-only Options (used when UseStrict is Off)
IncludePath None
AllowNestedComments Off On/Off
IgnorePreprocessorConditionals Off On/Off
TreatSystemIncludesAsUser On On/Off
AppendText None
PrependText None
CreateImplicitSpecialMemberFunctions
Off On/Off
CreateReferencesInAssembly On On/Off
CreateReferencesToLocalObjects
On On/Off
CreateReferencesToMacrosDuringMacroExpansion
Off On/Off
CreateReferencesToParameter On On/Off
SaveDuplicateReferences Off On/Off
MacroExpansionTruncation 0
UseIncludeCache On On/Off
Available Compilers:
Clang GCC
MSVC
------------------------------------------------------------
Analog Devices DSP CodeVision AVR
Cosmic 68HC11 Diab
Franklin 8051 Green Hills ARM
Green Hills PowerPC Green Hills V850
IAR 8051 IAR ARM
IAR AVR IAR EWRX
IAR RL78 IAR TI MSP430
Keil arm LAPIS CCU8
MPLAB C18 MPLAB XC16
MPLAB XC32 MPLAB XC8
National Instruments LabWindows/CVI Oracle
Renesas CC-RH Renesas H8
Renesas RL78 Renesas RX
Renesas SuperH SDCC
TI ARM TI TMS320C28x
Tasking 8051 Tasking MCS
Tasking TriCore
Includes:
None
System:
None
Auto:
None
Frameworks (strict only):
None
Ignore (fuzzy only):
None
Replacements (fuzzy only):
None
Macros:
None
Undefined:
None
----------------------------C# Settings----------------------------
Option Current Setting Available Settings
AnalyzeReferenceDLLs Off On/Off
SaveCommentsWithEntities On On/Off
Framework <platform default> net9/net8/net7/net6/net5/netstandard/netcore/netframework/none
CountStandardInMaxInheritance Off On/Off
Installed Frameworks:
(platform dependent; run `und list -all settings` to see this machine's list)
Reference File / Alias List:
None
Preprocessor Symbols:
None
-------------------------Fortran Settings--------------------------
Option Current Setting Available Settings
Display Original Original/Upper/Lower/First/Mixed
Compiler Options
AllowCStyleComments Off On/Off
AllowSemicolonStarComments Off On/Off
AllowColonsInNames Off On/Off
AllowFunctionDeclarationWithoutParentheses
Off On/Off
AllowParameterDeclarationWithoutParentheses
Off On/Off
AllowQuoteInOctalConstants Off On/Off
CaseSensitiveIdentifiers Off On/Off
UsePreprocessor On On/Off
Format Auto Auto/Free/Fixed
FreeFormatFilter None
Linkage
Case Lowercase Lowercase/Uppercase/Preserve
AppendText None
PrependText None
PromptOnParseError On On/Off
SaveComments with Entities On On/Off
Truncate Auto Auto/None/72/132/Custom
Version Fortran18 Fortran77/Fortran90/Fortran95/Fortran03/Fortran08/Fortran18
IntrinsicsFile <path>
Includes:
None
Replacements:
None
Macros:
None
---------------------------Java Settings---------------------------
Option Current Setting Available Settings
Linkage
PrependText Java_
IncludePackageName On On/Off
Optimize
SaveComments with Entities On On/Off
Version 10-21 1.3/1.4/5/6/7/8/9/10-21
ClassPaths:
<platform default>
--------------------------Jovial Settings--------------------------
Option Current Setting Available Settings
ExpandCopyFileReferences Off On/Off
Display Original Original/Upper/Lower/First/Mixed
BitsInByte 8
BitsInPointer 16
BitsInWord 16
FixedPrecision 15
FloatExpBits 8
FloatPrecision 23
IntPrecision 15
Linkage
Case Lowercase Lowercase/Uppercase/Preserve
Truncate None Custom/None/72
SaveComments with Entities On On/Off
Version Jovial73 Jovial3/Jovial73
AutomaticCompoolFile None
Copy Directories:
None
--------------------------Pascal Settings--------------------------
Option Current Setting Available Settings
AllowEmbeddedSQL On On/Off
DFMConverterExe None
Display Original Original/Upper/Lower/First/Mixed
Linkage
Case Lowercase Lowercase/Preserve/Uppercase
Version Delphi Delphi/Compaq/DEC/HP/Pascal86/Turbo/VSI
PredeclaredEntitiesFile <path>
Namespaces:
None
StandardLibraryPaths:
None
Includes:
None
Macros:
None
--------------------------Python Settings--------------------------
Option Current Setting Available Settings
UseBuiltinStandard On On/Off
UseInstalledStandard On On/Off
PythonSetVersion Python2 Python2/Python3
PythonExe <platform default>
SaveComments with Entities On On/Off
AssumeNearestMatches Off On/Off
IgnoreImportErrorsInTryBlocks Off On/Off
ImportPaths:
None
---------------------------Rust Settings---------------------------
Option Current Setting Available Settings
Release Profile Off On/Off
Target Directory None
---------------------------VHDL Settings---------------------------
Option Current Setting Available Settings
Library work
----------------------------Web Settings---------------------------
Option Current Setting Available Settings
AddFoundImportedJSFiles On On/Off
AllowAspStylePhpTags Off On/Off
AllowShortPhpTags On On/Off
PhpVersion 8.3 5.3/5.4/5.5/5.6/7.0/7.1/7.2/7.3/7.4/8.0/8.1/8.2/8.3
AllowJQuery Off On/Off
AllowNodeJS Off On/Off
NodeJSSearchPath None
NodeJSPredefined <path>
SearchStringsForEntityNames Off On/Off
ModuleSearchPath None
-------------------------Override Settings-------------------------
Overrides are file/directory specific. No file/directory given for listing overrides.
Possible Override Options are:
File Type(s)
File Encoding
Ada Macros
Ada Ignore Parent Macros
C++ Auto Includes
C++ Ignore Parent Auto Includes
C++ Frameworks
C++ Ignore Parent Frameworks
C++ Includes
C++ Ignore Parent Includes
C++ Macros
C++ Ignore Parent Macros
C++ Sysroot
C++ Ignore Parent Sysroot
C++ System Includes
C++ Ignore Parent System Includes
C# References
C# Ignore Parent References
Fortran Includes
Fortran Ignore Parent Includes
Fortran Ignore Parent Macros
Fortran Macros
Java Prepend Text
Java Ignore Parent Prepend Text
Pascal Includes
Pascal Ignore Parent Includes
Pascal Macros
Pascal Ignore Parent Macros
VHDL Library
VHDL Ignore Parent Library