@MISC{_interprocedurallyanalyzing, author = {}, title = {Interprocedurally Analyzing Polynomial Identities}, year = {} }
Share
OpenURL
Abstract
Abstract. Since programming languages are Turing complete, it is impossibleto decide for all programs whether a given non-trivial semantic property is valid or not. The way-out chosen by abstract interpretation is to provide approximatemethods which may fail to certify a program property on some programs. Precision of the analysis can be measured by providing classes of programs for whichthe analysis is complete, i.e., decides the property in question. Here, we consider analyses of polynomial identities between integer variables such as x1 * x2- 2x3 = 0. We describe current approaches and clarify their completeness proper-ties. We also present an extension of our approach based on weakest precondition computations to programs with procedures and equality guards. 1 Introduction Invariants and intermediate assertions are the key to deductive verification of programs.Correspondingly, techniques for automatically checking and finding invariants and intermediate assertions have been studied (cf., e.g., [3, 2, 22]). In this paper we presentanalyses that check and find valid polynomial identities in programs. A polynomial identity is a formula p(x1,..., xk) = 0 where p(x1,..., xk) is a multi-variate polyno-mial in the program variables x