Glossary of terms & concepts¶
- Binary Trace
File containing low level information about the blocks of machine code executed by a program, from which GNATcoverage can infer source level coverage assessments. Such traces are produced by an instrumented execution environment for programs built from their original sources.
- Complex Boolean Expression
Boolean expression with at least two operands, where all the binary operators are defined to enforce short-circuit semantics.
- Coverage Violation
Failure to satisfy a particular requirement of a coverage criterion. For example, not executing a given statement is a failure to satisfy part of the Statement Coverage criterion requirements, triggering a “statement not executed” violation of the criterion.
- Condition
Leaf operand, possible unary operator included, in a Decision expression. For example,
A
,not B
andC
inif A or else (not B and then C) then
.- Coverage Runtime
Library of services used by instrumented sources to manipulate coverage data while the program is running and produce a source trace file from such data at user selectable execution points.
- Decision
Any Simple or Complex Boolean expression used as the control value in a source level control-flow oriented statement (if, while, for). For MCDC analysis purposes, we also treat as decisions Complex Boolean Expressions anywhere they appear, for example also on the right hand side of an assignment.
- Evaluation Vector
A set of Boolean values assigned to each condition of a decision together with the resulting expression value. For example A=True, B=False, Expression=False for
A and then B
.- Exemption Region
Regions of source for which coverage violations are expected, and explicitly marked as such with a mandatory justification text.
- Independence Pair
A pair of decision evaluation vectors that demonstrate the independent influence of a specific condition on the decision for MCDC analysis purposes. The set of valid pairs for a condition depends on the particular MCDC variant driving the analysis.
- Library Information file
A text file produced by the compiler as it processes a source unit, containing information about the entities present in the unit; for example: dependencies w.r.t. other units, cross-reference information, Source Coverage Obligations, annotation pragmas for exemption regions, … These are
.ali
files for Ada and.gli
files for C, produced at the same place as the object file for a given compilation.- Simple Boolean Expression
Boolean expression with a single operand, possibly negated. No binary operator.
- Source Coverage Obligation
Item that designates a source program entity which must be subject to coverage checks for a set of criteria. This conveys an entity kind, for example statement, decision or condition, together with a specific unit:line:column source location. Also known as SCO.
- Source Trace
File(s) containing high level information about the source coverage achievements resulting from a program execution. Such traces are produced by an instrumented version of the program running in its regular execution environment.
- Test Driver
Part of a program that is used to exercise a set of application units in a specific manner, to test conformance of these units to particular requirements. Coverage objectives are typically associated with the applicative part only.
- @listfile argument
Part of a command line that designates a text file which contains a list of items, one per line in the file. The expected nature of each item depends on the context.