TY - JOUR
T1 - Enforcing termination of interprocedural analysis
AU - Schulze Frielinghaus, Stefan
AU - Seidl, Helmut
AU - Vogler, Ralf
N1 - Publisher Copyright:
© 2017, Springer Science+Business Media, LLC.
PY - 2018/10/1
Y1 - 2018/10/1
N2 - Interprocedural analysis by means of partial tabulation of summary functions may not terminate when the same procedure is analyzed for infinitely many abstract calling contexts or when the abstract domain has infinite strictly ascending chains. As a remedy, we present a novel local solver for general abstract equation systems, be they monotonic or not, and prove that this solver fails to terminate only when infinitely many variables are encountered. We clarify in which sense the computed results are sound. Moreover, we show that interprocedural analysis performed by this novel local solver, is guaranteed to terminate for all non-recursive programs—irrespective of whether the complete lattice is infinite or has infinite strictly ascending or descending chains.
AB - Interprocedural analysis by means of partial tabulation of summary functions may not terminate when the same procedure is analyzed for infinitely many abstract calling contexts or when the abstract domain has infinite strictly ascending chains. As a remedy, we present a novel local solver for general abstract equation systems, be they monotonic or not, and prove that this solver fails to terminate only when infinitely many variables are encountered. We clarify in which sense the computed results are sound. Moreover, we show that interprocedural analysis performed by this novel local solver, is guaranteed to terminate for all non-recursive programs—irrespective of whether the complete lattice is infinite or has infinite strictly ascending or descending chains.
KW - Abstract interpretation
KW - Interprocedural analysis
KW - Local solvers
KW - Partial tabulation
KW - Static program analysis
UR - http://www.scopus.com/inward/record.url?scp=85026833039&partnerID=8YFLogxK
U2 - 10.1007/s10703-017-0288-5
DO - 10.1007/s10703-017-0288-5
M3 - Article
AN - SCOPUS:85026833039
SN - 0925-9856
VL - 53
SP - 313
EP - 338
JO - Formal Methods in System Design
JF - Formal Methods in System Design
IS - 2
ER -