Skip to main content

Detecting Temporal Logic Predicates on Distributed Computations

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4731))

Abstract

We examine the problem of detecting nested temporal predicates given the execution trace of a distributed program. We present a technique that allows efficient detection of a reasonably large class of predicates which we call the Basic Temporal Logic or BTL. Examples of valid BTL predicates are nested temporal predicates based on local variables with arbitrary negations, disjunctions, conjunctions and the possibly (EF or \(\Diamond\)) and invariant(AG or \(\Box\)) temporal operators. We introduce the concept of a basis, a compact representation of all global cuts which satisfy the predicate. We present an algorithm to compute a basis of a computation given any BTL predicate and prove that its time complexity is polynomial with respect to the number of processes and events in the trace although it is not polynomial in the size of the formula. We do not know of any other technique which detects a similar class of predicates with a time complexity that is polynomial in the number of processes and events in the system. We have implemented a predicate detection toolkit based on our algorithm that accepts offline traces from any distributed program.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  2. Stoller, S.D., Schneider, F.B.: Faster possibility detection by combining two approaches. In: Helary, J.-M., Raynal, M. (eds.) WDAG 1995. LNCS, vol. 972, pp. 318–332. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  3. Garg, V.K.: Elements of Distributed Computing. Wiley & Sons, Chichester (2002)

    Google Scholar 

  4. McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993)

    MATH  Google Scholar 

  5. Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)

    Google Scholar 

  6. Valmari, A.: A stubborn attack on state explosion. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 156–165. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  7. Peled, D.: All from one, one for all: On model checking using representatives. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 409–423. Springer, Heidelberg (1993)

    Google Scholar 

  8. Stoller, S.D., Unnikrishnan, L., Liu, Y.A.: Efficient Detection of Global Properties in Distributed Systems Using Partial-Order Methods. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 264–279. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Stoller, S.D., Liu, Y.: Efficient symbolic detection of global properties in distributed systems. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 264–279. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  10. Esparza, J.: Model checking using net unfoldings. Science Of Computer Programming 23(2), 151–195 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  11. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Logic of Programs, Workshop, London, UK, pp. 52–71. Springer, Heidelberg (1982)

    Chapter  Google Scholar 

  12. Holzmann, G.: The model checker SPIN. IEEE transactions on software engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  13. Sen, A., Garg, V.K.: Partial order trace analyzer (POTA) for distributed programs. In: Proceedings of the Third International Workshop on Runtime Verification (RV) (2003)

    Google Scholar 

  14. Mittal, N., Garg, V.K.: Slicing a distributed computation: Techniques and theory. In: Welch, J.L. (ed.) DISC 2001. LNCS, vol. 2180, pp. 78–92. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  15. Drusinsky, D.: The temporal rover and the ATG rover. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN Model Checking and Software Verification. LNCS, vol. 1885, pp. 323–330. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  16. Kim, M., Kannan, S., Lee, I., Sokolsky, O., Viswanathan, M.: Java-MaC: A run-time assurance tool for Java programs. In: Runtime Verification 2001. ENTCS, vol. 55 (2001)

    Google Scholar 

  17. Havelund, K., Rosu, G.: Monitoring Java programs with Java PathExplorer. In: Runtime Verification 2001. ENTCS, vol. 55 (2001)

    Google Scholar 

  18. Sen, K., Rosu, G., Agha, G.: Detecting errors in multithreaded programs by generalized predictive analysis of executions. In: Steffen, M., Zavattaro, G. (eds.) FMOODS 2005. LNCS, vol. 3535, Springer, Heidelberg (2005)

    Google Scholar 

  19. Holzmann, G.: The Spin Model Checker. Addison-Wesley Professional, Reading (2003)

    Google Scholar 

  20. Sen, A., Garg, V.K.: Detecting temporal logic predicates in distributed programs using computation slicing. In: 7th International Conference on Principles of Distributed Systems (2003)

    Google Scholar 

  21. Ogale, V., Garg, V.K.: Predicate detection. In: Technical report TR-PDS-2007-001 (2007), available at http://maple.ece.utexas.edu/TechReports/2007/TR-PDS-2007-001.ps

  22. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge, UK (1990)

    MATH  Google Scholar 

  23. Chandy, K.M., Lamport, L.: Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems 3(1), 63–75 (1985)

    Article  Google Scholar 

  24. Hartley, S.: Concurrent Programming: The Java Programming Language. Oxford University Press, Oxford (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Andrzej Pelc

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ogale, V.A., Garg, V.K. (2007). Detecting Temporal Logic Predicates on Distributed Computations. In: Pelc, A. (eds) Distributed Computing. DISC 2007. Lecture Notes in Computer Science, vol 4731. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75142-7_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75142-7_32

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75141-0

  • Online ISBN: 978-3-540-75142-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics