@@ -19,7 +19,7 @@ within the object.
19
19
In C, objects are simply continuous fragments of memory (this definition
20
20
of "object" is not to be confused with the use of the term in
21
21
object-oriented programming). Variables of any type are guaranteed to be
22
- stored as one object, irrespectively of their type. As an example, all
22
+ stored as one object, irrespective of their type. As an example, all
23
23
members of a struct or array belong to the same object. CPROVER simply
24
24
assigns a number to each active object. The object number of a pointer
25
25
` p ` can be extracted using the expression ` __CPROVER_POINTER_OBJECT(p) ` .
@@ -28,7 +28,7 @@ which is not sound.
28
28
29
29
The offset (the second member of the pair that forms a pointer) is
30
30
relative to the beginning of the object; it uses byte granularity. As an
31
- example, the code fragment
31
+ example, the code fragment:
32
32
33
33
``` C
34
34
unsigned array[10 ];
@@ -51,14 +51,14 @@ dynamically allocated objects have not yet been deallocated.
51
51
52
52
Furthermore, the CPROVER tools check that dynamically allocated memory
53
53
is not deallocated twice. The goto-instrument tool is also able to add
54
- checks for memory leaks, i.e. , it detects dynamically allocated objects
54
+ checks for memory leaks, that is , it detects dynamically allocated objects
55
55
that are not deallocated once the program terminates.
56
56
57
57
The CPROVER tools support pointer typecasts. Most casts are supported,
58
58
with the following exceptions:
59
59
60
- 1 . One notable exception is that pointers can only be accessed using a
61
- pointer type. The conversion of a pointer into an integer- type using
60
+ 1 . Pointers can only be accessed using a
61
+ pointer type. The conversion of a pointer into an integer type using
62
62
a pointer typecast is not supported.
63
63
64
64
2 . Casts from integers to pointers yield a pointer that is either NULL
@@ -73,8 +73,8 @@ with the following exceptions:
73
73
74
74
### Pointers in Open Programs
75
75
76
- It is frequently desired to validate an open program, i.e., a fragment
77
- of a program. Some variables are left undefined. In case an undefined
76
+ It is frequently desired to validate an open program ( a fragment
77
+ of a program) . Some variables are left undefined. When an undefined
78
78
pointer is dereferenced, CBMC assumes that the pointer points to a
79
79
separate object of appropriate type with unbounded size. The object is
80
80
assumed not to alias with any other object. This assumption may
0 commit comments