File tree Expand file tree Collapse file tree 2 files changed +22
-1
lines changed
Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,17 @@ This is obsolete.
1818
1919\subsection analyses-flow-insensitive-analysis Flow-insensitive analysis (flow_insensitive_analysist)
2020
21- To be documented.
21+ Framework for flow-insensitive analyses. Maintains a single global abstract
22+ value which instructions are invited to transform in turn. Unsound (terminates
23+ too early) if
24+ (a) there are two or more instructions that incrementally reach a fixed point,
25+ for example by walking a chain of pointers and updating a points-to set, but
26+ (b) those instructions are separated by instructions that don't update the
27+ abstract value (for example, SKIP instructions). Therefore, not recommended for
28+ new code.
29+
30+ Only current user in-tree is \ref value_set_analysis_fit and its close
31+ relatives, \ref value_set_analysis_fivrt and \ref value_set_analysis_fivrnst
2232
2333\section analyses-specific-analyses Specific analyses:
2434
Original file line number Diff line number Diff line change 99
1010// / \file
1111// / Flow Insensitive Static Analysis
12+ // /
13+ // / A framework for flow-insensitive analyses. Maintains a single global
14+ // / abstract value (an instance of \ref flow_insensitive_abstract_domain_baset,
15+ // / "the domain,") which instructions are invited to transform in turn.
16+ // /
17+ // / Note this is unsound if used naively, because it follows the control-flow
18+ // / graph and terminates when an instruction makes no change to the domain and
19+ // / that instruction's successors have already been visited. Therefore a domain
20+ // / that relies upon every reachable instruction being re-visited upon the
21+ // / domain being updated must ensure that itself, for example by maintaining
22+ // / a map from locations to the latest version of the domain witnessed.
1223
1324#ifndef CPROVER_ANALYSES_FLOW_INSENSITIVE_ANALYSIS_H
1425#define CPROVER_ANALYSES_FLOW_INSENSITIVE_ANALYSIS_H
You can’t perform that action at this time.
0 commit comments