Newtank

个人站

欢迎来到我的个人站~


类防火墙算法

目录

类防火墙是一个类级别的测试依赖分析算法。其思想是利用类关系计算类变更时其他受影响的类。

类型间关系图

对于给定的程序$P$,其类型间关系图IRG为三元组$<N,E_I,E_U>$,其中$N$为节点的集合,节点表示一种类型。$E_I$为类型间表示继承关系的有向边集,$E_U$表示类型间使用关系的有向边集。

基于IRG,类防火墙为可以通过边直接或间接到达变更类型的类型集合。对于一组给定的变更类型$\tau \in N$

,利用依赖关系$D=(E_I \cup E_U)^{-1}$的传递闭包,可计算得出类防火墙: \(firewall(\tau)=\tau \circ D^*\) 其中“-1”表示取逆,“*”表示自反和传递闭包,“o”表示关系积。

该方法同样可用于方法级依赖分析。

类防火墙算法的特点:

  • 构造出的图更小,计算开销小;

  • 会选出许多无关的测试方法,精度较低,但也不容易发生遗漏,安全性相对更高。