Skip to content

Daikon Failed to Execute when Using runcluster.pl with kmeans Option #537

@yuan-xia

Description

@yuan-xia

Thanks for submitting an issue.
As noted in the instructions for submitting an issue at https://plse.cs.washington.edu/daikon/download/doc/daikon.html#Reporting-problems, please include at least the following with your report:

The output of java -version:
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)

the operating system version:
macOS 10.15.7

I attempt to use Daikon on csv file and generate all invariants it had. So the input is samples.csv file and I convert it into samples.dtrace and samples.decls. It runs successfully if I just apply Daikon on these two files. Commands are following:


(base) MacBook-Pro-4:scripts yuanxia$ ./convertcsv.pl samples.csv 
Died at ./runcluster.pl line 261.
(base) MacBook-Pro-4:scripts yuanxia$ java -cp $DAIKONDIR/daikon.jar daikon.Daikon --nohierarchy samples.decls samples.dtrace
Daikon version 5.8.16, released November 9, 2022; http://plse.cs.washington.edu/daikon.
(read 1 decls file)                                                            
Processing trace data; reading 1 dtrace file:                                  
[2024-03-26T19:21:07.391345]: Finished reading samples.dtrace                  
===========================================================================    
aprogram.point:::POINT
list_length >= 0.0
gateAdd1 one of { 0.0, 1.0 }
gateAdd2 one of { 0.0, 1.0 }
Exiting Daikon.
(base) MacBook-Pro-4:scripts yuanxia$ 

HOWEVER, Daikon kmeans does not work for samples.csv. Commands are following:

(base) MacBook-Pro-4:kmeans yuanxia$ make
make: Nothing to be done for `all'.
(base) MacBook-Pro-4:kmeans yuanxia$ nano ~/.bash_profile
Add three lines to the bash_profile:
export PATH="/Users/yuanxia/Documents/Github/daikonparent/daikon-5.8.16/tools/kmeans/kmeans:$PATH"
export CLASSPATH=$DAIKONDIR/daikon.jar:$CLASSPATH
alias kmeans='/Users/yuanxia/Documents/Github/daikonparent/daikon-5.8.16/tools/kmeans/kmeans'
(base) MacBook-Pro-4:kmeans yuanxia$ source ~/.bash_profile
(base) MacBook-Pro-4:scripts yuanxia$ ./convertcsv.pl samples.csv 
(base) MacBook-Pro-4:scripts yuanxia$ ./runcluster.pl -a km -k 2 samples.decls samples.dtrace
logging to file dtrace-add-cluster.log
filename=aprogram.point.POINT.ru_temp.cluster
Reading from samples.dtrace

No samples found for any of 1 program point
Failed executing java -Xmx3600m daikon.Daikon -o runcluster_temp_km-2.inv --config_option daikon.PptTopLevel.pairwise_implications=true --var-omit-pattern="class" --no_text_output --no_show_progress runcluster_temp.spinfo  _runcluster_temp.decls  samples_runcluster_temp.dtrace 2>&1 > runcluster_temp_Daikon_output.txt at ./runcluster.pl line 206.

I have run makefile in kmeans folder before and make kmeans as a command to execute. I inspected into the files and found _samples_runcluster_temp.dtrace, runcluster_temp.spinfo and runcluster_temp.decls are all empty files. samples.decls and samples.dtrace are files generated by convertcsv.pl. Could you give me some suggestions or answers why Daikon fails to find invariants? I have attached samples.csv and its corresponding files for your convenience.
samples.csv
samples.inv.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions