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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Aßmann, U.: OPTIMIX, A Tool for Rewriting and Optimizing Programs. Graph Grammar Handbook. Chapman-Hall, Australia (1998)
Bryant, R.E.: Symbolic boolean manipulation with ordered binary decision diagrams. Computing Surveys 24(3), 293–318 (1992)
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)
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)
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)
Dor, N., Rodeh, M., Sagiv, M.: Checking cleanness in linked lists. In: SAS 2000, Static Analysis Symposium (2000)
Evans, D.: Static detection of dynamic memory errors. In: SIGPLAN Conf. on Prog. Lang. Design and Impl. (1996)
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)
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
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
Muchnick, S.S.: Advanced Compiler Design and Implementation, 3rd edn. Morgan & Kaufmann, San Francisco (1999)
Nielson, F., Nielson, H.R., Sagiv, M.: A kleene analysis of mobile ambients. In: Proceedings of the 2000 European Symposium On Programming (March 2000)
Rinetskey, N., Sagiv, M.: Interprocedual shape analysis for recursive programs (2000), Available at http://www.cs.technion.ac.il/~maon
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)
Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. In: Symp. on Princ. of Prog. Lang. (1999)
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
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)
Ullman, J.D.: Principles of Database and Knowledge-Base Systems. The New Technologies, vol. II. Comp. Sci. Press, Rockville, MD (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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