Dependency Finder is a suite of tools for analyzing compiled Java code. At the core is a powerful dependency analysis application that extracts dependency graphs and mines them for useful information. This application comes in many forms for your ease of
JayWalker is an open-source build and deployment analysis tool which interrogates a Java application's compiled artifacts and generates static and interactive graphical reports from it. In turn, a software professional can interpret and use these reports to improve software quality and to understand the current state of the software application in question.
Although there are quite a few dependency analysis tools on the market, JayWalker is different because:
* It walks the class files rather than the source files
* It can interrogate nested archives (i.e. a JAR within a WAR within an EAR file)
* It can detect a variety of conflicts that can be identified at build and deployment time in an effort to minimize runtime dependency errors.
* It can be incorporated into a continuous integration solution so conflicts can be identified as they are introduced into source code control rather than addressing errors at runtime.
* It can be run standalone via the commandline on a system which just has a JRE installed
* Other dependency tools are package or class specific. JayWalker has support for archives, packages, and classes.
* Report attributes can be toggled on or off
* Walking across classlist elements can be done in several different ways:
o Deep (default) - recursively follow all paths
o Shallow - recursively follow paths up to and including a boundary element
o System - recursively follow paths up to a boundary element which is not part of the deployment, but is provided by a server or environment.
Calculates various metrics for projects, packages and compilation units. Includes both simple counts like lines of code as well as more complex metrics such as the McCabe cyclomatic complexity.
SONAR is a code quality management platform, dedicated to continuously analyze and measure technical quality, from the projects portfolio to the class method.
Jumble is a class level mutation testing tool that works in conjunction with JUnit. The purpose of mutation testing is to provide a measure of the effectiveness of test cases. A single mutation is performed on the code to be tested, the corresponding test cases are then executed. If the modified code fails the tests, then this increases confidence in the tests. Conversely, if the modified code passes the tests this indicates a testing deficiency.
The key to agility is being able to modify code easily and safely. The problem is that many Java applications are too brittle to extend and enhance easily. Attempts to fix or extend - no matter how carefully done - can introduce more bugs and more complexity.
With a full suite of characterization tests generated by JUnit Factory you can bring your legacy code under control. Download our free plug-in for Eclipse to get started.
M. AlSharif, W. Bond, und T. Al-Otaiby. ACM-SE 42: Proceedings of the 42nd annual Southeast regional conference, Seite 98--103. New York, NY, USA, ACM, (2004)
L. Antiqueira, und M. Nunes. 3rd Workshop on MSc dissertation and PhD thesis in Artificial Inteligence (WTDIA'06) in the Proceedings of International Joint Conference IBERAMIA-SBIA-SBRN, Ribeirão Preto, Brazil, ICMC-USP, (Oktober 2006)
A. Ayerbe, und I. Vazquez. Computer Software and Applications Conference, 1998. COMPSAC '98. Proceedings. The Twenty-Second Annual International, (August 1998)