Hello,
I have recently started using daikon to generate program invariants. I wanted
to check on the generation of invariants of the form "var >= 0" by daikon. In
the attached examples, invariant "k>=0.0" is generated from the e.dtrace file,
while the invariant "n>=0" or "i>=0" are not generated from h.dtrace. Could
someone please explain why, or refer to an explanation if one already
exists? I have used the following commands and infrastructure.
2. Executed
convertcsv.pl on the attached csv files. This generated the respective decls and dtrace files. The commands are as follows:
3. Then I fired the Daikon invariant generation commands as follows:
[d]$ java -cp ~/XXX/daikon.jar daikon.Daikon e.dtrace e.decls
(read 1 decls file)
Processing trace data; reading 1 dtrace file:
[5:31:50 PM]: Finished reading /XXX/e.dtrace
===========================================================================
aprogram.point:::POINT
i >= 0.0
k >= 0.0
k1 >= 1.0
j >= 1.0
i >= k
i != k1
k - k1 + 1 == 0
k < j
k1 <= j
Exiting Daikon.
[d]$ java -cp ~/XXX/daikon.jar daikon.Daikon h.dtrace h.decls
(read 1 decls file)
Processing trace data; reading 1 dtrace file:
[5:32:17 PM]: Finished reading /XXX/h.dtrace
===========================================================================
aprogram.point:::POINT
i >= n
Exiting Daikon.
4. java : openjdk version "1.8.0_141", OpenJDK Runtime Environment (build 1.8.0_141-b16), OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)
5. OS: Fedora core, version - 24 (Server Edition)
Am I missing something here? Any inputs or explanation will be appreciated. Thanks.
With best regards,
Priyanka.