读论文“discriminationTesting”

我们的因果歧视评分是一种更强的歧视测量,因为它在软件中寻找因果关系,测量输入的分数,改变特定的输入特征导致输出改变。因果辨别评分确定哪些特征会直接影响输出结果,例如,虽然群体和明显的歧视得分惩罚软件提供贷款给不同的分数对于不同种族的个人,因果歧视评分会惩罚向一个种族的个人提供贷款的软件,而不是向另一个种族的相同个人提供贷款的软件。

群体歧视(算法1)测量群体歧视得分相对于其输入特征X '的子集。根据定义3.6,GroupDiscrimination将X '固定在特定的值上(第2行),以计算固定了X '值的所有测试中产生真实输出的部分。while循环(第5行)为剩余的输入特征(第7行)生成随机输入分配,将它们存储在测试套件中,并度量积极输出的计数。如果没有缓存执行,算法执行测试(第9行);否则,算法从缓存中检索软件输出(第12行)。经过最小采样阈值(16行),它会检查如果ϵ误差达到所需的信心(第18行)。如果是,GroupDiscrimination将终止当前组的计算,并更新最大和最小值(第20-21行)。

Themis通过三种优化来解决这些问题:(1)测试缓存,(2)自适应,信心驱动抽样,(3)声音修剪。这三种技术都减少了计算群体歧视和因果歧视所需的测试用例的数量。

测试缓存。精确计算群体和因果歧视的得分需要执行大量的测试。然而,很多这种计算是重复:测试相关群体歧视也有关因果歧视,和测试相关的一组特征也可以与另一组相关。公平的冗余测试允许忒弥斯利用缓存重用测试结果没有重新执行测试。测试缓存具有较低的存储开销,并提供了显著的运行时收益。

自适应,confidence-driven抽样。由于穷举测试是不可行的,Themis通过抽样计算近似群体和因果区分得分。忒弥斯是自适应抽样,使用持续的分数计算来确定指定的保证金的errorϵ配置已经达到预期的信心水平。Themis使用输入模式均匀随机地生成输入,并保持软件输出为真(组歧视)或软件改变输出(因果歧视)的样本比例(p)。则p的误差幅度计算为:

群体歧视(算法1)测量群体歧视得分相对于其输入特征X '的子集。根据定义3.6,GroupDiscrimination将X '固定在特定的值上(第2行),以计算固定了X '值的所有测试中产生真实输出的部分。while循环(第5行)为剩余的输入特征(第7行)生成随机输入分配,将它们存储在测试套件中,并度量积极输出的计数。如果没有缓存执行,算法执行测试(第9行);否则,算法从缓存中检索软件输出(第12行)。经过最小采样阈值(16行),它会检查如果ϵ误差达到所需的信心(第18行)。如果是,GroupDiscrimination将终止当前组的计算,并更新最大和最小值(第20-21行)。