Finding Relevant Templates via the Principal Component Analysis

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10145)

Abstract

The polyhedral model is widely used for the static analysis of programs, thanks to its expressiveness but it is also time consuming. To cope with this problem, weak-polyhedral analysis have been developed which offer a good trade off between expressiveness and efficiency. Some of these analysis are based on templates which fixed the form of the program’s invariant. These templates are defined statically at the beginning of the analysis, without taking into account the dynamic of programs. Finding good templates is a difficult problem. In this article, we present a method that uses the Principal Component analysis to compute an interesting template. We demonstrate the relevancy of the obtained templates on several benchmarks.

References

  1. 1.
    Abdi, H., Williams, L.J.: Principal component analysis (2010)Google Scholar
  2. 2.
    Amato, G., Parton, M., Scozzari, F.: Discovering invariants via simple component analysis. J. Symb. Comput. 47(12), 1533–1560 (2012)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, New York (2004)CrossRefMATHGoogle Scholar
  4. 4.
    Chen, X., Ábrahám, E.: Choice of directions for the approximation of reachable sets for hybrid systems. In: Computer Aided Systems Theory - EUROCAST 2011–13th International Conference, Las Palmas de Gran Canaria, Spain (2011)Google Scholar
  5. 5.
    Colón, M.A., Sankaranarayanan, S.: Generalizing the template polyhedral domain. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol. 6602, pp. 176–195. Springer, Heidelberg (2011). doi:10.1007/978-3-642-19718-5_10 CrossRefGoogle Scholar
  6. 6.
    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). doi:10.1007/3-540-55844-6_142 CrossRefGoogle Scholar
  7. 7.
    Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL, pp. 84–97. ACM Press (1978)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 238–252. ACM Press (1977)Google Scholar
  9. 9.
    Gale, D.: Linear programming and the simplex method. Notices AMS 54(3), 364–369 (2007). Spanoudakis, G., Kloukinas, C., Mahbub, K.Google Scholar
  10. 10.
    Gaubert, S., McEneaney, W.M., Qu, Z.: Curse of dimensionality reduction in max-plus based approximation methods: theoretical estimates and improved pruning algorithms. In: CDC-ECE. IEEE (2011)Google Scholar
  11. 11.
    Goubault, E., Putot, S., Védrine, F.: Modular static analysis with zonotopes. In: Proceedings of Static Analysis - 19th International Symposium, SAS 2012, Deauville, France (2012)Google Scholar
  12. 12.
    Hiriart-Urrut, J.B., Lemaréchal, C.: Fundamentals of Convex Analysis. Springer, Berlin (2004)Google Scholar
  13. 13.
    Jolliffe, I.: Principal Component Analysis. Springer, New York (1986)Google Scholar
  14. 14.
    Laviron, V., Logozzo, F.: Subpolyhedra: a family of numerical abstract domains for the (more) scalable inference of linear inequalities. In: STTT (2011)Google Scholar
  15. 15.
    Lieven De Lathauwer, B.D.M., Vandewalle, J.: A multilinear singular value decomposition. SIAM. J. Matrix Anal. Appl. 21(4), 1253–1278 (2000)Google Scholar
  16. 16.
    Miné, A.: The octagon abstract domain. Higher-Order Symbolic Comput. 19(1), 31–100 (2006)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Moore, B.: Principal component analysis in linear systems: controllability, observability, and model reduction. IEEE Trans. Autom. Control 26(1), 17–32 (1981)Google Scholar
  18. 18.
    Nesterov, Y., Nemirovskiĭ, A.: Interior-point polynomial algorithms in convex programming. SIAM studies in applied mathematics, Society for Industrial and Applied Mathematics (1994). http://opac.inria.fr/record=b1084763
  19. 19.
    Sankaranarayanan, S., Colón, M.A., Sipma, H., 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). doi:10.1007/11609773_8 CrossRefGoogle Scholar
  20. 20.
    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). doi:10.1007/978-3-540-30579-8_2 CrossRefGoogle Scholar
  21. 21.
    Seladji, Y., Bouissou, O.: Numerical abstract domain using support functions. In: Proceedings of NASA Formal Methods, 5th International Symposium, NFM 2013, Moffett Field, CA, USA, pp. 155–169 (2013)Google Scholar
  22. 22.
    Shlens, J.: A tutorial on principal component analysis. CoRR (2014)Google Scholar
  23. 23.
    Stursberg, O., Krogh, B.H.: Efficient representation and computation of reachable sets for hybrid systems. In: Maler, O., Pnueli, A. (eds.) HSCC 2003. LNCS, vol. 2623, pp. 482–497. Springer, Heidelberg (2003). doi:10.1007/3-540-36580-X_35 CrossRefGoogle Scholar
  24. 24.
    Tipping, M.E.: Bishop: probabilistic principal component analysis. J. Royal Stat. Soc. Ser B (Statistical Methodology) 61(3), 611–622 (1999)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.STIC LaboratoryUniversity of TlemcenTlemcenAlgeria

Personalised recommendations