Jamit (Java Access Modifiers Inference Tool) allows you to infer tighter access modifiers for Java code. Analyzing bytecode, it can find out if fields or methods may be declared private, default, protected, or final. Engineering software with Jamit can thus help increase hiding and keep interfaces as small as possible. The most useful application for Jamit is dead code elimination. Jamit can be used to find out which methods and classes are unreachable and automatically eliminate the corresponding code, saving space for binary distributions.
| Tags | Software Development Build Tools Documentation Quality Assurance |
|---|---|
| Licenses | GPL |
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Release Notes: This version supports Java 5.0 (hence the jump in the version number). In particular, all Java 5.0 attributes are recognized, and annotation classes are marked as live as necessary. Also, the bytecode engine understands the changes to the instruction set (LDC) that come with Java 5.0.


Release Notes: Jamit now allows the specification of native and reflective behavior. Previously, applying Jamit to code that was only reachable via reflection or native methods would not work. Various bugs have been fixed, including preservation of line number tables and local variable tables, problems with access modifiers in subclasses of untouchable library classes, and problems with certain cases of protected methods.


Release Notes: The performance of the parser was improved by 30%. A minor bug in the abstract execution of exception handlers was fixed. Also, a bug in the start script generated by the RPW was found.


Release Notes: The new version supports dumping of class files with the tightened access modifiers. Furthermore, Jamit can now perform dead code elimination of fields, methods, and classes that are not reachable from the main method.


No changes have been submitted for this release.