<commit_before>![Averroes logo](/logo/logo.tiff?raw=true)

Averroes is Java bytecode generator that enables sound and precise analysis of the application part of a program without analyzing its library dependencies. It achieves that by generating a placeholder/stub library for those dependencies that models the original library code with respect to:
- class instantiations
- callbacks to application methods
- handled exceptions (caught or thrown)
- field and array accesses

## Usage

``` bash
jar -jar averroes.jar -a <path> [-d <file>] [-h] -j <directory> [-l <path>] -m <class> -o <directory> -r <regex> [-t <file>]

 -a,--application-jars <path>              a list of the application JAR
                                           files separated by
                                           File.pathSeparator
 -d,--dynamic-classes-file <file>          a file that contains a list of
                                           classes that are loaded
                                           dynamically by Averroes (e.g.,
                                           classes instantiated through
                                           reflection)
 -h,--help                                 print out this help message
 -j,--java-runtime-directory <directory>   the directory that contains the
                                           Java runtime environment that
                                           Averroes should model
 -l,--library-jars <path>                  a list of the JAR files for
                                           library dependencies separated
                                           by File.pathSeparator
 -m,--main-class <class>                   the main class that runs the
                                           application when the program
                                           executes
 -o,--output-directory <directory>         the directory to which Averroes
                                           will write any output
                                           files/folders.<commit_msg>readme cleanup<commit_after>![Averroes logo](/logo/logo.tiff?raw=true)

Averroes is Java bytecode generator that enables sound and precise analysis of the application part of a program without analyzing its library dependencies. It achieves that by generating a placeholder/stub library for those dependencies that models the original library code with respect to:
- class instantiations
- callbacks to application methods
- handled exceptions (caught or thrown)
- field and array accesses

## Usage

``` text
jar -jar averroes.jar -a <path> [-d <file>] [-h] -j <directory> [-l <path>] -m <class> -o <directory> -r <regex> [-t <file>]

 -a,--application-jars <path>              a list of the application JAR
                                           files separated by
                                           File.pathSeparator
 -d,--dynamic-classes-file <file>          a file that contains a list of
                                           classes that are loaded
                                           dynamically by Averroes (e.g.,
                                           classes instantiated through
                                           reflection)
 -h,--help                                 print out this help message
 -j,--java-runtime-directory <directory>   the directory that contains the
                                           Java runtime environment that
                                           Averroes should model
 -l,--library-jars <path>                  a list of the JAR files for
                                           library dependencies separated
                                           by File.pathSeparator
 -m,--main-class <class>                   the main class that runs the
                                           application when the program
                                           executes
 -o,--output-directory <directory>         the directory to which Averroes
                                           will write any output
                                           files/folders.
{'fraction_non_alphanumeric': 0.057724957555178265, 'fraction_numerical': 0.0, 'mean_word_length': 1.17740232312566, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 58, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '388867', 'n_tokens_mistral': 781, 'n_tokens_neox': 743, 'n_words': 348}