{"id":20094582,"url":"https://github.com/alansastre/sedcat-plugin","last_synced_at":"2025-03-02T16:18:13.490Z","repository":{"id":152300384,"uuid":"48706276","full_name":"alansastre/sedcat-plugin","owner":"alansastre","description":"SonarQube Sedcat plugin for quality measurement in unit testing.","archived":false,"fork":false,"pushed_at":"2017-09-23T16:10:06.000Z","size":4139,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-13T03:32:18.736Z","etag":null,"topics":["complexity","coverage","expert-systems","fuzzy-logic","java","metrics","percentage","quality","sonarqube","testing","testing-tools","unit-testing","unit-testing-framework","widget"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alansastre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-28T18:26:22.000Z","updated_at":"2024-09-26T08:58:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"5cd605d1-72cd-467e-90e7-f754d8d0997d","html_url":"https://github.com/alansastre/sedcat-plugin","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fsedcat-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fsedcat-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fsedcat-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alansastre%2Fsedcat-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alansastre","download_url":"https://codeload.github.com/alansastre/sedcat-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241533639,"owners_count":19977826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["complexity","coverage","expert-systems","fuzzy-logic","java","metrics","percentage","quality","sonarqube","testing","testing-tools","unit-testing","unit-testing-framework","widget"],"created_at":"2024-11-13T16:51:17.541Z","updated_at":"2025-03-02T16:18:13.462Z","avatar_url":"https://github.com/alansastre.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sedcat plugin for SonarQube\n\nThe Sedcat plugin for [SonarQube](http://www.sonarqube.org/) allows developers get an overview on the state of quality in unit testing of a software project.\n\n[![Quality Gate](https://sonarqube.com/api/badges/gate?key=org.sonar.plugins.sedcat:sonar-sedcat-plugin)](https://sonarqube.com/dashboard/index/org.sonar.plugins.sedcat:sonar-sedcat-plugin)\n\n## Rationale\n\nThis plugin has expert systems for classifying uncertainty involved in assessing the quality of unit testing. Currently [SonarQube](http://www.sonarqube.org/) has metrics for unit testing such as success and coverage. Sedcat uses the values of these metrics and others to provide new project-level metrics such as quality of unit tests and recommended actions to improve it.\n\nThus, a developer user can see on sedcat widget the percentage of quality corresponding to unit testing and which parameters needs to fix to improve that percentage and in what order of priority.\n\n## How does it works\n\nThe operations of Sedcat are divided into three parts:\n\n1. Reading input data. Internal and external metrics to the platform are read:\n     - Unit Test Success.\n     - Unit Test Coverage.\n     - Unit Test Mutations Coverage (calculated with external [Pitest Mutation Tool](https://github.com/hcoles/pitest)).\n     - Number of Unit Test.\n     - Total Lines of Code.\n     - Complexity Average Class.\n\n2. Operations:\n    - Adapt input data to expert systems.\n    - Run expert systems. An expert system for quality metric and another system to get the set of improvement actions.\n    - Process results.\n\n3. Send output data to the SonarQube platform for visual representation in the widget.\n\nExpert systems have been developed with the fuzzy system development environment [Xfuzzy](http://www2.imse-cnm.csic.es/Xfuzzy/index.html) in XFL3 language, synthesized in java language and integrated on plugin lifecycle.\n\nMore details at [Sedcat Wiki](https://github.com/alansastre/sedcat-plugin/wiki/Example-Results).\n\n## Usage\n\n### Requirements and Compatibility Matrix\n\n| Sedcat Plugin     | SonarQube         | [Pitest Mutation Tool](https://github.com/hcoles/pitest) |\n|-------------------|-------------------|-----------------------| \n| 1.0.0             | 5.3 up to 5.5     | 1.1.4 and above       |\n\n\n### Plugin installation\n\nThe plugin can be directly [downloaded from GitHub releases](https://github.com/alansastre/sedcat-plugin/releases).\n\nAfter having placed the plugin's jar in `{SONARQUBE_INSTALL_DIRECTORY}/extensions/plugins` you need to restart your SonarQube instance.\n\nYou have then to add the `Sedcat Plugin` widget to your project or view dashboard.\n\n\n### Plugin settings\n\nThe plugin have three options in General Settings:\n\n1. `Complexity Threshold`: allows set the threshold for acceptable complexity /class. If complexity of project is above this value, it negatively affects the quality metric and complexity will be an essential parameter to fix. Complexity is not a direct measure of the test, but it is an indirect measure. At more complexity, more complicated are unit tests and therefore more efforts must invest in developing them and maintenance. The default value is 30.\n2. `Pitest reports directory path`: specifies the directory path with reports generated by the Pitest mutation tool from where sedcat extracts mutations coverage.\n3. `Sedcat active mode`: enable or disable the plugin on the analysis.\n\n## Design \n\nThe software design of this project was carried out by UML language and is in the `designUML` folder.\n\n## Example results\n\nHere is the widget:\n![Sedcat Widget](sedcat-screenshot1.jpg)\n\nAnother examples in: [Sedcat Wiki](https://github.com/alansastre/sedcat-plugin/wiki/Example-Results).\n\n\n# License\n\nCopyright © 2016 Sonar Sedcat Plugin.\n\nLicensed under GNU Lesser General Public License, Version 3.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falansastre%2Fsedcat-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falansastre%2Fsedcat-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falansastre%2Fsedcat-plugin/lists"}