集合

必须为有限集合

针对一个具体范围,我们考虑的所有对象的集合叫做全集,记作U或者E,在文氏图一般使用方形表示全集。

在CodeQL中,全集是数据库中的所有数据。

CodeQL Java常用集合:
方法集合 Method:

  1. public String getOrderId() {
  2. return orderId;
  3. }
  1. public void settOrderNo(Long orderId) {
  2. this.orderId = orderId;
  3. }

赋值表达式集合 AssignExpr:

  1. this.orderId = orderId
  1. this.orderName = baseName + orderName

命题

集合的运算与CodeQL类

具体类

  1. class D extends U{}
  2. class C extends D{}
  3. class B extends C{}
  4. class A extends B{}

A ∈ U,A = A ∩ B ∩ C ∩ D
抽象类

  1. abstract class A extends U{}
  2. class B extends A{}
  3. class C extends A{}
  4. class D extends A{}

集合A初始时是一个空集
A ∈ U,A = A ∩ (B ∪ C ∪ D)

谓词

简单命题分解:命题是具有真假意义的陈述句,从语法上分析,一个陈述句由主语和谓语两部分组成。
image.png
image.png
在原子命题中,可以独立存在的客体(句子中的主语、宾语等)称为个体词。而用来刻画客体的性质或客体之间的关系即是谓词。