Issue No. 02 - February (1995 vol. 21)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.345831
Testing and debugging programs are more involved in distributed systems than in uniprocessor systems because of the presence of the communication medium and the inherent concurrency. Past research has established that predicate testing is an approach that can alleviate some of the problems in this area. However, checking whether a general predicate is true in a particular distributed execution appears to be a computationally hard problem. This paper considers a class of predicates called <it>conjunctive form predicates</it> (<it>CFP</it>) that is quite useful in distributed program development, but can be tested efficiently. We develop fully-distributed algorithms to test CFP's, prove that these algorithms are correct, and analyze them for their message complexity. The analysis shows that our techniques incur a fairly low overhead on the distributed system.
Distributed algorithms, distributed testing, distributed debugging, global predicates, asynchronous distributed systems, message complexity.
B. Dathan and S. Venkatesan, "Testing and Debugging Distributed Programs Using Global Predicates," in IEEE Transactions on Software Engineering, vol. 21, no. , pp. 163-177, 1995.