基于一阶谓词逻辑的代码查询技术

基于一阶谓词逻辑的代码查询技术

论文摘要

随着软件产业的迅速发展,软件系统的规模和和结构日益复杂,人们对于软件产品的质量要求也越来越高。基于代码的审查技术和测试技术是常见的软件质量保障技术。代码审查过程的核心活动是发现并定位不符合编码规范的代码片断。测试过程中广泛运用的插桩技术的关键步骤之一是查找与定位满足特定条件的插桩点。代码查询技术是用于满足上述两种技术需求的基本支撑技术,它可以根据指定的语法结构规则和语义关系规则在代码库中查询对应的程序片断和信息。代码查询语言的设计与解析是代码查询技术的核心,查询语言的表达能力即它对查询请求的描述能力决定了代码查询技术的查询能力。针对代码审查和代码测试技术,已有的代码查询技术关于查询条件的描述能力存在以下两点不足:1)对逻辑语义的表达能力不足2)可以描述的程序元素信息的粒度不够细。针对这两个问题,本文提出了支持一阶谓词逻辑的代码查询技术。其主要研究工作包括:1、提出了一套基于一阶谓词逻辑的查询语言。它支持对类、方法、语句和变量这四个层次的程序元素信息的描述。在逻辑表达能力上,它允许通过一阶谓词逻辑对简单条件进行逻辑组合。2、设计了程序元素信息的一种中间表示结构。它用来对通过静态分析抽取的代码语义和语法信息进行存储。3、设计并实现了支持该查询语言的查询引擎。它负责解析查询语言和检索目标元素。4、基于此查询技术,面向C/C++语言,开发了一个原型工具C2Query,并以Eclipse插件的形式发布。以MISRA-C++编码规范为研究对象,通过实例研究,验证了查询技术和工具的效能。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 已有研究存在的问题
  • 1.3 本文工作
  • 1.4 本文组织结构
  • 第二章 相关工作介绍
  • 2.1 代码查询技术
  • 2.1.1 概念介绍
  • 2.1.2 应用场景
  • 2.1.3 查询技术的发展
  • 2.2 程序分析
  • 2.2.1 程序分析的概念
  • 2.2.2 程序分析的组成
  • 2.2.3 程序分析的应用
  • 2.3 C/C++ Development Tooling
  • 2.3.1 CDT的介绍
  • 2.4 本章小结
  • 第三章 基于一阶谓词逻辑的代码查询技术
  • 3.1 查询语言
  • 3.1.1 设计的思路
  • 3.1.2 语言的语法
  • 3.1.3 语言支持的元素的属性和元素间关系
  • 3.2 程序元素信息集合
  • 3.2.1 元素信息集合的结构
  • 3.2.2 程序元素的实现类的结构
  • 3.3 查询引擎
  • 3.3.1 查询命令的解析
  • 3.3.2 查询目标的检索
  • 3.4 本章小结
  • 第四章 原型工具与实例研究
  • 4.1 原型工具
  • 4.1.1 系统架构
  • 4.1.2 信息抽取模块的设计
  • 4.1.3 工具界面
  • 4.2 实例研究
  • 4.2.1 应用场景
  • 4.2.2 查询语言的使用
  • 4.2.3 原型工具的使用
  • 4.3 本章小结
  • 第五章 总结与展望
  • 5.1 总结
  • 5.2 下一步工作
  • 致谢
  • 参考文献
  • 附录 攻读硕士学位期间发表论文及参与项目情况
  • 相关论文文献

    • [1].分布式数据库分片关系变换自适应查询技术研究[J]. 科学咨询(科技·管理) 2020(08)
    • [2].大数据查询技术应用策略探讨[J]. 移动通信 2018(07)
    • [3].更正声明[J]. 信息技术与信息化 2015(12)
    • [4].云计算框架的海量数据查询技术研究[J]. 吕梁学院学报 2017(02)
    • [5].云计算下的图书馆条码分类与查询技术研究[J]. 中外企业家 2018(06)
    • [6].基于动态窗口的轮廓查询技术研究[J]. 科技视界 2014(22)
    • [7].基于聚类的移动查询技术研究[J]. 科技创新导报 2008(02)
    • [8].基于Spring MVC的灵活查询技术在水路运政业务中的研究与应用[J]. 数字通信世界 2016(09)
    • [9].基于程序分析的代码查询技术[J]. 计算机科学 2012(02)
    • [10].云计算下的图书馆条码分类与查询技术研究[J]. 现代电子技术 2017(13)
    • [11].浅谈关联分析查询技术在审计中的运用[J]. 中共合肥市委党校学报 2011(04)
    • [12].树状层次查询技术在MISD中的应用[J]. 考试周刊 2009(41)
    • [13].基于NoSQL数据库的大数据查询技术[J]. 信息记录材料 2016(04)
    • [14].基于NoSQL数据库的大数据查询技术的研究与应用[J]. 科学家 2016(09)
    • [15].基于LINQ的数据查询技术在油田的应用[J]. 信息系统工程 2019(03)
    • [16].基于NoSQL数据库的大数据查询技术的研究与应用[J]. 电子技术与软件工程 2015(18)
    • [17].LINQ to Object与传统集合查询的性能比较[J]. 计算机时代 2009(08)
    • [18].数据流安全查询技术综述[J]. 网络空间安全 2019(09)
    • [19].SQL查询技术在全样本处方点评中的应用[J]. 华南国防医学杂志 2012(03)
    • [20].光纤光栅传感网络时域地址查询技术[J]. 黑龙江大学自然科学学报 2008(06)
    • [21].XML查询技术在高职院校图书管理系统中的研究[J]. 电子技术与软件工程 2015(14)
    • [22].NoSQL数据库在大数据查询技术中的应用探析[J]. 电脑迷 2016(07)
    • [23].P2P网络中的近似聚集查询技术[J]. 山东煤炭科技 2009(02)
    • [24].大型车联网数据库的高效查询技术[J]. 现代电子技术 2017(22)
    • [25].巧用SQL的查询技术[J]. 软件 2011(04)
    • [26].VB.NET实现同音字查询[J]. 福建电脑 2010(03)
    • [27].近年来SPARQL查询技术的研究热点及进展[J]. 知识管理论坛 2014(01)
    • [28].基于本体和用户相关反馈的扩展查询研究[J]. 计算机应用 2008(11)
    • [29].大数据环境下基于NoSQL数据库的查询技术研究与应用[J]. 电脑编程技巧与维护 2019(02)
    • [30].基于NoSQL数据库的大数据查询技术实践探索[J]. 电脑编程技巧与维护 2018(11)

    标签:;  ;  ;  ;  ;  

    基于一阶谓词逻辑的代码查询技术
    下载Doc文档

    猜你喜欢