Next: References, Previous: Options, Up: Top
CELIA outputs the following files:
pan-nm.c
sid
). This file contains the full coded needed by the analysis.
pan.eq
penv
) the encoding of each function variable into a domain variable.
pan.abs
.shp
containing the invariant computed by CELIA.
f_XXX.shp
com/shp2dot.sh
.
A shape file f_XXX.shp
is a list of tuples built from
n0
(NULL), n1, n2
, ... and are labelled by the pointer programs variables which points to the head of the sub-list, and
next
field) between sub-lists.
n1, n2, n3
) such that the sub-list
stating in n1
is labeled by the program variables x2
and x5
and reaches the sub-list starting in node n2
;
the sub-list starting in n3
is disjoint from the other sub-lists.
For the domains LSUM and MSET, the constraints attached to the graph are conjunctions of linear constraints involving the following terms:
pan.eq
to obtain the variable name),
n
,
n
,
n
,
n
,
n
,
For example, the constraint
-mstl(n2)+mstl(n3)=0
in the multi-set constraints in the first shape graph of intlist-lib-add.c:sid:6 says that the multisets of tails of sub-lists represented by nodes n2
and n3
are equal.
For the domain UCONS, the constraints attached to the graph are conjunction structured as follows:
data(n)
, len(n)
and integer program variables x
,
forall y in n. patter-constraint => data-constraint
which express properties on the data in the sub-lists starting in the node n.
For example, the UCONS constraints in the file
intlist-sort-insert:sid:40
contains two universally quantified constraints, both concerning the
node n1
:
n1
, represented by y
, the data stored in these cells is greater or equal than the data stored in the head of n1
, and
y1
and y2
in the sub-lists n1
such that y1 <= y2
, the data stored in these cells is ordered.