TVLA: A System for Implementing Static Analyses

  • Tal Lev-Ami
  • Mooly Sagiv
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1824)

Abstract

We present TVLA (Three-Valued-Logic Analyzer). TVLA is a “YACC”-like framework for automatically constructing static-analysis algorithms from an operational semantics, where the operational semantics is specified using logical formulae. TVLA has been implemented in Java and was successfully used to perform shape analysis on programs manipulating linked data structures (singly and doubly linked lists), to prove safety properties of Mobile Ambients, and to verify the partial correctness of several sorting programs.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alt, M., Martin, F.: Generation of efficient interprocedural analyzers with PAG. In: Mycroft, A. (ed.) SAS 1995. LNCS, vol. 983, pp. 33–50. Springer, Heidelberg (1995)Google Scholar
  2. 2.
    Aßmann, U.: OPTIMIX, A Tool for Rewriting and Optimizing Programs. Graph Grammar Handbook. Chapman-Hall, Australia (1998) Google Scholar
  3. 3.
    Bryant, R.E.: Symbolic boolean manipulation with ordered binary decision diagrams. Computing Surveys 24(3), 293–318 (1992)CrossRefGoogle Scholar
  4. 4.
    Chase, D.R., Wegman, M., Zadeck, F.: Analysis of pointers and structures. In: SIGPLAN Conf. on Prog. Lang. Design and Impl., New York, NY, pp. 296–310. ACM Press, New York (1990)Google Scholar
  5. 5.
    Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Symp. on Princ. of Prog. Lang., New York, NY, pp. 269–282. ACM Press, New York (1979)Google Scholar
  6. 6.
    Deutsch, A.: Interprocedural may-alias analysis for pointers: Beyond k-limiting. In: SIGPLAN Conf. on Prog. Lang. Design and Impl., New York, NY, pp. 230–241. ACM Press, New York (1994)Google Scholar
  7. 7.
    Dor, N., Rodeh, M., Sagiv, M.: Checking cleanness in linked lists. In: SAS 2000, Static Analysis Symposium (2000)Google Scholar
  8. 8.
    Evans, D.: Static detection of dynamic memory errors. In: SIGPLAN Conf. on Prog. Lang. Design and Impl. (1996)Google Scholar
  9. 9.
    Jensen, J.L., Joergensen, M.E., Klarlund, N., Schwartzbach, M.I.: Automatic verification of pointer programs using monadic second-order logic. In: SIGPLAN Conf. on Prog. Lang. Design and Impl. (1997)Google Scholar
  10. 10.
    Lev-Ami, T.: TVLA: A framework for Kleene based static analysis. Master’s thesis, Tel-Aviv University (2000), Available at http://www.math.tau.ac.il/~tla
  11. 11.
    Lev-Ami, T., Reps, T., Sagiv, M., Wilhelm, R.: Putting static analysis to work for verification: A case study. In: International Symposium on Software Testing and Analysis (2000), Available at http://www.cs.wisc.edu/~reps
  12. 12.
    Muchnick, S.S.: Advanced Compiler Design and Implementation, 3rd edn. Morgan & Kaufmann, San Francisco (1999)Google Scholar
  13. 13.
    Nielson, F., Nielson, H.R., Sagiv, M.: A kleene analysis of mobile ambients. In: Proceedings of the 2000 European Symposium On Programming (March 2000)Google Scholar
  14. 14.
    Rinetskey, N., Sagiv, M.: Interprocedual shape analysis for recursive programs (2000), Available at http://www.cs.technion.ac.il/~maon
  15. 15.
    Sagiv, M., Reps, T., Wilhelm, R.: Solving shape-analysis problems in languages with destructive updating. Trans. on Prog. Lang. and Syst. 20(1), 1–50 (1998)CrossRefGoogle Scholar
  16. 16.
    Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. In: Symp. on Princ. of Prog. Lang. (1999)Google Scholar
  17. 17.
    Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3- valued logic. Tech. Rep. TR-1383, Comp. Sci. Dept., Univ. of Wisconsin, Madison, WI,(March 2000), Submitted for publication , Available at http://www.cs.wisc.edu/wpis/papers/tr1383.ps
  18. 18.
    Tjiang, S.W.K., Hennessy, J.: Sharlit—a tool for building optimizers. In: SIGPLAN Conf. on Prog. Lang. Design and Impl., June 1992, pp. 82–93 (1992)Google Scholar
  19. 19.
    Ullman, J.D.: Principles of Database and Knowledge-Base Systems. The New Technologies, vol. II. Comp. Sci. Press, Rockville, MD (1989)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Tal Lev-Ami
    • 1
  • Mooly Sagiv
    • 1
  1. 1.Department of Computer ScienceTel-Aviv UniversityIsrael

Personalised recommendations