首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Bug哪家强?谷歌:Linux,比我都修得好

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 过去三年内,谁家程序员修Bug最强? Linux。 谷歌如是说。...因为在他们最新发布的安全漏洞修复报告中,Linux修一个Bug平均只要15天,所用时间最少: (甚至比谷歌自家都要快) 上述数据来源于谷歌在2014年开展的零计划(Project Zero)项目,由谷歌内部的顶级安全大佬参与...这次报告的时间从2019年到2021年,整体来看,各大厂程序员在修Bug上是越来越娴熟了: 在3年前,平均三个月才能修完,还会有各种超过最后期限的拖延,到2021年就仅需52天,全年总共只有一个Bug超过了修复期限...从这一维度来看,大多数都能在104天内完成绝大多数Bug(90%以上)的修复,其中Oracle展现出了非常明显的拖延症,即有超过一半(57%)的Bug都是在deadline之后修的: 不过,人家的Bug...数也是最少的,总共只有7个…… Bug的平均修复时间也就是我们开头放出的那张表,整体上大家的Bug都越修越快,Linux新的一年更是平均半个月(15天)就能修复。

    76820

    Bug之路-串包Bug

    笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够少踩点坑。...串包Bug现场 前置故障Redis超时 由于某个系统大量的hget、hset操作将Redis拖垮,通过监控发现Redis的CPU和IO有大量的尖刺,CPU示意图下图所示: CPU达到了100%,导致很多...Bug复盘 此次Bug是由Redis本身Server负载太高超时引起的。Bug的现象是通过Jedis去取对应的Key值,得不到预期的结果,简而言之包乱了,串包了。...缩小Bug范围 首先:Redis是全球久经考验的系统,这样的串包不应该是Redis的问题。 第二:Redis刷新了key后Bug依然存在,而业务系统重启了之后Okay。...Bug推理 笔者意识到,之所以串包可能是由于jedisClient里面可能有残余的数据,导致读取的时候读取到此数据,从而造成串包的现象。

    73510

    Bug之路-串包Bug

    Bug之路-串包Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...串包Bug现场 前置故障Redis超时 由于某个系统大量的hget、hset操作将Redis拖垮,通过监控发现Redis的CPU和IO有大量的尖刺,CPU示意图下图所示: ?...Bug复盘 此次Bug是由Redis本身Server负载太高超时引起的。Bug的现象是通过Jedis去取对应的Key值,得不到预期的结果,简而言之包乱了,串包了。...缩小Bug范围 首先:Redis是全球久经考验的系统,这样的串包不应该是Redis的问题。 第二:Redis刷新了key后Bug依然存在,而业务系统重启了之后Okay。...Bug推理 笔者意识到,之所以串包可能是由于jedisClient里面可能有残余的数据,导致读取的时候读取到此数据,从而造成串包的现象。

    1.4K10

    bug 排查大曝光,涉及Linux 内核的那种

    那些编程高手除了写代码很厉害之外,调试代码找 bug 更是手到擒来。...编写代码只是程序员的工作之一,调试代码的时间甚至会超过编写代码,之前为大家讲解了很多关于系统、架构、编程等方面的内容,这篇文章就为大家全方位展示一次涉及到内核的 bug 排查过程。...根据内核源码查系统调用 要知道这个数字的含义,我们就需要参考内核代码了,一般在 Linux 系统中必要的内核头文件位于/usr/include目录,在博主 64 位 Linux 机器上,我找到了这个文件...总结 本文为大家完整展示了一次 bug 的定位过程,可以看到 Linux 为我们提供了极为丰富的调试工具,当然这离不开 Linux 系统本身优秀的设计思想,那就是将进程和内核的运行时信息通过文件系统提供出来...希望本文对大家理解 Linux 系统下问题 debug 有所帮助。

    1.7K20

    Bug之路-Druid的Bug

    Bug之路-Druid的Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...前言 此Bug是Druid低版本的Bug,此Bug至少在1.0.12版本就已经修复。...Sharding Proxy的Bug 于是此问题又萦绕在笔者心头,在又一番不下于上述过程的努力之后,发现一个月之前上线的新版本的Sharding Proxy的内存泄露Bug导致频繁GC(并定位内存泄露点...与此类似,如果DB负载过高的话,笔者推测也会触发Druid的Bug。...终于这次的连环Bug算是填完了。 总结 追查Bug,日志和源码是最重要的两个部分。最源头的日志信息量最大,同时要对任何不同寻常的现象都加以分析并推测,最后结合源码,才能最终找出Bug

    1.1K50

    Bug之路-TCP粘包Bug

    Bug之路-TCP粘包Bug 前言 关于TCP流 TCP是流的概念,解释如下 TCP窗口的大小取决于当前的网络状况、对端的缓冲大小等等因素, TCP将这些都从底层屏蔽。...TCP粘包Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...Bug现场 出Bug的系统是做与外部系统进行对接之用。这两者并不通过http协议进行交互,而是在通过TCP协议之上封装一层自己的报文进行通讯。如下图示: ?...此后一切正常,交易量也回归正常,仿佛刚才的Bug从来没有发生过。在此之前,此系统已经稳定运行了好几个月,从来没出现过错误。 但是,这事不能就这么过去了,下次又出这种Bug怎么办,继续重启么?...事实上,在笔者解决各种Bug的过程中,经常通过猜想等手段定位出Bug的原因。但是从现场取证,通过证据去解释发生的现象,通过演绎去说服同事,并对同事提出的种种问题做出合理的解释才是最困难的。

    86920

    回归BUG

    当软件一直处于发现BUG和解决BUG的循环中时,为什么我们需要执行回归用例?我们需要定期执行回归测试。我们这样做的原因是发现回归缺陷。...当发现由于修补程序而触发其他功能BUG时,这些BUG称为回归BUG。例如,假设登录页面有一些BUG,开发人员已修复它。现在,登录页面可以正常工作,但是注册页面正在引起一些验证或其他之前不存在的BUG。...由于登录页面上的修复,可能导致了新BUG,这是一个回归中发现的BUG,很容易被错过。 回归BUG很难处理 回归BUG通常是不可避免的,需要在发布软件之前对其进行修复。...「时间复杂性」:截止日期临近时,回归BUG可能会带来很大挑战。开发人员很少有时间来修复新检测到的BUG,他们往往急于修复测试同学刚刚提出BUG而不会关注可能导致的回归BUG。...处理回归BUG 有几种方法可以帮助测试团队有效地处理回归BUG。 代码审查 不仅开发,甚至测试脚本都需要定期检查代码。检查测试用例,以确保它们足以验证组件的每个模块。

    1.9K30
    领券