Java Source Code Browser

The Java Source Code Browser reads a designated set of Java source files
and produces a JavaDoc equivalent extended with fully browsable source code containing
hyperlinked cross-references within and across that set of files.
Every identifier in the source code (public or local) acts as a link
to its corresponding source definition,
all uses of that identifier anywhere in the source files,
and the corresponding JavaDoc information. This provides a convenient
method for programmers to view the entire source of large application
systems; this can help cut down the 50% of the time that programmers
typically spend just looking at source code. It is also ideal
for on line reference and code reviews.

Java Browser Features

JavaDoc tag compatible

Java 1.4 to Java 8

Produces JavaDoc equivalent web pages

Extracts full cross-reference and type information from both source and class files

JavaDoc page for each identifier links to actual source code and all uses according to language rules.

Sun's JavaDoc has a -linksource option that provides a much weaker cross reference.
Unlike the Source Browser, it only provides links from JavaDoc pages to source text,
but no source-to-documentation links, and no full-cross reference of
definitions and uses.

You can see a sample of the Browser results applied to the popular JUnit program.
To get a full value from this sample, in the Packages window, click on any Junit package,
click on any class and then browse its source, clicking on identifiers: Browsable JUnit Sources.

Generating a set of pages like this nightly and placing it on your intranet
would make current sources easily available to developers and support engineers.
You can also download a ZIP file (500Kb) containing the HTML pages for this example to try out this idea.

The Source Code Browser is a derivative of SD's family of Source Code Formatters.
Autoextraction of JavaDoc-like tags can also be implemented (e.g.,
automatically generate function signature and parameter tags if not
already present). Similar browsers can be constructed for other
languages. Inquire for custom features.

Topics

Semantic Designs- Our Goal

To enable our customers to produce and maintain timely, robust and economical software by providing world-class Software Engineering tools using deep language and problem knowledge with high degrees of automation.