Sign inSign up

hippodrome/intellijplugin

By hippodrome

•Updated over 4 years ago

Contains Hippodrome and runs IntelliJ with a test project. Requires X server for Mac/Windows users.

Image
0

10K+

hippodrome/intellijplugin repository overview

⁠ HIPPODROME

⁠ Running Hippodrome in IntelliJ

⁠ Prerequisites
  1. Install Docker: https://www.docker.com/⁠

  2. 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/⁠)

⁠ Running the Image

LINUX:

  1. Run the docker image: docker run hippodrome/intellijplugin:latest

  2. Docker should run with an open IntelliJ window.

MAC:

  1. Run XQuartz X11

  2. Activate the option ‘Allow connections from network clients’ in XQuartz's settings

  3. Quit & restart XQuartz (to apply the settings)

  4. Allow X11 forwarding through localhost (in the XQuartz terminal): 'xhost + 127.0.0.1'

  5. run docker with the X11 server: docker run -e DISPLAY=host.docker.internal:0 hippodrome/intellijplugin:latest

WINDOWS:

  1. Run XLaunch (for VcXsrv)

  2. Select 'Multiple windows', click Next >

  3. Select 'Start no client', click Next >

  4. TICK/ENABLE 'Disable access control'. The other settings are optional. Click Next > and finish configuration.

  5. 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.

⁠ Running Hippodrome from the Command Line

  1. Run bash on the docker container: docker exec -it <docker_container_id> /bin/bash
⁠ Running a suite of Benchmarks
  1. Move to /usr/local/hippodrome-tests/suite-of-benchmarks: cd /usr/local/hippodromeDockerFiles-main/suite-of-benchmarks
  2. Run the script: ./hippodrome-run-suite.sh
⁠ Running individual Benchmarks
  1. Move to /usr/local/hippodrome-tests/examples: cd /usr/local/hippodromeDockerFiles-main/examples
  2. Move to the individual benchmark folder: cd <name-of-benchmark>
  3. Run Hippodrome with the project's CONFIG.json: hippodrome --config_file:CONFIG.json

Notes: 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 infer
  • options are the options passed to the infer process
  • json_path is the path to the directory where infer writes its reports
  • targer_options tells how to compile the target files and which files to compile
  • prio_files selects only these files to be fixed. If left empty, Hippodrome will attempt to fix all the files
  • iterations the number of iterations allowed to re-analyse and re-patch the target files before stopping the patching process.

Tag summary

Content type

Image

Digest

Size

2.7 GB

Last updated

over 4 years ago

docker pull hippodrome/intellijplugin