OPAL: An extensible framework for ontology‐based program analysis

OPAL: An extensible framework for ontology‐based program analysis
复制标题

OPAL:基于本体的程序分析的可扩展框架

DOI:
10.1002/spe.2821
复制
发表时间:
2020
期刊:
Software: Practice and Experience
影响因子:
--
通讯作者:
S. K. Puligundla
S. K. Puligundla
中科院分区:
--
文献类型:
--
作者:
Dileep Kumar Pattipati;R. Nasre;S. K. Puligundla

文献摘要

参考文献

被引文献

相似文献

程序的语法信息可以表示为称为程序三元组的资源描述框架(RDF)三元组。我们提出了一个可扩展的静态分析框架,称为OPAL-基于本体的程序分析。该框架使外部知识,如图书馆的使用知识和领域知识的形式化表示。利用这些知识和程序三元组,我们计算的语义信息,称为静态跟踪的程序。它是通过程序的路径敏感的过程内遍历生成的。在循环的情况下,我们通过将它们展开固定次数来近似信息。该框架的主要贡献是将静态跟踪存储为RDF三元组,称为语义三元组。它们使用本文中提出的程序分析本体来描述。程序三元组和语义三元组一起被称为合并程序三元组。这些三元组被存储并用于加速最终用户指定的客户端分析的执行。在该框架中,客户端分析由一组使用SPARQL(W3C RDF查询语言)查询的合取表达式指定。该框架对于保证可靠和近似信息的客户分析有效。首先评估有效性,使用仅需要程序三元组的两个源代码分析,然后使用需要合并程序三元组的10个术中路径敏感性分析。使用NPB和SPEC 2006基准测试,我们实现了分析规格的简洁性的改进。此外,使用OPAL的执行时间与LLVM的clang在单个分析中具有竞争力,并且由于合并程序三元组的重用,在一系列分析中优于clang。
The syntactic information of a program can be represented as resource description framework (RDF) triples called program triples. We propose an extensible static analysis framework, called OPAL—Ontology‐based Program AnaLysis. The framework enables formal representation of external knowledge, such as usage knowledge of libraries and domain knowledge. Utilizing this knowledge and the program triples, we compute the semantic information, called static trace of the program. It is generated through path‐sensitive intraprocedural traversal of the program. We approximate information in case of loops by unrolling them a fixed number of times. The main contribution of the framework is to store the static trace as RDF triples called semantic triples. They are described using the Program Analysis ontology proposed in this article. The program triples and the semantic triples are together called consolidated program triples. These triples are stored and used to accelerate the execution of client‐analyses specified by the end user. In the framework, a client‐analysis is specified by a set of conjunctive expressions that use SPARQL (W3C RDF query language) queries. The framework is effective for the client‐analyses that warrant sound and approximate information. The effectiveness is assessed first, using two source‐code‐analyses that require only the program triples, and then 10 intraprocedural path‐sensitive analyses that require the consolidated program triples. Using NPB and SPEC 2006 benchmarks, we achieve an improvement in the conciseness of analysis specifications. Also, the execution time using OPAL is competitive to LLVM's clang for individual analysis and outperforms clang over a series of analyses because of the reuse of consolidated program triples.
DOI: 10.1007/s10817-014-9305-1
发表时间: 2014-10-01
期刊: JOURNAL OF AUTOMATED REASONING
影响因子: --
作者:
Glimm, Birte;Horrocks, Ian;Wang, Zhe
通讯作者: Wang, Zhe