Skip to main content

Prototyping a Quality Assessment Tool with Parameterized Quality Models

Project description

Quality Tool

Setup

Make sure you have Poetry >= 1.2.0 installed. You can then get started by running:

poetry install

Code duplication - cpd

As of this moment, we are using copy paste detector to find duplicate code. This requires you to download cpd and place the bin/ and lib/ folder (and their files) in a cpd subfolder in metrics (metrics/cpd/<cpd folders goes here>).

You can download cpd from the following link (check if there is a newer release): https://github.com/pmd/pmd/releases/tag/pmd_releases/6.54.0

Programming Language Detection - GitHub Linguist

To detect the programming languages of source code files we use GitHub linguist by running it in a docker container. Make sure you have Docker >= 23.0.4 installed. You will also need to pull the docker image for GitHub Linguist:

docker pull toffernator/linguist

Running, Testing, and Formatting

This is all done using poetry. To run:

poetry run core <path/to/source/code> <Quality_model>

e.g.

poetry run core . code_climate

To see supported languages please refer to: byoqm/source_coordinator/languages.py

Optional values can be gotten by running:

poetry run core --help

To test:

poetry run test

To format:

poetry run black .

Building Tree-Sitter Grammars

Make sure you have a build/ and grammars/ folders in the root of the project:

mkdir build grammars

Clone the python grammar into grammars/:

cd grammars && git clone --depth 1 https://github.com/tree-sitter/tree-sitter-python && git clone --depth 1 https://github.com/tree-sitter/tree-sitter-c-sharp && git clone --depth 1 https://github.com/tree-sitter/tree-sitter-java && cd -

Build the grammar file:

poetry run python core/build_treesitter.py

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

milkfrog-0.1.0.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

milkfrog-0.1.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file milkfrog-0.1.0.tar.gz.

File metadata

  • Download URL: milkfrog-0.1.0.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.4.2-arch1-1

File hashes

Hashes for milkfrog-0.1.0.tar.gz
Algorithm Hash digest
SHA256 54950e6e800928a5e8553da51f029f38aa4d2be6b685ee8a100427abe96eaf5e
MD5 0d835d59d5ac1dc08fbc4d2c928d4d98
BLAKE2b-256 caa905066cb5e4bb90dbfd07cc17d3f80b498f8d0dc460967bb5c7f2a246f79e

See more details on using hashes here.

File details

Details for the file milkfrog-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: milkfrog-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.4.2-arch1-1

File hashes

Hashes for milkfrog-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2766dfb12cd6016f99f52be67fd1b2b3b972711688bbc90b4de9e813ca08ba91
MD5 daf37847228434a2acd0a66a7bb82460
BLAKE2b-256 e79261a749a2246a777a4d596008f2bac72b8a077110b30d11cda9359779500d

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