soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.85k stars 706 forks source link

Detected non-deterministic results under various configurations #2012

Open AnnabellaM opened 10 months ago

AnnabellaM commented 10 months ago

Hi, I have recently been using Soot for an empirical study to detect non-deterministic behaviors in static analyzers. The experiments resulted in discovering some nondeterministic analysis results across multiple runs under various configurations of Soot.

The details of the experimental setup are as below:

In the end, the experiments detected non-deterministic results on 75 programs. 68 out of these 75 programs were from the CATS, and 7 out of 75 were from the DaCapo-2006 programs. These results were detected under 19 configurations out of a total of 30 sample configurations.

The attached data is the detected nondeterministic results from CATS and DaCapo-2006 and configuration files (note1: the configurations are hash-coded in the detected results, but the actual configuration options and values that each hash code stands for can be found in the attached configuration files.) (note2: Since the entire dataset for detected nondeterministic results amounts to 3.1 GB, the attached data is only a fraction of the total dataset.)

bkushigian commented 10 months ago

Interesting, I also just ran Soot a few times on some programs and detected some nondeterminism. I figured it might be timeout-relate?