45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# Code of FixMiner
|
|
|
|
## Prerequisites
|
|
|
|
redis should be installed on the machine.
|
|
|
|
## Build
|
|
|
|
Clone and install `edu.lu.uni:simple-utils`.
|
|
|
|
```
|
|
git clone https://github.com/SerVal-DTF/simple-utils
|
|
cd simple-utils
|
|
mvn install
|
|
```
|
|
|
|
Clone and install the modified version of Gumtree.
|
|
|
|
```
|
|
git clone https://github.com/SerVal-DTF/gumtree
|
|
cd gumtree
|
|
mvn install
|
|
```
|
|
|
|
Clone and install fixminer.
|
|
|
|
```
|
|
git clone https://github.com/SerVal-DTF/fixminer_source
|
|
cd fixminer_source
|
|
mvn install
|
|
```
|
|
|
|
## Main classes
|
|
|
|
* `src/main/java/edu/lu/uni/serval/fixminer/Launcher.java` computes the edit scripts from local file pairs and pushes them to a Redis database:
|
|
* first run `redis-server`
|
|
* edit `app.properties` in particular `portInner`, `portDumps`, `inputPath`
|
|
* `mvn exec:java -Dexec.mainClass=edu.lu.uni.serval.fixminer.Launcher -Dexec.args="../fixminer-core/python/data/app.properties RICHEDITSCRIPT dummy"`
|
|
* `src/main/java/edu/lu/uni/serval/utils/ClusterToPattern.java` extracts the Rich Edit Script from the Gumtree output from the database
|
|
* `src/main/java/edu/lu/uni/serval/utils/CallShell.java`
|
|
* `src/main/java/edu/lu/uni/serval/fixminer/TestTreeLoader.java`
|
|
* `src/main/java/edu/lu/uni/serval/fixminer/jobs/PatternExtractor.java`
|
|
* `src/main/java/edu/lu/uni/serval/fixminer/akka/compare/CompareTrees.java`
|
|
|