Contains Hippodrome and runs IntelliJ with a test project. Requires X server for Mac/Windows users.
10K+
Install Docker: https://www.docker.com/
Install an X11 server if you're not on LINUX.
(Recommended: MAC: latest version of XQuartz: https://www.xquartz.org/)
(Recommended: WINDOWS: latest version of VcXsrv: https://sourceforge.net/projects/vcxsrv/)
LINUX:
Run the docker image: docker run hippodrome/intellijplugin:latest
Docker should run with an open IntelliJ window.
MAC:
Run XQuartz X11
Activate the option ‘Allow connections from network clients’ in XQuartz's settings
Quit & restart XQuartz (to apply the settings)
Allow X11 forwarding through localhost (in the XQuartz terminal): 'xhost + 127.0.0.1'
run docker with the X11 server: docker run -e DISPLAY=host.docker.internal:0 hippodrome/intellijplugin:latest
WINDOWS:
Run XLaunch (for VcXsrv)
Select 'Multiple windows', click Next >
Select 'Start no client', click Next >
TICK/ENABLE 'Disable access control'. The other settings are optional. Click Next > and finish configuration.
run docker with the X11 server: docker run -e DISPLAY=host.docker.internal:0 hippodrome/intellijplugin:latest
Notes:
a. The Docker image can take a while to download and decompress. (2.6 GB, compressed)
b. host.docker.internal:0 is your current IP address.
docker exec -it <docker_container_id> /bin/bashcd /usr/local/hippodromeDockerFiles-main/suite-of-benchmarks./hippodrome-run-suite.shcd /usr/local/hippodromeDockerFiles-main/examplescd <name-of-benchmark>hippodrome --config_file:CONFIG.jsonNotes:
a. Hippodrome makes a copy of the original (unfixed) file. To revert a fixed file to its original state simply run
mv <filename>.orig <filename>
b. The config file is already set for you. You can change it knowing that if follows this format:
{"infer":"<path-to-infer>",
"options":["--racerdfix-only", "--starvation", <list-of-strings-representing-additional-infer-options>],
"json_path": "./infer-out/",
"target_options": ["--", "javac", "<java-files-to-be-analysed>"],
"prio_file": [],
"iterations": 10
}
where
infer sets the path to the running inferoptions are the options passed to the infer processjson_path is the path to the directory where infer writes its reportstarger_options tells how to compile the target files and which files to compileprio_files selects only these files to be fixed. If left empty, Hippodrome will attempt to fix all the filesiterations the number of iterations allowed to re-analyse and re-patch the target files before stopping the patching process.Content type
Image
Digest
Size
2.7 GB
Last updated
over 4 years ago
docker pull hippodrome/intellijplugin