DDJ, March 2001 -- Testing & Debugging

FEATURES

VISUAL DEBUGGING WITH DDD

by Andreas Zeller

If a debugger is a tool that lets you "see" what's going on in a program, then DDD is the tool that lets you see the most.

VALUE LATTICE STATIC ANALYSIS

by William Brew and Maggie Johnson

William and Maggie examine "value lattice," a new approach to static analysis that finds the most dangerous defects that tend to slip through testing.

DYNAMIC LOGGING & THE CORBA NOTIFICATION SERVICE

by Tarak Modi

Tarak examines CORBA's Notification service and proposes a low-overhead approach to debugging distributed systems.

CONSISTENCY-BASED DIAGNOSIS

by Girish Keshav Palshikar

Consistency-based diagnosis systematically works out the set of all possible diagnoses by reasoning from a logical model of the normal behavior of the system.

COM OBJECT REFERENCE COUNTING

by Noam Cohen

Using COM objects involves maintaining the reference count for each object. Noam's RefCatcher tool tracks the number of AddRef/Release calls and reports unbalanced reference counts.

VOLCANO MONITORING

by Steve Jordi

Instrumental monitoring of volcanoes involves remote data acquisition, automatic data processing, and interpretation — all linked to alarm systems. Steve's Tiltmeter program collects volcanic measurements for a volcano in Indonesia.

CROSS-PLATFORM COROUTINES IN C++

by George F. Frazier

Coroutines are a natural solution to parsing problems used by assembly-language programmers. George presents a cross-platform coroutine technique for C++.

POCKETPYRO FOR PALM DEVELOPMENT

by Linden DeCarmo

Most Palm users crave access to the multimedia gadgets found in "other" handheld devices. Fortunately, the Pyro for Palm satisfies those multimedia cravings.

EMBEDDED SYSTEMS

REAL-TIME DEBUGGING & WIRELESS DEVICES

by David Ruimy Gonzales and Brian Branson

David and Brian examine the issues associated with developing power-efficient handheld wireless devices and the on-chip debug capability needed for rapid product development.

INTERNET PROGRAMMING

DIAGNOSING PROXY SERVER PROBLEMS

by Russ Ethington

Russ presents TCPMapper, a Java utility that lets you peek inside the network connections between your browser and a proxy server.

PROGRAMMER'S TOOLCHEST

LOAD TESTING WEB SITES

by Nicholas Baran

Load-testing software lets you simulate scenarios in which many users are logged on to the site simultaneously. NSTL examined Mercury Interactive's Loadrunner, RSW Software's E-load, and Segue Software's Silkperformer — and Nick reports on what the testing lab found.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael plays the numbers by the book, with his look at Stephen Wolfram's A New Kind of Science and Paul Hoffman's The Man Who Loved Only Numbers.

C PROGRAMMING

by Al Stevens

The Software Development 2000 Conference took Al back to D.C. and he reports on everything he saw and heard before jumping into the Linux waters.

EMBEDDED SPACE

by Ed Nisley

DDJ's new columnist takes a hard look at soft errors that affect wireless devices.

JAVA Q&A

by Cameron Laird

Can you script Java with Tcl? Sure, and TclBlend is a great way to do it.

ALGORITHM ALLEY

by Joan Daemen and Vincent Rijmen

NIST has announced that the Rijndael algorithm was the winner of its Advanced Encryption Standard competition. Joan and Vincent, its inventors, lift the hood on the algorithm.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

The shortest distance between the accident and the emergency room is often cluttered with lawyers. Ecco and Liane come up with a plan for getting to the hospital quickly and safely.

PROGRAMMER'S BOOKSHELF

by Peter N. Roth

Peter takes a long look at Andrew Koenig and Barbara Moo's Accelerated C++: Practical Programming by Example.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Nicholas Baran

OF INTEREST

by Shannon Cochran

SWAINE'S FLAMES

by Michael Swaine