Skip to content

Commit

Permalink
Added DockerFile and README (gousiosg#38)
Browse files Browse the repository at this point in the history
  • Loading branch information
ameka4 authored Apr 24, 2023
1 parent 59fc893 commit 7a62aea
Show file tree
Hide file tree
Showing 5 changed files with 110 additions and 0 deletions.
84 changes: 84 additions & 0 deletions Docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
FROM ubuntu:22.04

# if work dir changed, the RUN sed line needs changes also
WORKDIR /root

# add needing packages
RUN apt-get update
RUN apt-get -y install git
RUN apt-get install sed
RUN apt-get install patch
RUN apt-get -y install graphviz
RUN apt-get -y install python3
RUN apt-get -y install python3-pip
RUN apt -y install default-jdk
RUN apt -y install maven
RUN pip3 install setuptools numpy pandas

RUN mkdir -p -m 700 artifact/
RUN mkdir -p -m 700 git/

# copy java-callgraph and repos
#COPY java-callgraph artifact/
RUN git clone https://github.com/bitslab/java-callgraph.git git/java-callgraph
RUN cd git/java-callgraph && mvn package
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table-fixed
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table-10
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table-50
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table-500
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table-1000
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c mph-table-naive
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c convex
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c convex-10
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c convex-50
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c convex-500
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c convex-1000
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c convex-fixed
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c jflex
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c jflex-10
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c jflex-50
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c jflex-500
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c jflex-1000
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c jflex-fixed
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c rpki-commons
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c rpki-commons-10
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c rpki-commons-50
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c rpki-commons-500
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c rpki-commons-1000
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar git -c rpki-commons-fixed
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table -o mph-table_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table-fixed -o mph-table-fixed_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table-10 -o mph-table-10_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table-50 -o mph-table-50_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table-500 -o mph-table-500_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table-1000 -o mph-table-1000_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c mph-table-naive -o mph-table-naive_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c convex -o convex_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c convex-fixed -o convex-fixed_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c convex-10 -o convex-10_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c convex-50 -o convex-50_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c convex-500 -o convex-500_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c convex-1000 -o convex-1000_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c jflex -o jflex_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c jflex-fixed -o jflex-fixed_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c jflex-10 -o jflex-10_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c jflex-50 -o jflex-50_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c jflex-500 -o jflex-500_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c jflex-1000 -o jflex-1000_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c rpki-commons -o rpki-commons_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c rpki-commons-10 -o rpki-commons-10_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c rpki-commons-50 -o rpki-commons-50_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c rpki-commons-500 -o rpki-commons-500_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c rpki-commons-1000 -o rpki-commons-1000_graph
RUN cd git/java-callgraph && java -jar target/javacg-0.1-SNAPSHOT-jar-with-dependencies.jar build -c rpki-commons-fixed -o rpki-commons-fixed_graph


# custom prompt
RUN echo PS1=\"[\\u@artifact-java-callgraph \\W]\\$ \" > .bashrc

# alter artifact files to point git locally instead
#RUN sed -i 's/https:\/\/github.com\/indeedeng\/mph-table.git/\/root\/git\/mph-table/g' "artifact/artifacts/configs/mph-table/mph-table.yaml"


ENTRYPOINT ["/bin/bash"]
26 changes: 26 additions & 0 deletions Docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Docker Instructions

## Setup Instructions
1. Build Docker Image

`sudo docker build -t jc_docker .`

![img.png](img.png)

2. Validate image creation, obtain IMAGE ID

`sudo docker images`

![img_1.png](img_1.png)

3. Interactively run container as root user

`sudo docker container run -it 83192d10ad58`

![img_2.png](img_2.png)

All vanilla and fixed versions of the projects will reside inside the "git/java-callgraph" folder.



## Experiment Instructions
Binary file added Docker/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docker/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docker/img_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7a62aea

Please sign in to comment.