Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docs #1

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 29 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,37 @@ Long paper: [Production-Driven Patch Generation and Validation](http://arxiv.org

## Getting Started


### Run the evaluation

1. Gets the benchmark: https://github.com/Spirals-Team/BikiniRepair-benchmark
2. Builds each docker image on your system
3. Start Itzal/BikiniRepair `java -cp target/classes:target/test-classes fr.inria.lille.spirals.bikinirepair.Evaluation`
2. Builds each docker image on your system.
For example:
```
cd bugs/mayocat_231/
docker build -t shadow-dataset:mayocat_231 .
```
default tags are:
* mayocat_231: shadow-dataset:mayocat_231
* mayocat_231_patch: shadow-dataset:mayocat_231_patch

3. compile Iztal: `mvn package -DskipTests`
4. Start Itzal/BikiniRepair

starts both version: original and instrument by running:
`java -cp bikinirepair-1.0-SNAPSHOT-jar-with-dependencies.jar:target/test-classes fr.inria.lille.spirals.bikinirepair.Evaluation`

and the shadower:
`java -cp bikinirepair-1.0-SNAPSHOT-jar-with-dependencies.jar:target/test-classes fr.inria.lille.spirals.bikinirepair.Evaluation2`

4. The dashboard is now available at http://localhost:8080
5. Use the python script in the Dataset to reproduce the failure

### Scenario of bugs

#### Mayocat

The null pointer exception occurs when an administrator selects a specific strategy to compute the shipping price of a cart.

#### Broadleaf Ecommerce

The null pointer exception occurs when a webmaster creates a new customer with an already registered email.
32 changes: 32 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
<dependency>
<groupId>fr.inria.spirals</groupId>
<artifactId>npefix</artifactId>
Expand Down Expand Up @@ -93,7 +98,34 @@
<target>1.7</target>
</configuration>
</plugin>

</plugins>
</pluginManagement>

<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fr.inria.lille.spirals.bikinirepair.Evaluation</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-my-jar-with-dependencies</id>
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>

</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,6 @@ public Set<Decision> getSearchSpace() throws RemoteException {
public void setDecision(Decision decision) throws RemoteException {
this.decision = decision;
}

@Override
public boolean isToHandle(Strategy.ACTION action, Object object, Location location) throws RemoteException {
return decision.getLocation().equals(location);
}

}