仅基于失败运行的错误定位资料.docx

仅基于失败运行的错误定位 背景介绍 错误定位通常依赖成功与失败运行两方面,但成功运行通常易受巧合正确性的影响,并且现代软件自动产生大量关于失败运行的bug报告。仅基于失败运行的错误定位方法(简称FOnly)是一个有效的仅基于失败运行来错误定位的新技术。 当错误程序的一次运行传递了一个错误时,可能是程序内部语句的原因。在运行中,通常也会执行其他程序的语句,这些语句可能将错误传播给其他的内部语句。如果这些语句产生了显著影响,就会导致失败的出现。 一旦程序工程师发现失败的出现,就会调试、定位错误、弥补错误并确认移除了这一错误,然而,调试过程依旧很艰辛,错误定位也通常被认为是这之中最难的一部分。 最近亚洲的研究在程序错误定位自动化上有了显著突破,这些技术通常是基于成功运行与失败运行共同实现的。然而,这之中的成功运行可能激活了错误但不至于引起失败运行的出现。更进一步讲,很多系统如今能自动检测失败并产出大量有用的关于失败运行的bug报告。基于此,我们提出FOnly,一个仅基于失败运行数据定位错误的革命性技术。 技术介绍 在过去20年,有很多新颖的错误定位技术出现,为了比较这些技术,我们将他们分类,分类依据是研发时是否使用错误/成功运行数据,并列出他们使用这些运行的数目。 我们仅列出在源代码中定位错误的技术,包含了诸如delta debugging,semi-proving这些仅揭露导致程

文档评论(0)

1亿VIP精品文档

相关文档