https://github.com/vigna/hwd-repr
Reproducibility code for “A New Test for Hamming-Weight Dependencies”, by David Blackman and Sebastiano Vigna
https://github.com/vigna/hwd-repr
Last synced: about 1 year ago
JSON representation
Reproducibility code for “A New Test for Hamming-Weight Dependencies”, by David Blackman and Sebastiano Vigna
- Host: GitHub
- URL: https://github.com/vigna/hwd-repr
- Owner: vigna
- Created: 2021-09-30T15:07:40.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-30T15:18:23.000Z (almost 5 years ago)
- Last Synced: 2025-03-30T06:41:47.009Z (over 1 year ago)
- Language: C
- Size: 156 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Replication code
================
The code in this archive can be used to replicate the results of the
paper “A New Test for Hamming–Weight Dependencies”, by David Blackman and
Sebastiano Vigna.
The tests described in the paper can be replicated in sequence using the
script `test-all.sh`. To speed up the process, the script has been broken
into several subscripts, each testing a different generator; such scripts
can be run in a parallel or distributed fashion. Note that some of the
slowest tests (e.g., for `well512a`) requires months to be completed.
All scripts make it possible to append arguments that will be passed to
the compilter. If you are running on a Linux distribution supporting huge
pages, giving the option `-DHWD_MMAP` will enable huge pages.
`hwd.c` is the code for the test described in the paper. With respect to
the official distribution, it contains some additional conditionally
compiled code in `main()` to initialize a few generators that cannot be
initialized statically. `prng_hwd.c` contain the code for the generators
to be tested: each generator can be selected with a `#define`.
After a test is completed, a p-value smaller than 10^-20 is printed. The
faulty signature can be easily spotted by checking which signature has the
lowest p-value. Note that in a few cases the amount of data quoted in the
paper is slightly smaller than the one in the final output because looking
at previous outputs one can realize that there is a better approximation.