指针分析与UML可理解性度量研究
指针分析相关内容
在指针分析领域,有一系列重要的理论和规则。首先,有相关的证明过程,假设存在 $(m′, δ′′)$,其中 $m′ ∈M$,并且 $(S1, δ′′) ⇝m′ (v, δ′)$。在这种情况下,$A′ = {(l, M) | (l, m) ∈A}$。通过对 $S1$ 和 $S2$ 的归纳假设,可以得出 $δ′ |= p′$,并且如果 $v ∈gAddrs$,那么它会被某个 $a = (l′, ms′) ∈A$ 抽象。假设 $v = (l, m, a) ∈gAddrs$,那么对于包含 $m$ 的某个 $ms$,有 $(l, ms) ∈A$,进而得出 $(l, M) ∈A′$,且这个元素可以抽象 $v$,完成了该情况的证明。
根据定理 1,利用语义和指针规则(main - sem)和(main - pt),可以得到如下推论:
- 推论 1:假设 $(S, δ) ⇝M (v, δ′)$,$S : p →M (A′, p′)$ 且 $δ |= p$,则:
- 若 $v ∈gAddrs$,那么 $v ∈A$;
- $δ′ |= p′$。
另外,将以下规则替换上述指针分析类型系统中相应的规则,可得到一种流敏感且上下文不敏感的指针分析:
- $name ∈dom(fe)$
- $(nameci_1)$:$name : p →m sup{p, fe(name)}$
- $(fe1)$:$ε : fe ⇝m fe$
- 若 $S : ∅→p$,$Defs : fe[name →p] ⇝m fe′$
- $(fe2)$:$(name = S); Defs : (fd, fe
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



