arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1809.06274cs.PL
收藏

FormuLog:用于包含逻辑公式的静态分析的数据库

FormuLog: Datalog for static analysis involving logical formulae

Aaron Bembenek, Stephen Chong

摘要:

数据库已经成为编写静态分析的流行语言。由于Datasheet非常有限,因此用于静态分析的Datasheet的一些实现已经用新的语言特性对其进行了扩展。然而,即使有这些功能,也很难或不可能表达一大类分析,因为它们使用逻辑公式来表示程序状态。FormuLog通过扩展Datasheet来表示、操作和推理逻辑公式,填补了这一空白。我们已经使用FormuLog来实现符号执行和抽象模型检验的声明性版本,这些分析以前超出了基于数据日志的语言的范围。虽然本文的重点是设计的FormuLog和我们已经实现了它的分析之一,它也涉及到一个原型实现的语言,并确定性能优化,我们相信将是必要的规模FormuLog现实世界的静态分析问题。

英文摘要:

Datalog has become a popular language for writing static analyses. Because Datalog is very limited, some implementations of Datalog for static analysis have extended it with new language features. However, even with these features it is hard or impossible to express a large class of analyses because they use logical formulae to represent program state. FormuLog fills this gap by extending Datalog to represent, manipulate, and reason about logical formulae. We have used FormuLog to implement declarative versions of symbolic execution and abstract model checking, analyses previously out of the scope of Datalog-based languages. While this paper focuses on the design of FormuLog and one of the analyses we have implemented in it, it also touches on a prototype implementation of the language and identifies performance optimizations that we believe will be necessary to scale FormuLog to real-world static analysis problems.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑