...
首页> 外文期刊>The Journal of Systems and Software >An empirical study on the use of mutant traces for diagnosis of faults in deployed systems
【24h】

An empirical study on the use of mutant traces for diagnosis of faults in deployed systems

机译:关于使用突变踪迹诊断已部署系统中的故障的经验研究

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

Debugging deployed systems is an arduous and time consuming task. It is often difficult to generate traces from deployed systems due to the disturbance and overhead that trace collection may cause on a system in operation. Many organizations also do not keep historical traces of failures. On the other hand earlier techniques focusing on fault diagnosis in deployed systems require a collection of passing-failing traces, in-house reproduction of faults or a historical collection of failed traces. In this paper, we investigate an alternative solution. We investigate how artificial faults, generated using software mutation in test environment, can be used to diagnose actual faults in deployed software systems. The use of traces of artificial faults can provide relief when it is not feasible to collect different kinds of traces from deployed systems. Using artificial and actual faults we also investigate the similarity of function call traces of different faults in functions. To achieve our goal, we use decision trees to build a model of traces generated from mutants and test it on faulty traces generated from actual programs. The application of our approach to various real world programs shows that mutants can indeed be used to diagnose faulty functions in the original code with approximately 60-100% accuracy on reviewing 10% or less of the code; whereas, contemporary techniques using pass-fail traces show poor results in the context of software maintenance. Our results also show that different faults in closely related functions occur with similar function call traces. The use of mutation in fault diagnosis shows promising results but the experiments also show the challenges related to using mutants.
机译:调试已部署的系统是一项艰巨且耗时的任务。由于跟踪收集可能会对运行中的系统造成干扰和开销,因此通常很难从已部署的系统生成跟踪。许多组织也没有保留失败的历史痕迹。另一方面,针对已部署系统中的故障诊断的较早技术需要收集失败通过轨迹,内部故障再现或历史记录失败轨迹。在本文中,我们研究了一种替代解决方案。我们调查了在测试环境中使用软件突变产生的人为故障如何可用于诊断已部署软件系统中的实际故障。当从已部署系统中收集不同种类的迹线不可行时,使用人为故障迹线可以提供缓解。使用人工故障和实际故障,我们还研究了功能中不同故障的功能调用轨迹的相似性。为了实现我们的目标,我们使用决策树来构建由突变体生成的跟踪模型,并在由实际程序生成的错误跟踪上对其进行测试。我们的方法在各种现实世界程序中的应用表明,在查看10%或更少的代码时,确实可以使用突变体以大约60-100%的精度诊断原始代码中的错误功能;然而,使用通过-失败跟踪的现代技术在软件维护的情况下显示出较差的结果。我们的结果还表明,在紧密相关的函数中,不同的故障发生在相似的函数调用跟踪中。在故障诊断中使用突变显示出令人鼓舞的结果,但实验也显示了与使用突变相关的挑战。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号