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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
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.
References
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
Amato, G., Lipton, J., McGrail, R.: On the algebraic structure of declarative programming languages. Theoretical Computer Science 410(46), 4626–4671 (2009)
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)
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)
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
Amato, G., Scozzari, F.: Optimality in goal-dependent analysis of sharing. Theory and Practice of Logic Programming 9(5), 617–689 (2009)
Anaya-Izquierdo, K., Critchley, F., Vines, K.: Orthogonal simple component analysis: a new, exploratory approach. Annals of Applied Statistics 5(1), 486–522 (2011)
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)
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)
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)
Canet, G., Cuoq, P., Monate, B.: A value analysis for C programs. In: SCAM 2009, Proceedings, pp. 123–124. IEEE Computer Society Press (2009)
Clarisó, R., Cortadella, J.: The octahedron abstract domain. Science of Computer Programming 64, 115–139 (2007)
Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proc. Second Int’l Symposium on Programming, Dunod, pp. 106–130 (1976)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL 1979, Proc., pp. 269–282. ACM Press (1979)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL 1978, Proc., pp. 84–97. ACM Press (1978)
Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract domains condensing. ACM Transactions on Computational Logic 6(1), 33–60 (2005)
Hyvärinen, A., Karhunen, J., Oja, E.: Independent Component Analysis. John Wiley & Sons (2001)
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)
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)
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)
Miné, A.: The octagon abstract domain. Higher-Order and Symbolic Computation 19(1), 31–100 (2006)
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/
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)
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)
Scozzari, F.: Abstract Domains for Sharing Analysis by Optimal Semantics. In: SAS 2000. LNCS, vol. 1824, pp. 397–412. Springer, Heidelberg (2000)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)