Skip to main content

Localizing Widening and Narrowing

  • Conference paper
Book cover Static Analysis (SAS 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7935))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Amato, G., Lipton, J., McGrail, R.: On the algebraic structure of declarative programming languages. Theoretical Computer Science 410(46), 4626–4671 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  4. Amato, G., Parton, M., Scozzari, F.: Discovering invariants via simple component analysis. Journal of Symbolic Computation 47(12) (2012)

    Google Scholar 

  5. Amato, G., Scozzari, F.: Observational completeness on abstract interpretation. Fundamenta Informaticae 106(2-4), 149–173 (2011)

    MathSciNet  MATH  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Article  MathSciNet  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  21. Henry, J., Monniaux, D., Moy, M.: PAGAI: A path sensitive static analyser. Electronic Notes in Theoretical Computer Science 289, 15–25 (2012)

    Article  Google Scholar 

  22. Jeannet, B.: Interproc Analyzer for Recursive Programs with Numerical Variables. In: INRIA (2004), Software and documentation are available at the following URL: http://pop-art.inrialpes.fr/interproc/interprocweb.cgi (accessed: April 3, 2013)

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Amato, G., Scozzari, F. (2013). Localizing Widening and Narrowing. In: Logozzo, F., Fähndrich, M. (eds) Static Analysis. SAS 2013. Lecture Notes in Computer Science, vol 7935. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38856-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38856-9_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38855-2

  • Online ISBN: 978-3-642-38856-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics