[author : Jonathan Erickson] #Edito
[author : Oliver Cole]
Traditionally, there are two main approaches to testing software: "black-box" (or functional) testing, and "white-box" (or structural) testing. White-box testing strategies include designing tests such that every source line of code is executed at least once, or requiring every function to be individually tested.
[author : Peter Horwood, Shlomo Wygodny, and Martin Zardecki]
It is often significantly harder to locate and test for bugs in multithreaded and multiprocess applications than for nonthreaded, single process situations. Our authors describe some of the problems with multithreaded applications and discuss common debugging techniques.
[author : Len DiMaggio]
UNIX daemons are programs that run in the background, letting you do other work in the foreground. Len presents a "recipe" for testing them.
[author : Noam Cohen]
Noam presents a framework for creating and using testpoints. He originally designed and implemented this framework while developing VideoClick, a video distribution and management system.
[author : Arch D. Robison]
Granted, recursion means different things to different people. But for Arch, recursion means trouble because recursive code entangles control flow, which hurts readability, reuse, and optimization.
[author : James Y. Wilson and Jason A. Krontz]
Bluetooth technology is an open specification for wireless communication and networking. In the first of a two-part series, Jim and Jason lay out the basics.
[author : Jerry Epplin]
Real-Time Linux is based on the same model as the NT-based systems, but, since it is freely available, doesn't have the associated cost overhead. To illustrate how you can use RTLinux, Jerry presents a data-acquisition application.
[author : James K. Yun]
The network performance measurement techniques James discusses here are especially useful in projects where the network interface is encapsulated in a class library or network middleware.
[author : James F. Wanner]
SourceMonitor is a programmer's metrics tool that Jim wrote to expose the size and quality of his source code. To parse source code, Jim used Sandstone's Visual Parse++; to create reports, he turned to Stingray's Objective Chart.
[author : Michael Swaine]
When we look back at it, 1999 might have been a breakthrough year for nanotechnology, as big advances were made in tiny computers.
[author : Al Stevens]
Smart iterators might not be such a dumb idea, but, as Al points out, there are costs associated with them.
[author : Mike Jennings]
A service in Windows NT (or "daemon" in UNIX parlance) is a program that runs in the background to do a specific task. Can you write NT services in Java? Sure, and Mike shows you how.
[author : Mingfu Gong]
Group sorting algorithms are well suited for applications where recursion is either not allowed or inefficient. In this month's column, Mingfu presents an N*logN adaptive group sort algorithm.
[author : Dennis E. Shasha]
Benjamin Baskerhound has turned over a new leaf, this time coming to Ecco and Liane for help, rather than mischief.
[author : Gregory V. Wilson]
This month, Greg examines Extreme Programming Explained, by Kent Beck, and the recently released The Pragmatic Programmer: From Journeyman to Master, by Andrew Hunt and David Thomas.
[author : you]
[author : edited by Nicholas Baran]
[author : Nicholas Baran and Amy Lincicum]
[author : Michael Swaine]