#let ADB = link(<acr-adb>)[ADB]
#let AOSP = link(<acr-aosp>)[AOSP]
#let API = link(<acr-api>)[API]
#let APIs = link(<acr-api>)[APIs]
#let APK = link(<acr-apk>)[APK]
#let APKs = link(<acr-apk>)[APKs]
#let ART = link(<acr-art>)[ART]
#let AXML = link(<acr-axml>)[AXML]
#let CFG = link(<acr-cfg>)[CFG]
#let DEX = link(<acr-dex>)[DEX]
#let DFG = link(<acr-cfg>)[DFG]
#let FR = link(<acr-fr>)[FR]
#let HPC = link(<acr-hpc>)[HPC]
#let MWE = link(<acr-mwe>)[MWE]
#let OAT = link(<acr-oat>)[OAT]
#let JAR = link(<acr-jar>)[JAR]
#let JNI = link(<acr-jni>)[JNI]
#let IDE = link(<acr-ide>)[IDE]
#let NDK = link(<acr-ndk>)[NDK]
#let SDK = link(<acr-sdk>)[SDK]
#let SDKs = link(<acr-sdk>)[SDKs]
#let XML = link(<acr-xml>)[XML]
#let ZIP = link(<acr-zip>)[ZIP]

#let notation_table = align(center, table(
  columns: 2,
  align: center+horizon,
  table.header(
    [Acronyms], [Meanings],
  ),
  ADB, [Android Debug Bridge, a tool to connect to an Android emulator of smartphone to run commands, start applications, send events and perform other operations for testing and debuging purpose <acr-adb>],
  AOSP, [Android Open Source Project, the project hosting the most of the Android operating system source code <acr-aosp>],
  API, [Application Programming Interface, in the Android ecosystem, it is a set of classes with known method signatures that can be called by an application to interact with the Android framework <acr-api>],
  APK, [Android Package, the file format used to install application on Android. The APK format is an extention of the #JAR format <acr-apk>],
  ART, [Android RunTime, the runtime environement that execute an Android application. The ART is the successor of the older Dalvik Virtual Machine <acr-art>],
  AXML, [Android #XML. The specific flavor of #XML used by Android. The main specificity of AXML is that it can be compile in a binary version inside an APK <acr-axml>],
  CFG, [Control-Flow Graph, a graph representing the control structures (_e.g._ "if" blocks) of the code of a method/application <acr-cfg>],
  DEX, [Dalvik Executable, the file format for the bytecode used for applicatiobs by Android <acr-dex>],
  DFG, [Data-Flow Graph, a graph representing the flow of information in an application <acr-dfg>],
  FR, [Finishing Rate, the number of runs that finished over the number of total runs of an analysis <acr-fr>],
  HPC, [High-Performance Computing, the use of supercomputers and computer clusers <acr-hpc>],
  MWE, [Minimum Working Example, in this context, a small example that can be used to check if a tool is working <acr-mwe>],
  IDE, [Integrated Development Environment, a software providing tools for software development <acr-ide>],
  JAR, [Java ARchive file, the file format used to store several java class files. Sometimes used by Android to store #DEX files instead of java classes <acr-jar>],
  JNI, [Java Native Interface, the native library used to interact with Java classes of the application and Android API <acr-jni>],
  OAT, [Of Ahead Time, an ahead of time compiled format for #DEX files <acr-oat>],
  NDK, [Native Development Kit, the set of tools used to build C and C++ code for Android <acr-ndk>],
  SDK, [Software Development Kit, a set of tools for developing software targeting a specific platform. In the context of Android, the version of the SDK can be associated to a version of Android, and application compatibility is defined in term of compatible SDK version <acr-sdk>],
  XML, [eXtensible Markup Language, a language to store data <acr-xml>],
  ZIP, [ZIP is an archive format. A ZIP file contains other files, that may be compressed <acr-zip>],
))
