Debugging - IEEE Xplore

4 downloads 20795 Views 188KB Size Report
ern University and a computer consultant. Contact ... Circulation: IEEE Software (ISSN 0740-7459) is published bimonthly by the IEEE Computer Society. IEEE.
BOOKSHELF

Hill lab reception atrium with this inscription on its base: Leave the beaten track occasionally and dive into the woods. You will be certain to find something you have never seen before. Despite the mystical, Sufi-like flavor of this admonition, it is unarguably a vision statement for pure research. That Bell Labs excelled in this discipline is likewise unarguable. For more than threequarters of a century, this enterprise had similarly excelled in engineering. The author was at Bell Labs during exciting times, and his book captures the flavor of what it must have been like. If you have ever stayed up late, way past fatigue, enraptured with technology and discovery, you will understand and savor this book. It has a narrative, humanistic style; you can enjoy it either chapter by chapter or as a whole. Robert C. Larrabee works for ARINC Engineering LLC. Contact him at [email protected].

Nine Indispensable Rules for Finding Bugs

lytical approach to finding bugs.

Agans brings experience and humor Agans’ Debugging originated from a list of general debugging rules known as “The Ten Debugging Commandments,” written on a piece of paper hanging above a test bench. Agans incorporates knowledge from his 20-plus years of experience and his MIT engineering degree into creating and explaining these rules: ■ ■ ■ ■ ■ ■ ■ ■ ■

Understand the system Make it fail Quit thinking and look Divide and conquer Change one thing at a time Keep an audit trail Check the plug Get a fresh view If you didn’t fix it, it ain’t fixed

Each of the book’s 15 chapters teaches, reinforces, and explains Agans’ nine bug-finding rules. The book starts with a basic explanation about its purpose and the difference between troubleshooting and debugging. Then Agans covers one rule per chapter, complete with war stories. The last four chapters are summaries, exercises, and viewpoints. The war stories Agans tells are entertaining and easy to relate to. They are clear and concise, even if you aren’t

an engineer. The graphics are simple and funny. To reinforce the investigative task of debugging, Agans uses thought-provoking quotes from Sherlock Holmes and Dr. Watson. In addition, Agans ably communicates in a conversational manner that people at different levels—from professors to helpdesk staffers—can easily understand. You don’t need a PhD to read this book.

Hooray for Debugging Unlike most books about debugging, this book isn’t a technical manual. It’s easy to follow and logical in approach and progression. The author elegantly presents the concepts and makes the debugging task unintimidating but, at the same time, points out that the major task is learning to apply his rules. Debugging not only makes the subject area easy to understand; it’s an excellent example of how you can present the art of debugging in a way that’s meaningful and exciting. This book should be required reading for all technology college students. It explains the logic you need in the real world, logic that so many students don’t learn before graduation. After reading this book, I got excited about debugging and went out to look for something to test the nine-rule approach on. Melissa Stange is an ABD candidate at Nova Southeastern University and a computer consultant. Contact her at [email protected].

Melissa Stange Debugging by David J. Agans, AMACOM, 2002, ISBN 0-8144-7168-4, 183 pp., US$21.95. During my 10-plus years in the technology field, I’ve heard many people ask the questions “How do I … ?” and “What do I … ?” when locating software bugs. Debugging’s introduction explains that, in many instances, you follow the same basic steps when debugging software and hardware. The rules David Agans proposes aren’t aimed at preventing bugs, nor are they meant for use in quality-assurance testing. They simply explain an ana-

Copyright and reprint permission: Copyright © 2003 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Abstracting is permitted with credit to the source. Libraries are permitted to photocopy beyond the limits of US copyright law for private use of patrons those post-1977 articles that carry a code at the bottom of the first page, provided the per-copy fee indicated in the code is paid through the Copyright Clearance Center, 222 Rosewood Dr., Danvers, MA 01923. For copying, reprint, or republication permission, write to Copyright and Permissions Dept., IEEE Publications Admin., 445 Hoes Ln., Piscataway, NJ 08855-1331. Circulation: IEEE Software (ISSN 0740-7459) is published bimonthly by the IEEE Computer Society. IEEE headquarters: Three Park Ave., 17th Floor, New York, NY 10016-5997. IEEE Computer Society Publications Office: 10662 Los Vaqueros Cir., PO Box 3014, Los Alamitos, CA 90720-1314; (714) 821-8380; fax (714) 821-4010. IEEE Computer Society headquarters: 1730 Massachusetts Ave. NW, Washington, DC 20036-1903. Subscription rates: IEEE Computer Society members get the lowest rates and choice of media option—$43/34/56 US print/electronic/combination; go to http://computer.org/subscribe to order and for more information on other subscription prices. Back issues: $10 for members, $20 for nonmembers (plus shipping and handling). This magazine is available on microfiche. Postmaster: Send undelivered copies and address changes to Circulation Dept., IEEE Software, PO Box 3014, Los Alamitos, CA 90720-1314. Periodicals Postage Paid at New York, NY, and at additional mailing offices. Canadian GST #125634188. Canada Post Publications Mail Product (Canadian Distribution) Sales Agreement Number 0487805. Printed in the USA.

November/December 2003

IEEE SOFTWARE

111