Giter Club home page Giter Club logo

scavenger's Introduction

Scavenger

As the system ages, more and more unused code, aka "Dead Code", will pile up due to requirement and spec changes.

Scavenger was started from codekvast. Codekvast is the first tool which enables runtime dead code analysis in Java. Scavenger provides more sophisticated and clear UI and elaborate the instrumentation logic by re-writing most of codes.

Components

  • Scavenger agent
    • Collect the code base and regularly send the invocations of the host application to collectors.
  • Scavenger Collector
    • Store the data received from the agent in the database.
    • Clean up garbages.
  • Scavenger API
    • Provide APs for exploring invocations.
  • Scavenger Frontend
    • Provides UI.

Features

  • Analyze runtime dead code with no code changes.
  • Support JVM based languages.
    • Agent for Java 1.7 is officially not supported any more.
      • However, if you can not avoid, please use old agent
  • Provide a web-based interface for project management, invocation snapshot, and project dashboard.
  • Supports MySQL, Vitess, and H2 as databases.

Download

You can download the latest Scavenger in the following link.

Documentation

You can find the installation guide at the following link.

You can find the user guide at the following location link.

Contribution?

Scavenger welcomes any contributions from users.
Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:

  1. Fork the repo and create your branch from master.
  2. If you've added code that should be tested, add tests.
  3. Ensure the test suite passes.
  4. Issue that pull request!

Versioning

For transparency and insight into our release cycle, and to strive to maintain backward compatibility, Scavenger will be maintained under the Semantic Versioning guidelines to the greatest extent possible.

Releases will be numbered in the following format:

  `<major>.<minor>.<patch>`

Release will be constructed based on the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bump the minor (and reset the patch)
  • Bug fixes and small enhancement. changes bump the patch

Q/A and Bug tracker

Found the apparent bug? Got a brilliant idea for an enhancement? Please create an issue here on GitHub so you can notify us!

License

Copyright 2023-present NAVER Corp.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

scavenger's People

Contributors

taeyeon-kim avatar dbgsprw avatar kojandy avatar sohyun-ku avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.