Validity Checking for Finite Automata over Linear Arithmetic Constraints

  • Gary Wassermann
  • Zhendong Su
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4337)


Decision procedures underlie many program analysis problems. Traditional program analysis algorithms attempt to prove some property about a single, statically-defined program by generating a single constraint. Accordingly, traditional decision procedures take single constraints as input. Extending these traditional program analysis algorithms to reason about potentially infinite languages of programs (as generated by a given metaprogram) requires a new class of decision procedures that reason about languages of constraints. This paper introduces the parameterized class of validity checking problems that take as input a language generator \(\mathcal{A}\). The parameters are: (1) the language formalism for \(\mathcal{A}\), (2) the theory under which each string in the language of \(\mathcal{A}\) is interpretted, and (3) the quantification (existential/universal) of the constraints in the language to which the validity property applies. We introduce such decision problems by presenting an algorithm that decides whether a given finite state automaton \(\mathcal{A}\) generates any valid linear arithmetic constraints.


Decision Procedure Finite Automaton Language Generator Finite State Automaton Single Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Borland, M.: Advanced SQL Command Injection: Applying defense-in-depth practices in web-enabled database applications (2002)Google Scholar
  2. 2.
    Christensen, A.S., Møller, A., Schwartzbach, M.I.: Precise analysis of string expressions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 1–18. Springer, Heidelberg (2003), URL: CrossRefGoogle Scholar
  3. 3.
    Matiyasevich, Y.: Solution of the tenth problem of Hilbert. Mat. Lapok 21, 83–87 (1970)MATHMathSciNetGoogle Scholar
  4. 4.
    Tarski, A.: A Decision Method for Elementary Algebra and Geometry. University of California Press (1951)Google Scholar
  5. 5.
    Gould, C., Su, Z., Devanbu, P.: Static checking of dynamically generated queries in database applications. In: Proc. ICSE 2004 (2004)Google Scholar
  6. 6.
    Wassermann, G., Su, Z.: Validity Checking for Finite Automata over Linear Arithmetic. Technical report, University of California, Davis, Computer Science Dept. (2006)Google Scholar
  7. 7.
    Danzer, L., Grünbaum, B., Klee, V.: Helly’s theorem and its relatives. In: Proceedings of the Symposium on Pure Mathematics. Convexity, vol. 7, pp. 101–180. AMS (1963)Google Scholar
  8. 8.
    Collins, G.E.: Hauptvortrag: Quantifier elimination for real closed fields by cylindrical algebraic decomposition. A Theory and Formal Languages (1975)Google Scholar
  9. 9.
    Wolper, P., Boigelot, B.: An automata-theoretic approach to Presburger arithmetic constraints (extended abstract). In: SAS, pp. 21–32. Springer, Heidelberg (1995)Google Scholar
  10. 10.
    Pugh, W.: The omega test: a fast and practical integer programming algorithm for dependence analysis. In: Proc. Supercomputing, pp. 4–13 (1991)Google Scholar
  11. 11.
    Bledsoe, W.: The Sup-Inf method in Presburger arithmetic. Technical report, University of Texas Math. Department (1974)Google Scholar
  12. 12.
    Nelson, G.: Techniques for program verification. Technical report, Xerox PARC (1981)Google Scholar
  13. 13.
    Pratt, V.: Two easy theories whose combination is hard. Technical report, MIT (1977)Google Scholar
  14. 14.
    Shostak, R.: Deciding linear inequalities by computing loop residues. J. ACM 28 (1981)Google Scholar
  15. 15.
    Aspvall, B., Shiloach, Y.: A polynomial time algorithm for solving systems of linear inequalities with two variables per inequality. SIAM Computing 9, 827–845 (1980)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Su, Z., Wagner, D.: A class of polynomially solvable range constraints for interval analysis without widenings and narrowings. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 280–295. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Symposium on Programming, pp. 106–130 (1976)Google Scholar
  18. 18.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 234–252 (1977)Google Scholar
  19. 19.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. TOPLAS 1, 245–257 (1979)MATHCrossRefGoogle Scholar
  20. 20.
    Necula, G.C., Lee, P.: The design and implementation of a certifying compiler. In: Proc. PLDI (1998)Google Scholar
  21. 21.
    Shostak, R.E.: Deciding combinations of theories. J. ACM 31, 1–12 (1984)MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Owre, S., Shankar, N., Rushby, J.: PVS: A Prototype Verification System. In: Proc. CADE 11 (1992)Google Scholar
  23. 23.
    Bjørner, N., Browne, A., Chang, E., Colón, M., Kapur, A., Manna, Z., Sipma, H., Uribe, T.E.: STeP: Deductive-algorithmic verification of reactive and real-time systems. In: Proc. CAV (1996)Google Scholar
  24. 24.
    Barrett, C.W., Dill, D.L., Levitt, J.R.: Validity Checking for Combinations of Theories with Equality. In: Proc. FMCAD, pp. 187–201 (1996)Google Scholar
  25. 25.
    Barrett, C.W., Berezin, S.: CVC lite: A new implementation of the cooperating validity checker category B. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  26. 26.
    Avis, D., Houle, M.E.: Computational aspects of Helly’s theorem and its relatives. International Journal of Computational Geometry Applications 5, 357–367 (1995)MATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Amenta, N.: Helly-type theorems and generalized linear programming. Discrete & Computational Geometry 12, 241–261 (1994)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Gary Wassermann
    • 1
  • Zhendong Su
    • 1
  1. 1.Department of Computer ScienceUniversity of CaliforniaDavis

Personalised recommendations