A tool for mining Java Github repositories. Specifically, it produces a CSV file containing commits that added parameters to existing methods.
Maven can be used to produce a JAR by running the following in the root directory:
mvn clean compile assembly:single
To use, pass the repository URL and the report file name:
cd target
java -jar MethodExplorer.jar https://github.com/pathto/repository.git report_file_name_and_path
Results of testing on a few repos:
| Repository | No of processed commits | Execution Time | Report File |
|---|---|---|---|
| Motasim/Chat-System | 18 commits | 8 seconds | chatsys_report.csv |
| paul-hammant/qdox | 1138 commits | 105 seconds | qdox_report.csv |
| alibaba/dubbo | 1597 commits | 285 seconds | dubbo_report.csv |
The tool is slow. This could be because it parses all modified source files at each commit for methods. A better alternative might be to parse the diff blocks only instead of entire files.
RepoDriller A framework for mining git repositories. Makes traversing repositories' commits a breeze.
QDox A parser for extracting classes, interfaces, and methods definitions.