Code Quality

Electric Fence

Your rating: None

CAST Enforce

The combination of application complexity, staff turnover, pressure to deliver and lack of discipline often results in less than adequate quality. Although many organizations have set programming standards for development teams, these are hard to enforce.

The technology of Application Mining helps improve Quality Control Management. CAST Enforce enables automated, real time quality control of software across all application tiers, not just for coding but also for architecture, with a focus on facilitating the immediate correction of the problem.

With CAST Enforce:

* Quality checks are not done on samples but on the entire application, as CAST Enforce covers the main programming languages, 4GLs, and types of SQL.
* Quality control or subcontracted project acceptance are fully automated, as early and as often as necessary in the project.
* Beyond metrics, practical graphical information is supplied to developers, to understand the root of the quality issue and to correct it with ease.

Your rating: None

CAST Enlighten

As software applications get complex and interwoven over time, knowledge of their inner structure is key to managing and maintaining them with efficiency. But this technical knowledge resides mostly in the heads of developers - making it a difficult resource to share and retain. As a result, too much unproductive time is spent searching for this knowledge, buried in code…

The technology of Application Mining helps improve the management of this technical knowledge. CAST Enlighten is an Application Mining solution which automatically gathers, organizes and shares technical information about software applications. It provides development teams with complete information about all the tiers of their applications' structure, performing the search and reviews that development teams would usually carry out manually. With a "Knowledge Mine" at hand, IT teams are better equipped to work on their applications at a maximum efficiency.

Your rating: None

CAST Envision

While organizations have to make their applications evolve evermore rapidly, software complexity is continually growing. In this constant state of flux and increasing complexity, how is it possible to find out which changes can be safely implemented without putting at risk the entire project? And how can the deadlines be respected despite the time delays created by these changes?

The technology of Application Mining helps improve Change Management. CAST Envision is an automated solution to evaluate the impact of change demands on entire applications or sets of applications, and facilitate the implementation of code modifications.

CAST Envision:

* Provides real visibility on the workload associated with any code modification, giving the control to make accurate resourcing decisions.
* Shows exactly what will happen when development teams make a change - at any level, be it object, table, column.
* Helps implement changes to the code the easy way thanks to its tight integration with the most popular IDE.

Your rating: None

Checkstyle

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.

Checkstyle is highly configurable and can be made to support almost any coding standard. An example configuration file is supplied supporting the Sun Code Conventions. As well, other sample configuration files are supplied for other well known conventions.

Your rating: None

PMD

PMD scans Java source code and looks for potential problems like:

* Unused local variables
* Empty catch blocks
* Unused parameters
* Empty 'if' statements
* Duplicate import statements
* Unused private methods
* Classes which could be Singletons
* Short/long variable and method names

PMD has plugins for JDeveloper, JEdit, JBuilder, NetBeans/Sun ONE Studio, IntelliJ IDEA, TextPad, Maven, Ant, Eclipse, Gel, and Emacs.

Your rating: None

Findbugs

FindBugs looks for bugs in Java programs. It is based on the concept of bug patterns. A bug pattern is a code idiom that is often an error. Bug patterns arise for a variety of reasons:

* Difficult language features
* Misunderstood API methods
* Misunderstood invariants when code is modified during maintenance
* Garden variety mistakes: typos, use of the wrong boolean operator

FindBugs uses static analysis to inspect Java bytecode for occurrences of bug patterns. We have found that FindBugs finds real errors in most Java software. Because its analysis is sometimes imprecise, FindBugs can report false warnings, which are warnings that do not indicate real errors. In practice, the rate of false warnings reported by FindBugs is generally less than 50%.

FindBugs is free software, available under the terms of the Lesser GNU Public License. It is written in Java, and can be run with any virtual machine compatible with Sun's JDK 1.4. It can analyze programs written for any version of Java. FindBugs was originally developed by Bill Pugh, and is maintained by Bill Pugh and David Hovemeyer.

FindBugs uses BCEL to analyze Java bytecode. It uses dom4j for XML manipulation.

Your rating: None

Coverity

Your rating: None
Syndicate content