#import "../lib.typ": num, mypercent

#let rq1 = link(<rq-1>)[*RQ1*]
#let rq2 = link(<rq-2>)[*RQ2*]
#let rq3 = link(<rq-3>)[*RQ3*]

#let NBTOTAL = 62525
#let NBTOTALSTRING = num(NBTOTAL)

#let nbtools = 26
#let nbtoolsselected = 20
#let nbtoolsselectedvariations = 22
#let nbtoolsvariationsrun = 20
#let resultunusablenb = 12 //\xspace
#let resultunusable = mypercent(resultunusablenb, nbtoolsselectedvariations) // \xspace
#let resultratio = mypercent(54.9, 100) // \xspace
#let ramlimit = [64 GB] //\xspace

#let rasta_tool_data = csv(
  "data/data-final.csv",
  delimiter: ";",
  row-type: dictionary,
)

#let rasta_avg_nb_error_by_exec = csv(
  "data/average_number_of_error_by_exec.csv",
  delimiter: ",",
  row-type: dictionary,
)

#let rasta_avg_time = csv(
  "data/average_time-final.csv",
  delimiter: ",",
  row-type: dictionary,
)

#let rasta_avg_mem = csv(
  "data/average_mem-final.csv",
  delimiter: ",",
  row-type: dictionary,
)

#let tool_info = (
  (
    "tool_name": "adagio",
    "use_python": true,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": true,
    "use_apktool": false,
  ),
  (
    "tool_name": "amandroid",
    "use_python": false,
    "use_java": false,
    "use_scala": true,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "anadroid",
    "use_python": true,
    "use_java": true,
    "use_scala": true,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "androguard",
    "use_python": true,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": true,
    "use_apktool": false,
  ),
  (
    "tool_name": "androguard_dad",
    "use_python": true,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": true,
    "use_apktool": false,
  ),
  (
    "tool_name": "apparecium",
    "use_python": true,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": true,
    "use_apktool": false,
  ),
  (
    "tool_name": "blueseal",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "dialdroid",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": false,
  ),
  (
    "tool_name": "didfail",
    "use_python": true,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": false,
  ),
  (
    "tool_name": "droidsafe",
    "use_python": true,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "flowdroid",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": false,
  ),
  (
    "tool_name": "gator",
    "use_python": true,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "ic3",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": false,
  ),
  (
    "tool_name": "ic3_fork",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": false,
  ),
  (
    "tool_name": "iccta",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "mallodroid",
    "use_python": true,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": true,
    "use_apktool": false,
  ),
  (
    "tool_name": "perfchecker",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": true,
    "use_androguard": false,
    "use_apktool": false,
  ),
  (
    "tool_name": "redexer",
    "use_python": false,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": true,
    "use_ruby": true,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "saaf",
    "use_python": false,
    "use_java": true,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": false,
    "use_soot": false,
    "use_androguard": false,
    "use_apktool": true,
  ),
  (
    "tool_name": "wognsen_et_al",
    "use_python": true,
    "use_java": false,
    "use_scala": false,
    "use_ocaml": false,
    "use_ruby": false,
    "use_prolog": true,
    "use_soot": false,
    "use_androguard": false,
    "use_apktool": true,
  ),
)
