GitLab will be upgraded on 30 Jan 2023 from 2.00 pm (AEDT) to 3.00 pm (AEDT). During the update, GitLab and Mattermost services will not be available. If you have any concerns with this, please talk to us at N110 (b) CSIT building.

README.md 2.2 KB
Newer Older
1
# DaCapo Analysis Tooling
Leandro Watanabe's avatar
Leandro Watanabe committed
2

Leandro Watanabe's avatar
Leandro Watanabe committed
3
## Overview
Leandro Watanabe's avatar
Leandro Watanabe committed
4
This project consists of analysis tooling for selecting Java benchmarks.
Leandro Watanabe's avatar
Leandro Watanabe committed
5

Leandro Watanabe's avatar
Leandro Watanabe committed
6
## Dependencies
Leandro Watanabe's avatar
Leandro Watanabe committed
7

Leandro Watanabe's avatar
Leandro Watanabe committed
8
9
10
This project depends on a few tools for analysis. Follow the installation instructions
from each tool before using the scripts provided in this project.

Leandro Watanabe's avatar
Leandro Watanabe committed
11
12
13
- [probes](https://gitlab.anu.edu.au/dacapo/tools/probes)
- [ckjm](https://github.com/dspinellis/ckjm)
- [elephant tracks 2](https://github.com/ElephantTracksProject/et2-java)
Leandro Watanabe's avatar
Leandro Watanabe committed
14

Leandro Watanabe's avatar
Leandro Watanabe committed
15
In order to use the scripts, you need to install the package dependencies:
16

Leandro Watanabe's avatar
Leandro Watanabe committed
17
```pip install -r requirements.txt```
18

Leandro Watanabe's avatar
Leandro Watanabe committed
19
20
## Usage

Leandro Watanabe's avatar
Leandro Watanabe committed
21
22
In order to use the scripts, execute the following command:

23
```python -m dacapo.analyzer [--help] [--w=val] [--n=val] [--jdk=val] [--dacapo=val] [--events=val]
Leandro Watanabe's avatar
Leandro Watanabe committed
24
   [--static_analysis] [--bms=val]  [--all] [--probes_path=val] [--ckjm=val]```
Leandro Watanabe's avatar
Leandro Watanabe committed
25
26
27
28
29
30
31
32
33
34
35
36
37
38

This will perform static or dynamic analysis depending on the values provided.

* If events are specified using the --events option, then dynamic analysis will 
be performed. 

* If a jar file is specified using the --dacapo option and no event is 
specified, then static analysis will be performed on the given jar file. 

* Finally, if the --static_analysis flag is specified, then static analysis is
performed on loaded classes during execution of a given benchmark.

optional arguments:

Leandro Watanabe's avatar
Leandro Watanabe committed
39
40
| Flag                | Description
| --------------------| ---------------------------|
Leandro Watanabe's avatar
Leandro Watanabe committed
41
42
43
|  --help             | show help message and exit|
|  --w=val             | number of warmup iterations.|
|  --n=val             | number of invocations. |
Leandro Watanabe's avatar
Leandro Watanabe committed
44
|  --jdk val          | the jdk to use. |
Leandro Watanabe's avatar
Leandro Watanabe committed
45
46
|  --dacapo=val       | the DaCapo jar file to use.|
|  --events=val       | the perf events to measure.|
Leandro Watanabe's avatar
Leandro Watanabe committed
47
|  --static_analysis  | used to perform static analysis. |
Leandro Watanabe's avatar
Leandro Watanabe committed
48
|  --bms=val          | the benchmarks to run.<br/><br/><b>Options:</b> avrora, batik, eclipse, fop, h2,<br/> jython, luindex, lusearch, pmd, sunflow,<br/> tomcat, tradebeans, tradesoap, and xalan. |
Leandro Watanabe's avatar
Leandro Watanabe committed
49
|  --all              | runs all benchmarks. |
Leandro Watanabe's avatar
Leandro Watanabe committed
50
|  --probes_path=val  | the path to the probes tool. |
Leandro Watanabe's avatar
Leandro Watanabe committed
51
|  --ckjm=val          | the ckjm jar file to use. |
Leandro Watanabe's avatar
Leandro Watanabe committed
52
53


Leandro Watanabe's avatar
Leandro Watanabe committed
54
## Testing
Leandro Watanabe's avatar
Leandro Watanabe committed
55

Leandro Watanabe's avatar
Leandro Watanabe committed
56
```python -m tests.testsuite```
Leandro Watanabe's avatar
Leandro Watanabe committed
57

Leandro Watanabe's avatar
Leandro Watanabe committed
58

Leandro Watanabe's avatar
Leandro Watanabe committed
59
## License
60
 This work is released under the [Apache 2.0 license](LICENSE).