formulog
1.0.0
tl; dr:用优化的类似Datalog的语言编写基于SMT的程序分析(符号执行者,改进类型Checkers等)。
事实证明,Datalog是一种用于实施一系列程序分析的有用语言,但是使用SMT求解的分析不能轻松地用传统版本的DataLog编写。配方仪通过通过增强DataLog来构建和理由的SMT公式以及一些一阶功能编程以使生活更轻松的方法来填补这一空白。
为什么要在格式中写下基于SMT的分析?
感兴趣的?有关更多信息,请查看Formulog Docs(也在文档目录中可用),包括有关入门的提示和语言参考。为了了解在配方中构建基于SMT的非平凡分析所涉及的内容,请查看我们在Formulog中实现改进类型检查器的教程。
欢迎对该项目的贡献!请打开一个GitHub问题,然后将拉动请求链接到它。拉动请求必须在合并之前以Google Java格式进行。要重新格式化代码,请运行mvn spotless:apply ;您还可以通过运行mvn spotless:check检查是否一致(不重新格式化)。
配方件以Apache 2.0许可发布。
该项目使用第三方库。您可以生成这些库的列表,并使用此命令下载其关联的许可证:
mvn license:download-licenses
生成的内容可以在target/generated-resources/目录中找到。