首页> 外文期刊>Software, practice & experience >OPAL: An extensible framework for ontology-based program analysis
【24h】

OPAL: An extensible framework for ontology-based program analysis

机译:蛋白石:基于本体的计划分析的可扩展框架

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

摘要

The syntactic information of a program can be represented as resource description framework (RDF) triples calledprogram 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, calledstatic traceof 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 calledsemantic triples. They are described using the Program Analysis ontology proposed in this article. The program triples and the semantic triples are together calledconsolidated 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'sclangfor individual analysis and outperformsclangover a series of analyses because of the reuse of consolidated program triples.
机译:程序的句法信息可以表示为资源描述框架(RDF)三元级称为分三元符。我们提出了一个可扩展的静态分析框架,称为基于蛋白质本体的程序分析。该框架使外部知识的正式表示,例如图书馆和域知识的使用知识。利用此知识和程序三元组,我们计算语义信息,称为程序。它通过程序的路径敏感的跨型遍历来生成。我们通过将它们展开固定的次数,我们近似信息。框架的主要贡献是将静态跟踪存储为叫做大气三元族的RDF三级。它们使用本文中提出的程序分析本体描述。程序三元组和语义三元组合在一起称为Consolidated程序三元。存储并用于加速最终用户指定的客户端分析的执行。在框架中,客户分析由一组使用sparql(w3c rdf查询语言)查询的一组联合表达式指定。该框架对于保证声音和近似信息的客户端分析是有效的。首先使用仅需要程序三元组的两个源代码分析来评估效果,然后需要10个需要综合程序三元组的跨型路径敏感分析。使用NPB和MOP 2006年基准测试,我们以分析规范的简明提高了改进。此外,使用蛋白石的执行时间对LLVM的Clang For竞争各个分析和罕见的分析,这是一系列分析,因为重用综合程序三元组。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号