Research on flow analysis and optimization of logic programs has typically concentrated on programs that are static, i. e. which do not change at runtime through the use of constructs like Prolog's 'assert'. It is often the case, however, that a program may use assert in a way that has only local effects on parts of the program, leaving the rest of the program unaffected. In such cases, it would be desirable to be able to identify such unaffected portions of the program and carry out analysis and optimization on these portions as before. An outline is presented of how this might be done for a simple class of dynamic programs, using a type analysis scheme to estimate the effects of runtime modifications to the program. The author's approach allows static analysis and optimization techniques that have been developed for static programs to be extended to a reasonably large class of 'well-behaved' dynamic programs.
|Original language||English (US)|
|Title of host publication||Unknown Host Publication Title|
|Number of pages||10|
|State||Published - Dec 1 1987|
ASJC Scopus subject areas