Abstract
Recently, Esparza et al. generalized Newton's method -- a numerical-analysis algorithm for finding roots of real-valued functions---to a method for finding fixed-points of systems of equations over semirings. Their method provides a new way to solve interprocedural dataflow-analysis problems. As in its real-valued counterpart, each iteration of their method solves a simpler ``linearized'' problem. One of the reasons this advance is exciting is that some numerical analysts have claimed that ```all' effective and fast iterative [numerical] methods are forms (perhaps very disguised) of Newton's method.'' However, there is an important difference between the dataflow-analysis and numerical-analysis contexts: when Newton's method is used on numerical-analysis problems, multiplicative commutativity is relied on to rearrange expressions of the form ``c*X + X*d'' into ``(c+d) * X.'' Such equations correspond to path problems described by regular languages. In contrast, when Newton's method is used for interprocedural dataflow analysis, the ``multiplication'' operation involves function composition, and hence is non-commutative: ``c*X + X*d'' cannot be rearranged into ``(c+d) * X.'' Such equations correspond to path problems described by linear context-free languages (LCFLs). In this paper, we present an improved technique for solving the LCFL sub-problems produced during successive rounds of Newton's method. Our method applies to predicate abstraction, on which most of today's software model checkers rely.
- T. Ball and S. Rajamani. Bebop: A symbolic model checker for Boolean programs. In Spin Workshop, 2000. Google Scholar
Digital Library
- A. Bouajjani, J. Esparza, and T. Touili. A generic approach to the static analysis of concurrent programs with procedures. In POPL, 2003. Google Scholar
Digital Library
- R. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Trans. on Comp., C-35(6):677–691, Aug. 1986. Google Scholar
Digital Library
- J. Cocke. Global common subexpression elimination. Proc. Symp. on Compiler Optimization, 1970. Google Scholar
Digital Library
- P. Cousot and R. Cousot. Static determination of dynamic properties of recursive procedures. In Formal Descriptions of Programming Concepts. North-Holland, 1978.Google Scholar
- J. Esparza, S. Kiefer, and M. Luttenberger. Newton’s method for omega-continuous semirings. In ICALP, 2008. Google Scholar
Digital Library
- J. Esparza, S. Kiefer, and M. Luttenberger. Newtonian program analysis. J. ACM, 57(6), 2010. Google Scholar
Digital Library
- S. Graf and H. Saïdi. Construction of abstract state graphs with PVS. In CAV, 1997. Google Scholar
Digital Library
- S. Graham and M. Wegman. A fast and usually linear algorithm for data flow analysis. J. ACM, 23(1):172–202, 1976. Google Scholar
Digital Library
- N. Grathwohl, D. Kozen, and K. Mamouras. KAT + B! In CSL-LICS, 2014. Google Scholar
Digital Library
- J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. J. ACM, 23(1):158–171, 1976. Google Scholar
Digital Library
- N. Kidd, A. Lal, and T. Reps. WALi: The Weighted Automaton Library, 2007. www.cs.wisc.edu/wpis/wpds/download.php.Google Scholar
- G. Kildall. A unified approach to global program optimization. In POPL, 1973. Google Scholar
Digital Library
- J. Knoop and B. Steffen. The interprocedural coincidence theorem. In CC, 1992. Google Scholar
Digital Library
- A. Lal and T. Reps. Improving pushdown system model checking. In CAV, 2006. Google Scholar
Digital Library
- A. Lal, T. Reps, and G. Balakrishnan. Extended weighted pushdown systems. In CAV, 2005. Google Scholar
Digital Library
- A. Lal, N. Kidd, T. Reps, and T. Touili. Abstract error projection. In Static Analysis Symp., 2007. Google Scholar
Digital Library
- A. Lal, T. Touili, N. Kidd, and T. Reps. Interprocedural analysis of concurrent programs under a context bound. Tech. Rep. TR-1598, Comp. Sci. Dept., Univ. of Wisconsin, Madison, WI, July 2007.Google Scholar
- A. Lal, T. Touili, N. Kidd, and T. Reps. Interprocedural analysis of concurrent programs under a context bound. In TACAS, 2008. Google Scholar
Digital Library
- R. McNaughton and H. Yamada. Regular expressions and state graphs for automata. IRE Trans. on Elec. Computers, 9:39–47, 1960.Google Scholar
Cross Ref
- M. Müller-Olm and H. Seidl. Precise interprocedural analysis through linear algebra. In POPL, 2004. Google Scholar
Digital Library
- M. Müller-Olm and H. Seidl. Analysis of modular arithmetic. In ESOP, 2005.Google Scholar
Digital Library
- T. Reps, S. Schwoon, S. Jha, and D. Melski. Weighted pushdown systems and their application to interprocedural dataflow analysis. SCP, 58(1–2):206–263, Oct. 2005. Google Scholar
Digital Library
- T. Reps, A. Lal, and N. Kidd. Program analysis using weighted pushdown systems. In FSTTCS, 2007. Google Scholar
Digital Library
- M. Schlund, M. Terepeta, and M. Luttenberger. Putting Newton into practice: A solver for polynomial equations over semirings. In LPAR, 2013.Google Scholar
Cross Ref
- M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications. Prentice-Hall, 1981.Google Scholar
Digital Library
- Static Driver Verifier. Static driver verifier. msdn.microsoft.com/enus/library/windows/hardware/ff552808(v=vs.85).aspx.Google Scholar
- R. Tapia. Inverse, shifted inverse, and Rayleigh quotient iteration as Newton’s method, 2008. www.frequency.com/video/lecture-series- /18347021.Google Scholar
- R. Tarjan. A unified approach to path problems. J. ACM, 28(3):577– 593, 1981. Google Scholar
Digital Library
- R. Tarjan. Fast algorithms for solving path problems. J. ACM, 28(3): 594–614, 1981. Google Scholar
Digital Library
- J. Ullman. Fast algorithms for the elimination of common subexpressions. Acta Inf., 2:191–213, 1973. Google Scholar
Digital Library
- V. Vyssotsky and P. Wegner. A graph theoretical Fortran source language analyzer. Unpublished technical report, Bell Labs, Murray-Hill NJ (as cited in Aho et al., “Compilers: Principles, Techniques, and Tools”, Addison-Wesley, 1986), 1963.Google Scholar
- M. Yannakakis. Graph-theoretic methods in database theory. In PODS, 1990. Google Scholar
Digital Library
Index Terms
Newtonian program analysis via tensor product
Recommendations
Newtonian program analysis via tensor product
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesRecently, Esparza et al. generalized Newton's method -- a numerical-analysis algorithm for finding roots of real-valued functions---to a method for finding fixed-points of systems of equations over semirings. Their method provides a new way to solve ...
Newtonian Program Analysis via Tensor Product
Recently, Esparza et al. generalized Newton’s method—a numerical-analysis algorithm for finding roots of real-valued functions—to a method for finding fixed-points of systems of equations over semirings. Their method provides a new way to solve ...
Newtonian program analysis
This article presents a novel generic technique for solving dataflow equations in interprocedural dataflow analysis. The technique is obtained by generalizing Newton's method for computing a zero of a differentiable function to ω-continuous semirings. ...






Comments