Alma is a software workshop for modeling and analyzing. It reads several sources (languages, models, etc.), helps you design for object-oriented modeling (definition of classes, relations, patterns, etc.), modifies the structure and the code, and outputs new sources, documentation, diagrams, etc. It is designed for object-oriented modeling (definition of classes and relations) and for migrating code in older languages. It meets two needs, offering a simplified software modeling workshop for small projects and making it easier to do rewrites, ports, and encapsulation of non-OO code.
ArgoUML is a pure Java open source UML CASE tool that provides cognitive support for object-oriented design. ArgoUML provides some of the same editing and code generation features of a commercial CASE tool, but it focuses on features that enhance usability and support the cognitive needs of designers. Uses XML file formats: XMI and PGML.
DocWiz allows you to easily add JavaDoc comments to your Java source code. With DocWiz, there's no need to tediously hand-format JavaDoc comments, adding tags and comment structures for each method. DocWiz provides a list of all the fields, methods, interfaces, and classes defined in a Java source file. You can click on any of these code elements to display a fill-in form for information about code elements. In addition, DocWiz shows you an icon for uncommented code segments.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
Turner will turn your boring old source code (C, C++, or Java) into colorized HTML ready to be displayed on a web page. Along with colorizing the source code, turner will also bolden keywords and italicize comments, convert tabs to spaces and optionally insert assorted usefull bits of HTML stuff (a 'home' link or a 'last modified' entry). While it's not the first of it's kind, nor the most versatile, it is small, fast, and totally self contained.
java_syn.pl is a syntax highlighter for Java that converts a package of multiple .java files to multiple .html files. Class names are converted to links, so the reader can click on a class name to immediately see its source code. Default highlighting colors are the same as in Textpad.
GNU Source-highlight produces a document with syntax highlighting when given a source file. It handles many languages, e.g., Java, C/C++, Prolog, Perl, PHP3, Python, Flex, HTML, and other formats, e.g., ChangeLog and log files, as source languages and HTML, XHTML, DocBook, ANSI color escapes, LaTeX, and Texinfo as output formats. Input and output formats can be specified with a regular expression-oriented syntax.
viztool generates diagrams of collections of Java classes. It presently has only two visualizations: one shows inheritance hierarchies, interfaces implemented and inner classes declared, the other, a more detailed view of the classes, including public fields and methods. It is structured to allow the implementation of other visualizations. It uses the Java 2D API for rendering, but does so with the expectation that the diagrams will be printed, rather than rendered to the screen (though screen rendering is supported).
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.