Localizing Widening and Narrowing

  • Gianluca Amato
  • Francesca Scozzari
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7935)


We show two strategies which may be easily applied to standard abstract interpretation-based static analyzers. They consist in 1) restricting the scope of widening, and 2) intertwining the computation of ascending and descending chains. Using these optimizations it is possible to improve the precision of the analysis, without any change to the abstract domains.


Dependency Graph Nest Loop Abstract Interpretation Head Node Iteration Sequence 
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.
    Amato, G., Lipton, J., McGrail, R.: On the algebraic structure of declarative programming languages. Theoretical Computer Science 410(46), 4626–4671 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Amato, G., Parton, M., Scozzari, F.: Deriving numerical abstract domains via principal component analysis. In: Cousot, R., Martel, M. (eds.) SAS 2010. LNCS, vol. 6337, pp. 134–150. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Amato, G., Parton, M., Scozzari, F.: A tool which mines partial execution traces to improve static analysis. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 475–479. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Amato, G., Parton, M., Scozzari, F.: Discovering invariants via simple component analysis. Journal of Symbolic Computation 47(12) (2012)Google Scholar
  5. 5.
    Amato, G., Scozzari, F.: Observational completeness on abstract interpretation. Fundamenta Informaticae 106(2-4), 149–173 (2011)MathSciNetzbMATHGoogle Scholar
  6. 6.
    Amato, G., Scozzari, F.: The abstract domain of parallelotopes. In: Midtgaardand, J., Might, M. (eds.) The Fourth International Workshop on Numerical and Symbolic Abstract Domains (NSAD 2012). ENTCS, vol. 287, pp. 17–28. Elsevier (November 2012)Google Scholar
  7. 7.
    Amato, G., Scozzari, F.: Random: R-based Analyzer for Numerical Domains. In: Bjørner, N., Voronkov, A. (eds.) LPAR-18 2012. LNCS, vol. 7180, pp. 375–382. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Bagnara, R., Hill, P.M., Zaffanella, E.: The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Science of Computer Programming 72(1-2), 3–21 (2008)MathSciNetCrossRefGoogle Scholar
  9. 9.
    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: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI 2003), San Diego, California, USA, 2003, June 7–14, pp. 196–207. ACM Press (2003)Google Scholar
  10. 10.
    Bourdoncle, F.: Efficient chaotic iteration strategies with widenings. In: Pottosin, I.V., Bjorner, D., Broy, M. (eds.) FMP&TA 1993. LNCS, vol. 735, pp. 128–141. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  11. 11.
    Costan, A., Gaubert, S., Goubault, É., Martel, M., Putot, S.: A policy iteration algorithm for computing fixed points in static analysis of programs. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 462–475. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proceedings of the Second International Symposium on Programming, Paris, France, pp. 106–130. Dunod (1976)Google Scholar
  13. 13.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL 1977: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pp. 238–252. ACM Press, New York (1977)Google Scholar
  14. 14.
    Cousot, P., Cousot, R.: Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In: Bruynooghe, M., Wirsing, M. (eds.) PLILP 1992. LNCS, vol. 631, pp. 269–295. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  15. 15.
    Gawlitza, T.M., Seidl, H.: Solving systems of rational equations through strategy iteration. ACM Transactions on Programming Languages and Systems 33(3), 1–48 (2011)CrossRefGoogle Scholar
  16. 16.
    Gonnord, L., Halbwachs, N.: Combining widening and acceleration in linear relation analysis. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 144–160. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Gopan, D., Reps, T.: Lookahead widening. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 452–466. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Gopan, D., Reps, T.: Guided static analysis. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 349–365. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Gustafsson, J., Betts, A., Ermedahl, A., Lisper, B.: The Mälardalen WCET benchmarks – past, present and future. In: Lisper, B. (ed.) Proc. 10th International Workshop on Worst-Case Execution Time Analysis (WCET 2010), Brussels, Belgium, pp. 137–147. OCG (July 2010)Google Scholar
  20. 20.
    Halbwachs, N., Henry, J.: When the decreasing sequence fails. In: Miné, A., Schmidt, D. (eds.) SAS 2012. LNCS, vol. 7460, pp. 198–213. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  21. 21.
    Henry, J., Monniaux, D., Moy, M.: PAGAI: A path sensitive static analyser. Electronic Notes in Theoretical Computer Science 289, 15–25 (2012)CrossRefGoogle Scholar
  22. 22.
    Jeannet, B.: Interproc Analyzer for Recursive Programs with Numerical Variables. In: INRIA (2004), Software and documentation are available at the following URL: (accessed: April 3, 2013)
  23. 23.
    Jeannet, B., Miné, A.: APRON: A library of numerical abstract domains for static analysis. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 661–667. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  24. 24.
    Monniaux, D., Gonnord, L.: Using bounded model checking to focus fixpoint iterations. In: Yahav, E. (ed.) SAS 2012. LNCS, vol. 6887, pp. 369–385. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  25. 25.
    Monniaux, D., Le Guen, J.: Stratified static analysis based on variable dependencies. In: Massé, D., Mauborgne, L. (eds.) Proceedings of the Third International Workshop on Numerical and Symbolic Abstract Domains, NSAD 2011. ENTCS, vol. 288, pp. 61–74. Elsevier (December 2012)Google Scholar
  26. 26.
    Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Scalable analysis of linear systems using mathematical programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 25–41. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Gianluca Amato
    • 1
  • Francesca Scozzari
    • 1
  1. 1.Dipartimento di EconomiaUniversità “G. d’Annunzio” di Chieti-PescaraItaly

Personalised recommendations