科技公司往往批评其工程劳动力缺乏多样性。近年来,根据公开的多样性报告,这些公司通过招聘和保留努力改善了工程劳动力多样性。一种然而,我们一旦加入组织,我们就会对日常生活的日常生活,在传统的代表性工程师的工作。B.
许多公司的软件工程师的核心活动是代码评论,一个或多个工程师提供关于另一位工程师代码的反馈,以确保软件质量和传播技术知识。1除了软件公司之外,代码审查长期以来在开源软件工程中实施,并作为科学家的重要惯例。2代码审查基本上是一个决策过程,审阅者必须决定代码更改是否可以接受;因此,代码审查易受人类偏见的影响。事实上,开源项目的先前研究表明,妇女授权的一些代码审查比男性授权的人更有可能被拒绝。16.
本文提供了确认证据,即某些人口群体面临的代码审查比其他人的审查推回。没有公布的研究已经研究了企业环境的这种差异。
本节介绍了本研究的设置,我们将其接地,我们使用的依赖性和独立变量,我们的建模方法和数据集。虽然我们简要描述了我们在此处使用的变量,但可以在补充材料中找到完整的描述https://dl.acm.org/doi/10.1145/3474097。
环境。Google的代码审查是该公司单一的CodeBase中使用的进程。14.当软件工程师进行代码更改时 - 添加新功能或修复缺陷 - 至少还必须由其他工程师审查代码。审查人员评估变更的适用性,以及其质量。如果他们有疑虑或问题,他们会在代码审查工具中表达这些评论。大多数审阅者都是作者同一团队的工程师,但也可以在不同的团队中进行评论,例如当软件工程师在代码中修复他们使用的代码时,但通常不起作用。作者选择他们的评论者,但代码审查系统也可以建议适当的审核人员。代码审查工具提供了作者和审阅者,其中有机会彼此了解,包括他们的全名和照片(更多在补充材料中)。
理论和假设。我们的研究基于作用的演示理论,这些理论,这使得一个团队的成员将在与在职责所必需的感知品质中的陈规定型错误时收到负面评估。3.将此应用于我们的背景下,该理论预测,当代码变更的作者属于其刻板印象与成功的程序员或软件工程师的感知质量对齐的组时,将评估代码审查。我们评估我们预测代码审查评估的三个不同的人口统制会有所不同:性别,种族/种族和年龄。
关于性别,我们假设妇女编码人员的评论将比男性的评论更为负面。理由是“普遍的文化协会与男性的普遍文化协会而不是原始智力人才”之间的角色不匹配,以及一些需要高“天生的智力人才”的计算机科学。7.同样,我们假设认为是黑色,西班牙裔或拉丁裔人的人面临的赔率比识别为白人的负面评估,因为随着普遍的社会调查所表明,美国人不太可能将这些群体视为拥有天生的智力的群体。15.另一方面,我们假设那些识别作为亚洲人的人会面临比识别为白色的人更积极的评估,因为亚洲人在工程领域具有更高的作用符号,亚洲人视为具有更高的角色符号。8.由于缺乏先前的研究文献,我们没有对美洲原住民的作用融合作用。最近的研究表明,来自非白开发商的白人开发商的贡献比非白人开发商的贡献更容易被接受。9.关于年龄,我们假设老式工程师比年轻工程师更有可能经历否定审查,因为两个主要的角色不匹配:
依赖变量。我们预测模型中的受抚养变量是推回,定义为“在审阅者阻止更改请求时,定义为”代码审查中不必要的人际关系冲突的感知“。5.在事先工作中,我们没有提供人口分解,我们比较了几种定量信号,这些信号以与角色传统理论相关的两种方式预测了负面评估:1)审查员要求过度变化,2)审计员拒绝批准批准。个人工程师的最强烈预测因子自我报告的推动是代码审查的回顾很多(即作者和审阅者之间,而且在作者和审阅者之间),审稿人花费的大量时间和大量的时间作者所花费的时间涉及审稿人的担忧。在那项工作中,这种评论高回力将在90年钍每公会的百分位数:超过9轮审查,48分钟评论,作者花费112分钟。在这项研究中,我们通过建模审查是否可能被确定为高推送,或者只是“推送”来采用复合措施作为我们独立的变量。
独立变量。主要兴趣的独立变量是性别,种族/种族和年龄。在这里,我们在很大程度上使用谷歌维持的预先存在的人口类别作为美国法律下的报告要求的一部分。对于性别来说,报告的类别是女性或男性。种族/种族包括亚洲+,黑色+,拉丁裔+,原住民+和白色+,“+”表示工程师可以选择多种比赛/民族身份的事实。对于年龄而言,我们将年龄分开到范围内。
独立控制变量。绘制关于代码审查的先前研究,5.那13.那14.那17.用作控件的独立变量基于作者的更改,属性以及其他变量的属性:
独立的相互作用变量。前工作16.建议作者和审阅者之间的关系审核性别偏见效应。要考虑这种更常规的效果,我们模拟了关系(内幕或局外人)和每个独立变量(性别,种族/种族和年龄)之间的互动。
建模方法。由于从属变量是二进制 - 因此将更改被标记为接收回推或没有 - 我们使用了混合效应二项式逻辑回归模型。在此模型中,尝试控制同一工程师在代码评论中反复出现在作者或审阅者,我们使用作者和主要审阅者标识作为随机效果。如我们前进的回力,5.我们在主要独立变量的差异比率方面描述了效果规模,以及它们的统计学意义。我们解决了潜在的多色性问题,执行差异通胀因子(VIF)和广义方差通胀因子(GVIF)6.检查独立变量;由于所有连续变量的VIF分数低于1.3,并且对分类变量的GVIF分数低于1.5,我们假设多型性是对我们模型解释的大量威胁。我们还通过对不同数据集进行复制来确保我们分析的稳健性;我们发现,性别和种族/种族效应非常一致,年龄效应在很大一致(见补充材料)。
数据集。我们分析了代码审查,以2019年1月初于2019年1月初于2019年6月截至2019年6月底,遵循以下约束,分析了谷歌的一个主要审查工具。Reviews must have had at least one reviewer (which excludes some experimental, emergency, and documentation changes), and both the author and all reviewers must be full-time-equivalent Google employees working in the U.S. Changes from authors who had incomplete demographic data were excluded. In sum, this analysis includes more than two million code reviews from over 30,000 authors.
图1显示我们的混合效应回归预测代码审查推送的结果。图表的左半部分显示了模型的独立变量,以及它们在括号中的p值。右半部分显示了每个独立变量的差距。少于1.0的差距均值较低;大于1.0的赔率比平均值较高。
图1.回归分析中的差距预测控制(a)的代码审查中的回顾,感兴趣的主要人口统计预测因子(b)和局外人互动(c)。对于非显着效果,省略了大量比率。
图1(a)显示我们的控制变量。例如,第一行表示在代码审查中更改的行数的日志显着(p <.001)与推送相关。更改更多代码行增加了审核的次数被标记为Bushback。另一方面,与非LSC评论相比,当地批准的大规模变化(LSC)审查(LSC)评论 - 一般识别的低风险变更显着降低(0.02)。正如该数字所示,每个新审阅者都会增加推送的几率(2.73),以及审查是否是可读性认证过程的一部分(1.58),以及是否需要经过认证的可读性审阅者(1.58)。没有代码的审查 - 例如,仅限于 - 不太可能使用推送(0.4)标记的文档(0.4),而不是使用代码进行审核。
作为图1(a)表明,工作相关的作者特征也会改变推送的几率。更多高级作者的评论不太可能收到比例如入门级工程师(第3级)的推送。这证实了事先工作的结果5.更高级的工程师不太可能面临推送。同样,在谷歌不到一年的评论作者更有可能面对推动的可能性超过组织的时间更长。在我们模式中包括协调会的这种经验有助于孤立可能会对困扰结果的人口统计因素 - 协变量。例如,谷歌的2020年多元化报告指出,女性往往比男性更低的磨损,而美国本土+员工比白人+员工更高的消磨。
与最常见的软件工程角色软件工程师相比,或其他类型工程师(ENG_OTER)和研究科学家工程师等的ENG_SOFT-更改(如研究科学家工程师)和非工程师(其他技术操作员工)更有可能接受推送。与基线,常规软件工程师相比,我们没有检测到从站点可靠性工程师(Eng_sre)的变化的差异差异。由于SRE作者的推送不显着,因此我们省略了SRES和其他几个地方的差距图1对于非重大因素。
一些人口组面临比其他人的代码审查推送。
图1(b)显示评估我们的假设 - 人口统计预测因子的结果。由于我们的模型使用人口统计数据与关系之间的互动效果,因此第一套人口统计数据应该被解释为申请内部人 - 也就是说,当作者和主要评论者在同一支队时。
关于性别,与在GitHub上观察到的性别相关性,16.妇女的变化有1.21个接受推移的可能性比男性的变化更高。同样,与白+工程师相比,识别为黑色+(1.54),西班牙裔或拉丁X +(1.15)和亚洲+(1.42)的作者上的回力的几率更高。关于年龄,结果表明,与年轻工程师相比,旧工程师的变化与年轻工程师相比,即使在核对资历和任期之后也会有更多的推动。例如,60岁或以上的工程师撰写的变更超过了超过18至24岁之间的作者的推送的三倍以上。
图1(c)显示Outsider Code评论的结果。总体而言,结果表明,不同团队的工程师的代码审查比作者更高的赔率(1.15)的回顾。对于种族/种族和性别,内幕和户外守则的统计学意义差异很大,而且与事先工作不同,16.关系不是一个实质的调解因子。在存在统计学上显着的相互作用的情况下,效果是复合的。例如,与18至24岁的内幕人员相比,该模型将天真地预测,截至30至34岁之间的局外作者的评论将有1.36(每年30-34岁的速度为1.18次对于外人来说,接力率的几率更大,但相互作用系数表明,该组的电压的实际可能性甚至更高,在1.77。
总之,这些结果表明,无论作者和主要审核人员之间的团队关系如何,来自一些人口统计团体的作者面临比其他人的代码审查中的回顾几率更高。女性作者面临的次数比男性更高的推移;亚洲人,黑人和西班牙裔/拉丁裔X作者面临比白色作者更高的赔率;老年作者面临比年轻作者更高的赔率。
最后,我们在赔率比率方面提出了效果大小,但这些差异在实际术语方面是什么意思?我们通过近似于守则审查过程中的过度的推送成本来回答这个问题,特别是在额外回顾的额外回顾中,一个倒退的一个组成部分。5.我们通过建模审查数量变化来实现这一目标,从而减去它的预测,这是作者是一名白人男性,然后估计作者在一轮中发表评论所花费的时间审查(详情在于补充材料,包括警告)。我们估计研究期间花费的过度时间总量为每天1,050小时,或约4%的估计时间工程师花费回顾员评论,非白色和非男性工程师的成本承担。虽然此号码提供了一个视图,但是建议读者谨慎地解释这种估算。
与事先工作相比,发现一些妇女在其性别显而易见时面临着减少成功的审查,16.本文的结果不仅表明,女性作者的推动率与局外人员和内部人员都具有更大的推动措施,但这种效果延伸到其他人口群。
与实验环境不同,诸如我们的横截面追溯研究不能确定性,人口统计因素与推送之间存在因果关系。可能存在我们无法控制的潜在第三种变量。例如,与我们假设从角色传统理论中的假设相反,我们发现亚洲工程师面临比白人工程师更大的推动措施。这里隐藏的第三变量可能是工程师是否将英语称为第一语言。当代码审查讨论期间,作为第二语言讲英语作为第二语言的人可能面临更多难度涉及他们的意图和理由,延长成功捍卫代码审查并表现为推送所需的时间。更广泛地,可能存在其他隐藏变量,例如审查变更中的代码质量。我们的分析在其他方式中有限,我们在补充材料中枚举。
我们估计,每天超过1000小时在谷歌响应“过度”的推动下,由非白色,非男性或旧工程师的成本承担。概念化这一估计的一种方法是一个机会;如果我们可以减少这些工程群体的推送,他们可以在其他地方富有成效。但是,概念化这项研究也有一种反向方法:白色,男性和年轻工程师们有幸收到比其他人口统计数据更少的推送。在任何一种情况下,我们都会查看减少人口统计组之间的差距作为一个有价值的目标,我们希望我们的软件在尝试这样做时提高。
在谷歌,一家公司范围内目标是使我们的工作场所公平,本文提供了一种衡量实现这一目标的进展。我们对此目的的举措越来越多,来自偏见破坏训练C匿名作者代码审查。10.我们期待着了解这些举措是否会培养更加公平的工程师群体在工作场所。
我们感谢Alison Song,Alyson Palmer,Amir Najmi,Andrea Knight,Annie Jean-Baptiste,Ash Kumar,Asim Husain,Ben Holtz,Caitlin Hogan,Collin Green,Dany Berlin,David Patterson,David Sinclair,Diane Tang,David Sinclair,Diane Tang,ElvinLee,Jill Dicker,Liz Kammer,LuizAndréBarroso,Maggie Hodges,Mark Canning,Matthew Jorde,Meltody Meckfessel,Melonie Parker,Nina Chen,Rachel Potvin,Ted Smith以及匿名审查员在整个这项研究中得到帮助。
数字。观看作者在独家中讨论这项工作通讯视频。//www.eqigeno.com/videos/the-pushback-.effects.
1. Bacchelli,A.和Bird,C.预期,结果和现代守则审查的挑战。国际联盟。关于软件工程(2013),712-721。
2.检查Hayden,E. Mozilla计划寻求调试科学规范。自然新闻501.,7468(2013),472。
鹰,A.H.和Karau,S.J.偏见对女性领导者的作用传统理论。心理评论109.,3(2002),573。
4. EBY,L.T.,McManus,S.E.,Simon,S.A.和Russell,J.E.Protege对负面指导经历的观点:分类系统的发展。J.职业行为57,1(2000),1-21。
5.埃格尔曼,C.D.,Murphy-Hill,E.,Kammer,E.,Hodges,M.M.,Green,C.,Jaspan,C.和Lin,J.Porkback:在代码审查中表征和检测负负面的人际交互。实习生。Conf。关于软件工程(2020),174-185。
6. Fox,J.和Monette,G.广义共同性诊断。J.美国统计协会87,417(1992),178-183。
7. Leslie,S.J.,Cimpian,A.,Meyer,M.和Freeland,E。辉煌对学科性别分布的期望。科学347.,6219(2015),262-265。
8. Leong,F.T.和海耶斯,T.J.亚裔美国人的职业陈规定型观念。职业发展季刊39,2(1990),143-154。
9.李,P.L.,KO,A.J.和Begel,A.是什么区分了伟大的软件工程师?经验软件工程25,1(2020),322-352。
10.。Murphy-Hill, E., Dicker, J., Hodges, M., Egelman, C.D., Jaspan, C.N.C., Cheng, L., Kammer, L., Holtz, B., Jorde, M.A., Dolan, A.M.K., and Green, C. Engineering impacts of anonymous author code review: A field experiment.跨。关于软件工程。(出现)。
11. NADRI,R.,RODRIGUEZ-PEREZ,G.和Nagappan,M。开发商可察觉的种族和种族与OSS捐款之间的关系。跨。关于软件工程。(出现)。
12. Posthuma,R.A.和露营,M.A.年龄刻板印象在工作场所:常见的刻板印象,主持人和未来的研究方向。J. Management 35,1(2009),158-188。
13. Potvin,R.和Levenberg,J.为什么谷歌在单个存储库中存储数十亿行代码。ACM 59的通信,7(2016),78-87。
14. Sadowski,C.,Söderberg,E.,教堂,L.,Sipko,M.和Bacchelli,A.现代守则评论:谷歌案例研究。实习生。Conf。关于软件工程:软件工程在实践中(2018),181-190。
15.史密斯,T.W.,Davern,M.,Freese,J.和Morgan,S.L.一般社会调查(2019)。
16. Terrell,J.,Kofink,A.,Middleton,J.,Rainear,C.,Murphy-Hill,E.,Parnin,C.和Stallings,J.性别差异和开放偏见:拉请求验收女性与男性。PEERJ计算机科学3,e111(2017)。
17. Yu,Y.,Wang,H.,Filkov,V.,Devanbu,P.和Vasilescu,B.等待它:GITHUB上拉请求评估延迟的决定因素。工作组会。挖掘软件存储库(2015),367-371。
一种。看https://www.aboutamazon.com/working-at-amazon/diversity-andclusions/ourworkforce-data.那https://www.apple.com/diversity/那https://diversity.fb.com/readreport/那https://diversity.google/annual-report/, 和https://www.microsoft.com/enus/diversity/。
湾在本文中,为方便起见,我们将参与代码审查的人称为“工程师”,即使我们将看到,非工程师也参与了代码审查过程。
C。看https://rework.withgoogle.com/guides/unbiasing-hold-everyone-accountable/steps/give-your-un -unbiasing-workshop//
更多在线:本文仅限于此的辅助材料https://dl.acm.org/doi/10.1145/3474097。
数字图书馆由Computing Machinery协会发布。版权所有©2022 ACM,Inc。
没有发现任何条目