ByCounter
Welcome to the home of ByCounter!
Description
- ByCounter is an approach for portable bytecode counting at runtime - without the need to instrument or to alter the Virtual Machine (VM)
- It supports measurements of bytecode instructions and method invocations on different granularity levels. It supports measuring a single line of code or a sequence of lines as well as per-method measurements.
- Support for method- and class-crossing measurements: The bytecode instructions issued by called methods can be measured and transparently reported. Configuration settings allow defining which calls should be in- or excluded.
- It ensures that all bytecode instructions and method invocations are measured and does not rely on sampling.
- It can provide results for multiple threads including their call hierarchy and allows to distinguish between different requests to instrumented code areas.
- ByCounter also counts method invocations, and supports parameter recording, instrumentation using "agents" conforming to java.lang.instrument Java API package, and other features.
- It uses the bytecode instrumentation framework ASM, and has a low runtime overhead while still providing exact, per-opcode counts.
- ByCounter is part of BySuite.
Implementation
- ByCounter has been implemented for Java bytecode by Michael Kuperberg and Martin Krogmann from the research group "Software Design and Quality"
- The work is carried out in the context of the Palladio project led by Prof. Ralf Reussner.
Documentation
- Manual (PDF file) and Javadocs incl. a short introduction
- Paper: The approach and the Java implementation are described in the paper titled "ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations", you can download the paper (PDF, 213 KB) as well as download the BibTeX entry file (2 KB).
Download
- We provide ByCounter to interested parties free of charge, and several researchers have already used ByCounter in their work.
- If you want to use ByCounter in your research or work, please email one of the contacts.
- We will also provide support for ByCounter, and source code can be made available as well.
- URL (after you have requested the password): http://sdqweb.ipd.kit.edu/eclipse/ByCounter/releases/0.9/
- Since Version 2.0, ByCounter is also available as eclipse feature from the ByCounter Update Site. An example using anoynmous SVN access is available at [1].
Contact
- (Creator) , or see Michael Kuperberg's page.
- (Maintainer and Supporter) , or see Henning Groenda's page
Development
A list of restrictions and bug reports are available in the ByCounter JIRA Bugtracker. However, the development version of ByCounter is stable and tested and the list is short.
Users
- See The Emergence of Useful Bias in Self-focusing Genetic Programming for Software Optimisation on Brendan Cody-Kenny's publication page at TCD
- See Certifying Software Component Performance Specifications on Henning Groenda's publication page at KIT, see TestBasedValidation for information on the available tooling.
Last updated on Friday, June 12, 2015