The Parallel Implementation of the Astrée Static Analyzer

  • David Monniaux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3780)


The Astrée static analyzer is a specialized tool that can prove the absence of runtime errors, including arithmetic overflows, in large critical programs. Keeping analysis times reasonable for industrial use is one of the design objectives. In this paper, we discuss the parallel implementation of the analysis.


Parallel Implementation Memory State Abstract Domain Program Point Parallelization Scheme 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Blanchet, B., et al.: Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software. In: Mogensen, T.Æ., Schmidt, D.A., Sudborough, I.H. (eds.) The Essence of Computation. LNCS, vol. 2566, pp. 85–108. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    Blanchet, B., et al.: A static analyzer for large safety-critical software. In: PLDI (2003)Google Scholar
  3. 3.
    Bourdoncle, F.: Efficient chaotic iteration strategies with widenings. In: Pottosin, I.V., Bjorner, D., Broy, M. (eds.) FMP&TA 1993. LNCS, vol. 735, p. 128. Springer, Heidelberg (1993), CrossRefGoogle Scholar
  4. 4.
    Brat, G., Venet, A.: Precise and scalable static program analysis of nasa flight software. In: IEEE Aerospace Conference (2005)Google Scholar
  5. 5.
    Cousot, P.: Asynchronous iterative methods for solving a fixed point system of monotone equations in a complete lattice. Technical Report 88, IMAG Lab (1977)Google Scholar
  6. 6.
    Cousot, P.: The calculational design of a generic abstract interpreter. In: Broy, M., Steinbrüggen, R. (eds.) Calculational System Design. NATO ASI Series F. IOS Press, Amsterdam (1999)Google Scholar
  7. 7.
    Cousot, P., Cousot, R.: Abstract intrepretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, Los Angeles, CA, January 1977, pp. 238–252 (1977)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Abstract interpretation and application to logic programs. J. Logic Prog. 2-3(13), 103–179 (1992)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Cousot, P., et al.: The ASTREÉ analyzer. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 21–30. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Feret, J.: Static analysis of digital filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Horwitz, S., Demers, A.J., Teitelbaum, T.: An efficient general iterative algorithm for dataflow analysis. Acta Informatica 24(6), 679–694 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Mauborgne, L., Rival, X.: Trace partitioning in abstract interpretation based static analyzers. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 5–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Mertens, S.: The easiest hard problem: Number partitioning. In: Percus, A.G., Istrate, G., Moore, C. (eds.) Computational Complexity and Statistical Physics, p. 8. Oxford University Press, Oxford (2004)Google Scholar
  14. 14.
    Miné, A.: A new numerical abstract domain based on difference-bound matrices. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol. 2053, p. 155. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Miné, A.: The octagon abstract domain. In: AST 2001. IEEE, Los Alamitos (2001)Google Scholar
  16. 16.
    Miné, A.: A few graph-based relational numerical abstract domains. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, p. 117. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Miné, A.: Relational abstract domains for the detection of floating-point run-time errors. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 3–17. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Miné, A.: Weakly Relational Numerical Abstract Domains. PhD thesis, École Polytechnique, Palaiseau, France (2004)Google Scholar
  19. 19.
    Venet, A., Brat, G.: Precise and efficient static array bound checking for large embedded C programs. In: PLDI (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • David Monniaux
    • 1
  1. 1.Centre national de la recherche scientifique (CNRS)École normale supérieure, Laboratoire d’InformatiqueParisFrance

Personalised recommendations