Skip to content

Commit

Permalink
Merge pull request #1582 from jplag/fix-wiki
Browse files Browse the repository at this point in the history
Update 1.-How-to-Use-JPlag.md
  • Loading branch information
tsaglam authored Feb 21, 2024
2 parents df2b3b9 + 934eb6a commit a6e684c
Showing 1 changed file with 42 additions and 65 deletions.
107 changes: 42 additions & 65 deletions docs/1.-How-to-Use-JPlag.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,79 +11,56 @@ A list of language specific options can be obtained by requesting the help page

The following arguments can be used to control JPlag:
```
Usage: jplag [OPTIONS] [root-dirs[,root-dirs...]...] [COMMAND]
Parameter descriptions:
[root-dirs[,root-dirs...]...]
Root-directory with submissions to check for plagiarism
Root-directory with submissions to check for plagiarism.
-bc, --bc, --base-code=<baseCode>
Path of the directory containing the base code
(common framework used in all submissions)
-h, --help display this help and exit
-l, --language=<language>
Select the language to parse the submissions (default:
java). The language names are the same as the
subcommands.
-n, --shown-comparisons=<shownComparisons>
The maximum number of comparisons that will be shown
in the generated report, if set to -1 all comparisons
will be shown (default: 100)
Path to the base code directory (common framework used in all submissions).
-l, --language=<language>
Select the language of the submissions (default: java). See subcommands below.
-M, --mode=<{RUN, VIEW, RUN_AND_VIEW}>
The mode of JPlag: either only run analysis, only open the viewer, or do both (default: null)
-n, --shown-comparisons=<shownComparisons>
The maximum number of comparisons that will be shown in the generated report, if set to -1 all comparisons will be shown (default: 500)
-new, --new=<newDirectories>[,<newDirectories>...]
Root-directory with submissions to check for plagiarism
(same as the root directory)
Root-directories with submissions to check for plagiarism (same as root).
--normalize Activate the normalization of tokens. Supported for languages: Java, C++.
-old, --old=<oldDirectories>[,<oldDirectories>...]
Root-directory with prior submissions to compare against
-r, --result-directory=<resultFolder>
Name of the directory in which the comparison results
will be stored (default: result)
-t, --min-tokens=<minTokenMatch>
Tunes the comparison sensitivity by adjusting the
minimum token required to be counted as a matching
section. A smaller <n> increases the sensitivity but
might lead to more false-positives
Root-directories with prior submissions to compare against.
-r, --result-file=<resultFile>
Name of the file in which the comparison results will be stored (default: results). Missing .zip endings will be automatically added.
-t, --min-tokens=<minTokenMatch>
Tunes the comparison sensitivity by adjusting the minimum token required to be counted as a matching section. A smaller value increases the sensitivity but might lead to more
false-positives.
Advanced
-d, --debug Debug parser. Non-parsable files will be stored
(default: false)
-m, --similarity-threshold=<similarityThreshold>
Comparison similarity threshold [0.0-1.0]: All
comparisons above this threshold will be saved
(default: 0.0)
-p, --suffixes=<suffixes>[,<suffixes>...]
comma-separated list of all filename suffixes that are
included
-s, --subdirectory=<subdirectory>
Look in directories <root-dir>/*/<dir> for programs
-x, --exclusion-file=<exclusionFileName>
All files named in this file will be ignored in the
comparison (line-separated list)
--csv-export Export pairwise similarity values as a CSV file.
-d, --debug Store on-parsable files in error folder.
-m, --similarity-threshold=<similarityThreshold>
Comparison similarity threshold [0.0-1.0]: All comparisons above this threshold will be saved (default: 0.0).
-p, --suffixes=<suffixes>[,<suffixes>...]
comma-separated list of all filename suffixes that are included.
-P, --port=<port> The port used for the internal report viewer (default: 1996).
-s, --subdirectory=<subdirectory>
Look in directories <root-dir>/*/<dir> for programs.
-x, --exclusion-file=<exclusionFileName>
All files named in this file will be ignored in the comparison (line-separated list).
Clustering
--cluster-alg, --cluster-algorithm=<algorithm>
Which clustering algorithm to use. Agglomerative merges
similar submissions bottom up. Spectral clustering is
combined with Bayesian Optimization to execute
the k-Means clustering algorithm multiple times,
hopefully finding a "good" clustering
automatically. (default: spectral)
--cluster-metric=<metric>
The metric used for clustering. AVG is intersection
over union, MAX can expose some attempts of
obfuscation. (default: MAX)
--cluster-skip Skips the clustering (default: false)
Commands:
--cluster-alg, --cluster-algorithm=<{AGGLOMERATIVE, SPECTRAL}>
Specifies the clustering algorithm (default: spectral).
--cluster-metric=<{AVG, MIN, MAX, INTERSECTION}>
The similarity metric used for clustering (default: average similarity).
--cluster-skip Skips the cluster calculation.
Subsequence Match Merging
--gap-size=<maximumGapSize>
Maximal gap between neighboring matches to be merged (between 1 and minTokenMatch, default: 6).
--match-merging Enables merging of neighboring matches to counteract obfuscation attempts.
--neighbor-length=<minimumNeighborLength>
Minimal length of neighboring matches to be merged (between 1 and minTokenMatch, default: 2).
Subcommands (supported languages):
c
cpp
csharp
Expand Down

0 comments on commit a6e684c

Please sign in to comment.