Academia.eduAcademia.edu

Outline

Verifying the Incorrectness of Programs and Automata

2005, Abstraction, Reformulation and Approximation

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

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.

References (39)

  1. Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T., Ho, P.-H., Nicollin, X., Olivero, A., Sifakis, J., and Yovine, S. The algorithmic analysis of hybrid systems. Theoretical Computer Science 138, 1 (1995), 3-34.
  2. Blaze, M., Feigenbaum, J., and Lacy, J. Decentralized trust management. Tech. Rep. 96-17, AT and T Research, 1996.
  3. Boigelot, B., Rassart, S., and Wolper, P. On the expressiveness of real and integer arithmetic automata. In International Colloquium on Automata, Languages and Programming (1998), vol. 1443 of Lecture Notes in Computer Science, Springer-Verlag, pp. 152-63.
  4. Boigelot, B., and Wolper, P. Symbolic verification with periodic sets. In Proc. Conference on Computer-Aided Verification (1994), pp. 55-67.
  5. Clarke, E. M., Grumberg, O., and Peled, D. A. Model Checking. MIT Press, 1999.
  6. Cobham, A. On the base-dependence of sets of numbers recognizable by finite automata. Mathematical Systems Theory 3 (1969), 186-92.
  7. Colmerauer, A. Note sur Prolog III. In Proc. Séminaire Programmation en Logique (1986), pp. 159- 174.
  8. Cousot, P. Proving program invariance and termination by parametric abstraction, lagrangian relax- ation and semidefinite programming. In Sixth International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI'05) (Paris, France, LNCS 3385, Jan. 17-19 2005), Springer, Berlin, pp. 1-24.
  9. Delzanno, G., and Podelski, A. Model checking in CLP. In 2nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems (1999), vol. 1579 of Lecture Notes in Computer Science, Springer-Verlag, pp. 74-88.
  10. Dincbas, M., Van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T., and Berthier, F. The constraint logic programming language chip. In Proc. Fifth Generation Computer Systems (Tokyo, Japan, 1988), pp. 693-702.
  11. Floyd, R. B., and Beigel, R. The Language of Machines: An Introduction to Computability and Formal Languages. Computer Science Press, 1994.
  12. Fribourg, L., and Olsén, H. A decompositional approach for computing least fixed-points of datalog programs with Z-counters. Constraints 2, 3-4 (1997), 305-36.
  13. Fribourg, L., and Richardson, J. D. C. Symbolic verification with gap-order constraints. In Proc. Logic Program Synthesis and Transformation (1996), vol. 1207 of Lecture Notes in Computer Science, pp. 20-37.
  14. Godefroid, P., Huth, M., and Jagadeesan, R. Abstraction-based model checking using modal transition systems. In 12th International Conference on Concurrency Theory (2001), pp. 426-440.
  15. Grandison, T., and Sloman, M. A survey of trust in internet application. IEEE Communications Surveys and Tutorials 3, Fourth Quarter (2000).
  16. Halbwachs, N. Delay analysis in synchronous programs. In Proc. Conference on Computer-Aided Verification (1993), pp. 333-46.
  17. Jaffar, J., and Lassez, J. L. Constraint logic programming. In Proc. 14th ACM Symposium on Principles of Programming Languages (1987), pp. 111-9.
  18. Jaffar, J., and Maher, M. Constraint logic programming: A survey. J. Logic Programming 19/20 (1994), 503-581.
  19. Jaffar, J., Michaylov, S., Stuckey, P. J., and Yap, R. H. The CLP(R) language and system. ACM Transactions on Programming Languages and Systems 14, 3 (1992), 339-95.
  20. Kanellakis, P. C., Kuper, G. M., and Revesz, P. Constraint query languages. In Proc. ACM Symposium on Principles of Database Systems (1990), pp. 299-313.
  21. Kanellakis, P. C., Kuper, G. M., and Revesz, P. Constraint query languages. Journal of Computer and System Sciences 51, 1 (1995), 26-52.
  22. Kerbrat, A. Reachable state space analysis of lotos specifications. In Proc. 7th International Confer- ence on Formal Description Techniques (1994), pp. 161-76.
  23. Kuper, G. M., Libkin, L., and Paredaens, J., Eds. Constraint Databases. Springer-Verlag, 2000.
  24. Li, N., and Mitchell, J. Understanding SPKI/SDSI using first-order logic. In Proc. IEEE Computer Security Foundations Workshop (2003), pp. 89-108.
  25. Li, N., and Mitchell, J. C. Datalog with constraints: A foundation for trust management languages. In Proceedings of the Fifth International Symposium on Practical Aspects of Declarative Languages (Jan. 2003), pp. 58-73.
  26. Li, N., and Mitchell, J. C. RT: A role-based trust-management framework, April 2003.
  27. Li, N., Mitchell, J. C., and Winsborough, W. H. Design of a role-based trust management framework. In Proc. IEEE Symposium on Security and Privacy, Oakland (May 2002).
  28. Marriott, K., and Stuckey, P. J. Programming with Constraints: An Introduction. MIT Press, 1998.
  29. Matiyasevich, Y. Enumerable sets are diophantine. Doklady Akademii Nauk SSR 191 (1970), 279-82.
  30. McMillan, K. Symbolic Model Checking. Kluwer, 1993.
  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 (1961), 437-55.
  32. Minsky, M. L. Computation: Finite and Infinite Machines. Prentice Hall, 1967.
  33. Revesz, P. A closed-form evaluation for Datalog queries with integer (gap)-order constraints. Theo- retical Computer Science 116, 1 (1993), 117-49.
  34. Revesz, P. Constraint databases: A survey. In Semantics in Databases, L. Libkin and B. Thalheim, Eds., vol. 1358 of Lecture Notes in Computer Science. Springer-Verlag, 1998, pp. 209-46.
  35. Revesz, P. Datalog programs with difference constraints. In Proc. 12th International Conference on Applications of Prolog (1999), pp. 69-76.
  36. Revesz, P. Reformulation and approximation in model checking. In Proc. 4th International Symposium on Abstraction, Reformulation, and Approximation (2000), B. Choueiry and T. Walsh, Eds., vol. 1864 of Lecture Notes in Computer Science, Springer-Verlag, pp. 124-43.
  37. Revesz, P. Introduction to Constraint Databases. Springer-Verlag, 2002.
  38. Revesz, P., Chen, R., Kanjamala, P., Li, Y., Liu, Y., and Wang, Y. The MLPQ/GIS constraint database system. In ACM SIGMOD International Conference on Management of Data (2000).
  39. Wolper, P., and Boigelot, B. An automata-theoretic approach to Presburger arithmetic constraints. In Proc. Static Analysis Symposium (1995), vol. 983 of Lecture Notes in Computer Science, Springer- Verlag, pp. 21-32.