论文标题

粗体:C程序基于本体的日志调试器

BOLD: An Ontology-based Log Debugger for C Programs

论文作者

P, Dileep Kumar, Nasre, Rupesh, P, Sreenivasa Kumar

论文摘要

与调试工具,执行跟踪的表示和痕迹分析相关的不同活动通常不在统一框架中执行。我们建议\ textit {bold},这是一个基于本体的日志调试器,以统一调试中的活动并标准化活动。程序的句法信息可以用资源描述框架(RDF)三元组表示。使用大胆的框架,可以通过使用这些三元组上的声明规范来自动仪器。该框架的一个显着特征是将程序的执行跟踪存储为RDF Triples,称为\ textit {TraceTriples}。可以查询这些三元组以实施常见的调试操作。该框架的新颖性是将这些三元组抽象为\ textit {pans},以进行高级推理。跨度提供了一种在程序执行的某些部分检查特定变量的值的方法。跨度的属性被正式定义为称为\ textit {program debug(pd)本体}的网络本体语言(OWL)本体。使用跨度抽象和PD本体,最终用户可以以标准方式调试给定的越野车计划。使用本体论的一个值得注意的功能是,在某些丢失信息的情况下,用户可以准确调试,这实际上可能是有用的。为了证明所提出的框架的可行性,我们已经在标准的错误基准套件套件软件艺术基础架构存储库(SIR)中调试了程序。实验表明,查询时间几乎与\ texttt {gdb}中的相同。推理时间取决于猫头鹰的亚语。我们发现,OWL-DL语言提供的表达性足以满足SIR程序中的错误;但是为了实现推理的可伸缩性,需要有限的owl-rl语言。

The different activities related to debugging such as program instrumentation, representation of execution trace and analysis of trace are not typically performed in an unified framework. We propose \textit{BOLD}, an Ontology-based Log Debugger to unify and standardize the activities in debugging. The syntactical information of programs can be represented in the from of Resource Description Framework (RDF) triples. Using the BOLD framework, the programs can be automatically instrumented by using declarative specifications over these triples. A salient feature of the framework is to store the execution trace of the program also as RDF triples called \textit{trace triples}. These triples can be queried to implement the common debug operations. The novelty of the framework is to abstract these triples as \textit{spans} for high-level reasoning. A span gives a way of examining the values of a particular variable over certain portion of the program execution. The properties of the spans are defined formally as a Web Ontology Language (OWL) ontology called \textit{Program Debug (PD) Ontology}. Using the span abstraction and PD ontology, end-users can debug a given buggy program in a standard manner. A notable feature of using ontology is that users can accurately debug in some cases of missing information, which can be practically useful. To demonstrate the feasibility of the proposed framework, we have debugged the programs in a standard bug benchmark suite Software-artifact Infrastructure Repository (SIR). Experiments show that the querying time is almost the same as in \texttt{gdb}. The reasoning time depends on the sub-language of OWL. We find that the expressibility offered by OWL-DL language is sufficient for the bugs in SIR programs; but to achieve scalability in reasoning, a restricted OWL-RL language is required.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源