{"id":21566490,"url":"https://github.com/iulianoroberto/softwarestaticanalyzer","last_synced_at":"2025-07-27T11:33:55.580Z","repository":{"id":176430815,"uuid":"580313428","full_name":"iulianoroberto/softwareStaticAnalyzer","owner":"iulianoroberto","description":"Software Static Analyzer is a python base tool to evaluate the evolution of software quality in the years, on the base of metrics value, presence of clones and other factor of static analysis of source code.","archived":false,"fork":false,"pushed_at":"2023-02-19T09:26:03.000Z","size":15866,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T12:12:27.024Z","etag":null,"topics":["clone-coding","metrics","metrics-visualization","software-engineering","software-metrics","technical-debt"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iulianoroberto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-12-20T08:54:51.000Z","updated_at":"2024-01-08T08:24:06.000Z","dependencies_parsed_at":"2023-12-01T22:47:58.947Z","dependency_job_id":null,"html_url":"https://github.com/iulianoroberto/softwareStaticAnalyzer","commit_stats":null,"previous_names":["robertoiuliano98/softwarestaticanalyzer","iulianoroberto/softwarestaticanalyzer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iulianoroberto%2FsoftwareStaticAnalyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iulianoroberto%2FsoftwareStaticAnalyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iulianoroberto%2FsoftwareStaticAnalyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iulianoroberto%2FsoftwareStaticAnalyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iulianoroberto","download_url":"https://codeload.github.com/iulianoroberto/softwareStaticAnalyzer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244160526,"owners_count":20408116,"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":["clone-coding","metrics","metrics-visualization","software-engineering","software-metrics","technical-debt"],"created_at":"2024-11-24T10:25:18.612Z","updated_at":"2025-03-18T05:21:57.335Z","avatar_url":"https://github.com/iulianoroberto.png","language":"Python","readme":"# Software Static Analyzer\nSoftware Static Analyzer is a python base tool to evaluate the evolution of software quality in the years, on the base of metrics value, presence of clones and other factor of static analysis of source code. This tool takes advantage of the features provided by Nicad, Ck and Sonarqube.\n\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/architecture.jpg)\n\n## Features\nThe main features are:\n- Filter the list of commits made to the repository by selecting a commit for each year of publication (the last of the year). This is necessary to determine the viewpoints of the analysis.\n- Determine for each viewpoints:\n  - Metrics value;\n  - Number of clones;\n  - Issue presence.\n- Generate summary graphs of the data produced.\n\n# Install Guide\nNote that is is strongly recommended to use Ubuntu 22.04 or other Lubuntu version.\n\n## Prerequisites\n\n###### Nicad for clone detection\n[Nicad](https://www.txl.ca/txl-nicaddownload.html) is a flexible TXL-based hybrid language-sensitive / text comparison software clone detection system developed by James R. Cordy and Chanchal K. Roy, originally based on Chanchal's PhD thesis work. NiCad6 is a significantly new implementation with many important improvements and optimizations.\n\nYou need to install Nicad on main directory of the project. You Should creates a directory called \"Nicad\" on main directory of the project and put in its all files of Nicad installation.\n\nFor installation of Nicad see the guide on  website.\n\n###### CK for calculate code metrics\n[CK](https://github.com/mauricioaniche/ck) calculates class-level and method-level code metrics in Java projects by means of static analysis (i.e. no need for compiled code). Currently, it contains a large set of metrics, including the famous CK. \n\nYou need to install CK on main directory of the project. You Should creates a directory called \"CK_tools\" on main directory of the project and put in its all files of CK installation (including jar file).\n\nFor installation of CK see the guide on  website.\n\n###### Configuration\nInsert in directory called \"project_to_analize\" the repository of software that you eant analyze. You can clone from GitHub the repositories that you want in this directory by \"git clone\" command.\n\n###### Launch\nOpen the script by IDE, set the right paths in the code,  and launch \"main.py\" file.\n\n# Preview\n###### First set of metrics value variation for year\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen01.jpg)\n###### Second set of metrics value variation for year\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen04.jpg)\n###### WMC value variation for class\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen02.jpg)\n###### FIN value variation for class\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen03.jpg)\n###### Viewpoints\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen05.jpg)\n###### Commits pubblication for month\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen06.jpg)\n###### Issues table\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/screen07.jpg)\n###### Clone detection\n![alt text](https://github.com/robertoiuliano98/softwareMetricsAnalyzer/blob/main/preview/clone_detection.jpg)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiulianoroberto%2Fsoftwarestaticanalyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiulianoroberto%2Fsoftwarestaticanalyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiulianoroberto%2Fsoftwarestaticanalyzer/lists"}