forked from ChrisLidbury/CLSmith
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
55 lines (40 loc) · 1.93 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Changes since 2.0.0 release:
Renamed environment variable `CSMITH_PATH' to be `CSMITH_HOME'.
`HOME' is the common naming convention for variables that identify
a single directory; `PATH' is the convention for lists of
directories.
By default, mark variables and functions as "static" since some
compilers can exploit this to optimize more aggressively.
Provide more controls on code generation about which variables
should be read or written, and which variables should not be read
or written.
Based on the above controls, generate generalized array-traversing
loops in which the array variable must be read/written while the loop
control variable(s) must not be written.
Remove the modulus operations applied on array indices because all
array accesses are guaranteed safe by the code generation mechanism.
Support unions in the random programs. Allow pointers to be unions
fields (Pointers as structure fields are yet to be supported).
When asked, intentionally create unsafe pointer dereferences for
testing static analyzers.
Support comma operators in the random programs. A comma expression
is outputted as (e1 , e2) to make it more distinguishable (note the
extra space in front of the comma).
Support embedded assignments in the random programs.
Support prefix/postfix ++/-- operators in the random programs.
Provide more controls on code generation about the expression complexity
and nested block depth.
Allow array members to be initialized to different values.
add command line options:
--force-non-uniform-arrays
--strict-const-arrays
--null-ptr-deref-prob <N>
--dangling-ptr-deref-prob <N>
--union-read-type-sensitive
--no-union-read-type-sensitive
--upper-expr-complexity <N>
--max-block-depth <N>
Quite a few bugs were fixed, many found by Pascal Cuoq using
Frama-C to detect undefined or unspecified behaviors in programs
generated by Csmith.
Re-organize and clean up unnecessary code.