TY - JOUR
T1 - Flow analysis of dynamic logic programs
AU - Debray, Saumya K.
PY - 1989/9
Y1 - 1989/9
N2 - Research on flow analysis and optimization of logic programs typically assumes that the programs being analyzed are static, i.e. any code that can be executed at runtime is available for analysis at compile time. This assumption may not hold for "real" programs, which can contain dynamic goals of the form call(X), where X is a variable at compile time, or where predicates may be modified via features like assert and retract. In such contexts, a compiler must be able to take the effects of such dynamic constructs into account in order to perform nontrivial flow analyses that can be guaranteed to be sound. This paper outlines how this may be done for certain kinds of dynamic programs. Our techniques allow analysis and optimization techniques that have been developed for static programs to be extended to a large class of "well-behaved" dynamic programs.
AB - Research on flow analysis and optimization of logic programs typically assumes that the programs being analyzed are static, i.e. any code that can be executed at runtime is available for analysis at compile time. This assumption may not hold for "real" programs, which can contain dynamic goals of the form call(X), where X is a variable at compile time, or where predicates may be modified via features like assert and retract. In such contexts, a compiler must be able to take the effects of such dynamic constructs into account in order to perform nontrivial flow analyses that can be guaranteed to be sound. This paper outlines how this may be done for certain kinds of dynamic programs. Our techniques allow analysis and optimization techniques that have been developed for static programs to be extended to a large class of "well-behaved" dynamic programs.
UR - http://www.scopus.com/inward/record.url?scp=0024738270&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0024738270&partnerID=8YFLogxK
U2 - 10.1016/0743-1066(89)90013-7
DO - 10.1016/0743-1066(89)90013-7
M3 - Article
AN - SCOPUS:0024738270
SN - 0743-1066
VL - 7
SP - 149
EP - 176
JO - The Journal of Logic Programming
JF - The Journal of Logic Programming
IS - 2
ER -