Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Jolt Awards

7th Annual Jolt and Productivity Awards



Corporate software development in 1996 might be best summed up with the following story:

A doctor, an engineer, and a software developer are waiting to enter the pearly gates.

"God created Adam and Eve—Eve from Adam's rib no less—an incredible medical feat, so I should go first," the doctor says.

"No," the engineer says, "God created the universe—an engineering feat, so I should be first."

The software developer scoffs. "What did God create the universe out of? Chaos! And who do you think created all the chaos?"

Whatever name you want to give 1996—the "Year of the Internet," the "Year of Java," or the "Year of Web Development"—one word describes the impact it had on software development: chaos.

In this wild year for software development, only one thing was certain: web technology dramatically altered our concept of time. The average product life cycle of browser-makers like Netscape and Microsoft, and Java tool vendors like Symantec and Sunsoft, appeared to decrease to four months at most in 1996.

Despite the fact that Java is very much a first-generation language and is used mostly by learning-curve-climbing developers for applets and not industrial-strength applications, the hype surrounding it and the Internet seems to have pushed the rest of the industry into this same frantic cycle.

Perhaps this is why we received a record 147 nominees for this year's Jolt Product Excellence and Productivity Awards.

These products were all vying for our coveted honor: a can of Jolt Cola embedded in a block of Lucite.

Some of our readers have complained that a can of Jolt Cola—a beverage that has a reputation for helping programmers and developers work long into the night—is not an appropriate honor to bestow on the best development tools of the year. Some feel a can of Jolt represents all that is wrong with software development today: the slipped schedules, the "death march" projects, the hacked-in features, and so on. We think otherwise. We think Jolt, with its extra caffeine and lightning bolt logo, represents the excitement these tools generate and the boost of productivity they offer development teams.

That's what we mean when we say these products "jolted the industry." These are the tools that signified a new development paradigm, and increased developer's productivity. In some way, these tools made the tough task of developing software easier and more efficient.

We honor products in six categories: languages and development environments, utilities, books, design and management tools, libraries and components, and special (for products that defy the preceding categories). On the following pages, you'll see products that moved developers toward distributed computing and Java development, and invaluable tools for client/server and C++ development.

The Judges

The Software Development Jolt and Productivity Awards wouldn't take place without our esteemed panel of judges, drawn from the writers and editors of Software Development magazine and a few select sister publications. In alphabetical order, the 1996 judges were:

Scott Ambler, contributing editor, Software Development

Andy Barnhart, contributing editor, Software Development

Jeff Barr, writer, Software Development

Mark Betz, product reviewer, Software Development

Andrew Binstock, editor, UNIX Review

Dana Cline, product reviewer, Software Development

Robert DelRossi, product reviewer, Software Development

John Dlugosz, product reviewer, Software Development

Alex Dunne, editor, Game Developer

Barbara Hanscome, editor-in-chief, Software Development

Stan Kelly-Bootle, writer, Software Development

Phillip Keppeler, webmaster, Software Development

Warren Keuffel, contributing editor, Software Development

Bill Lazar, contributing editor, Software Development

Larry O'Brien, contributing editor, Software Development

Roland Racko, writer, Software Development

Dan Rogers, contributing editor, Software Development

Dan Saks, contributing editor, Software Development

Guy Scharf, contributing editor, Software Development

Roger Smith, technical editor, Software Development

Karl Wiegers, writer, Software Development

Alan Zeichick, editor, Network Magazine

The judges evaluated the nominees over several months and discussed them via a private web site to eventually choose four finalists in each category. One product in each category received the Jolt Award, and the three runners-up received the Software Development Productivity Award.

The Jolt Hall of Fame

This is Software Development magazine's seventh Jolt Product Excellence and Productivity Awards. Over the years, certain tools have appeared again and again in our winner's circle. These products have been around for years, are continually upgraded, improved, and ported to a variety of platforms. They have proven to be the tried-and-true, indispensable tools for corporate development and have been honored more than once with Jolt or Productivity Awards.

This year, we added a new honor for this type of product: the Jolt Hall of Fame. We announced our first inductee at the Software Development Conference in April: BoundsChecker from NuMega. BoundsChecker is a winner of multiple Jolt Product Excellence and Productivity honors. You can read more about BoundsChecker and all the Jolt Product Excellence and Productivity Award winners on the following pages—and how they helped bring some order into a most chaotic year.

Languages and Development Environments

JOLT:

Visual Cafe Pro

Symantec Corp.

All three of the major Java development tools released in 1996—Microsoft's Visual J++, Symantec's Visual Cafe, and Sun's Java Workshop—have basic features considered mandatory in professional development environments these days: a debugger, an editor, and a screen builder. Of the three, only Symantec was able to break the relational database barrier in 1996. The Professional edition includes a copy of Symantec's dbAnywhere, which, along with a set of database-aware components, extended the capabilities of Visual Cafe to let you develop database applications using the same drag-and-drop, "no code" interaction seen in the Visual Cafe edition. In addition to the drag-and-drop screen builder, Symantec's compiler has bells and whistles such as interactive debugging and on-the-fly parsing technology. Visual Cafe also features a unique interaction wizard that lets you visually specify the behavior of your application without having to write any code. This feature, coupled with a bidirectional editor (similar to Symantec's C++ compilers), combined to create a useful Java learning environment to those of us coming up to speed with Java.

By offering a professional development environment based on the familiar Symantec C++ 7.0 interface, coupling that with a drag-and-drop "no code" interface, and linking in high-performance debugging features—with the added feature of database connectivity—Symantec's Visual Cafe Professional was a stand-out in the rapidly evolving Java chaos.

Roger Smith

Productivity Award Winners:

Optima++

Enterprise 1.5

Powersoft Corp.

Optima++ eliminates the complexities of C++ development environments, deep class hierarchies, and cryptic programs. To start, you add visual controls to a form (much like a fourth-generation language GUI builder). Event logic is added to the controls on the form using context menus. Optima++ generates the required code for you.

Interaction between controls entails dragging a visual control to a code window, which activates the reference card wizard. The wizard walks you through the process of selecting the type of action. The proper code for the interaction is then inserted into your code. This capability lets the novice remain productive while vicariously learning the syntax of the language.

Dan Rogers

Visual J++ 1.0

Microsoft Corp.

Whatever your take on Microsoft's position toward Java, valued supporter or vile corrupter, you've got to hand it to the Visual J++ and Developer Studio teams in Redmond. Visual J++ seamlessly integrates Java into the Developer Studio IDE familiar to many C++ programmers. It also integrates Java with COM, letting you write ActiveX controls in Java or C++ and use them in Java applets and embed them in pages driven by VBScript or JScript. By bridging these technologies, Microsoft is laying claim to the future of the Internet as a 32-bit Windows world. With its fast compiler, byte code-level in-browser debugger, integrated Java help, tutorial book, and support for both JDBC and ODBC, Visual J++ is an impressive demonstration of the company's commitment to that goal.

Mark Betz

Visual SQL

Blue Sky Software

Visual SQL makes developing client/server database applications with Visual C++ painless. Visual SQL augments the Visual C++ development environment with a new AppWizard application type (Visual SQL), developer studio components, and tool extensions. This turns Developer Studio into a drag-and-drop development environment that dramatically reduces the effort required to build database applications in C++.

Using these components, you specify database interactions using a query by example interface and link the resulting data to screen components like text fields, buttons, pick-lists, and grids. With Visual SQL, a C++ programmer can easily keep up with, if not outperform, developers using more traditional fourth-generation GUI builders.

Dan Rogers

Libraries and Components

JOLT:

Street

Pepperwhite Software

Pepperwhite's Street brings custom mapping to the mass market. Pepperwhite condensed and indexed Census Bureau TIGER files containing every street in America and managed to fit all of the relevant parts on one CD-ROM. A small utility program lets users extract portions of the data, allowing use of a small subset. Since it's U.S. Government data, you can ship it with your application.

With the Street custom control, you can have map-enabled applications as quick as you can slap the control on a form and add minimal code. Street can access data directly from the CD or from an exported subset. You can use the control straight out of the box because it includes a user interface that allows customization of layers, colors, fonts, and other settings. If you don't disable the control, your user will also have customization available.

Pepperwhite packed an amazing amount of functionality into one custom control. Primarily, it acts as a display engine for the underlying map data. The display engine includes features such as zoom in and out, scroll and pan, and layers. Layers can vary their display qualities based on the zoom factor, letting small streets disappear when the user zooms way out. A query function rapidly finds addresses all over the country—it found mine in 18 seconds on a single-speed CD-ROM.

If this was all Street did, it would be useful enough for a lot of applications. However, Street also lets you add your own data, such as tourist features or links to hypertext documents. You can also show sales figures by rendering counties in different colors based on sales. You can even let users add their own data, or overlay real-time information from a global positioning system (GPS).

Dana Cline

Productivity Award Winners:

ObjectStore

Object Design

Most of us still use relational data architecture, as object-oriented data storage is a new idea with few success stories or strong products. Object Design's ObjectStore has changed this. Powering successful installations such as the Pathfinder web site, ObjectStore offers a scalable, high-performance persistent storage engine across a large number of platforms. It works easily with C++ and Java, letting you simply maintain the state of your objects rather than recreate them from stored attributes. Transactions, two-phase commits, distributed backups, and other advanced features maintain the integrity of your data. ObjectStore makes object-oriented databases a serious alternative.

Andy Barnhart

Amzi! Prolog + Logic Server

Amzi! Inc.

Decision-making software is found in domains from securities trading to air traffic control, where choices are made based on complicated conditions, often in real time. Rule-based systems are a common solution to these types of problems. One of the best languages for creating rule-based applications has always been Prolog. However, in the past it's been difficult to create full-blown applications using it. Amzi! Inc. has a solution in the Amzi! Logic Server, an embeddable Prolog rule-base and inference engine that is accessible from C++, Java, Visual Basic, Smalltalk, and other tools. With its Edinburgh Standard implementation of Prolog and cross-platform, royalty-free run times, the Amzi! Logic Server should make rule-based programming accessible to anyone who feels the need to make smarter software.

Mark Betz

Distinct Visual Internet Toolkit

Distinct Corp.

The Internet is to the late 1990s what client/server was to the early 1990s: if you're not doing it, then what are you doing? For the developer under pressure to deliver, however, Internet programming at the TCP/IP protocol level may be an unwelcome challenge. Enter Distinct, a long-time leader in Internet protocol software. Its Visual Internet Toolkit consists of more than 15 ActiveX controls that support virtually every Internet protocol, from basic sockets to FTP, SMTP, and HTTP.

By packaging the tools in ActiveX controls, Distinct lets you use them within applications written in different languages, from C++ to VBScript. This makes them a perfect fit for use in rapid Intranet application development, and a perfect partner to your own ActiveX controls on the increasingly interactive World Wide Web.

Mark Betz

Design and Management Tools

JOLT:

Together/C++ 2.0

Object International Software Ltd.

Together C++ is a powerful design and development environment that bridges the chasm between design and implementation that has traditionally plagued CASE tools. CASE tools usually produce a documented design. Together C++ provides a robust object modeling and design tool that accelerates development by silently generating syntactically correct C++ code as a designer manipulates the object model. Thus, the hand-off from design to development is actually the framework for the project itself.

Together C++ supports three design notations (Coad, the Object Modeling Technique, and the Unified Modeling Language), as well as scenario modeling using the Coad notation. At the beginning of a project, Together C++ requires you to select a notation so you can start modeling. Later, if another view of the project is required in a different object modeling notation, Together C++ supports the generation of an alternate view. This is a powerful communication tool, and it helps you overcome communication barriers that arise when different team members have experience with notations other than the one the initial designer selected.

Whether you are designing class hierarchies, relationships, or scenarios, Together C++ simplifies the interaction by providing wizard-like dialogs for each type of interaction. These dialogs provide fields for adding information appropriate to the operation being performed.

Using the context-sensitive wizards, you assemble a design, and when it's time to hand it off to a development team, source code will have already been generated for every attribute, property, and nuance incorporated into the design. Thus, developers are given a framework that is ready to implement. This type of CASE-to-development bridge eliminates errors in communication and implementation.

Together C++ isn't the first CASE tool to provide code generation. It is, however, one of the most approachable CASE tools I've ever used. The interface is clean and uncluttered. The implementation is intuitive, and its ability to export to Visual C++ is a bonus.

Dan Rogers

Productivity Award Winners:

RequisitePro 2.0

Rational Software Corp.

RequisitePro, originally developed by Requisite Inc., is a powerful tool that brings order and control to requirements creation and tracking. Recently acquired by the suddenly hungry Rational Software (which has also purchased Objectory AB, SQA Inc., and Microsoft Test), this product is of particular interest to shops that routinely do larger, team-based projects with requirements documents that exceed, say, 100 pages. A particular strength of the product is that it integrates neatly with Microsoft Word and Intersolv's PVCS version control. Additionally, the new project wizard and the query and reporting tools are all well-suited to their tasks.

Bill Lazar

CS/10,000

Client/Server Connection

CS/10,000 gives information technology departments a jump on client/server development by providing a project management tool based on best practices and architectural discipline. CS/10,000 simplifies client/server project management using a combination expert system and best practice library wrapped into a project management, planning, time reporting, and estimation tool. A library of products is contextually linked into the project planning tools so a manager can quickly identify the right development tools, operating systems, and network components required to successfully take a project from concept to roll-out.

For information systems departments that have had difficulty making the transition to client/server, CS/10,000 is the fastest way to get started while your team develops the expertise required to be successful in client/server development.

Dan Rogers

Genitor

Genitor Corp.

Software teams that store their C++ classes in a central repository with shared access will appreciate a C and C++ development tool like Genitor, which combines a graphical, hierarchical, tree-based editing environment with a shared object repository. Genitor lets programmers automate many coding tasks that are normally done by hand, including printed or online documentation for describing a single object or collection of objects. Genitor includes useful and well-thought-out features that help support programmer workgroups, including hooks to version control systems, compiler IDEs, Windows Explorer, and shared code databases. It's not surprising that Genitor is designed to integrate with version control systems. The husband-and-wife team of Andy and Carol Seidl who developed it also developed the Seidl Version Manager, which is now marketed by Computer Associates as CA-Pan/LCM.

Roger Smith

Utilities

JOLT:

PartitionMagic 3.0

PowerQuest Corp.

Nobody in the business environment—except for a magazine product reviewer—reconfigures a workstation as often as a software developer. We're constantly adding larger hard drives, making new partitions for prerelease operating systems, installing ever-heftier development tools that overflow our allocated disk resources, and creating "clean" test environments. Without PartitionMagic, that usually means wiping the disk clean, running FDISK and FORMAT, and reinstalling (or restoring) our applications and data. With PartitionMagic, those same tasks take only a few painless minutes.

Conceptually, PartitionMagic remains as simple as when version 1.0 was first introduced for the OS/2 platform a few years ago: it dynamically resizes disk partitions without losing data, and it changes partitions from one file system format to another. You can also convert back to maintain compatibility.

PartitionMagic 3.0 adds even more functionality that will be of special benefit to developers who constantly tweak their environments as they add support for new operating systems. For example, the UnInstaller Mover Partition moves applications from one disk partition to another—particularly helpful for taming those annoying applications that insist on placing many (or all) of their files on the overcrowded Drive C: or for moving rarely used applications to a removable disk. The DriveMapper function, one of my favorites, lets you override the operating system's drive-letter assignments, which constantly change as you add or remove devices.

But PartitionMagic 3.0's new big thing is called PartitionCopy, which relocates an entire disk partition from one physical drive to another. It was great when I added a 2.6GB drive to my workstation, letting me easily move my C: partition off my older and slower 1GB drive. It was the most painless upgrade ever—thanks in large part to PartitionMagic.

Alan Zeichick

Productivity Award Winners:

MKS Toolkit 5.2

Mortice Kern Systems Inc.

Once you've used UNIX, you can never forget the power of a real command line. That's where MKS Toolkit comes in. MKS Toolkit is long known for bringing the power of UNIX to DOS and OS/2. Now version 5.2 brings the same benefits to 32-bit Windows workstations.

With MKS Toolkit, you get all the familiar UNIX commands like awk, grep, ps, tar, pax, cpio, make, sort, and the Korn shell. But with this new Windows version, you also get Perl, web (which lets you access web pages from the command line), and Windows GUI versions of vi and vdiff, and more.

If you don't know what those UNIX functions are, MKS Toolkit's not for you. But if you're itching for the command line—but find a Microsoft mouse instead—then this utility suite gives you the best of all possible worlds.

Alan Zeichick

SQA Suite

Rational Software Corp.

Developers seem to hate testing. It isn't just because testing finds our mistakes, it's also because it's hard to do well. SQA Suite makes testing easier by providing an integrated suite of products that let you concentrate on your product and functionality requirements, rather than all the administrative details like scheduling tests across different architectures over the network and correlating the data. SQA Suite provides tools to plan, create, and run tests, as well as tools to analyze the results. The tests can be recorded or created using a rich programming language geared toward testing Windows client/ server applications. Simply put, SQA Suite does testing well.

Andy Barnhart

Visual SlickEdit 2.0

MicroEdge

A programmer's editor that continues to lead the field, Visual SlickEdit 2.0 offers greater ease of use and more powerful features including a C, C++, and Java code beautifier, difference editing, selective display (code folding), code block selections, and hex editing. For those programming on the Internet, Visual SlickEdit 2.0 offers support for viewing HTML files for Netscape and Internet Explorer. Visual SlickEdit is multiplatform, extensible, and fast—all reasons that account for its continued popularity.

Roger Smith

Books

JOLT:

Rapid Development: Taming Wild Software Schedules

by Steve McConnell

Microsoft Press, 1996

I really wish that I'd written this book, because anyone involved in the application development process should read it. Every chapter is full of valuable advice, covering topics such as risk management, development fundamentals, estimation, teams, tools, and project management. Chapter 3, which discusses the classic mistakes made on development projects, is worth the price of the book alone. I'm a firm believer in learning from not only my own mistakes but also from the mistakes of others, and Rapid Development points out a multitude of project land mines that you desperately want to avoid.

The book is organized into three parts: efficient development practices, rapid development practices, and best practices (which in many ways is both a summary and an extension of the first two parts). Some of the best practices covered by the book include daily build and smoke tests, designing for change, inspections, joint application design (JAD), outsourcing, requirements scrubbing, reuse, staged delivery, timebox development, maintaining a top-ten risks list, and prototyping. McConnell really has managed to put many of the leading development techniques into context, showing how you can use them to dramatically improve the way you create applications.

Although a lot of material is covered, it is all dealt with thoroughly and is presented in a manner that is readily understood. You really want to read this book from cover to cover. McConnell, who is also the author of Code Complete (Microsoft Press, 1993), has written another classic book about software development. If you're going to buy one book this year, this is the one.

Scott W. Ambler

Productivity Award Winners:

The Distributed Objects Survival Guide

by Robert Orfali, Dan Harkey, Jeri Edwards

John Wiley & Sons, 1996

Just when you thought you'd successfully made the move to client/server, multitier distributed object systems become the new paradigm for corporate development. The Distributed Objects Survival Guide comes to the rescue to help you—and your less technical managers and colleagues—make sense of it all. It covers everything from basic concepts behind distributed object systems to technical details of object standards and architectures. In this follow-up to the Jolt Award-winning The Essential Client/Server Survival Guide (John Wiley and Sons, 1994), the authors come across as clear-headed, knowledgeable friends. In various "soapbox" and "briefing" sections, they discuss issues surrounding the object wars and provide helpful hints for developers currently researching distributed object solutions. If you're preparing your enterprise for the coming object-component phase of client/ server, this book will prepare you well.

Barbara Hanscome

Creating a Software Engineering Culture

by Karl E. Wiegers

Dorset House, 1996

The most important thing this book does is make you aware that the software engineering culture within your organization is critical to the success of development projects.

Software development is about far more than technology: it's also about quality, teams, and working closely with your users. Based on the real-world experience of several software groups at Eastman Kodak Company, Creating a Software Engineering Culture concisely covers critical issues such as process improvement, the Capability Maturity Model (CMM), testing, inspections, CASE tools, change control, and metrics. Not the sexiest topics in the world, but author Karl Wiegers writes using a practical manner that leaves you asking for more. A must-read for anyone interested in improving the way they develop software.

Scott Ambler

Pattern-Oriented Software Architecture: A System of Patterns

by Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal

John Wiley & Sons, 1996

This book, also known as "The Siemens Book" (from the authors' employer), was one of the most anticipated titles of the year. Its authors have deep insights into system architecture, design, and reusability, and the book, like a German sports car, has a pleasing blend of presentation and engineering. Each time it touches on architecture, whether in a chapter discussing enabling techniques or in one of the eight specific architectural patterns laid out, it's fascinating. What programmer can resist a book that immediately follows a discussion of a UNIX command-line style "pipes and filters" architecture with one of blackboards, an architecture rarely seen outside of artificial intelligence applications? If it has a weakness, it's that most programmers will only rarely have an opportunity to put its advice into practice.

Larry O'Brien

Special

JOLT:

CORBAplus for C++

Expersoft

PowerBroker CORBAplus for C++ simplifies the development of complex distributed applications. A comprehensive implementation of the Object Management Group's Common Object Request Broker Architecture (CORBA) 2.0 specification, CORBAplus lets you develop scalable distributed applications that support a choice of object models and languages across a wide variety of heterogeneous systems—Windows NT, Windows 95, and most UNIX platforms. CORBAplus makes complex network programming tasks easier and minimizes operating system and hardware architectural differences, helping unify your multiplatform network into a single computing resource.

With a visual tool for browsing and editing the CORBA Interface Repository, CORBAplus for C++ lets you automatically generate all the programming files you need to access CORBA objects from OLE. The IDL compiler also reduces the complexity of distributed application development significantly by generating the C++ class definitions and producing the necessary C++ code to marshal object requests.

An active participant in the Object Management Group, Expersoft has contributed significantly to several specifications, including the CORBA 2.0 Inter-ORB protocol (IIOP), COM and CORBA Interworking, and C++ Language Mapping. Expersoft has also been a pioneer in deploying applications in the field. Its track record includes event-driven distributed applications deployed on Expersoft technology since way back in 1991.

Roger Smith

Productivity Award Winners:

Dragon Dictate for Windows 2.5

Dragon Systems Inc.

Looking for a Windows cleaner? Dragon Dictate removes mouse clicks, keystrokes, and popup menus using the magic fluid known as your voice. It takes time-saving dictation, giving you voice control of common Windows tasks. Its macro facility helps you make voice shortcuts for simple or complicated keystroke and mouse sequences within your favorite applications. This facility also lets you give those applications your personalized magic words. Dragon will read back to you as well, making verification of text or numeric data a snap. It also reads e-mail aloud like a champ. Move over mouse, make way for the natural human voice.

Roland Racko

How to Build Better Object Models CD-ROM Workshop

Object International

CD-ROMs are great for individual educational instruction. They are convenient—you can use them whenever you want and explore any topic that interests you. They're easy to work with—if you don't understand a concept, it can be repeated. They are always available, too, right at your fingertips. The four CD-ROMs that make up How to Build Better Object Models CD-ROM Workshop aren't state-of-the-art in either instructional software or computer-based training, but the concepts covered by well-known industry author Peter Coad (including object model concepts, strategies, patterns, and components such as problem domains, data management, and so forth) are important and useful enough that you can overlook the simple user interface.

Roger Smith

Sybase SQL Anywhere Professional 5.5

Sybase Inc.

Aptly named, the powerful client/ server Sybase SQL Anywhere Professional database runs just about anywhere—Windows NT, Windows 95, Windows 3.1, OS/2, DOS, and NetWare. NetImpact Dynamo lets you build web sites and manage HTML pages with embedded SQL queries. With SQL Remote replication, you can replicate web pages and portions of a database to a laptop, browse and update the database offline, and merge changes back to the master database later. Sybase has included the PowerSoft InfoMaker 5.0 reporting and analysis tool for easy database querying. With its strong database engine and modest RAM and disk requirements, SQL Anywhere is a superb tool for intranet and desktop use.

Guy Scharf

Hall of Fame Award

JOLT:

BoundsChecker

NuMega Technologies

I give unqualified support to very few tools. Compilers have their strengths and weaknesses, and I understand choosing one over another in some situations. But if you want a tool that helps make your working code rock-solid, there is no alternative to BoundsChecker. Debuggers are wonderful for looking at the results of problems and finding logic errors, but they don't pinpoint operations that might cause trouble down the road. BoundsChecker does. I would never consider shipping a product unless it had passed BoundsChecker testing.

BoundsChecker can work in concert with your compiler to provide extensive error checking with a special compilation that enables a very thorough examination of every pointer use, API, and function call, and all the memory and resource allocations. Even without this step (not supported with all compilers), BoundsChecker can test every API call for proper arguments and make sure all allocated memory and resources are properly freed. It understands the standard debugging formats, and it can point to the line of source code that makes the errant API call, or to allocated memory or resources that are never freed. It will even trace up the stack to give you better context if the problem is in a library or commonly used function.

The granularity of testing can be specified in detail, to let you concentrate on an area, or disable reporting of suspicious code that you have determined is harmless. BoundsChecker ships with configuration files that disable reporting quirks in MFC and Borland's Object Windows Library (OWL), to keep you from having to wade through a morass of possible problems outside your code.

BoundsChecker deserves this spot in the Jolt Awards Hall of Fame. It also deserves a spot in the toolset of every serious software developer.

Andy Barnhart

Product Information

LANGUAGES AND DEVELOPMENT ENVIRONMENTS

Visual Cafe Pro

Symantec Corp.

Cupertino, Calif.

Tel: (408) 253-9600

http://www.symantec.com

Optima ++ Enterprise

Sybase Inc. / Powersoft

Open Tools

Concord, Mass.

Tel: (508) 287-1500

http://www.powersoft.com

Visual J++

Microsoft Corp.

Redmond, Wash.

Tel: (206) 882-8080

http://www.microsoft.com

Visual SQL

Blue Sky Software

La Jolla, Calif.

Tel: (619) 459-6365

http://www.blue-sky.com

LIBRARIES AND COMPONENTS

Street

Pepperwhite Software

Medford, N.J.

Tel: (609) 983-2884

http://www.pepperwhite.com

Amzi! Prolog + Logic Server

Amzi! Inc.

Stow, Mass.

Tel: (508) 897-7332

http://www.amzi.com

Distinct Visual Internet Toolkit

Distinct Corp.

Saratoga, Calif.

Tel: (408) 366-8933

http://www.distinct.com

ObjectStore

Object Design Inc.

Burlington, Mass.

Tel: (617) 674-5000

http://www.odi.com

DESIGN AND MANAGEMENT TOOLS

Together/C++ Professional

Object International Inc.

Raleigh, N.C. 27603

Tel: (919) 772-9350

http://www.oi.com

CS/10,000

Client/Server Connection Ltd.

White Plains, N.Y.

Tel: (914) 697-4765

http://www.cscl.com

Genitor

Genitor Corp.

Ann Arbor, Mich.

Tel: (313) 213-2500

http://www.genitor.com

RequisitePro

Rational Software Corp.

Boulder, Colo.

Tel: (303) 444-3464

http://www.rational.com

UTILITIES

Partition Magic

PowerQuest Corp.

Orem, Utah

Tel: (801) 226-8977

http://www.powerquest.com

MKS Toolkit

Mortice Kern Systems Inc.

Waterloo, Ontario, Canada

Tel: (519) 884-2251

http://www.mks.com

SQA Suite

Rational Software Corp.

Santa Clara, Calif.

Tel: (408) 496-3600

http://www.rational.com

Visual SlickEdit

MicroEdge Inc.

Apex, N.C.

Tel: (919) 303-7400

http://www.slickedit.com

BOOKS

Rapid Development

By Steve McConnell

Microsoft Press

Redmond, Wash.

Tel: (800) 677-7377 (U.S.) or (800) 667-1115 (Canada)

http://www.microsoft.com

Creating a Software Engineering Culture

By Karl Wiegers

Dorset House Publishing Co.

New York, N.Y.

Tel: (212) 620-4053

http://www.dorsethouse.com

Pattern-Oriented Software Architecture

By Frank Buschmann, Regine Meunier, Hans Rohnert, and Peter Sommerlad

John Wiley and Sons Inc.

Somerset, N.J.

Tel: (908) 469-4400

http://www.wiley.com

The Essential Distributed Objects Survival Guide

By Robert Orfali, Dan Harkey, and Jeri Edwards

John Wiley and Sons Inc.

Somerset, N.J.

Tel: (908) 469-4400

http://www.wiley.com

SPECIAL

CORBAplus for C++

Expersoft

San Diego, Calif.

Tel: (619) 824-4100

http://www.expersoft.com

Dragon Dictate

Dragon Systems Inc.

Newton, Mass.

Tel: (617) 965-5200

http://www.dragonsys.com

How to Build Better Object Models CD-ROM Workshop

Object International Inc.

Raleigh, N.C.

Tel: (919) 772-9350

http://www.oi.com

Sybase SQL Anywhere Professional

Sybase Inc.

Emeryville, Calif.

Tel: (510) 922-3555

http://www.sybase.com

HALL OF FAME AWARD

BoundsChecker

NuMega Technologies

Nashua, N.H.

Tel: (603) 578-8400

http://www.numega.com


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.