Codekvast, the Truly Dead Code Detector
Java HTML Python TypeScript Shell Kotlin Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.git-crypt
.idea
deploy New GMail app password for Codekvast Admin Aug 16, 2018
gradle Upgraded Java dependencies. Aug 17, 2018
product
sample Upgraded Java dependencies. Aug 17, 2018
tools Prepare workstation: corrected Docker installation May 4, 2018
.editorconfig
.gitignore
DEVELOPMENT-GUIDE.md
Jenkinsfile
LICENSE
README.md
RELEASE-NOTES.md Upgraded to Gradle 4.9, Lombok 1.18.2. Aug 13, 2018
build.gradle
gradle.properties Java Agent: Corrected scheduling bug. Invocation data was published f… Apr 26, 2018
gradlew Upgraded to Gradle 4.1 Aug 21, 2017
gradlew.bat Upgraded to Gradle 3.1 Sep 21, 2016
lombok.config Upgraded SQL codestyle. Jun 28, 2018
settings.gradle WIP: Adding codekvast-admin Apr 10, 2018

README.md

Codekvast - the Truly Dead Code Detector

Overview

Codekvast detects Truly Dead Code in Java-applications.

By Truly Dead Code we mean code that is in production, but has not been used by anyone for a certain period of time.

Codekvast works by attaching the Codekvast Collector to your application. The collector records the instant when methods belonging to any of your packages are invoked.

Modern IDEs like IntelliJ IDEA can detect dead code which have package private or private visibility. They can never know what potential callers there are to public and protected methods though.

This is where Codekvast can help. Codekvast records when your methods are invoked in production.

The collector periodically sends the recorded data as well as an inventory of all methods to the Codekvast Dashboard.

By using the web interface offered Codekvast Dashboard, you can find out whether a certain method, class or package is safe to remove or not.

Codekvast collects the data. You then combine that with your domain knowledge to make informed decisions about what is truly dead code that safely could be deleted.

Performance

Codekvast Collector is extremely efficient. It adds approximately 15 ns to each method invocation. If this is unacceptable, you can exclude certain time critical packages from collection.

License

Codekvast is released under the MIT license.

Pre-built binaries

Pre-built binaries, and the User Manual are available for download from downloads.codekvast.io.

  • codekvast-agent-x.x.x.zip contains the Codekvast Agent as well as a sample codekvast.conf.

  • CodekvastUserManual.html is a complete User Manual. It contains installation and configuration guides.

  • RELEASE-NOTES.md contains release notes.

codekvast-agent-x.x.x.jar is also available as a Maven artifact at jcenter

Development Guide

See DEVELOPMENT-GUIDE.md