Cartesian Factoring of Polyhedra in Linear Relation Analysis
Linear Relation Analysis [CH78] suffers from the cost of operations on convex polyhedra, which can be exponential with the number of involved variables. In order to reduce this cost, we propose to detect when a polyhedron is a Cartesian product of polyhedra of lower dimensions, i.e., when groups of variables are unrelated with each other. Classical operations are adapted to work on such factored polyhedra. Our implementation shows encouraging experimental results.
Unable to display preview. Download preview PDF.
- BRZH02.R. Bagnara, E. Ricci, E. Zaffanella, and P. M. Hill. Possibly not closed convex polyhedra and the parma polyhedra library. In M. V. Hermenegildo and G. Puebla, editors, 9th International Symposium on Static Analysis, SAS’02, Madrid, Spain, September 2002. LNCS 2477.Google Scholar
- CC77.P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fix-points. In 4th ACM Symposium on Principles of Programming Languages, POPL’77, Los Angeles, January 1977.Google Scholar
- CH78.P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of aprogram. In 5th ACM Symposium on Principles of Programming Languages, POPL’78, Tucson (Arizona), January 1978.Google Scholar
- CL98.Ph. Clauss and V. Loechner. Parametric analysis of polyhedral iteration spaces. Journal of VLSI Signal Processing, 19(2), July 1998.Google Scholar
- DRS01.N. Dor, M. Rodeh, and M. Sagiv. Cleanness checking of string manipulations in C programs via integer analysis. In P. Cousot, editor, SAS’01, Paris, July 2001. LNCS 2126.Google Scholar
- DRS03.N. Dor, M. Rodeh, and M. Sagiv. CCSV: towards a realistic tool for statically detecting all buffer overflows in C. to appear in PLDI03, 2003.Google Scholar
- Hal79.N. Halbwachs. Détermination automatique de relations linéaires vérifiées par les variables d’un programme. Thèse de troisième cycle, University of Grenoble, March 1979.Google Scholar
- IJT91.F. Irigoin, P. Jouvelot, and R. Triolet. Semantical interprocedural parallelization: An overview of the PIPS project. In ACM Int. Conf. on Supercomputing, ICS’91, Köln, 1991.Google Scholar
- JHR99.B. Jeannet, N. Halbwachs, and P. Raymond. Dynamic partitioning in analyses of numerical properties. In A. Cortesi and G. Filé, editors, Static Analysis Symposium, SAS’99, Venice (Italy), September 1999. LNCS 1694, Springer Verlag.Google Scholar
- LeV92.H. LeVerge. A note on Chernikova’s algorithm. RR. 635, IRISA, February 1992.Google Scholar
- MRTT53.T. S. Motzkin, H. Raiffa, G. L. Thompson, and R. M. Thrall. The double description method. In H. W. Kuhn and A. W. Tucker, editors, Contribution to the Theory of Games — Volume II. Annals of Mathematic Studies, nr 28, Princeton University Press, 1953.Google Scholar
- Tip95.F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121–189, September 1995.Google Scholar
- Wil93.D. K. Wilde. A library for doing polyhedral operations. RR. 785, IRISA, December 1993.Google Scholar