Free Newsletters
InfoWorld Daily

InfoWorld
Log-in | Register

Jtest continues its trek toward code-testing supremacy

Version 8 of Parasoft's Java test tool sports impressive BugDetective analysis features

By Rick Grehan
October 06, 2006
 

Parasoft continues to send its Jtest Java testing suite out to hunt down bad Java code. And Jtest knows that the definition of bad Java code continues to expand: One bit of code might be bad because its developer didn’t follow best practices for coding style, making it difficult for other programmers to understand and interface with it. Yet another bit might be bad because it is poorly factored and overly complex, or because it crashes when executed. A different bit of code might be bad because it was written with no consideration for security and could be easily compromised by a malicious hacker.

Free IT resource

Open Source Business Conference (OSBC) May 22-23, 2007

Sponsored by OSBC

Free IT resource

Virtualization Insights from Top Experts - Learn how virtualization gets real!

Sponsored by Dell

TEST CENTER DAILY BLOG

Track the latest product reviews and news from the InfoWorld Test Center.




Parasoft Jtest 8

Parasoft, parasoft.com

Excellent  9.0
criteria score weight
Documentation 9 20%
Interoperability 10 20%
Performance 9 20%
Scalability 9 20%
Setup 8 10%
Value 8 10%

Cost:
$50,000 for server, support for five licenses

Platforms:
OS: Windows, Linux, Solaris; IDE: Stand-alone, Eclipse (3.0 or later), IBM Rational Application Developer, IntelliJ

Bottom Line:
Jtest was already a great Java testing tool; now it’s even better. Version 8 adds more pre-loaded rules and the new BugDetective analysis module for locating problems and identifying their origin. It takes on everything from unit tests to functional tests, and it does not limit your testing of any particular Java component.

About our Reviews and Scoring Methodology

I’ve reviewed two previous editions of Jtest — Jtest 7.0 and Jtest 5.0 — but in Version 8, Jtest updates and extends several existing features. For example, Jtest 7.0’s static-analysis engine came pre-loaded with 500 rules that allowed it to locate problems and coding violations by examining an application’s source. The static-analysis component in Jtest 8 is equipped with more than 700 such rules.

New rules cover areas such as Java 5 specifics and Hibernate, and you can still define your own rules, although I found that process a bit complicated on account of the elaborate syntax Jtest employs. On the one hand, the language used to define rules allows you to cover a wide range of contingencies; on the other hand, the richness of the language creates a steep learning curve.

Jtest’s static-analysis machinery has also been modified, turning it into a kind of static/dynamic hybrid. Specifically, the new BugDetective module examines source and class files (without executing them, mind you), explores execution paths, and uncovers potential bugs that would otherwise appear only after lengthy run-time testing.

BugDetective’s execution explorations are not limited to a method, a class, or even a package; they can cross all logical boundaries. In addition, when it finds a problem, it not only locates where the problem is likely to manifest itself, but it also identifies the problem’s origins so that you can tell where the “bad data” got into the system.

BugDetective will locate potential null-pointer exceptions, resource leaks (such as neglecting to close an opened socket), and a variety of security issues. In this last case, most of BugDetective’s security rules locate code vulnerable to injection attacks: code that uses “uncleansed” user input to create a resource path string, or a query string.


Click for larger view.
Jtest 7’s Test Case Sniffer technology returns in Jtest 8 under a new name, “Tracer.” Tracer hooks into an application and gathers information about its execution. From that information, Tracer then creates a host of tests to launched against the application.

Most of the tests created are based on a JUnit foundation, but Jtest adds support for Cactus, a JUnit-extending framework from the Jakarta Project that recognizes just about every server-side component there is; HttpUnit, a general-purpose Web-testing framework that mimics a user executing from a browser; Springs; Struts; and other platforms.

Other improvements cover the entire Jtest tool collection. For example, past versions of Jtest generated tests at the class level. Now you can set filters on test creation so that tests are generated for, say, only public methods, ignoring private and protected methods.

Such “fine-tuning” of tests goes even further if Jtest is connected to a version control system. In that case, you can do things such as specify that Jtest create tests for only source code modified since a given date and restrict test generation to new code.

Bug Detective is perhaps Jtest 8’s best addition. It can — if you have the time — be configured to exhaustively explore an application’s execution paths. The default “exploration depth” is set to about 100 sequentially executed lines, but that can be adjusted to something much larger. And in this age of copious available processor cycles, it wouldn’t be unthinkable to devote a small farm of test systems to simply sit around all night, exploring your Java source, and maybe finding something you wouldn’t have expected. That’s where Jtest shines brightest.





 


 
Rick Grehan is a contributing editor at InfoWorld. Contact him at rick_grehan@infoworld.com.
 

TOP NEWS:


»  Four quick tips for choosing an IM security product
71 percent of businesses will invest in real-time messaging this year. If you're one of them, be sure to protect your enterprise

»  Forrester analysts ID hot IT jobs
Research group finds 16 IT roles with a promising future

»  Nvidia claims 10 hours of HD video on Tegra chip
The Tegra 600 and 650 can be used with hard disk drives and are designed partly for mobile Internet devices

»  Database vendors add Google's MapReduce
Greenplum and Aster Data Systems will support Google's programming technique, developed for parallel processing of large data sets across commodity hardware

»  Network management: Tips for managing costs
New technologies, changing requirements, and ongoing equipment maintenance and upgrades cost money, but there are ways to manage expenses

»  EMC targets SMBs, branch offices with new low-end storage
Celerra NX4 highlights include thin provisioning, snapshot technology for data recovery and backups, and Web-based console for management of storage volumes




REMOTE ACCESS: MAINTAIN SECURITY AND DECREASE THE BURDEN ON IT
Join this interactive webcast to discover how IT Managers can control access rights, end-user security settings and end-point authorization. Sponsor: Citrix(R) GoToMyPC(R) Corporate

»  Click here to view this Webcast
  WAN Emulation Sponsored Solutions Guide
WAN emulation technology enables IT organizations to predict reliably how applications will perform in a networked environment, before application rollout, mitigating development risk and costs.This Sponsores Solutions Guide has everything you need to now about WAN emulation and WAN and how to best implement it in your organization. Sponsored by Shunra

»  Click here to download now

- Special Advertising Partners -
WHITE PAPERS
 

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
INFOWORLD MARKETPLACE
 
» BUY A LINK NOW
 

FIND PRODUCTS AND COMPANIES
» COMPLETE PRODUCT GUIDE



TECHNOLOGY INDEX
• Applications
• Application Development
• Security
• Networking
• Wireless
• Platforms
• Hardware
• Data Management
• Storage
• Web Services
• Business
• Telecom
• Professional Services
• Standards

TECH WATCH 


What's the 411 on GOOG-411?
Just as Google has become synonymous with "performing a Web search," 411 is understood to mean "information" -- as in "what's the 411?" I was thus surprised to discover, from a billboard, no less, that the king of search is taking on the ...

Apple HTML source reveals 'iPhone Extreme'
"This one's a stretch..." reports AppleInsider. Um, yeah. Reporting on HTML code sightings of product names could be called a stretch, but iPhone Extreme has a ring to it. Now, that sounds like the product Apple should have released first, rather ...

COLUMNISTS

Unified under law
Ephraim Schwartz's Column and Blog (InfoWorld) - In the litigious world we live in, deploying a unified communications platform in your enterprise could...
» MORE COLUMNISTS

MORE INFOWORLD BLOGS


Open Sources 
Product Management
When I joined MySQL four years ago, there was quite a lot of debate about product management. We didn't actually have ...

Zero Day 
Botnet herders tending smaller flocks
New research backs up the theory that botnet operators are keeping their networks smaller in a continued effort to keep ...



• Advice Line
• Database Underground
• The Deep End
• Enterprise Mac
• Geeks in Paradise
• Grid Meter
• The Gripe Line
• InfoWorld Daily
• Inside IT
• IT Troubleshooter
• ITXtreme
• Open Sources
• ProdBlog
• Real World SOA
• Reality Check
• Security Adviser
• SMB IT
• The Storage Network
• Tech Watch
• Virtualization Report
• Zero Day

ADVERTISEMENT


RESOURCE CENTERadvertisement 

GOVERNMENT IT & POLICY
'If you don't go after the network, you're never going to stop these guys. Never.'
From the State Department, All the News for Inquiring Minds
TechPresident, the Internet Citizenry's New Consensus Taker



Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist