site Search Results
Results for: Andrew Koenig
Order the NEW
Discounted Dr. Dobb's Developer Library DVD 6
Purchase the fully searchable DVD for $59.95 - a 60% discount! Features
21 years of Dr. Dobb's Journal, 15 years of Sys Admin
magazine, 14+ years of C/C++ Users Journal, 1 year worth of Dr.
Dobb's Digest, podcasts, videos and more! Order Now.
An Example of Data-Structure Auditing in Practice
Last week, I introduced the notion of a data-structure audit routine. I would like to continue that discussion with a concrete example. - C/C++
Data Structure Audits
If you can divide your data structures into a data part and a structure part, and you can write an audit program that is capable of rebuilding the structure from the data, you can use the auditor not only to make your programs more reliable, but to get them working more quickly than you might be able to do otherwise. - C/C++
Operating Systems Help Us Limit Harm From Failures
Last week, I suggested that programs should use assert statements to handle conditions that "can't happen," such as invariant failures. I want to continue that discussion by looking at how a user might deal with the failure of such a program. - C/C++
Assert Statements Shine Light Into Dark Corners
Let's explore the consequences of checking that invariants actually hold when they should — a state of affairs that in principle should always be true. - C/C++
A Simple Invariant
I will discuss how to use class invariants to make software more reliable. - C/C++
How Can Broken Software Promise Anything?
If the program is broken, how can one ever be confident in any assessment of what it did? - C/C++
What Happens After A Failure?
Imagine that you have asked a program to do something for you, and it has reported that it is unable to do so. What do you do next? - C/C++
Limiting The Harm From Failures
The dual nature of software failure presents a dilemma to programmers. - C/C++
Some Programs Are More Correct Than Others
There's a saying that the difference between theory and practice is that in theory, there is no difference between theory and practice; but in practice, there is. - C/C++
When Systematic Testing Isn't Enough
A testing strategy that says "When all the tests pass, you're done" is not enough for anything beyond trivial programs. - C/C++