文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

为什么用Python更易出现软件缺陷

2023-06-02 12:08

关注

这期内容当中小编将会给大家带来有关为什么用Python更易出现软件缺陷,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

经常会有刚入行的程序员试图比较各大编程语言之间的差别,然后选择自己认为较好的编程语言学习。虽然圈子里公认各大编程语言之间没有好坏之分,只有是否合适,但不知广大程序员有没有思考过编程语言对软件质量的影响呢。

  近日,研究人员Baishakhi Ray、Daryl Posnett、Premkumar Devanbu、Vladimir Filkov 从GitHub收集了大量数据(728个项目,6300万SLOC,29,000作者,150万提交,17种语言)以回答这个问题:编程语言与软件质量之间的关系是什么呢?

  他们发现:

  编程语言确实对软件质量有影响,但影响程度一般;

  不允许类型混淆的编程语言比允许类型混乱的要更好一些;

  在函数式编程语言中,静态类型比动态类型更好;

  函数式编程语言比过程式编程语言效果差。

  结论:

  函数式编程语言编写的软件质量显然不如过程式编程语言,C、C ++、Objective-C、Php和Python与更多数量的缺陷修复相关,而Clojure、Haskell、Ruby和Scala则不太可能导致缺陷修复。而在函数式编程语言中,静态类型语言表现更好。语言类型与软件缺陷之间存在很小但重要的关系,函数式编程语言比过程式语言或脚本语言的缺陷更多。缺陷类型与编程语言密切相关, 一些缺陷类型,如内存错误和并发错误取决于语言原语。对于具体类别而言,编程语言对整体缺陷的影响更大。

为什么用Python更易出现软件缺陷

  上图显示的第一列为编程语言,最后一列为对应的bug修复数,不难看出Python的41.9明显高于Java的35.9,如果Python想取代Java,似乎还欠缺很大火候啊!此外,C语言的182.6实在是多得离谱,可能是因为C语言问世较早,所以经历的摸索期和修复期更长的关系,C++、C#或许与C语言有着相同的原因。

  本次实验所选用的语言和项目数据是从公共GitHub数据库GitHub Archive中提取出来的。研究人员从GitHub中选择了前20种编程语言(不含CSS、Shell脚本和Vim脚本,因为它们不被视为通用语言)并添加了Typescript。同时,检索了这些主流编程语言的前50个开源项目!

为什么用Python更易出现软件缺陷

  对于每个项目(共728个),研究人员使用git下载了未合并的提交,包括提交日志、作者日期和作者姓名。根据每个文件添加、删除的行计算代码流失和每个提交修改的文件数,然后从修改的文件扩展中检索与每个提交相关联的语言。对于每个提交,通过从相应项目的第一次提交中减去其提交日期来计算其提交周期,并计算其他项目相关统计信息,包括项目的最大提交周期和参与的开发人员总数。研究人员通过搜索错误相关的关键字,确定了对个别项目的错误修复提交,比如“错误”、修复”、“问题”、“不正确”、“故障“、”缺陷”等。

  然后,根据其原因和影响将错误分为两个阶段:关键字搜索和监督分类。研究人员使用回归模型记录软件项目相关的缺陷提交数量。

上述就是小编为大家分享的为什么用Python更易出现软件缺陷了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯