A set of methods for interprocedural analysis is proposed. First, an ap-proach for interprocedural constant propagation is given. Then the concept of constant propagation is extended so as to meet the needs of data de...A set of methods for interprocedural analysis is proposed. First, an ap-proach for interprocedural constant propagation is given. Then the concept of constant propagation is extended so as to meet the needs of data dependence analysis. Besides certain constant, constant range can also be propagated. The related propagating rules are introduced, and an idea for computing Return function is given. This approach can solve almost all interprocedural constant propagation problems with non-recursive calls. Second, a muItiple-version par-allelizing technique is also proposed for alias problem. The work related to this paper has been implemented on a shared-memory parallel computer.展开更多
A two-phase monadic approach is presented for monadically slicing programs with procedures. In the monadic slice algorithm for interprocedural programs, phase 1 initializes the slice table of formal parameters in a pr...A two-phase monadic approach is presented for monadically slicing programs with procedures. In the monadic slice algorithm for interprocedural programs, phase 1 initializes the slice table of formal parameters in a procedure with the given labels, and then captures the callees' influence on callers when analyzing call statements. Phase 2 captures the callees' dependence on callers by replacing all given labels appearing in the corresponding sets of formal parameters. By the introduction of given labels, this slice method can obtain similar summary information in system-dependence-graph(SDG)-based algorithms for addressing the calling-context problem. With the use of the slice monad transformer, this monadic slicing approach achieves a high level of modularity and flexibility. It shows that the monadic interprocedural algorithm has less complexity and it is not less precise than SDG algorithms.展开更多
文摘A set of methods for interprocedural analysis is proposed. First, an ap-proach for interprocedural constant propagation is given. Then the concept of constant propagation is extended so as to meet the needs of data dependence analysis. Besides certain constant, constant range can also be propagated. The related propagating rules are introduced, and an idea for computing Return function is given. This approach can solve almost all interprocedural constant propagation problems with non-recursive calls. Second, a muItiple-version par-allelizing technique is also proposed for alias problem. The work related to this paper has been implemented on a shared-memory parallel computer.
基金The National Outstanding Young Scientist Foundation by NSFC(No.60703086,60503020)
文摘A two-phase monadic approach is presented for monadically slicing programs with procedures. In the monadic slice algorithm for interprocedural programs, phase 1 initializes the slice table of formal parameters in a procedure with the given labels, and then captures the callees' influence on callers when analyzing call statements. Phase 2 captures the callees' dependence on callers by replacing all given labels appearing in the corresponding sets of formal parameters. By the introduction of given labels, this slice method can obtain similar summary information in system-dependence-graph(SDG)-based algorithms for addressing the calling-context problem. With the use of the slice monad transformer, this monadic slicing approach achieves a high level of modularity and flexibility. It shows that the monadic interprocedural algorithm has less complexity and it is not less precise than SDG algorithms.