对于开发者而言,stack overflow和github是最为熟悉不过的两大平台,这些平台充斥着大量开源项目信息和解决各类问题的代码片段。而就在近日,palantir的java开发人员,也是stackqflow(与编程相关的问题的问答网站)中排名最高的参与者之一andreas lundblad却承认,一段自己十年前写的代码,也是stack overflow上复制次数最多、传播范围最广的代码段均包含一个错误。
据悉,2018年发表的一篇学术论文[pdf]确定了在网站上发布的代码片段lundblad是从stackoverflow提取的复制最多的java代码,然后在开源项目中重复使用。
该代码段以人类可读格式(例如123.5 mb)打印了字节数(123,456,789字节)。学者发现,此代码已被复制并嵌入到6,000多个github java项目中,比其他任何stackoverflow java代码段都多。
而在上周发布的博客文章中,lundblad则承认,该代码存在缺陷,并且错误地将字节数转换为人类可读的格式。他表示,在学习了学术论文及其结果之后,已重新审视了代码。同时再次查看了该代码,并在其博客上发布了更正的版本。
stackoverflow代码有时包含安全性错误
据了解,尽管lundblad的代码段是存在一个琐碎的转换错误,仅导致文件大小估计稍有不准确,但情况或许可能会更糟。例如,该代码可能包含安全漏洞。如果这样做的话,那么修复所有易受攻击的应用程序将花费数月甚至数年,使用户容易受到攻击。
事实上,即使普遍认为从stackoverflow复制粘贴代码是一个坏主意,但开发人员还是一直这样做。
2018年的研究论文显示了这种做法在java生态系统中的普及程度,并揭示了复制流行的stackoverflow答案的绝大多数开发人员甚至都没有理会其来源。
从stackoverflow复制代码但没有署名的软件开发人员,实际上对其他编码人员隐藏了他们已经在项目内部引入未经审查的代码的情况。
这听起来像是一个过于警惕的声明,但在2019年10月发表的另一项学术研究项目[pdf]显示,stackoverflow代码段确实包含漏洞。该研究论文在过去十年中在stackoverflow上发布的69种最流行的c ++代码片段中发现了主要的安全漏洞。
研究人员透露,他们在总共2859个github项目中发现了这69个易受攻击的代码片段,显示了一个错误的stackoverflow答案如何对整个开源应用生态系统造成破坏。
真值表,真值表是什么意思
逆变焊机的故障解决方法
基于光学无创血糖浓度检测技术
有线温度验证仪、灭菌设备温度验证、灭菌热分布测试
烨映微电子:打破国外垄断,关键技术不断创新
StackOverflow平台传播范围最广的代码段包含一个错误
建设中的智能工厂需考虑的十个核心要素
euroasiaPress2012硅谷探索:最新模拟与数字世界
为什么需要动态频谱共享?
吝啬到底--从显示屏中为笔记本电池榨油
资产评级机构评级报告:以太币优于比特币
设计来源生活 七款LED创意灯泡
无线国产降噪耳机品牌排行榜 国产高性能品牌耳机
高功率车型是否会被低功率车型刷ECU替代?
马化腾两会热议人工智能、移动互联网
适创科技访谈东莞建昌实业:用CAE软件武装研发设计
光学式、磁式和电容式三种该如何选择?
Nokia 8将成旗舰CP王 价格被提前爆料!
哪一家公司在机器视觉上的能力比较强
联发科天玑1000高达70美元?成本投入高所以价格高