Skip to content

Commandline Parameters

PaulBredl edited this page Aug 30, 2021 · 18 revisions

Commandline parameters for DiffSearch

Introduction

To simplify the execution, use the command

dfs() { mvn exec:java -Dexec.mainClass=research.diffsearch.mainpp -Dexec.args="$1" ; }

Then, DiffSearch can be run using

dfs "_args_"

DiffSearch Modes

Parameter Usage Description
n -n DiffSearch in console mode
g -g DiffSearch serves as webserver for the DiffSearch UI
w -w DiffSearch serves as webserver for the old DiffSearch UI
q -q query performs a search on the given query
b -b inputpath outputpath processes all queries of a text file at the given path and saves the result in the given output file
fe -fe Feature extraction mode, creates feature vectors from code changes and indexes them

Other parameters

Parameter Usage Description
pyc -pyc pycommand sets the command to start the python environment
lang -lang (java|javascript|python) sets the target programming language
l -l saves the server log to a log file.
oj -oj runs only the java server and does not invoke python
p -p port sets the port of the web interface
r -r enables recall measurement
silent --silent if given, DiffSearch omits large console outputs like results of a query
py_port -py_port port sets the port of the python server
k -k number sets value for k, which is the number of candidate changes
r -t number enables recall measurement
vl -vl number size a each partition of the feature vectors
cb -cb number number of count bits
t -t number number of threads to use
extractors -extractors (name(:length)?;)+ defines the extractors DiffSearch uses, e.g. -extractors parentchild:2000;triangle:2000
mt -mt seconds maximum matching time for a single code change
extract-query-placeholders --extract-query-placeholders extract query placeholders like EXPR, default is false
tfidf -tfidf tfidf weights are used in the feature vectors
noquerymultiplication -noquerymultiplication query vectors do not get multiplied
nondividedextraction -nondividedextraction feature extraction is not divided in the old and new part
Clone this wiki locally