An empirical investigation of socio-technical code review metrics and security vulnerabilities

Andrew Meneely, Alberto Rodriguez Tejeda, B. Spates, Shannon Trudeau, Danielle Neuberger, K. Whitlock, Christopher Ketant, Kayla Davis
{"title":"An empirical investigation of socio-technical code review metrics and security vulnerabilities","authors":"Andrew Meneely, Alberto Rodriguez Tejeda, B. Spates, Shannon Trudeau, Danielle Neuberger, K. Whitlock, Christopher Ketant, Kayla Davis","doi":"10.1145/2661685.2661687","DOIUrl":null,"url":null,"abstract":"One of the guiding principles of open source software development is to use crowds of developers to keep a watchful eye on source code. Eric Raymond declared Linus'' Law as \"many eyes make all bugs shallow\", with the socio-technical argument that high quality open source software emerges when developers combine together their collective experience and expertise to review code collaboratively. Vulnerabilities are a particularly nasty set of bugs that can be rare, difficult to reproduce, and require specialized skills to recognize. Does Linus' Law apply to vulnerabilities empirically? In this study, we analyzed 159,254 code reviews, 185,948 Git commits, and 667 post-release vulnerabilities in the Chromium browser project. We formulated, collected, and analyzed various metrics related to Linus' Law to explore the connection between collaborative reviews and vulnerabilities that were missed by the review process. Our statistical association results showed that source code files reviewed by more developers are, counter-intuitively, more likely to be vulnerable (even after accounting for file size). However, files are less likely to be vulnerable if they were reviewed by developers who had experience participating on prior vulnerability-fixing reviews. The results indicate that lack of security experience and lack of collaborator familiarity are key risk factors in considering Linus’ Law with vulnerabilities.","PeriodicalId":280437,"journal":{"name":"Proceedings of the 6th International Workshop on Social Software Engineering","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"50","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 6th International Workshop on Social Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2661685.2661687","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 50

Abstract

One of the guiding principles of open source software development is to use crowds of developers to keep a watchful eye on source code. Eric Raymond declared Linus'' Law as "many eyes make all bugs shallow", with the socio-technical argument that high quality open source software emerges when developers combine together their collective experience and expertise to review code collaboratively. Vulnerabilities are a particularly nasty set of bugs that can be rare, difficult to reproduce, and require specialized skills to recognize. Does Linus' Law apply to vulnerabilities empirically? In this study, we analyzed 159,254 code reviews, 185,948 Git commits, and 667 post-release vulnerabilities in the Chromium browser project. We formulated, collected, and analyzed various metrics related to Linus' Law to explore the connection between collaborative reviews and vulnerabilities that were missed by the review process. Our statistical association results showed that source code files reviewed by more developers are, counter-intuitively, more likely to be vulnerable (even after accounting for file size). However, files are less likely to be vulnerable if they were reviewed by developers who had experience participating on prior vulnerability-fixing reviews. The results indicate that lack of security experience and lack of collaborator familiarity are key risk factors in considering Linus’ Law with vulnerabilities.
对社会技术代码审查度量和安全漏洞的实证调查
开源软件开发的指导原则之一是使用大量开发人员来密切关注源代码。Eric Raymond宣称Linus的“定律”是“多只眼睛会让所有的bug变得肤浅”,他的社会技术论点是,当开发人员将他们的集体经验和专业知识结合在一起,共同审查代码时,高质量的开源软件就会出现。漏洞是一组特别令人讨厌的错误,它们可能很少见,难以重现,并且需要专门的技能才能识别。莱纳斯定律是否适用于漏洞?在这项研究中,我们分析了Chromium浏览器项目中的159,254个代码审查,185,948个Git提交和667个发布后漏洞。我们制定、收集并分析了与Linus定律相关的各种度量,以探索协作评审与评审过程中遗漏的漏洞之间的联系。我们的统计关联结果显示,被更多开发人员审查的源代码文件,与直觉相反,更容易受到攻击(即使在考虑了文件大小之后)。然而,如果文件是由有参与先前漏洞修复审查经验的开发人员审查的,那么它们就不太可能是易受攻击的。结果表明,缺乏安全经验和缺乏合作伙伴的熟悉程度是考虑Linus法则与漏洞的关键风险因素。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信