Software Metric tool for Defect prediction
JRE >= 1.8 is required to run SMD.
You can download binary distribution from https://github.com/jyi/SMD/releases,
In order to build from sources you need gradle build tool. Type gradle fatJar
in a command line.
SMD uses Python with version greater or equal 3.5 to launch Process metrics sub-module.
To collect code metrics run from a command line:
java -jar smd.jar [Path_to_project] [Path_to_folder_with_csv_output]
Second argument is optional.
To collect process metrics from particular git project you need to specify .json configuration file. It should contain the following information:
- Project file extension ('.java','.py', etc.)
- Link to the github project, from which you want to obtain metrics.
- List of input releases, which should contain exactly 2 values: from which to which releases you want to obtain PM.
- Path to output .csv file, which would create after PM collection.
- Path to the directory, which contains project file (or will contain).
After config file creation you need to run following command to start collecting process.
python3 [../process_metrics/launcher.py] [path_to_json_config_file]
SMD: An Open-Source Software Metric Tool for Defect Prediction, Its Case Study and Lessons We Learned. Bulat Gabdrakhmanov, Aleksey Tolkachev, Giancarlo Succi, and Jooyong Yi. SEDA'18
Developers:
- Bulat Gabdrakhmanov
- Aleksey Tolkachev
Principal investigator:
- Jooyong Yi