Dependencies

The ARX software library comes in two flavours: (1) libarx, which contains all dependencies required for using all of ARX’s features and, (2) libarx-min, which doesn’t come with any external libraries included. This page lists all libraries that must be included together with libarx-min to use certain features of ARX.

Minimal requirements

To use the basic features of ARX, the following libraries must be included:

  • Colt: Open Source Libraries for High Performance Scientific and Technical Computing. The version currently used by ARX can be found here.
  • HPPC: High Performance Primitive Collections for Java. The version currently used by ARX can be found here.
  • Commons math: The Apache Commons Mathematics Library. The version currently used by ARX can be found here.
  • JHPL: Java High-Performance Library for Lattices. The version currently used by ARX can be found here.

Risk analyses and risk-based anonymization

  • Newton-Raphson: Java implementation of Newton’s method for solving bivariate non-linear equation systems. The version currently used by ARX can be found here.
  • Commons validator:  Apache Commons library for verifying the integrity of data. The version currently used by ARX can be found here.

Utility analyses using classification models

  • exp4j: For evaluating expressions and functions. The version currently used by ARX can be found here.
  • Apache Mahout and dependencies: To add support for some machine learning algorithms. The version currently used by ARX can be found here.
  • SMILE: To add support for some machine learning algorithms. The version currently used by ARX can be found here.

Importing data

The following libraries must be included for importing data from certain sources:

  • Univocity CSV Parser: Text parsing solution for Java that provides a common architecture for parsing tabular representations of data. The version currently used by ARX can be found here.
  • Apache POI: Java API for Microsoft Documents. This library is required for reading data from Excel Spreadsheets. The version currently used by ARX (and its respective dependencies) can be found here.
  • JDBC drivers: ARX currently supports MySQL, PostgreSQL, MS SQL Server, Oracle and SQLite. The versions currently used by ARX can be found herehere, here, here and here.
  • Apache Commons IO: Library of utilities to assist with developing IO functionality. This library is required for using the advanced importing features for CSV files (via class DataSource). The version currently used by ARX can be found here.

Selecting data subsets

To select data subsets (e.g. for enforcing δ-presence) by means of a querying interface, the following library must be included:

  • Object-selector: Object Selection Library for Java. The version currently used by ARX can be found here.

Running the tests

  • JUnit: Simple framework to write repeatable tests. The version currently used by ARX (and the respective dependencies) can be found here.
  • Datasets: Due to lincensing reasons ARX comes without any of the datasets required for running the tests. Please contact arx.deidentifier@gmail.com for information on how to obtain them.