DocumentCode
2442441
Title
Using dynamic analysis to discover polynomial and array invariants
Author
Nguyen, ThanhVu ; Kapur, Deepak ; Weimer, Westley ; Forrest, Stephanie
Author_Institution
Comput. Sci., Univ. of New Mexico, Albuquerque, NM, USA
fYear
2012
fDate
2-9 June 2012
Firstpage
683
Lastpage
693
Abstract
Dynamic invariant analysis identifies likely properties over variables from observed program traces. These properties can aid programmers in refactoring, documenting, and debugging tasks by making dynamic patterns visible statically. Two useful forms of invariants involve relations among polynomials over program variables and relations among array variables. Current dynamic analysis methods support such invariants in only very limited forms. We combine mathematical techniques that have not previously been applied to this problem, namely equation solving, polyhedra construction, and SMT solving, to bring new capabilities to dynamic invariant detection. Using these methods, we show how to find equalities and inequalities among nonlinear polynomials over program variables, and linear relations among array variables of multiple dimensions. Preliminary experiments on 24 mathematical algorithms and an implementation of AES encryption provide evidence that the approach is effective at finding these invariants.
Keywords
cryptography; polynomials; program debugging; program diagnostics; software maintenance; AES encryption; SMT solving; array invariant discovery; array variables; debugging tasks; documenting tasks; dynamic invariant analysis; dynamic invariant detection; equation solving; linear relations; nonlinear polynomials; polyhedra construction; polynomial invariant discovery; program traces; program variables; refactoring tasks; satisfiability modulo theory; Arrays; Complexity theory; Educational institutions; Performance analysis; Polynomials; array invariants; dynamic analysis; invariant generation; nonlinear invariants; program analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location
Zurich
ISSN
0270-5257
Print_ISBN
978-1-4673-1066-6
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1109/ICSE.2012.6227149
Filename
6227149
Link To Document