Skip to main content

Random: R-Based Analyzer for Numerical Domains

  • Conference paper
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7180))

Abstract

We present the tool Random (R-based Analyzer for Numerical DOMains) for static analysis of imperative programs. The tool is based on the theory of abstract interpretation and implements several abstract domains for detecting numerical properties, in particular integer loop invariants. The tool combines a statistical dynamic analysis with a static analysis on the new domain of parallelotopes. The tool has a graphical interface for tuning the parameters of the analysis and visualizing partial traces.

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.: ieeeround: Functions to set and get the IEEE rounding mode (2011), R package version 0.2-0, http://CRAN.R-project.org/package=ieeeround

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

    Article  MATH  Google Scholar 

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

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

  5. Amato, G., Parton, M., Scozzari, F.: Discovering invariants via simple component analysis. Journal of Symbolic Computation (to appear, 2012), doi:10.1016/j.jsc.2011.12.052

    Google Scholar 

  6. Amato, G., Scozzari, F.: Optimality in goal-dependent analysis of sharing. Theory and Practice of Logic Programming 9(5), 617–689 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  7. Anaya-Izquierdo, K., Critchley, F., Vines, K.: Orthogonal simple component analysis: a new, exploratory approach. Annals of Applied Statistics 5(1), 486–522 (2011)

    Article  MathSciNet  MATH  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. 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 

  10. Bruynooghe, M.: A practical framework for the abstract interpretation of logic programs. The Journal of Logic Programming 10(1/2/3 & 4), 91–124 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  11. Canet, G., Cuoq, P., Monate, B.: A value analysis for C programs. In: SCAM 2009, Proceedings, pp. 123–124. IEEE Computer Society Press (2009)

    Google Scholar 

  12. Clarisó, R., Cortadella, J.: The octahedron abstract domain. Science of Computer Programming 64, 115–139 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  13. Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proc. Second Int’l Symposium on Programming, Dunod, pp. 106–130 (1976)

    Google Scholar 

  14. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL 1979, Proc., pp. 269–282. ACM Press (1979)

    Google Scholar 

  15. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL 1978, Proc., pp. 84–97. ACM Press (1978)

    Google Scholar 

  16. Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract domains condensing. ACM Transactions on Computational Logic 6(1), 33–60 (2005)

    Article  MathSciNet  Google Scholar 

  17. Hyvärinen, A., Karhunen, J., Oja, E.: Independent Component Analysis. John Wiley & Sons (2001)

    Google Scholar 

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

  19. Marriott, K., Søndergaard, H., Jones, N.D.: Denotational abstract interpretation of logic programs. ACM Transactions on Programming Languages and Systems 16(3), 607–648 (1994)

    Article  Google Scholar 

  20. Miné, A.: A New Numerical Abstract Domain Based on Difference-Bound Matrices. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol. 2053, pp. 155–172. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. Miné, A.: The octagon abstract domain. Higher-Order and Symbolic Computation 19(1), 31–100 (2006)

    Article  MATH  Google Scholar 

  22. R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2011), http://www.R-project.org/

  23. Sankaranarayanan, S., Colón, M., Sipma, H.B., Manna, Z.: Efficient Strongly Relational Polyhedral Analysis. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 111–125. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

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

  25. Scozzari, F.: Abstract Domains for Sharing Analysis by Optimal Semantics. In: SAS 2000. LNCS, vol. 1824, pp. 397–412. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  26. Simon, A., King, A., Howe, J.M.: Two Variables Per Linear Inequality as an Abstract Domain. In: Leuschel, M. (ed.) LOPSTR 2002. LNCS, vol. 2664, pp. 71–89. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Amato, G., Scozzari, F. (2012). Random: R-Based Analyzer for Numerical Domains. In: Bjørner, N., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2012. Lecture Notes in Computer Science, vol 7180. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28717-6_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28717-6_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28716-9

  • Online ISBN: 978-3-642-28717-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics