This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Efficient Distributed Online Algorithm to Detect Strong Conjunctive Predicates
November 2002 (vol. 28 no. 11)
pp. 1077-1084

Abstract—Detecting strong conjunctive predicates is a fundamental problem in debugging and testing distributed programs. A strong conjunctive predicate is a logical statement to represent the desired event of the system. Therefore, if the predicate is not true, an error may occur because the desired event does not happen. Recently, several reported detection algorithms reveal the problem of unbounded state queue growth since the system may generate a huge amount of execution states in a very short time. In order to solve this problem, this paper introduces the notion of removable states which can be disregarded in the sense that detection results still remain correct. A fully distributed algorithm is developed in this paper to perform the detection in an online manner. Based on the notion of removable states, the time complexity of the detection algorithm is improved as the number of states to be evaluated is reduced.

[1] R. Cooper and K. Marzullo, "Consistent Detection of Global Predicates," in Proc. Workshop Parallel and Distributed Debugging, ACM Press, New York, pp. 163-173.
[2] K.M. Chandy and L. Lamport, "Distributed Snapshots: Determining Global States of Distributed Systems," ACM Trans. Computer Systems, Feb. 1985.
[3] R. Cooper and K. Marzullo, "Consistent Detection of Global Predicates," in Proc. Workshop Parallel and Distributed Debugging, ACM Press, New York, pp. 163-173.
[4] C. Chase and V.K. Garg, "On Techniques and Their Limitations for the Global Predicate Detection Problem," in Proc. Workshop on Distributed Algorithms, Lecture Notes on Computer Science 971, Springer-Verlag, Berlin, 1995, pp. 303-317.
[5] V.K. Garg and B. Waldecker, "Detection of Weak Unstable Predicates in Distributed Programs," IEEE Trans. Parallel and Distributed Systems, Mar. 1994, pp. 299-307.
[6] V.K. Garg and B. Waldecker, "Detection of Strong Unstable Predicates in Distributed Programs, IEEE Trans. Parallel and Distributed Systems, Dec. 1996, pp. 1323-1333.
[7] M. Hurfin, M. Mizuno, M. Raynal, and M. Singhal, “Efficient Distributed Detection of Conjunctions of Local Predicates,” IEEE Trans. Software Eng., vol. 24, no. 8, pp. 664-677, Aug. 1998.
[8] S. Venkatesan and B. Dathan, "Testing and Debugging Distributed Programs Using Global Predicates, IEEE Trans. Software Eng., vol. 21, no. 2, pp. 163-177, Feb. 1995.
[9] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[10] F. Mattern, “Virtual Time and Global States of Distributed Systems,” Parallel and Distributed Algorithms: Proc. Int'l. Workshop Parallel and Distributed Algorithms, pp. 215-226, 1988.
[11] H.K. Chiou and W. Korfhage, “Enhancing Distributed Event Predicate Detection Algorithms,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 7, pp. 673-676, July 1996
[12] P.Y. Chung, Y.M. Wang, and I.J. Lin, “Checkpoint Space Reclamation for Uncoordinated Checkpointing in Message-Passing Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 6, pp. 165-169, June 1997.

Index Terms:
Conjunctive predicate, distributed debugging, distributed system, global predicate detection.
Citation:
Loon-Been Chen, I-Chen Wu, "An Efficient Distributed Online Algorithm to Detect Strong Conjunctive Predicates," IEEE Transactions on Software Engineering, vol. 28, no. 11, pp. 1077-1084, Nov. 2002, doi:10.1109/TSE.2002.1049405
Usage of this product signifies your acceptance of the Terms of Use.