0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

StackOverflow平台传播范围最广的代码段包含一个错误

汽车玩家 来源:开源中国 作者:白开水不加糖 2019-12-08 10:48 次阅读

对于开发者而言,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代码段都多。

StackOverflow平台传播范围最广的代码段包含一个错误

而在上周发布的博客文章中,Lundblad则承认,该代码存在缺陷,并且错误地将字节数转换为人类可读的格式。他表示,在学习了学术论文及其结果之后,已重新审视了代码。同时再次查看了该代码,并在其博客上发布了更正的版本。

STACKOVERFLOW代码有时包含安全性错误

据了解,尽管Lundblad的代码段是存在一个琐碎的转换错误,仅导致文件大小估计稍有不准确,但情况或许可能会更糟。例如,该代码可能包含安全漏洞。如果这样做的话,那么修复所有易受攻击的应用程序将花费数月甚至数年,使用户容易受到攻击。

事实上,即使普遍认为从StackOverflow复制粘贴代码是一个坏主意,但开发人员还是一直这样做。

2018年的研究论文显示了这种做法在Java生态系统中的普及程度,并揭示了复制流行的StackOverflow答案的绝大多数开发人员甚至都没有理会其来源。

从StackOverflow复制代码但没有署名的软件开发人员,实际上对其他编码人员隐藏了他们已经在项目内部引入未经审查的代码的情况。

这听起来像是一个过于警惕的声明,但在2019年10月发表的另一项学术研究项目[PDF]显示,StackOverflow代码段确实包含漏洞。该研究论文在过去十年中在StackOverflow上发布的69种最流行的C ++代码片段中发现了主要的安全漏洞。

研究人员透露,他们在总共2859个GitHub项目中发现了这69个易受攻击的代码片段,显示了一个错误的StackOverflow答案如何对整个开源应用生态系统造成破坏。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2970

    浏览量

    104814
  • 开源
    +关注

    关注

    3

    文章

    3363

    浏览量

    42538
收藏 人收藏

    评论

    相关推荐

    超级干货!本地搭建代码托管平台Gitea

    1关于GiteaGitea是轻量级的Git托管服务,也就是基于Git的代码托管平台,类似于GitHub、Gitee等。Gitea相对于其他代码
    的头像 发表于 12-19 19:33 183次阅读
    超级干货!本地搭建<b class='flag-5'>代码</b>托管<b class='flag-5'>平台</b>Gitea

    超声波清洗的传播原理与应用范围

    ‌超声波清洗的传播原理‌是基于超声波在液体中的空化作用、加速度作用及直进流作用。超声波是种振动频率高于声波的机械波,由换能器在电压的激励下产生振动。当超声波在液体中传播时,液体中的气泡会在超声波
    的头像 发表于 12-19 09:04 78次阅读
    超声波清洗的<b class='flag-5'>传播</b>原理与应用<b class='flag-5'>范围</b>

    devops使用最广泛的集成工具盘点

    devops使用最广泛的集成工具包括GitLab(全栈DevOps平台)、Jenkins(CI/CD自动化服务器)、Docker(容器化威廉希尔官方网站 )、Kubernetes(容器编排平台)、Ansible
    的头像 发表于 11-26 13:48 176次阅读

    SQL错误代码及解决方案

    在SQL数据库开发和管理中,常见的错误代码及其解决方案可以归纳如下: 、语法错误(Syntax Errors) 错误代码 :无特定代码,但
    的头像 发表于 11-19 10:21 1928次阅读

    【每天学点AI】前向传播、损失函数、反向传播

    在深度学习的领域中,前向传播、反向传播和损失函数是构建和训练神经网络模型的三核心概念。今天,小编将通过简单的实例,解释这三
    的头像 发表于 11-15 10:32 679次阅读
    【每天学点AI】前向<b class='flag-5'>传播</b>、损失函数、反向<b class='flag-5'>传播</b>

    SUMIF函数常见错误及解决方案

    SUMIF函数是Excel中非常实用的函数,用于根据给定条件对数据进行求和。然而,在使用过程中,用户可能会遇到些常见错误。 1. 错误
    的头像 发表于 11-11 09:10 1466次阅读

    代码物联网云平台是什么?有什么功能?

    在数字化时代,物联网(IoT)威廉希尔官方网站 迅猛发展,将物理世界与数字世界紧密连接,实现了设备间的智能交互和数据共享。随着物联网应用的日益广泛,如何高效、快速地构建物联网应用成为了重要议题。低代码物联网云
    的头像 发表于 10-16 13:59 243次阅读

    ModusToolbox 3.2在c代码包含c++代码的正确步骤是什么?

    使用 ModusToolbox 3.2 我有用纯 C 语言编写的 XMC4700 项目。 我正在尝试添加些 C++ 函数,并将其合并到我的原始代码中。 我可以构建独立的 .cpp
    发表于 07-23 08:21

    国内低代码平台推荐--万界星空科技低代码平台

    代码平台种应用程序,它为编程提供图形用户界面,从而以极快的速度开发代码,减少传统编程工作。 这些工具有助于快速开发代码,最大限度
    的头像 发表于 07-18 15:39 310次阅读
    国内低<b class='flag-5'>代码</b><b class='flag-5'>平台</b>推荐--万界星空科技低<b class='flag-5'>代码</b><b class='flag-5'>平台</b>

    使用esp wroom 32和LAN8720的PHY模块时,出现了错误代码的原因?

    我在使用esp wroom 32和LAN8720的PHY模块时,并参考idf中的Ethernet示例时,出现了图中的错误代码,多次检查接线并未出现问题,PHY模块在STM32开发板上可以正常使用。使用附件中的配置方式。请问我
    发表于 06-25 06:37

    文读懂CAN通讯错误

    CAN总线通信威廉希尔官方网站 广泛应用于多个行业,是每个总线设计工程师必学的通讯网络。然而,对于CAN通信中的错误帧,许多人仅停留在表面了解,缺乏深入理解,这导致许多工程师在面对总线通信故障时感到无从下手
    的头像 发表于 06-12 08:24 2748次阅读
    <b class='flag-5'>一</b>文读懂CAN通讯<b class='flag-5'>错误</b>帧

    components包含头文件错误是怎么回事?

    我新建了工程,添加了BLE组件,现在我在BLE组件的头文件中包含了如下文件Code: Select all #include \"a
    发表于 06-06 07:21

    成熟的PCBA设计通常包含哪几个方面?

    生产效率。这种设计在电子设备制造中起着至关重要的作用,因为它决定了产品的性能和成本。 成熟的PCB设计通常包含以下几个方面: 功能性设计:首先,PCBA设计必须确保电路板能够实现产品设计要求的功能。这涉及到电路板的布局、布线
    的头像 发表于 05-07 09:24 477次阅读

    介绍IC设计错误案例:可读debug寄存器错误跨时钟

    本文将介绍跨时钟错误的案例如图所示,phy_status作为多bit的phy_clk时钟域的信号,需要输入csr模块作为
    的头像 发表于 03-11 15:56 551次阅读
    介绍<b class='flag-5'>一</b><b class='flag-5'>个</b>IC设计<b class='flag-5'>错误</b>案例:可读debug寄存器<b class='flag-5'>错误</b>跨时钟

    介绍些常见的Modbus IO通信错误代码及其含义

    Modbus IO通信协议中的错误代码通常用于标识通信过程中出现的错误或异常情况。
    的头像 发表于 03-06 09:03 2687次阅读