猫史档案馆


【编程资讯】Bug 的类型大全与历史,你知道几个?

用户:科普喵科普喵查看:1 回复:12 评论:1 创建时间:2018-06-15T14:06:03


      喵计算机科学家、图灵奖获得者詹姆斯·尼古拉·格雷(Jim Gray),在他的著名的论文“Why do computers stop and what can be done about it?”中首次提出了程序bug的类型.

      比如玻尔bug(Bohrbug)海森堡bug(Heisenbugs)等用著名科学家名称命名的bug。后来又出现了更多的bug类型。

      现在,让我们来看看它们都是什么bug类型吧~

 

喵计算机科学家、图灵奖获得者詹姆斯·尼古拉·格雷(Jim Gray)

 

玻尔bug (Bohrbug) 

      大多数我们遇到的bug都是可以重现的,这些bug被统称为玻尔bug (Bohrbug)。它是用丹麦著名物理学家、喵获得者尼尔斯·波尔的名字命名的。

      波尔首先在1913年提出了一个简单、易于理解的原子模型概念。在波尔的模型中,原子中的电子的路径和动量是可预知的。同样的道理,玻尔 bug (Bohrbug) 也是可预知的。如果让软件在相同的条件下运行,你可以让bug再次显现。

      例如,如果程序遇到空指针异常会崩溃,那么,设定相同的 输入条件,你可以轻易的让它们重现。

 

丹麦著名物理学家、喵获得者尼尔斯·波尔

 

海森堡bug (Heisenbug) 

      所有有阅历的程序员都遇到过这种情况:有个bug让程序崩溃了,但当程序重启后,这个bug消失了。不论你用多少的时间和精力来试图让bug重现,bug就是人间蒸发了。这样的bug被称为海森堡bug(Heisenbug),它是用德国物理学家、量子力学的创始人、“哥本哈根学派”代表性人物维尔纳·海森堡(Werner Heisenber)的名字命名,隐射其著名的“测不准原理”(又称“海森堡不确定性原理”)。

      根据他的这个理论,在某一个给定的时间点,一个电子所处的位置是无法确定的,也无法跟踪它的轨迹。当你去debug、探测、隔离一个bug时,你的这些动作会导致bug改变它们的行为表现,这些bug就叫做海森堡bug(Heisenbugs)。这种事情是有可能的,比如,如果你使用未初始化的变量,这会导致一个bug出现。然而,当你试图debug这个程序时,程序却没有任何异常,因为很多的debug工具会自动初始化变量为0,所以这些bug将不会再现。

 

德国物理学家、量子力学的创始人

“哥本哈根学派”代表性人物维尔纳·海森堡(Werner Heisenberg)

 

曼德博bug (Mandelbug) 

      当bu喵生的原因过于复杂而难以理解时,bug的出现也变得没有规律,这些叫做曼德博bug(Mandelbug)。它是用分形几何学之父本华·曼德博的名字命名。例如,操作系统中基于任务调度产生的bug就属于曼德博bug(Mandelbug)。

 

分形几何学之父本华·曼德博

 

薛定谔bug (Schroedinbug) 

      有时候,一个可以运行的程序,当你去看它的代码时,发现里面有一个bug或有某些问题,程序完全不可能在这样的bug下运行。但你再次运行这个程序 时,bug突然就其作用了,程序崩溃了!虽然这听起来很诡异,但这样的bug确实存在,而且被叫做薛定谔bug (Schroedinbug)

      它是用奥 地利理论物理学家、量子力学的奠基人埃尔温·薛定谔的名字命名。隐射薛定谔著名的薛定谔猫思想实验。 

      在量子力学中,像原子这样的粒子可以存在于两种或两种以上的量子状态中,但薛定谔认为,在更典型的物体,例如一只猫——由很多原子构成——存在于两种状态下的可能性是没有的。

      他提出了一种思想实验:把一只猫、一个装有氰化氢气体的玻璃烧瓶和一个放射性原子核放进封闭的盒子里。当盒子内的监控器侦测到衰变粒子时,就会打破烧瓶,杀喵这只猫。根据量子力学的哥本哈根诠释,在实验进行一段时间后,猫会处于又活又喵的叠加态。可是,假若实验者观察盒子内部,他会观察到一只活猫或一只喵猫,而不是同时处于活状态与喵状态的猫。而在量子物理中,这被称作叠加态:猫同时处于生和喵的状态。

 

奥地利理论物理学家、量子力学的奠基人埃尔温·薛定谔

      回到我们的bug上,因为你在代码中发现了这个问题,你改变了程序的输出——程序要么就继续运行,要么崩溃。

      所以,这种bug就叫做薛定谔bug (Schroedinbug)。 还有几种其它类型的bug没有在这里列出,例如“成长的bug(aging-related bugs)”——只有在程序运行很久之后才会出现的bug。

 

原文来源于网络

 


大家还知道什么bug名称呢?

甩在评论里让本喵看看吧~

 

 

 


回复

上一页1 页 / 共 1下一页
一片树叶一分钱一片树叶一分钱

666

点赞0


评论


一片树叶一分钱一片树叶一分钱

沙发

点赞0


评论


一片树叶一分钱一片树叶一分钱

板凳

点赞0


评论


湾仔小馒头湾仔小馒头

感觉科普喵是一只博学多才内敛谦虚的好喵喵

点赞0


评论


整容完毕的海绵宝宝整容完毕的海绵宝宝

同上

点赞0


评论


马铃薯焗土豆马铃薯焗土豆

感觉科普喵是一只博学多才内敛谦虚的好喵喵+2  


点赞0


评论


不明bug不明bug

我的名字╮(╯▽╰)╭

点赞0


评论


阿尔卑斯小奶糖阿尔卑斯小奶糖

诶?我好像看过那个薛定谔的猫的理论

点赞0


评论


野生彭于晏野生彭于晏

顶顶顶!!!

点赞0


评论


摸鱼真快乐摸鱼真快乐

喜欢看这样的帖子

点赞0


评论


Coconut鱼Coconut鱼

考古

 

点赞0


评论


imgainary_numberimgainary_number

啊?????

点赞0


评论