Due to my current workload, I'm having to once again skip a publication deadline for my Quality Matters column (for ACCU's Overload magazine). As we've been halfway through the series on exceptions for some months, it's doubly vexing to me: the formulation of the arguments for my (slightly heretical) vision for exception use is half-complete; those users interested in hearing the third and fourth (of four) instalments may well have lost interest by the time the series is complete. The only good aspect is that I should have been able to fully employ all the principles and practices in version 1.10 of STLSoft by the time the material is presented in the magazine.
My current commercial engagement - as an expert witness in an IT fraud case - will be finished by Q3 2011, and after that I'll be taking a couple of months off, during which time I'll catch up on outstanding writing commitments, including Quality Matters and the long, long-delayed book Breaking Up The Monolith: Advanced C++ Design without Compromise.
Wish me luck!
Monday, March 14, 2011
Saturday, January 15, 2011
Updated version of Quality Matters #5 posted
I've just reposted a re-edited version of the fifth instalment of Quality Matters, "Exceptions: The Worst Form of Error Handling, Apart From All The Others", on the Synesis Software website. Most were typos or improvements in phrasing, found as I'm rereading as part of the research for the seventh instalment, which will hopefully be ready for this month's deadline for the Feb 2011 instalment of ACCU's Overload.
The one important semantic change is correcting the sentence:
"If a software entity exhibits behaviour that contradicts its design, then it makes the transition from correct or unknown to defective."
to:
"If a software entity exhibits behaviour that contradicts its design, then it makes the transition from unknown to defective."
If a software entity is correct, it has been proven to be free from defects, and therefore cannot, in and of itself, experience faults.
Labels:
ACCU,
exceptions,
Overload,
Quality Matters,
Synesis Software
Saturday, October 23, 2010
Quality Matters #5 republished
I've republished the fourth instalment of the Quality Matters column on Synesis Software's website. Exceptions: The Worst Form of 'Error' Handling, Except For All The Others, which was originally published in ACCU's Overload #98, August 2010, starts a series of four articles with a taxonomic analysis of program behaviour, identifying normative and non-normative, contingent, faulted, recoverable, and practically-unrecoverable behaviour.
Quality Matters #4 republished
I've republished the fourth instalment of the Quality Matters column on Synesis Software's website. Applying (Removable) Diagnostic Measures To The recls Library, which was originally published in ACCU's Overload #95, February 2010, looks at the (re-)design and implementation of the recls file-system recursive-search library as it pertains to the application of (removable) diagnostic measures, as defined in the first two instalments.
Sunday, September 19, 2010
Second instalment on exceptions submitted
After more days of work than I care to admit, I submitted the second instalment of the series on exceptions to the Overload editor on the weekend.
Here's the abstract:
It will be published in the October issue of Overload.
Here's the abstract:
"This is the second in a series of instalments on exceptions. In the last instalment [QM-5] I considered a taxonomic perspective of program states and actions, and suggested a new vocabulary for the four defined states: normative, recoverable, practically-unrecoverable, and faulted. In this instalment I'm going to focus on the simplest proper use of exceptions, for reporting practically-unrecoverable conditions.
It is currently envisaged that there will be two more instalments in this mini-series. The next will deal with the much more challenging situation of using exceptions for recoverable conditions, including the non-trivial issue of deciding whether a given exception should be treated as recoverable or practically-unrecoverable.
The fourth and (hopefully) final part will suggest good practices in exception definition and use, look at how exceptions and threads work together, and consider the effects of the use (or non-use) of exceptions on the software quality characteristics of software libraries and programs.
The major part of this instalment comprises a surprisingly involved look at the classic "Hello, World" program, illustrating how its implicit exception-handling is a bad example for any non-trivial programs. I'll then proffer a practical example from my own work as a production-quality main() that adequately catches and processes exceptions representing practically-unrecoverable conditions. Finally, I'll look at how implementing C-APIs in C++ brings a blessed discipline to the catching of exceptions, albeit at a significant cost in effort and/or diagnostic flexibility."
It will be published in the October issue of Overload.
Sunday, July 25, 2010
Quality Matters #3 republished
I've republished the third instalment of the Quality Matters column on Synesis Software's website. A Case Study in Quality, which was originally published in ACCU's Overload #94, December 2009, looks at the design and implementation of the b64 Base-64 conversion library, focusing on intrinsic software quality characteristics identified in the first two instalments..
Friday, June 11, 2010
Quality Matters #2 republished
I've republished the second instalment of the Quality Matters column on Synesis Software's website. Quality Matters, #2: Correctness, Robustness and Reliability, which was originally published in ACCU's Overload #93, October 2009, defines the important intrinsic software quality characteristics of:
Labels:
ACCU,
correctness,
Overload,
Quality Matters,
reliability,
robustness,
Synesis Software
Subscribe to:
Posts (Atom)