Random: R-Based Analyzer for Numerical Domains

  • Gianluca Amato
  • Francesca Scozzari
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Independent Component Analysis Logic Program Independent Component Analysis Abstract Interpretation Abstract Domain 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    Amato, G., Lipton, J., McGrail, R.: On the algebraic structure of declarative programming languages. Theoretical Computer Science 410(46), 4626–4671 (2009)MATHCrossRefGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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.052Google Scholar
  6. 6.
    Amato, G., Scozzari, F.: Optimality in goal-dependent analysis of sharing. Theory and Practice of Logic Programming 9(5), 617–689 (2009)MathSciNetMATHCrossRefGoogle Scholar
  7. 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)MathSciNetMATHCrossRefGoogle 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.
    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
  10. 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)MathSciNetMATHCrossRefGoogle Scholar
  11. 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. 12.
    Clarisó, R., Cortadella, J.: The octahedron abstract domain. Science of Computer Programming 64, 115–139 (2007)MathSciNetMATHCrossRefGoogle Scholar
  13. 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. 14.
    Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL 1979, Proc., pp. 269–282. ACM Press (1979)Google Scholar
  15. 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. 16.
    Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract domains condensing. ACM Transactions on Computational Logic 6(1), 33–60 (2005)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Hyvärinen, A., Karhunen, J., Oja, E.: Independent Component Analysis. John Wiley & Sons (2001)Google Scholar
  18. 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)CrossRefGoogle Scholar
  19. 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)CrossRefGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 21.
    Miné, A.: The octagon abstract domain. Higher-Order and Symbolic Computation 19(1), 31–100 (2006)MATHCrossRefGoogle Scholar
  22. 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. 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)CrossRefGoogle Scholar
  24. 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)CrossRefGoogle Scholar
  25. 25.
    Scozzari, F.: Abstract Domains for Sharing Analysis by Optimal Semantics. In: SAS 2000. LNCS, vol. 1824, pp. 397–412. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  26. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

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

Personalised recommendations