...
首页> 外文期刊>Information and software technology >Interactive semi-automated specification mining for debugging: An experience report
【24h】

Interactive semi-automated specification mining for debugging: An experience report

机译:互动半自动规范挖掘用于调试:经验报告

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

摘要

Context: Specification mining techniques are typically used to extract the specification of a software in the absence of (up-to-date) specification documents. This is useful for program comprehension, testing, and anomaly detection. However, specification mining can also potentially be used for debugging, where a faulty behavior is abstracted to give developers a context about the bug and help them locating it.Objective: In this project, we investigate this idea in an industrial setting. We propose a very basic semi-automated specification mining approach for debugging and apply that on real reported issues from an Autopilot software system from our industry partner, MicroPilot Inc. The objective is to assess the feasibility and usefulness of the approach in a real-world setting.Method: The approach is developed as a prototype tool, working on C code, which accept a set of relevant state fields and functions, per issue, and generates an extended finite state machine that represents the faulty behavior, abstracted with respect to the relevant context (the selected fields and functions).Results: We qualitatively evaluate the approach by a set of interviews (including observational studies) with the company's developers on their real-world reported bugs. The results show that (a) our approach is feasible, (b) it can be automated to some extent, and (c) brings advantages over only using their code-level debugging tools. We also compared this approach with traditional fully automated state-merging algorithms and reported several issues when applying those techniques on a real-world debugging context.Conclusion: The main conclusion of this study is that the idea of an "interactive" specification mining rather than a fully automated mining tool is NOT impractical and indeed is useful for the debugging use case.
机译:背景信息:规范挖掘技术通常用于在不存在(最新)规范文档的情况下提取软件的规范。这对程序理解,测试和异常检测有用。然而,规范挖掘也可能用于调试,其中摘要出现故障的行为,以使开发人员对错误的背景并帮助他们定位它。在这个项目中,我们在工业环境中调查这个想法。我们提出了一种非常基本的半自动规范挖掘方法,用于调试,并应用来自我们行业合作伙伴的自动驾驶仪软件系统的真实报告的问题,MicroPilot Inc.该目标是评估现实世界中这种方法的可行性和实用性setting.method:该方法是作为原型工具开发的,在C代码上工作,接受一组相关的状态字段和函数,每个问题,并生成代表错误行为的扩展有限状态机,摘要相关的上下文(所选的字段和函数)。结果:我们定性地评估了一系列访谈(包括观察研究)与公司的开发人员在其现实世界报告的错误上进行了评估。结果表明,(a)我们的方法是可行的,(b)它可以在一定程度上自动化,(c)只使用其代码级调试工具来带来优势。我们还将这种方法与传统的全自动状态合并算法进行了比较,并在将这些技术应用于真实世界调试上下文时报告了几个问题。结论:本研究的主要结论是“互动”规范挖掘的想法而不是完全自动化的挖掘工具不是不切实际的,并且确实对调试用例非常有用。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号