Abstract
When designing a tractable static analysis, one usually needs to approximate the trace semantics. This paper proposes a systematic way of regaining some knowledge about the traces by performing the abstraction over a partition of the set of traces instead of the set itself. This systematic refinement is not only theoretical but tractable: we give automatic procedures to build pertinent partitions of the traces and show the efficiency on an implementation integrated in the Astrée static analyzer, a tool capable of dealing with industrial-size software.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Ammons, G., Larus, J.R.: Improving data-flow analysis with path profiles. In: Conference on Programming Language Design and Implementation (PLDI 1998), pp. 72–84. ACM Press, New York (1998)
Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software (invited chapter). In: Mogensen, T.Æ., Schmidt, D.A., Sudborough, I.H. (eds.) The Essence of Computation. LNCS, vol. 2566, pp. 85–108. Springer, Heidelberg (2002)
Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: A static analyzer for large safety-critical software. In: Conference on Programming Language Design and Implementation (PLDI 2003), pp. 196–207. ACM Press, New York (2003)
Bourdoncle, F.: Abstract interpretation by dynamic partitioning. Journal of Functional Programming 4 2, 407–435 (1992)
Cousot, P.: Méthodes itératives de construction et d’approximation de points fixes d’opérateurs monotones sur un treillis, analyse sémantique des programmes. PhD thesis, Université de Grenoble (1978)
Cousot, P.: Semantic foundations of program analysis. In: Muchnick, S., Jones, N. (eds.) Program Flow Analysis: Theory and Applications, ch. 10. Prentice-Hall, Inc., Englewood Cliffs (1981)
Cousot, P., Cousot, R.: Abstract intrepretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th ACM Symposium on Principles of Programming Languages (POPL 1977), pp. 238–252. ACM Press, New York (1977)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: 6th ACM Symposium on Principles of Programming Languages (POPL 1979), pp. 269–283. ACM Press, New York (1979)
Cousot, P., Cousot, R.: Basic concepts of abstract interpretation. In: Building the Information Society, ch. 4. Kluwer Academic Publishers, Dordrecht (2004)
Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: The astrée analyzer. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 21–30. Springer, Heidelberg (2005)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: 5th ACM Symposium on Principles of Programming Languages (POPL 1978), pp. 84–97. ACM Press, New York (1978)
Feret, J.: Static analysis of digital filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)
Granger, P.: Static Analysis of Arithmetical Congruences. Int. J. Computer. Math. 30 (1989)
Holley, L.H., Rosen, B.K.: Qualified data flow problems. In: 7th ACM Symposium on Principles of Programming Languages (POPL 1980), pp. 69–82. ACM Press, New York (1980)
Mauborgne, L.: ASTRÉE: Verification of absence of run-time error. In: Building the Information Society, ch. 4. Kluwer Academic Publishers, Dordrecht (2004)
Miné, A.: The octagon abstract domain. In: AST. IEEE, IEEE CS Press, Los Alamitos (2001)
Tzolowski, S., Handjieva, M.: Refining static analyses by trace-based partitionning using control flow. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 200–214. Springer, Heidelberg (1998)
Venet, A.: Abstract cofibered domains: Application to the alias analysis of untyped programs. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mauborgne, L., Rival, X. (2005). Trace Partitioning in Abstract Interpretation Based Static Analyzers. In: Sagiv, M. (eds) Programming Languages and Systems. ESOP 2005. Lecture Notes in Computer Science, vol 3444. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31987-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-31987-0_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25435-5
Online ISBN: 978-3-540-31987-0
eBook Packages: Computer ScienceComputer Science (R0)