Skip to main content

Validity Checking for Finite Automata over Linear Arithmetic Constraints

  • Conference paper
FSTTCS 2006: Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2006)

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

  • 627 Accesses

Abstract

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.

This research was supported in part by NSF CAREER Grant No. 0546844 and a generous gift from Intel. The information presented here does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Borland, M.: Advanced SQL Command Injection: Applying defense-in-depth practices in web-enabled database applications (2002)

    Google Scholar 

  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: http://www.brics.dk/JSA/

    Chapter  Google Scholar 

  3. Matiyasevich, Y.: Solution of the tenth problem of Hilbert. Mat. Lapok 21, 83–87 (1970)

    MATH  MathSciNet  Google Scholar 

  4. Tarski, A.: A Decision Method for Elementary Algebra and Geometry. University of California Press (1951)

    Google Scholar 

  5. Gould, C., Su, Z., Devanbu, P.: Static checking of dynamically generated queries in database applications. In: Proc. ICSE 2004 (2004)

    Google Scholar 

  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. 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. Collins, G.E.: Hauptvortrag: Quantifier elimination for real closed fields by cylindrical algebraic decomposition. A Theory and Formal Languages (1975)

    Google Scholar 

  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. 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. Bledsoe, W.: The Sup-Inf method in Presburger arithmetic. Technical report, University of Texas Math. Department (1974)

    Google Scholar 

  12. Nelson, G.: Techniques for program verification. Technical report, Xerox PARC (1981)

    Google Scholar 

  13. Pratt, V.: Two easy theories whose combination is hard. Technical report, MIT (1977)

    Google Scholar 

  14. Shostak, R.: Deciding linear inequalities by computing loop residues. J. ACM 28 (1981)

    Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Chapter  Google Scholar 

  17. Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Symposium on Programming, pp. 106–130 (1976)

    Google Scholar 

  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. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. TOPLAS 1, 245–257 (1979)

    Article  MATH  Google Scholar 

  20. Necula, G.C., Lee, P.: The design and implementation of a certifying compiler. In: Proc. PLDI (1998)

    Google Scholar 

  21. Shostak, R.E.: Deciding combinations of theories. J. ACM 31, 1–12 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  22. Owre, S., Shankar, N., Rushby, J.: PVS: A Prototype Verification System. In: Proc. CADE 11 (1992)

    Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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)

    Article  MATH  MathSciNet  Google Scholar 

  27. Amenta, N.: Helly-type theorems and generalized linear programming. Discrete & Computational Geometry 12, 241–261 (1994)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wassermann, G., Su, Z. (2006). Validity Checking for Finite Automata over Linear Arithmetic Constraints. In: Arun-Kumar, S., Garg, N. (eds) FSTTCS 2006: Foundations of Software Technology and Theoretical Computer Science. FSTTCS 2006. Lecture Notes in Computer Science, vol 4337. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11944836_37

Download citation

  • DOI: https://doi.org/10.1007/11944836_37

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-49994-7

  • Online ISBN: 978-3-540-49995-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics