Issue No. 04 - October-December (2007 vol. 4)
Lorenzo Strigini , IEEE
If an off-the-shelf software product exhibits poor dependability due to design faults, software fault tolerance is often the only way available to users and system integrators to alleviate the problem. Thanks to low acquisition costs, even using multiple versions of software in a parallel architecture, a scheme formerly reserved for few and highly critical applications, may become viable for many applications. We have studied the potential dependability gains from these solutions for off-the-shelf database servers. We based the study on the bug reports available for four off-the-shelf SQL servers, plus later releases of two of them. We found that many of these faults cause systematic, non-crash failures, a category ignored by most studies and standard implementations of fault tolerance for databases. Our observations suggest that diverse redundancy would be effective for tolerating design faults in this category of products. Only in very few cases would demands that triggered a bug in one server cause failures in another one, and there were no coincident failures in more than two of the servers. Use of different releases of the same product would also tolerate a significant fraction of the faults. We report our results and discuss their implications, the architectural options available for exploiting them and the difficulties that they may present.
Fault tolerance, Reliability, availability, and serviceability, Relational databases, Error processing, design diversity, COTS software, fault records, non-crash failures, database availability, experimental results
L. Strigini, P. Popov and I. Gashi, "Fault Tolerance via Diversity for Off-the-Shelf Products: A Study with SQL Database Servers," in IEEE Transactions on Dependable and Secure Computing, vol. 4, no. , pp. 280-294, 2007.