Skip to content

Latest commit

 

History

History
52 lines (31 loc) · 2.06 KB

File metadata and controls

52 lines (31 loc) · 2.06 KB

metricLoop.sh

Loop over the given applications to query the devNote.sh script.

This script will need a valid github API key in the file ./githubKey

The script will look for databases in a databases dir, final outputs in output and write temporary results in /tmp/tracker.

Example usage: ./metricLoop.sh ../allApps.csv

devNote.sh

This is the main script of the Sniffer, working on only one project at a time (see metricLoop.sh to load multiple projects).

It will :

  1. Query the smells from our Detector database (require SmellDetector.jar).
  2. Retrieve every commits of the current project if COMMITS.csv is absent (require GitHubMiner.jar).
  3. Merge the developers identity from the smells into the COMMITS.csv file.
  4. Retrieve the project commits in topological order (will clone the project & use git log).
  5. Calculate the metrics from all previous information sources (require CSVSmellTracker.jar).

Example usage: ./devNote.sh -d "$dbDir/$appName" -p "$appPath" -k "$(cat $githubKeyFile)" -o "$tmpOutput"

complementaryDataLoop.sh

This script will loop over all already analyzed projects to add the following data:

  • Process the number of method and classes (Using SmellDetector.jar).
  • Sort the project's commits by type (feat,fix,docs,style,refactor,perf,tests,chores).

group.py

This script will take every project from the output folder (using metrics-perDev-perCommit-perSmell.csv and $project-commits-results as input) and group the tagged commits with their respective number of smell introduction, refactor, deletion, refactor+deletion.

The result will be written in two new files (completeTags.csv and completeTags-onlyTagged.csv).

packResults.sh

Creates 2 tar archives from the output directory, in the current folder.

  • results: Full content of the directory.
  • metrics: Only embed the content of metrics dirs and commits files.

The result will be stored in the packages directory.