×

学习软件错误的语言。 (英语) Zbl 1437.68071号

摘要:我们建议使用学习确定性有限自动机(DFA)的算法,例如Anguin的算法,来学习描述给定程序错误发生的可能场景的DFA。此自动机的字母表由用户给出(例如,函数调用位置或分支的子集),因此自动机描述了这些场景的用户定义抽象。更一般地说,同样的技术也可以用于可视化程序或其部分的行为。它还可以用于直观地比较程序的不同版本(通过呈现它们之间对称差异中的行为的自动机),并帮助合并多个开发分支。我们提供的实验证明了通过项目网页访问的错误和程序段的抽象可视化表示的威力。此外,我们在本文中的实验证明,这种自动机可以在实际程序中有效地学习。我们还提出了懒惰学习,这是一种在使用(L^*)时减少成员查询数量的方法,并证明了它在标准基准上的有效性。

MSC公司:

68问题32 计算学习理论
68号30 软件工程的数学方面(规范、验证、度量、需求等)
65年第68季度 形式语言和自动机
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部