diff --git a/examples/boundary tests/README.md b/examples/boundary tests/README.md new file mode 100644 index 0000000..1d453c9 --- /dev/null +++ b/examples/boundary tests/README.md @@ -0,0 +1,218 @@ +# Boundary Tests on SIGO + +This document presents the limitations of sigo regarding the size of the datasets +We will generate different datasets by varying the number of rows and the number of columns. +We will test these parameters on the different anonymization methods. + +## Number of rows + +We generate datasets of different sizes using `pimo`. +Below the `masking.yml` file allowing to generate a flow of jsonline with random float. + +```yaml +version: "1" +seed: 42 +masking: + - selector: + jsonpath: "A" + mask: + randomDecimal: + min: 0 + max: 100.00 + precision: 2 + - selector: + jsonpath: "B" + mask: + randomDecimal: + min: 0 + max: 100.00 + precision: 2 +``` + +We change the size of the datasets by using the `--repeat,-r` flag of `pimo` (***N = [100, 1000, 10000, 100000, 1000000]***). +And we anonymize the data with `sigo` using the anonymization method of our choice with the `--anonymizer,-a` flag. + +```console +pimo < test.json -c masking.yml -r 100 > test1_1.json +sigo -q A,B -a general < test1_1.json > output.json +``` + +A bash script is written to automate the tests in the `rows.sh` file. + +```console +cd rows +sudo chmod u+x rows.sh +. ./rows.sh +``` + +The results are listed in the `log.txt` file. + +| NoAnonymizer | Size | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 100 | 0.00 | SUCCESS | +| Test2 | 1 000 | 0.00 | SUCCESS | +| Test3 | 10 000 | 2.00 | SUCCESS | +| Test4 | 100 000 | 27.00 | SUCCESS | +| Test5 | 1 000 000 | 418.00 | SUCCESS | +| Test6 | 10 000 000 | | FAILED | + +
Generalization | Aggregation | Top Bottom Coding | Random Noise |
---|---|---|---|
+ +| | Size | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 100 | 1.00 | SUCCESS | +| Test2 | 1 000 | 0.00 | SUCCESS | +| Test3 | 10 000 | 3.00 | SUCCESS | +| Test4 | 100 000 | 30.00 | SUCCESS | +| Test5 | 1 000 000 | 395.00 | SUCCESS | + + | + +| | Size | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 100 | 0.00 | SUCCESS | +| Test2 | 1 000 | 0.00 | SUCCESS | +| Test3 | 10 000 | 3.00 | SUCCESS | +| Test4 | 100 000 | 29.00 | SUCCESS | +| Test5 | 1 000 000 | 386.00 | SUCCESS | + + | + +| | Size | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 100 | 0.00 | SUCCESS | +| Test2 | 1 000 | 0.00 | SUCCESS | +| Test3 | 10 000 | 3.00 | SUCCESS | +| Test4 | 100 000 | 28.00 | SUCCESS | +| Test5 | 1 000 000 | 398.00 | SUCCESS | + + | + +| | Size | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 100 | 0.00 | SUCCESS | +| Test2 | 1 000 | 1.00 | SUCCESS | +| Test3 | 10 000 | 3.00 | SUCCESS | +| Test4 | 100 000 | 37.00 | SUCCESS | +| Test5 | 1 000 000 | 420.00 | SUCCESS | + + |
Generalization | Aggregation | Top Bottom Coding | Random Noise |
---|---|---|---|
+ +| | Attributes | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 2 | 0.00 | SUCCESS | +| Test2 | 4 | 1.00 | SUCCESS | +| Test3 | 8 | 1.00 | SUCCESS | +| Test4 | 16 | 2.00 | SUCCESS | +| Test5 | 32 | 4.00 | SUCCESS | + + | + +| | Attributes | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 2 | 0.00 | SUCCESS | +| Test2 | 4 | 1.00 | SUCCESS | +| Test3 | 8 | 1.00 | SUCCESS | +| Test4 | 16 | 2.00 | SUCCESS | +| Test5 | 32 | 4.00 | SUCCESS | + + | + +| Top Bottom Coding | Attributes | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 2 | 0.00 | SUCCESS | +| Test2 | 4 | 0.00 | SUCCESS | +| Test3 | 8 | 0.00 | SUCCESS | +| Test4 | 16 | 1.00 | SUCCESS | +| Test5 | 32 | 4.00 | SUCCESS | + + | + +| | Attributes | Execution time (sec) | Results | +|-------|:----------:|:----------------------:|:-------:| +| Test1 | 2 | 0.00 | SUCCESS | +| Test2 | 4 | 0.00 | SUCCESS | +| Test3 | 8 | 0.00 | SUCCESS | +| Test4 | 16 | 2.00 | SUCCESS | +| Test5 | 32 | 4.00 | SUCCESS | + + |