File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,16 @@ 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 domain which
22+ instructions are invited to transform in turn. Unsound (terminates too early) if
23+ (a) there are two or more instructions that incrementally reach a fixed point,
24+ for example by walking a chain of pointers and updating a points-to set, but
25+ (b) those instructions are separated by instructions that don't update the
26+ domain (for example, SKIP instructions) unless the domain carefully avoids this
27+ fate. Therefore, not recommended for new code.
28+
29+ Only current user in-tree is \ref value_set_analysis_fit and its close
30+ relatives, \ref value_set_analysis_fivrt and \ref value_set_analysis_fivrnst
2231
2332\section analyses-specific-analyses Specific analyses:
2433
Original file line number Diff line number Diff line change @@ -9,6 +9,16 @@ Author: Daniel Kroening, kroening@kroening.com
99
1010// / \file
1111// / Flow Insensitive Static Analysis
12+ // /
13+ // / A framework for flow-insensitive analyses. Maintains a single global domain
14+ // / which instructions are invited to transform in turn.
15+ // /
16+ // / Note this is unsound if used naively, because it follows the control-flow
17+ // / graph and terminates when an instruction makes no change to the domain and
18+ // / that instruction's successors have already been visited. Therefore a domain
19+ // / that relies upon every reachable instruction being re-visited upon the
20+ // / domain being updated must ensure that itself, for example by maintaining
21+ // / a map from locations to the latest version of the domain witnessed.
1222
1323#ifndef CPROVER_ANALYSES_FLOW_INSENSITIVE_ANALYSIS_H
1424#define CPROVER_ANALYSES_FLOW_INSENSITIVE_ANALYSIS_H
You can’t perform that action at this time.
0 commit comments