Skip to main content

TVLA: A System for Implementing Static Analyses

  • Conference paper
Static Analysis (SAS 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1824))

Included in the following conference series:

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.

Supported, in part, by a grant from the Academy of Science, Israel.

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. 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. Aßmann, U.: OPTIMIX, A Tool for Rewriting and Optimizing Programs. Graph Grammar Handbook. Chapman-Hall, Australia (1998)

    Google Scholar 

  3. Bryant, R.E.: Symbolic boolean manipulation with ordered binary decision diagrams. Computing Surveys 24(3), 293–318 (1992)

    Article  Google Scholar 

  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. 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. 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. Dor, N., Rodeh, M., Sagiv, M.: Checking cleanness in linked lists. In: SAS 2000, Static Analysis Symposium (2000)

    Google Scholar 

  8. Evans, D.: Static detection of dynamic memory errors. In: SIGPLAN Conf. on Prog. Lang. Design and Impl. (1996)

    Google Scholar 

  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. 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. 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. Muchnick, S.S.: Advanced Compiler Design and Implementation, 3rd edn. Morgan & Kaufmann, San Francisco (1999)

    Google Scholar 

  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. Rinetskey, N., Sagiv, M.: Interprocedual shape analysis for recursive programs (2000), Available at http://www.cs.technion.ac.il/~maon

  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)

    Article  Google Scholar 

  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. 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. 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. Ullman, J.D.: Principles of Database and Knowledge-Base Systems. The New Technologies, vol. II. Comp. Sci. Press, Rockville, MD (1989)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lev-Ami, T., Sagiv, M. (2000). TVLA: A System for Implementing Static Analyses. In: Palsberg, J. (eds) Static Analysis. SAS 2000. Lecture Notes in Computer Science, vol 1824. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45099-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45099-3_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67668-3

  • Online ISBN: 978-3-540-45099-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics