Skip to main content

A tool to mine software repositories for defect prediction.

Project description

Build Documentation Codecov lgtm pypi-version python-version

radon-repository-miner

RepositoryMiner is a Python framework that helps developers and researchers to mining software repositories. It currently supports the Infrastructure as Code technology Ansible and Tosca.

How to install

From PyPI:

pip install repository-miner

From source code:

git clone https://github.com/radon-h2020/radon-repository-miner.git
cd radon-repository-miner
pip install -r requirements.txt
pip install .

Important: to properly use the FixingCommitCategorized, install the spaCy statistical model en_core_web_sm:

python -m spacy download en_core_web_sm

Usage

from repominer.mining.<ansible|tosca> import <Ansible|Tosca>Miner
from repominer.metrics.<ansible|tosca> import <Ansible|Tosca>MetricsExtractor
    
miner = <Ansible|Tosca>Miner(url_to_repo='github.com/adriagalin/ansible.motd', clone_repo_to='/tmp') 
miner.get_fixing_commits()
miner.get_fixed_files()
failure_prone_files = miner.label()

metrics_extractor = <Ansible|Tosca>MetricsExtractor(path_to_repo='/tmp/ansible.motd')
metrics_extractor.extract(failure_prone_files, product=True, process=True, delta=True)
metrics_extractor.to_csv('metrics.csv')

print('FIXING COMMITS:', miner.fixing_commits)
print('FAILURE-PRONE FILES:', failure_prone_files)
print('METRICS:', metrics_extractor.dataset.head())

How to test

pip install pytest
unzip test_data.zip -d .
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modified-repository-miner-1.0.5.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

modified_repository_miner-1.0.5-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file modified-repository-miner-1.0.5.tar.gz.

File metadata

File hashes

Hashes for modified-repository-miner-1.0.5.tar.gz
Algorithm Hash digest
SHA256 e2ec1f29109bead153683296ba711cccdb8f047bb1269334a6024041932b9319
MD5 2570cc3c4e17879d0b8571dac194bdc3
BLAKE2b-256 428fa328ac4fe9a8f8f7c00fee0cc7daf61225d02bd214da6d844cf3274b0e03

See more details on using hashes here.

File details

Details for the file modified_repository_miner-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for modified_repository_miner-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ecec80ab4ccd9261a04fbb9a9b09144462228ca8af1ada5c5a723848a8896e2d
MD5 cf6fbeacb5f0de3c68f9825d042b3700
BLAKE2b-256 ac373abdd84b8d17603f5edbd054b0899ec0d2ad7fc69f6b94474508432939c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page