{"id":20684923,"url":"https://github.com/crispab/codekvast","last_synced_at":"2025-08-21T22:31:45.390Z","repository":{"id":16680110,"uuid":"19436066","full_name":"crispab/codekvast","owner":"crispab","description":"Codekvast, the Truly Dead Code Detector","archived":false,"fork":false,"pushed_at":"2024-09-06T08:12:41.000Z","size":123333,"stargazers_count":45,"open_issues_count":13,"forks_count":5,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-12-12T11:21:15.638Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crispab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2014-05-04T21:05:16.000Z","updated_at":"2024-10-07T20:31:51.000Z","dependencies_parsed_at":"2023-11-30T16:50:04.230Z","dependency_job_id":null,"html_url":"https://github.com/crispab/codekvast","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crispab%2Fcodekvast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crispab%2Fcodekvast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crispab%2Fcodekvast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crispab%2Fcodekvast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crispab","download_url":"https://codeload.github.com/crispab/codekvast/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230537062,"owners_count":18241515,"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":[],"created_at":"2024-11-16T22:24:37.514Z","updated_at":"2024-12-20T05:09:13.190Z","avatar_url":"https://github.com/crispab.png","language":"Java","funding_links":[],"categories":["静态分析"],"sub_categories":[],"readme":"# Codekvast - the Truly Dead Code Detector\n\n## Overview\n\nCodekvast detects **Truly Dead Code** in **Java-applications**.\n\nBy *Truly Dead Code* we mean code that is in production, but *has not been used by anyone for a certain period of time*.\n\nCodekvast works by attaching the **Codekvast Collector** to your application.\nThe collector records the instant when methods belonging to any of your packages are invoked. \n\nModern IDEs like IntelliJ IDEA can detect dead code which have *package \nprivate* or *private* visibility. They can never know what potential callers there are to public and protected methods though.\n \nThis is where Codekvast can help. Codekvast *records when your methods are invoked in production*.\n\nThe collector periodically sends the recorded data as well as an inventory of *all* methods to the **Codekvast Dashboard**.\n \nBy using the web interface offered Codekvast Dashboard, you can find out whether a certain method, class or package is safe to remove or not.\n\n*Codekvast collects the data. You then combine that with your domain knowledge to make informed decisions about what is truly dead code\nthat safely could be deleted.*\n\n## Performance\n\nCodekvast Collector is extremely efficient. It adds approximately *15 ns* to each method invocation. If this is unacceptable,\nyou can exclude certain time critical packages from collection.\n\n## License\n\nCodekvast is released under the MIT license.\n\n### Pre-built binaries\n\nPre-built binaries, and the User Manual are available for download from [downloads.codekvast.io](https://downloads.codekvast.io).\n\n* codekvast-agent-x.x.x.zip contains the *Codekvast Agent* as well as a sample `codekvast.conf`.\n\n* CodekvastUserManual.html is a complete User Manual. It contains installation and configuration guides.\n\n* RELEASE-NOTES.md contains release notes.\n\n`codekvast-agent-x.x.x.jar` is also available as a Maven artifact at [jcenter](https://jcenter.bintray.com/io/codekvast/codekvast-agent)\n\n## Development Guide\n\nSee [DEVELOPMENT-GUIDE.md](DEVELOPMENT-GUIDE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrispab%2Fcodekvast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrispab%2Fcodekvast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrispab%2Fcodekvast/lists"}