/BID3

Primary LanguageJava

Overview

This repository provides the replication package for the paper "A Large-scale Study on API Misuses in the Wild" submitted to ICST 2021.

It includes two modules:

(1) PatternCollection, which collects patterns from bug-fixing commits by using the following commands:

$cd BID3/PatternCollection/FixRuleMiner
$mvn compile
$mvn exec:java -Dexec.args="PATH/TO/DATA PATH/TO/RESULT ThreadNumber" (Example: $mvn exec:java -Dexec.args="../ExampleData/ ./ 1")

There will be a ExampleResult.json under the folder FixRuleMiner

We also put all patterns of our paper in (https://github.com/BID3/BID3/tree/master/PatternCollection/PaperResults)

(2) APIMisuseDetection, which detects potential misuses in specific projects by using the following commands:

$cd BID3/APIMisuseDetection/MisuseDetection/
$mvn compile
$mvn exec:java -Dexec.args="PATH/TO/PROJECT" (Example: $mvn exec:java -Dexec.args="../ExampleProjects/zookeeper/")

There will be a Results.json under the folder MisuseDetection

We also put all detected misuses in our paper in (https://github.com/BID3/BID3/tree/master/APIMisuseDetection/PaperResults.json)