| | 1. FindBugs | By: | tuc@cs.umd.edu | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://findbugs.sourceforge.net/ | Description: | This is the web page for FindBugs, a program which looks for bugs in Java code. It is free software, distributed under the terms of the Lesser GNU Public License. The name FindBugs and the Findbugs logo are trademarked by The University of Maryland.
|
2. QJ-Pro | By: | | License: | GNU General Public License (GPL) | URL: | http://qjpro.sourceforge.net/ | Description: | QJ-Pro is a comprehensive software inspection tool targeted towards the software developer. Read the PDF brochure and concepts for an understanding of what the product does.
Developers can automatically inspect their Java source code and improve their Java programming skills as they write their programs. QJ-Pro provides descriptive Java patterns explaining error prone code constructs and providing solutions for it.
|
3. PMD | By: | InfoEther | License: | BSD License | URL: | http://pmd.sourceforge.net/ | Description: | PMD scans Java source code and looks for potential problems like:
1. Possible bugs - empty try/catch/finally/switch statements
2. Dead code - unused local variables, parameters and private methods
3. Suboptimal code - wasteful String/StringBuffer usage
4. Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
5. Duplicate code - copied/pasted code means copied/pasted bugs
|
4. Jlint | By: | | License: | GNU General Public License (GPL) | URL: | http://artho.com/jlint/ | Description: | Jlint will check your Java code and find bugs, inconsistencies and synchronization problems by doing data flow analysis and building the lock graph.
|
5. Hammurapi | By: | Hammurapi | License: | GNU General Public License (GPL) | URL: | http:// www.hammurapi.org/ | Description: | Hammurapi Group provides productivity tools for software development organizations. Our tools help to improve quality of software products by reducing amount of handcrafted code, reviewing and analysing code for potential defects and design flaws, enforcing separation of concerns. In particular our tools help to compartmentalize development activities and mitigate risks of outsourcing by enforcing clear interfaces between modules and review points.
See Product Guide for more details and subscribe to Hammurapi Group Newsletter to be up to date with our dynamic product suite.
|
6. DoctorJ | By: | | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://doctorj.sourceforge.net/ | Description: | Beyond the level of what Javadoc does, DoctorJ compares documentation against code. Among what it detects:
1. misspelled words
2. parameter and exception names:
1) missing
2) misordered
3) misspelled
3. Javadoc tags:
1) invalid
2) misordered
3) missing expected arguments
4) invalid arguments
5) missing descriptions
4. undocumented classes, methods, fields, parameters
|
7. Condenser | By: | Ivan Moore | License: | MIT License | URL: | http://condenser.sourceforge.net/ | Description: | Condenser is a tool for finding and removing duplicated Java code. Unlike tools that only locate duplicated code, the aim of Condenser is to also automatically remove duplicated code where it is safe to do so.
|
8. JCSC | By: | | License: | GNU General Public License (GPL) | URL: | http://jcsc.sourceforge.net/ | Description: | JCSC is a powerful tool to check source code against a highly definable coding standard and potential bad code.
The standard covers naming conventions for class, interfaces, fields, parameter, ... . Also the structural layout of the type (class/interface) can be defined. Like where to place fields, either before or after the methods and in which order. The order can be defined through the visibility or by type (instance, class, constant). The same is applicable for methods. Each of those rules is highly customizable. Readability is enhanced by defining where to put white spaces in the code and when to use braces. The existence of correct JavaDoc can be enforced and various levels. Apart from that, it finds weaknesses in the the code -- potential bugs -- like empty catch/finally block, switch without default, throwing of type 'Exception', slow code, ... . JCSC is inspired by lint.
|
9. JDepend | By: | Clarkware Consulting, Inc. | License: | BSD License | URL: | http://www.clarkware.com/software/JDepend.html | Description: | JDepend traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package dependencies effectively.
|
10. Dependency Finder | By: | | License: | BSD License | URL: | http://depfind.sourceforge.net/ | Description: | 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 use, including command-line tools, a Swing-based application, a web application ready to be deployed in an application server, and a set of Ant tasks.
JarJarDiff is another important tool in the suite. It compares two versions of the same codebase and reports the differences in the API. It lists new, changed, and removed elements such as packages, classes, methods, and more. You can tailor the reports to focus on your public, published API versus the private, internal one.
Finally, Dependency Finder has a tool for computing object-oriented software metrics that give you an empirical quality assessment of your code. Once again, you can tailor the report to focus on the metrics that you care about and adjust validity thresholds to the specifics of your project.
|
11. Checkstyle | By: | Oliver Burn | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://checkstyle.sourceforge.net | Description: | Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
|
12. Classycle's Analyser | By: | Franz-Josef Elmer. | License: | BSD License | URL: | http://classycle.sourceforge.net | Description: | Classycle's Analyser analyses the static class and package dependencies in Java applications or libraries. It is especially helpful for finding cyclic dependencies between classes or packages. Classycle is similar to JDepend which does also a dependency analysis but only on the package level.
Classycle's Dependency Checker searchs for unwanted class dependencies described in a dependency definition file. Dependency checking helps to monitor whether certain architectural constrains (e.g. in a layered architecture) are fulfilled or not.
|
13. Byecycle | By: | | License: | GNU General Public License (GPL) | URL: | http://byecycle.sourceforge.net/ | Description: | How can people still build software without seeing its real structure? After a compiler and a text editor, a dependency viewer is the first thing you want. Byecycle is the requisite dependency viewer for Eclipse.
|
14. Java PathFinder (JPF) | By: | | License: | Open source | URL: | http://javapathfinder.sourceforge.net/ | Description: | Java PathFinder (JPF) is a system to verify executable Java bytecode programs. In its basic form, it is a Java Virtual Machine (JVM) that is used as an explicit state software model checker, systematically exploring all potential execution paths of a program to find violations of properties like deadlocks or unhandled exceptions. Unlike traditional debuggers, JPF reports the entire execution path that leads to a defect. JPF is especially well-suited to finding hard-to-test concurrency defects in multithreaded programs.
While software model checking in theory sounds like a safe and robust verification method, reality shows that it does not scale well. To make it practical, a model checker has to employ flexible heuristics and state abstractions. JPF is unique in terms of its configurability and extensibility, and hence is a good platform to explore new ways to improve scalability.
JPF is a pure Java application that can be run either as a standalone command line tool, or embedded into systems like development environments. It was mostly developed - and is still used - at the NASA Ames Research Center. Started in 1999 as a feasibility study for software model checking, JPF has found its way into academia and industry, and has even helped detect defects in real spacecraft.
|
15. XRadar | By: | Cybernetics Project | License: | BSD License | URL: | http://xradar.sourceforge.net/ | Description: | The XRadar is an open extensible code report tool currently supporting all Java based systems. The batch-processing framework produces HTML/SVG reports of the systems current state and the development over time - all presented in sexy tables and graphs. It gets results from several brilliant open source projects and a couple of in house grown projects and presents the results as massive unified html/svg reports. The architecture is based on java, xml and xsl. Presently it only supports Java, but there are plans to produce plug ins for other leading languages.
|
16. Macker | By: | | License: | GNU General Public License (GPL) | URL: | http://innig.net/macker/ | Description: | Macker is a build-time architectural rule checking utility for Java developers. It's meant to model the architectural ideals programmers always dream up for their projects, and then break -- it helps keep code clean and consistent. You can tailor a rules file to suit a specific project's structure, or write some general "good practice" rules for your code. Macker doesn't try to shove anybody else's rules down your throat; it's flexible, and writing a rules file is part of the development process for each unique project.
|
17. Clirr | By: | Lars Kühne | License: | Apache Software License | URL: | http://clirr.sourceforge.net/ | Description: | Clirr is a tool that checks Java libraries for binary and source compatibility with older releases. Basically you give it two sets of jar files and Clirr dumps out a list of changes in the public api. The Clirr Ant task can be configured to break the build if it detects incompatible api changes. In a continuous integration process Clirr can automatically prevent accidental introduction of binary or source compatibility problems.
|
18. JarAnalyzer | By: | Kirk Knoernschild | License: | BSD License | URL: | http://www.kirkk.com/main/JarAnalyzer | Description: | JarAnalyzer is a dependency management utility for jar files. It's primary purpose is to traverse through a directory, parse each of the jar files in that directory, and identify the dependencies between the jar files. The output is an xml file representing the PhysicalDependencies between the jar files.
|
19. jcoverage | By: | jcoverage ltd | License: | Commercial | URL: | http://jcoverage.com/ | Description: | You believe 'test first, then code', but also need to increase productivity. You need jcoverage - the fastest Java code coverage tool - now with mock object technology.
|
20. BeanExplorer | By: | DevelopmentOnTheEdge.com | License: | Commercial | URL: | http://www.developmentontheedge.com/beanexplorer_overview.shtml | Description: | BeanExplorer is intended to be practical and quick to use solution for many Java application developers who have nor time nor will to dive into the depth of JavaBeans technology. With BeanExplorer by taking several simple steps you can turn any JavaBean (or Enterprise JavaBean) into integral part of your application.
|
21. JClass JarMaster | By: | Quest Software, Inc | License: | Commercial | URL: | http://www.quest.com/jclass_desktopviews/jarmaster.asp | Description: | JClass JarMaster makes it easy to optimize your JAR files before deployment. A powerful Java archive utility, JClass JarMaster dramatically reduces the time required to load and run your program, because it selects only those Java classes that you need to create a single compact JAR or ZIP file. JClass JarMaster is available as part of JClass DesktopViews.
|
22. Import+ | By: | WoodenChair Software Corp. | License: | Commercial | URL: | http://www.woodenchair.com/products/import/ | Description: | Import+ takes care of those import statements that keep building up in your source code. We always add import statements, who actually bothers to remove them?
|
23. ObjectBrowser Bean | By: | www.sunwheeltech.co.uk/beans/ | License: | Commercial | URL: | http://www.sunwheeltech.co.uk/beans/ | Description: | The Object Browser Bean provides a simple way of generating a graphical user interface automatically, following a file-explorer like interface. Any java object can be dropped into the bean, and it's methods and properties will be automatically made available for inspection and modification. In some ways it is similar to the property sheets used to configure javabeans or other components in IDEs, but the ObjectBrowser is intended to be used by the end-user, not the software developer.
|
24. JOB - the Java Objects Builder | By: | TETRACTYS Software | License: | Commercial | URL: | http://www.uno.it/utenti/tetractys/job/JOB-Help.html | Description: | JOB is a Java 2 Application. It's purpose is to construct, edit and save Java Objects. It has full access to all the Java Classes and their constructors, methods and fields, providing a point and click interface through popup menus and trees. JOB makes a heavy use of the Reflection API, inspecting all the accessible members of core or unknown Java Classes, and it uses Serialization to save Java Objects in files ready for your applets or applications.
|
25. Designer+ | By: | WoodenChair Software Corp. | License: | Commercial | URL: | http://www.woodenchair.com/products/designer/ | Description: | Designer+ is a tool that gives you a new perspective on your code - an class/interface hierarchical view. With a easy to use interface, Designer+ can save your hierarchies to various image formats for printout. Let other developers marvel at your elegant architectures!
|
27. jGRASP | By: | Auburn University | License: | Commercial | URL: | http://www.eng.auburn.edu/grasp/ | Description: | jGRASP is a lightweight development environment, created specifically to provide automatic generation of software visualizations for the purpose of improving the comprehensibility of software. jGRASP is implemented in Java, and runs on all platforms with a Java Virtual Machine (Java version 1.3 or higher). jGRASP produces CSD diagrams for Java, C, C++, Objective-C, Ada, and VHDL; CPG diagrams for Java and Ada; UML diagrams for Java; and has an integrated debugger and workbench for Java.
|
28. Clover | By: | Cenqua Pty Ltd. | License: | Commercial | URL: | http://www.cenqua.com/clover/ | Description: | Clover is a powerful and highly configurable code coverage analysis tool. It discovers sections of code that are not being adequately exercised by your unit tests.
|
29. EMMA: a free Java code coverage tool | By: | Vlad Roubtsov | License: | OpenSource | URL: | http://emma.sourceforge.net/ | Description: | EMMA is an open-source toolkit for measuring and reporting Java code coverage. EMMA distinguishes itself from other tools by going after a unique feature combination: support for large-scale enterprise software development while keeping individual developer's work fast and iterative. Every developer on your team can now get code coverage for free and they can get it fast!
|
30. Juliet | By: | infotectonica | License: | Commercial | URL: | http://infotectonica.com/ | Description: | Juliet is a Java client tool that is used to analyze and navigate through source code and tell you things you never knew! [...] If you need to get up to speed quickly on a sizeable chunk of code, then Juliet is the tool for you.
|
31. Modelistic JME Eclipse plugin | By: | Modelistic | License: | Commercial | URL: | http://www.modelistic.com/ | Description: | Specialized for Reverse Engineered diagrams
|
32. ClassViz | By: | toolsfactory software inc. | License: | Commercial | URL: | http://www.toolsfactory.com/classviz.html | Description: | ClassViz is a class hierarchy visualization tool that helps you create professional quality documentation for your source code.
|
33. AppPerfect Code Analyzer | By: | AppPerfect Corporation | License: | Commercial | URL: | http://www.appperfect.com/products/devsuite/ca.html | Description: | AppPerfect Code Analyzer is designed to perform two key software development functions: Review Java code and enforce good coding practices. AppPerfect Code Analyzer performs static analysis of your Java and Java Server Pages (JSP) source code. Locating and fixing performance problems during source code development time is arguably the cheapest way to resolve performance problems. As your project go past the development phase, in to testing and deployment, the cost of fixing performance problems grows exponentially.
|
|