Skip to content

Commit ccf3c50

Browse files
author
John Nonweiler
committed
Add outline to module docs
1 parent 0b7c4fb commit ccf3c50

File tree

3 files changed

+171
-2
lines changed

3 files changed

+171
-2
lines changed

src/analyses/README.md

Lines changed: 109 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,112 @@
66
This contains the abstract interpretation framework `ai.h` and several
77
static analyses that instantiate it.
88

9-
FIXME: put here a good introduction describing what is contained
10-
in this folder.
9+
\section analyses-frameworks Frameworks:
10+
11+
\subsection analyses-ait Abstract interpreter framework (ait)
12+
13+
To be documented.
14+
15+
\subsection analyses-static-analysist Old Abstract interpreter framework (static_analysist)
16+
17+
This is obsolete.
18+
19+
\subsection analyses-flow-insensitive-analysis Flow-insensitive analysis (flow_insensitive_analysist)
20+
21+
To be documented.
22+
23+
\section analyses-specific-analyses Specific analyses:
24+
25+
\subsection analyses-call-graph Call graph and associated helpers (call_grapht)
26+
27+
To be documented.
28+
29+
\subsection analyses-dominator Dominator analysis (cfg_dominators_templatet)
30+
31+
To be documented.
32+
33+
\subsection analyses-constant-propagation Constant propagation (constant_propagator_ait)
34+
35+
To be documented.
36+
37+
\subsection analyses-taint Taint analysis (custom_bitvector_analysist)
38+
39+
To be documented.
40+
41+
\subsection analyses-dependence-graph Data- and control-dependence analysis (dependence_grapht)
42+
43+
To be documented.
44+
45+
\subsection analyses-dirtyt Address-taken lvalue analysis (dirtyt)
46+
47+
To be documented.
48+
49+
\subsection analyses-const-cast-removal const_cast removal analysis (does_remove_constt)
50+
51+
To be documented.
52+
53+
\subsection analyses-escape Escape analysis (escape_analysist)
54+
55+
To be documented.
56+
57+
\subsection analyses-global-may-alias Global may-alias analysis (global_may_aliast)
58+
59+
To be documented.
60+
61+
\subsection analyses-rwt Read-write range analysis (goto_rwt)
62+
63+
To be documented.
64+
65+
\subsection analyses-invariant-propagation Invariant propagation (invariant_propagationt)
66+
67+
To be documented.
68+
69+
\subsection analyses-is-threaded Multithreaded program detection (is_threadedt)
70+
71+
To be documented.
72+
73+
\subsection analyses-pointer-classification Pointer classification analysis (is-heap-pointer, might-be-null, etc -- local_bitvector_analysist)
74+
75+
To be documented.
76+
77+
\subsection analyses-cfg Control-flow graph (local_cfgt)
78+
79+
To be documented.
80+
81+
\subsection analyses-local-may-alias Local may-alias analysis (local_may_aliast)
82+
83+
To be documented.
84+
85+
\subsection analyses-safe-dereference Safe dereference analysis (local_safe_pointerst)
86+
87+
To be documented.
88+
89+
\subsection analyses-locals Address-taken locals analysis (localst)
90+
91+
To be documented.
92+
93+
\subsection analyses-natural-loop Natural loop analysis (natural_loops_templatet)
94+
95+
To be documented.
96+
97+
\subsection analyses-reaching-definitions Reaching definitions (reaching_definitions_analysist)
98+
99+
To be documented.
100+
101+
\subsection analyses-uncaught-exceptions Uncaught exceptions analysis (uncaught_exceptions_domaint)
102+
103+
To be documented.
104+
105+
\subsection analyses-uninitialized-locals Uninitialized locals analysis (uninitialized_analysist)
106+
107+
To be documented.
108+
109+
\section analyses-transformations Transformations (arguably in the wrong directory):
110+
111+
\subsection analyses-goto-checkt Pointer / overflow / other check insertion (goto_checkt)
112+
113+
To be documented.
114+
115+
\subsection analyses-interval-analysist Integer interval analysis (interval_analysist) -- both an analysis and a transformation
116+
117+
To be documented.

src/langapi/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,23 @@ language front ends. Developers only really need look at this if they
1010
are adding support for a new language. It’s main users are the
1111
language front-ends such as `ansi-c/` and
1212
`cpp/`.
13+
14+
\section langapi-languaget The languaget interface
15+
16+
To be documented.
17+
18+
\section langapi-language-files Language files (language_filet, language_filest)
19+
20+
To be documented.
21+
22+
\section langapi-manipulation-framework The top-level language-file manipulation framework (language_uit, obsolete, replaced by initialize_goto_model)
23+
24+
To be documented.
25+
26+
\section langapi-mode-related-utils Symbol mode-related utilities (everything in mode.h)
27+
28+
To be documented.
29+
30+
\section langapi-pretty-printing Pretty-printing expressions and types (language_util.h)
31+
32+
To be documented.

src/pointer-analysis/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,45 @@ arbitrary pointers, some alias analysis is needed. `pointer-analysis`
1010
contains the three levels of analysis; flow and context insensitive,
1111
context sensitive and flow and context sensitive. The code needed is
1212
subtle and sophisticated and thus there may be bugs.
13+
14+
\section pointer-analysis-utilities Utilities:
15+
16+
\subsection pointer-analysis-object-numbering Object / expression numbering (object_numberingt)
17+
18+
To be documented.
19+
20+
\subsection pointer-analysis-pointer-offset-sum Pointer-offset sum (pointer_offset_sum)
21+
22+
To be documented.
23+
24+
\subsection pointer-analysis-rewrite-index Rewrite index (x[i] -> *(x+i)) (rewrite_index)
25+
26+
To be documented.
27+
28+
\section pointer-analysis-analysis Value-set Analysis:
29+
30+
To be documented.
31+
32+
\subsection pointer-analysis-variants Variants:
33+
34+
\subsubsection pointer-analysis-flow-insensitive Flow-insensitive
35+
36+
To be documented.
37+
38+
\subsubsection pointer-analysis-flow-insensitive-with-vr Flow-insensitive with 'vr' (value reduction?)
39+
40+
To be documented.
41+
42+
\subsubsection pointer-analysis-flow-insensitive-with-vr-ns Flow-insensitive with 'vr' and 'ns' (value reduction, ???)
43+
44+
To be documented.
45+
46+
\section pointer-analysis-transformations Transformations:
47+
48+
\subsection pointer-analysis-add-failed-symbols
49+
50+
This is obsolete.
51+
52+
\subsection pointer-analysis-dereference-removal Dereference removal (*x -> x == &o1 ? o1 : ...) -- dereferencet, dereference_callbackt, value_set_dereferencet, goto_program_dereferencet, etc
53+
54+
To be documented.

0 commit comments

Comments
 (0)