
Science Resources RSS Feeds
|
 |
 |
 |
New computer program automates chip debugging
November 06, 2007
ANN ARBOR, Mich.-Fixing design bugs and wrong wire connections in computer chips after they've been fabricated in silicon is a tedious, trial-and-error process that often costs companies millions of dollars and months of time-to-market. Engineering researchers at the University of Michigan say it doesn't have to be that way. They've developed a new technology to automate "post-silicon debugging."
"Today's silicon technology has reached such levels of small-scale fabrication and of sheer complexity that it is almost impossible to produce computer chips that work correctly under all scenarios," said Valeria Bertacco, assistant professor of electrical engineering and computer science and co-investigator in the new technology. "Almost all manufacturers must produce several prototypes of a given design before they attain a working chip."
FogClear, as the new method is called, uses puzzle-solving search algorithms to diagnose problems early on and automatically adjust the blueprint for the chip. It reduces parts of the process from days to hours.
"Practically all complicated chips have bugs and finding all bugs is intractable," said Igor Markov, associate professor of computer science and electrical engineering and another of FogClear's developers. "It's a paradox. Today, manufacturers are producing chips that must work for almost all applications, from e-mail to chess, but they cannot be validated for every possible condition. It's physically impossible."
In the current system, a chip design is first validated in simulations. Then a draft is cast in silicon, and this first prototype undergoes additional verification with more realistic applications. If a bug is detected at this stage, an engineer must narrow down the cause of the problem and then craft a fix that does not disrupt the delicate balance of all other components of the system. This can take several days. Engineers then produce new prototypes incorporating all the fixes. This process repeats until they arrive at a prototype that is free of bugs. For modern chips, the process of making sure a chip is free of bugs takes as much time as production.
"Bugs found post-silicon are often very difficult to diagnose and repair because it is difficult to monitor and control the signals that are buried inside a silicon die, or chip. Up until now engineers have handled post-silicon debugging more as an art than a science," said Kai-Hui Chang, a recent doctoral graduate who will present a paper on FogClear at the upcoming International Conference on Computer-Aided Design.
FogClear automates this debugging process. The computer-aided design tool can catch subtle errors that several months of simulations would still miss. Some bugs might take days or weeks before causing any miscomputation, and they might only do so under very rare circumstances, such as operating at high temperature. The new application searches for and finds the simplest way to fix a bug, the one that has the least impact on the working parts of the chip. The solution usually requires reconnecting certain wires, and does not affect transistors.
Chang, who received his doctorate in electrical engineering and computer science from U-M in August, will present Nov. 6 at the International Conference on Computer-Aided Design in San Jose, California. The paper is titled "Automating Post-Silicon Debugging and Repair." Markov and Bertacco are co-authors with Chang.
University of Michigan
|
 |

|
Debugging
by David J Agans (Author)
The rules of battle for tracking down -- and eliminating -- hardware and software bugs. When the pressure is on to root out an elusive software or hardware glitch, what's needed is a cool head courtesy of a set of rules guaranteed to work on any system, in any circumstance. Written in a frank but engaging style, Debugging provides simple, foolproof principles guaranteed to help find any bug quickly. This book makes those shelves of application-specific debugging books (on C++, Perl, Java, etc.) obsolete. It changes the way readers think about debugging, making those pesky problems suddenly much easier to find and fix. Illustrating the rules with real-life bug-detection war stories, the book shows readers how to: * Understand the system: how perceiving the ""roadmap"" can hasten your...
|

|
The Art of Debugging with GDB, DDD, and Eclipse
by Norman Matloff (Author), Peter Jay Salzman (Author)
Debugging is crucial to successful software development, but even many experienced programmers find it challenging. Sophisticated debugging tools are available, yet it may be difficult to determine which features are useful in which situations. "The Art of Debugging" is your guide to making the debugging process more efficient and effective. "The Art of Debugging" illustrates the use three of the most popular debugging tools on Linux/Unix platforms: GDB, DDD, and Eclipse. The text-command based GDB (the GNU Project Debugger) is included with most distributions. DDD is a popular GUI front end for GDB, while Eclipse provides a complete integrated development environment. In addition to offering specific advice for debugging with each tool, authors Norm Matloff and Pete Salzman cover...
|

|
Advanced Windows Debugging
by Mario Hewardt (Author), Daniel Pravat (Author)
&> -- Bob Wilton, Escalation Engineer, Critical Problem Resolution Team, Microsoft “An excellent reference for both intermediate and advanced debuggers: highly practical, and filled with tricks and strategies. This book stands out from all other Win32 debugging literature, thanks to its in-depth examples–including resolving intricate problems like stack and heap corruptions.” -- Kinshuman, Development Lead, Windows Core OS Division, Microsoft The First In-Depth, Real-World, Insider’s Guide to Powerful Windows Debugging For Windows developers, few...
|

|
The Developer's Guide to Debugging
by Thorsten Grötker (Author), Ulrich Holtmann (Author), Holger Keding (Author), Markus Wloka (Author)
Software has bugs. Period. That's true, unfortunately. Even the good old "hello, world" program, known to virtually every C and C++ programmer in the world, can be considered to be buggy. Developing software means having to deal with defects; old ones, new ones, ones you created yourself, and those that others brought to life. Software developers debug programs for a living. Hence, good debugging skills are a must-have. That said, it is regrettable that debugging is hardly taught in engineering schools. That's how the idea for this book was born. The Developer's Guide to Debugging is a book for both professional software developers seeking to broaden their skills and students that want to learn the tricks of the trade from the ground...
|

|
Debugging Microsoft .NET 2.0 Applications
by John Robbins (Author)
Traditionally, tools for performance tuning, testing applications, and debugging code have been expensive, hard to learn, and difficult to use. While previous versions of Microsoft Visual Studio® have included debuggers and other code-improvement tools, Visual Studio 2005 presents developers with robust and useful tools and processes to help ensure top-quality code. In this guide, an expert on improving code, John Robbins, steps back from the expert-level information that characterized his previous debugging books to present hands-on, practical advice for working developers on how to use the debugging, testing, and tuning features in Visual Studio 2005. In addition to an overview of the science of debugging and expertly-guided instruction, this guide also features solutions to common,...
|

|
Why Programs Fail, Second Edition: A Guide to Systematic Debugging
by Andreas Zeller (Author)
This book is proof that debugging has graduated from a black art to a systematic discipline. It demystifies one of the toughest aspects of software programming, showing clearly how to discover what caused software failures, and fix them with minimal muss and fuss.
The fully updated second edition includes 100+ pages of new material, including new chapters on Verifying Code, Predicting Errors, and Preventing Errors. Cutting-edge tools such as FindBUGS and AGITAR are explained, techniques from integrated environments like Jazz.net are highlighted, and all-new demos with ESC/Java and Spec#, Eclipse and Mozilla are included.
This complete and pragmatic overview of debugging is authored by Andreas Zeller, the talented researcher who developed the GNU Data Display...
|

|
Advanced .NET Debugging
by Mario Hewardt (Author)
Praise for Advanced .NET Debugging “While the .NET environment provides a developer with a powerful toolbox to accomplish their goals, it can often be a daunting task to debug some of the issues that inevitably crop up during software development. This book provides the crucial details about how the CLR works internally, which you need to know to diagnose many classes of bugs in your .NET programs, and it provides clear examples of how to solve the same types of issues we see our customers struggle with on a daily basis. This book is required reading for all serious .NET developers.” –Lee Culver, CLR Quick Response Team, Microsoft Corporation
|
Windows Debugging: Practical Foundations
by Dmitry Vostokov (Author)
Written by the founder of DumpAnalysis.org this book is not about bugs or debugging techniques but about background knowledge everyone needs to start experimenting with WinDbg, learn from practical experience and read other advanced debugging books. Solid understanding of fundamentals like pointers is needed to analyze stack traces beyond !analyze -v and lmv WinDbg commands. This is the book to help technical support and escalation engineers and Windows software testers without the knowledge of assembly language to master necessary prerequisites to understand and start debugging and crash dump analysis on Windows platforms. It doesn't require any specific knowledge, fills the gap and lowers the learning curve. The book is also useful for software engineers coming from managed code or Java...
|

|
Debugging by Thinking: A Multidisciplinary Approach (HP Technologies)
by Robert Charles Metzger (Author)
Debugging by Thinking: A Multi-Disciplinary Approach is the first book to apply the wisdom of six disciplines-logic, mathematics, psychology, safety analysis, computer science, and engineering-to the problem of debugging. It uses the methods of literary detectives such as Sherlock Holmes, the techniques of mathematical problem solving, the results of research into the cognitive psychology of human error, the root cause analyses of safety experts, the compiler analyses of computer science, and the processes of modern engineering to define a systematic approach to identifying and correcting software errors.
* Language Independent Methods: Examples are given in Java and C++ * Complete source code shows actual bugs, rather than contrived...
|

|
Debugging Applications for Microsoft® .NET and Microsoft Windows® (Pro-Developer)
by John Robbins (Author)
Learn lethally effective, real-world debugging techniques for Microsoft Windows operating system-based applications. This classic book has been updated with all-new coverage of .NET application debugging tools, techniques, and scenarios.
|
|