集合
必须为有限集合
针对一个具体范围,我们考虑的所有对象的集合叫做全集,记作U或者E,在文氏图一般使用方形表示全集。
在CodeQL中,全集是数据库中的所有数据。
CodeQL Java常用集合:
方法集合 Method:
public String getOrderId() {
return orderId;
}
public void settOrderNo(Long orderId) {
this.orderId = orderId;
}
赋值表达式集合 AssignExpr:
this.orderId = orderId
this.orderName = baseName + orderName
命题
集合的运算与CodeQL类
具体类
class D extends U{}
class C extends D{}
class B extends C{}
class A extends B{}
A ∈ U,A = A ∩ B ∩ C ∩ D
抽象类
abstract class A extends U{}
class B extends A{}
class C extends A{}
class D extends A{}
集合A初始时是一个空集
A ∈ U,A = A ∩ (B ∪ C ∪ D)
谓词
简单命题分解:命题是具有真假意义的陈述句,从语法上分析,一个陈述句由主语和谓语两部分组成。
在原子命题中,可以独立存在的客体(句子中的主语、宾语等)称为个体词。而用来刻画客体的性质或客体之间的关系即是谓词。