Skip to main content

Verifying the Incorrectness of Programs and Automata

  • Conference paper
Abstraction, Reformulation and Approximation (SARA 2005)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3607))

  • 1023 Accesses

Abstract

Verification of the incorrectness of programs and automata needs to be taken as seriously as the verification of correctness. However, there are no good general methods that always terminate and prove incorrectness. We propose one general method based on a lower bound approximation of the semantics of programs and automata. Based on the lower-bound approximation, it becomes easy to check whether certain error states are reached. This is in contrast to various abstract interpretation techniques that make an upper bound approximation of the semantics and test that the error states are not reached. The precision of our lower bound approximation is controlled by a single parameter that can be adjusted by the user of the MLPQ system in which the approximation method is implemented. As the value of the parameter decreases the implementation results in a finer program semantics approximation but requires a longer evaluation time. However, for all input parameter values the program is guaranteed to terminate. We use the lower bound approximation to verify the incorrectness of a subway train control automaton. We also use the lower bound approximation for a problem regarding computer security via trust management programs. We propose a trust management policy language extending earlier work by Li and Mitchell. Although, our trust management programming language is Turing-complete, programs in this language have semantics that lend themselves naturally to a lower-bound approximation. Namely, the lower bound approximation is such that no unwarranted authorization is given at any time, although some legitimate access may be denied.

This research was supported in part by NSF grant EIA-0091530 and a NASA Space and EPSCoR grant.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T., Ho, P.-H., Nicollin, X., Olivero, A., Sifakis, J., Yovine, S.: The algorithmic analysis of hybrid systems. Theoretical Computer Science 138(1), 3–34 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  2. Blaze, M., Feigenbaum, J., Lacy, J.: Decentralized trust management. Tech. Rep. 96-17, AT and T Research (1996)

    Google Scholar 

  3. Boigelot, B., Rassart, S., Wolper, P.: On the expressiveness of real and integer arithmetic automata. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 152–163. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  4. Boigelot, B., Wolper, P.: Symbolic verification with periodic sets. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 55–67. Springer, Heidelberg (1994)

    Google Scholar 

  5. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  6. Cobham, A.: On the base-dependence of sets of numbers recognizable by finite automata. Mathematical Systems Theory 3, 186–192 (1969)

    Article  MATH  MathSciNet  Google Scholar 

  7. Colmerauer, A.: Note sur Prolog III. In: Proc. Séminaire Programmation en Logique, pp. 159–174 (1986)

    Google Scholar 

  8. Cousot, P.: Proving program invariance and termination by parametric abstraction, lagrangian relaxation and semidefinite programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 1–24. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Delzanno, G., Podelski, A.: Model checking in CLP. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 74–88. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  10. Dincbas, M., Van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T., Berthier, F.: The constraint logic programming language chip. In: Proc. Fifth Generation Computer Systems, Tokyo, Japan, pp. 693–702 (1988)

    Google Scholar 

  11. Floyd, R.B., Beigel, R.: The Language of Machines: An Introduction to Computability and Formal Languages. Computer Science Press, Rockville (1994)

    Google Scholar 

  12. Fribourg, L., Olsén, H.: A decompositional approach for computing least fixed-points of datalog programs with Z-counters. Constraints 2(3–4), 305–335 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  13. Fribourg, L., Richardson, J.D.C.: Symbolic verification with gap-order constraints. In: Gallagher, J.P. (ed.) LOPSTR 1996. LNCS, vol. 1207, pp. 20–37. Springer, Heidelberg (1997)

    Google Scholar 

  14. Godefroid, P., Huth, M., Jagadeesan, R.: Abstraction-based model checking using modal transition systems. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 426–440. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  15. Grandison, T., Sloman, M.: A survey of trust in internet application. IEEE Communications Surveys and Tutorials 3, Fourth Quarter (2000)

    Google Scholar 

  16. Halbwachs, N.: Delay analysis in synchronous programs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 333–346. Springer, Heidelberg (1993)

    Google Scholar 

  17. Jaffar, J., Lassez, J.L.: Constraint logic programming. In: Proc. 14th ACM Symposium on Principles of Programming Languages, pp. 111–119 (1987)

    Google Scholar 

  18. Jaffar, J., Maher, M.: Constraint logic programming: A survey. J. Logic Programming 19/20, 503–581 (1994)

    Article  MathSciNet  Google Scholar 

  19. Jaffar, J., Michaylov, S., Stuckey, P.J., Yap, R.H.: The CLP(R) language and system. ACM Transactions on Programming Languages and Systems 14(3), 339–395 (1992)

    Article  Google Scholar 

  20. Kanellakis, P.C., Kuper, G.M., Revesz, P.: Constraint query languages. In: Proc. ACM Symposium on Principles of Database Systems, pp. 299–313 (1990)

    Google Scholar 

  21. Kanellakis, P.C., Kuper, G.M., Revesz, P.: Constraint query languages. Journal of Computer and System Sciences 51(1), 26–52 (1995)

    Article  MathSciNet  Google Scholar 

  22. Kerbrat, A.: Reachable state space analysis of lotos specifications. In: Proc. 7th International Conference on Formal Description Techniques, pp. 161–176 (1994)

    Google Scholar 

  23. Kuper, G.M., Libkin, L., Paredaens, J. (eds.): Constraint Databases. Springer, Heidelberg (2000)

    MATH  Google Scholar 

  24. Li, N., Mitchell, J.: Understanding SPKI/SDSI using first-order logic. In: Proc. IEEE Computer Security Foundations Workshop, pp. 89–108 (2003)

    Google Scholar 

  25. Li, N., Mitchell, J.C.: Datalog with constraints: A foundation for trust management languages. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 58–73. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  26. Li, N., Mitchell, J.C.: RT: A role-based trust-management framework (April 2003)

    Google Scholar 

  27. Li, N., Mitchell, J.C., Winsborough, W.H.: Design of a role-based trust management framework. In: Proc. IEEE Symposium on Security and Privacy, Oakland (May 2002)

    Google Scholar 

  28. Marriott, K., Stuckey, P.J.: Programming with Constraints: An Introduction. MIT Press, Cambridge (1998)

    MATH  Google Scholar 

  29. Matiyasevich, Y.: Enumerable sets are diophantine. Doklady Akademii Nauk SSR 191, 279–282 (1970)

    Google Scholar 

  30. McMillan, K.: Symbolic Model Checking. Kluwer, Dordrecht (1993)

    MATH  Google Scholar 

  31. Minsky, M.L.: Recursive unsolvability of Post’s problem of ”tag” and other topics in the theory of Turing machines. Annals of Mathematics 74(3), 437–455 (1961)

    Article  MathSciNet  Google Scholar 

  32. Minsky, M.L.: Computation: Finite and Infinite Machines. Prentice Hall, Englewood Cliffs (1967)

    MATH  Google Scholar 

  33. Revesz, P.: A closed-form evaluation for Datalog queries with integer (gap)-order constraints. Theoretical Computer Science 116(1), 117–149 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  34. Revesz, P.: Constraint databases: A survey. In: Thalheim, B. (ed.) Semantics in Databases 1995. LNCS, vol. 1358, pp. 209–246. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  35. Revesz, P.: Datalog programs with difference constraints. In: Proc. 12th International Conference on Applications of Prolog, pp. 69–76 (1999)

    Google Scholar 

  36. Revesz, P.: Reformulation and approximation in model checking. In: Choueiry, B.Y., Walsh, T. (eds.) SARA 2000. LNCS (LNAI), vol. 1864, pp. 124–143. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  37. Revesz, P.: Introduction to Constraint Databases. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  38. Revesz, P., Chen, R., Kanjamala, P., Li, Y., Liu, Y., Wang, Y.: The MLPQ/GIS constraint database system. In: ACM SIGMOD International Conference on Management of Data (2000)

    Google Scholar 

  39. Wolper, P., Boigelot, B.: An automata-theoretic approach to Presburger arithmetic constraints. In: Mycroft, A. (ed.) SAS 1995. LNCS, vol. 983, pp. 21–32. Springer, Heidelberg (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anderson, S., Revesz, P. (2005). Verifying the Incorrectness of Programs and Automata. In: Zucker, JD., Saitta, L. (eds) Abstraction, Reformulation and Approximation. SARA 2005. Lecture Notes in Computer Science(), vol 3607. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11527862_1

Download citation

  • DOI: https://doi.org/10.1007/11527862_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27872-6

  • Online ISBN: 978-3-540-31882-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics