Metric-HIS.PATH¶
HIS PATH metric: Number of acyclic control-flow paths
Required inputs: RFG
Computes the number of maximal acyclic execution paths within a function.
The rules for each syntactical construct can be found in
NPATH: a measure of execution path complexity and its applications
(Brian A. Nejmeh, Communications of the ACM, Volume 31 Issue 2, Feb. 1988).
The values of this metric can be very high and will be cut off at 2^(31 - 1) (the highest possible value for any integer metric in the RFG).
Possible Messages
This rule has no predefined messages.
Options¶
This rule shares the following common options: exclude_messages_in_system_headers, excludes, includes, justification_checker, post_processing, provider, severity
This rule shares the following common metric options: base_view_name, excluded_node_types, hierarchy_edge_name, hierarchy_view_name, propagate, report_all_values, report_propagated_values
The following places define options that affect this rule: Analysis-GlobalOptions
alias_name¶
alias_name : str = 'Metric.HIS.PATH'
display_name¶
display_name : str | None = 'HIS PATH'
max_value¶
max_value : int | None = 80
min_value¶
min_value : int | None = 1
rfg_metric_name¶
rfg_metric_name : OriginalMetrics = 'Metric.NPath'
- Metric.NPath: Number of acyclic paths
- Metric.LogNPath_Ceiling: upper bound for log2(Number of acyclic paths)
- Metric.LogNPath_Floor: lower bound for log2(Number of acyclic paths)
Option Types¶
These types are used by options listed above:
OriginalMetrics¶
An enumeration.Metric.NPath
Metric.LogNPath_Ceiling
Metric.LogNPath_Floor