Semantics for Abstract Interpretation-Based Static Analyzes of Temporal Properties
Analyzing programs with abstract interpretation often requires to use a combination of forward and backward analyzes. However, the forward analyzes are mostly reachability analyzes, which are often not precise enough when we want to check other temporal properties. In this paper we propose to combine transition systems with temporal properties (with backward modalities) to get “extended” transition systems. We define forward and backward semantics for these systems, and give indications for their combination. These semantics, which use set of trees, can be abstracted to make more precise forward and backward analyzes of programs. The combinations of these analyzes are expected to give better results than the current abstract analyzes.
KeywordsTransition System Temporal Property Abstract Interpretation Elementary Tree Extended Transition
Unable to display preview. Download preview PDF.
- 1.E.M. Clarke, O. Grumberg, and D.A. Peled. Model Checking. MIT press, 1999.Google Scholar
- 2.P. Cousot. Méthodes itératives de construction et d’approximation de point fixes d’opérateurs monotones sur un treillis, analyse sémantique des programmes. Thése és sciences mathématiques, University of Grenoble, March 1978.Google Scholar
- 4.P. Cousot and R. Cousot. Static determination of dynamic properties of programs. In Proceedings of the Second International Symposium on Programming, pages 106–130. Dunod, Paris, France, 1976.Google Scholar
- 5.P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Conference Record of the Fourth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 238–252, Los Angeles, California, 1977. ACM Press, New York, NY.Google Scholar
- 6.P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, August 1992.Google Scholar
- 7.P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In Conference Record of the Ninthteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 83–94, Albuquerque, New Mexico, January 1992. ACM Press, New York, NY.Google Scholar
- 8.P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In Conference Record of the Fifth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 84–97, Tucson, Arizona, 1978. ACM Press, New York, NY.Google Scholar
- 9.Panagiotis Manolios and Richard J. Trefler. Safety and liveness in branching time. In Logic in Computer Science, pages 366-, 2001.Google Scholar
- 10.D. Massé. Combining backward and forward analyses of temporal properties. In O. Danvy and A. Filinski, editors, Proceedings of the Second Symposium PADO’2001, Programs as Data Objects, volume 2053 of Lecture Notes in Computer Sciences, pages 155–172, Århus, Denmark, 21–23 May 2001. Springer-Verlag, Berlin, Germany.CrossRefGoogle Scholar
- 11.Laurent Mauborgne. Representation of Sets of Trees for Abstract Interpretation. PhD thesis, École Polytechnique, 1999.Google Scholar
- 13.A. Miné. The octagon abstract domain. In AST 2001 in WCRE 2001, IEEE, pages 310–319. IEEE CS Press, October 2001. http://www.di.ens.fr~mine/publi/article-mine-padoII.pdf.