https://github.com/radon-h2020/radon-defect-prediction-cli
The RADON defect predictor for IaC based on the Scikit-learn Python framework
https://github.com/radon-h2020/radon-defect-prediction-cli
cli defect-prediction iac
Last synced: 2 months ago
JSON representation
The RADON defect predictor for IaC based on the Scikit-learn Python framework
- Host: GitHub
- URL: https://github.com/radon-h2020/radon-defect-prediction-cli
- Owner: radon-h2020
- License: apache-2.0
- Created: 2020-10-12T15:39:05.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-07-12T12:23:47.000Z (almost 4 years ago)
- Last Synced: 2025-02-22T13:52:44.836Z (2 months ago)
- Topics: cli, defect-prediction, iac
- Language: Python
- Homepage: https://radon-h2020.github.io/radon-defect-prediction-cli/
- Size: 12.6 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README






# radon-defect-prediction
The RADON command-line client for Infrastructure-as-Code Defect Prediction.## How to Install
From [PyPI](https://pypi.org/project/radon-defect-predictor/):
`pip install radon-defect-predictor`
From source code:
```text
git clone https://github.com/radon-h2020/radon-defect-prediction.git
cd radon-defect-predictor
pip install -r requirements.txt
pip install .
```## Quick Start
```text
usage: radon-defect-predictor [-h] [-v] {train,predict,model} ...A Python library to train machine learning models for defect prediction of infrastructure code
positional arguments:
{train,predict,model}
train train a brand new model from scratch
model get a pre-trained model to test unseen instances
predict predict unseen instancesoptional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
```# How to build Docker container
`docker build --tag radon-dp:latest .`
# How to run Docker container
First, create a host volume to share data and results between the host machine and the Docker container:
`mkdir /tmp/radon-dp-volume/`
## TrainCreate a training dataset `metrics.csv` and copy/move it to `/tmp/radon-dp-volume/`.
See how to generate the training data for defect prediction [here](https://radon-h2020.github.io/radon-repository-miner/cli/metrics/).Run:
`docker run -v /tmp/radon-dp-volume:/app radon-dp:latest radon-defect-predictor train metrics.csv ...`
See the [docs](https://radon-h2020.github.io/radon-defect-prediction-cli/cli/train/) for more details about this command.
The built model can be accessed at `/tmp/radon-dp-volume/radondp_model.joblib`.
## Model
Run:
`docker run -v /tmp/radon-dp-volume:/app radon-dp:latest radon-defect-predictor download-model ...`
See the [docs](https://radon-h2020.github.io/radon-defect-prediction-cli/cli/model/) for more details about this command.
The downloaded model can be accessed at `/tmp/radon-dp-volume/radondp_model.joblib`.
## Predict
Move the model and the files to predict in the shared volume.
For example, if you want to run the prediction on a .csar, then`cp patah/to/file.csar /tmp/radon-dp-volume`.
Alternatively, you can create a volume from the folder containing the .csar (in that case, make sure to move the model within it).
Run:
`docker run -v /tmp/radon-dp-volume:/app radon-dp:latest radon-defect-predictor predict ...`
See the [docs](https://radon-h2020.github.io/radon-defect-prediction-cli/cli/predict/) for more details about this command.
The predictions can be accessed at `/tmp/radon-dp-volume/radondp_predictions.json`.