bug的英文为“bug,意为错误或故障”,在IT中,bug是指任何计算机程序或硬件系统中的错误,故障或缺陷。错误会产生意想不到的结果,或导致系统表现异常。简而言之,它是程序或系统得到的任何行为或结果,但并非设计成这样做的。
尚不清楚何时首次使用“bug”一词来表示某处的错误,甚至托马斯·爱迪生(Thomas Edison)在给同事的一封信中也提到过,bug在发明过程的后期出现,并且在修复该错误之前需要花费更多的时间。
1947年9月9日,美国海军Mark II电脑出现错误,是由于两个继电器之间夹有蛾子引起的。发现它的操作员William Burke感到非常有趣,以至于他把飞蛾放到了日志中,并标上了“发现错误的第一个实际案例”。这是双关语,当然不是第一次用这个词来表示错误。现在,这本日志簿仍在史密森学会的美国国家历史博物馆中展出,并且仍然附有蛾子。
目前尚不清楚何时首次使用“ bug”一词来表示某些故障,任何软件开发人员或设计人员的目标通常是制作无错误的作品。实际上,没有错误的产品是很难(而且昂贵)的。
有些错误可能会带来一些不便,但其他错误可能已经造成严重伤害甚至死亡。许多先进的设计和实现技术旨在在生产过程中尽早防止bug的数量和严重性以及识别和消除这些缺陷,消除这些错误的行为称为调试。