面向对象类源代码的编程逻辑建模与应用

来源 :战略支援部队信息工程大学 | 被引量 : 1次 | 上传用户:XHR
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
美国国防部高级研究计划局于2014年提出MUSE计划,研究如何在大规模开源代码库上挖掘深层次的规范和协议并指导开发人员完成软件领域的复杂工作。编程逻辑的挖掘作为其中的一项关键技术逐渐成为国内外学者的研究热点。本课题以开源代码为研究对象,针对人类编程过程存在的普遍规则和个性化习惯,研究面向对象类开源代码编程逻辑建模与应用,挖掘人类编程的潜在逻辑和规则,为漏洞挖掘技术、预测编程行为、修复和构建复杂软件提供基础性支持。全文主要工作如下:1.对编程逻辑的概念进行了阐述,分析了研究编程逻辑的相关问题,在此基础上提出一种了面向对象类开源代码编程逻辑的研究框架,明确了各个研究内容之间的联系,为编程逻辑的研究奠定了基础。2.针对面向对象开源代码的复杂结构给编程逻辑分析建模带来困难的问题,提出一种面向对象语言代码分析方法,在以对象为分类标准、以方法调用序列为基本结构的基础上,融合别名归并和程序结构分析策略,尽可能保留程序原有语法结构信息,将源代码转化为统一范式的数据形式,为编程逻辑的研究奠定数据基础。3.针对现有适用于大规模数据的代码模型没有充分利用代码的语法、结构信息,对开发人员编程思维逻辑的描述存在局限性的问题,创新性提出方法的约束关系这一概念,并基于此概念,提出一种基于方法约束关系的面向对象代码编程逻辑模型CPMMC。利用对象涉及到的方法序列来构建模型结构,通过描述同一序列中不同方法之间的约束关系来抽象开发人员的思维方式。为了验证模型能够体现开发人员的编程逻辑,我们将模型应用于Java语言方法的预测。实验表明,该模型对Java代码有着良好的预测能力,较现有的模型提高了8%的准确率。4.针对现有的基于文本分析的代码缺陷检测方法存在数据稀疏、跨程序检测效果不佳等问题,提出基于CPMMC的面向对象代码缺陷检测方法。用编程逻辑取代单纯的文本分析,降低了因不同编程风格对检测性能的影响;通过假设检验思想计算不同特征对代码缺陷的贡献值并实现特征向量的降维;基于支持向量机构建分类器,实现对代码缺陷的检测。本文利用部分带有标签的Android应用程序对所提出的方法进行了评估,结果表明所提出的方法与现有的方法相比,对跨程序的代码缺陷检测效果有着明显的提高。
其他文献
在消耗盐酸的人造金红石与消耗氯气的海绵钛和氯化法钛白粉产业链中:由于国内氯化法钛白粉技术“瓶颈”未能突破,国外先进技术长期对华封锁,而国内海绵钛行业又处于严重的供过于
谢林曾断言:“希腊神话富于象征性,印度神话极重比喻性,波斯神话则流于程式化”。笔者认为,伊朗神话确属西亚北非神话的善恶二元论的结构模式,一切观念都基于“程式化”的善
近日,第二十二届中国国际软件博览会“大数据赋能实体经济”高峰论坛在北京展览馆举行。工业和信息化部信息化和软件服务业司司长谢少锋参加论坛并致辞。他指出,工业和信息化部
目的探讨微信平台在前交叉韧带重建术后家庭康复中的应用。方法接受单侧自体腘绳肌腱重建膝关节前交叉韧带术的患者126例,分为观察组(n=69)和对照组(n=57)。对照组给予常规康
<正>从防伪原理上,特种防伪油墨大体可以分为热变油墨、湿变油墨、光变油墨、温变油墨、磁防伪油墨、化学加密油墨、智能机读防伪油墨、防涂改防伪油墨、视觉变色防伪油墨、
<正>起初,包装作为一种对物品的保护措施被广泛应用。但是随着社会生产力的提高,人们对包装的要求不仅限于它的保护作用,而更追求美观及体现所包物品的价值,甚至是对内容物价
ICT支持的教师学习已经成为教师专业发展领域的研究热点,已有研究主要通过思辨研究和质性研究来揭示ICT在教师学习中的功效,但是这些功效是否产生了预期效果,缺少实证数据的
<正>讲话稿与发言稿文类相近,都属于讲话类文稿。从词义来看",讲话"和"发言"并没有多大区别,但是从文书撰拟的角度来看,二者有着多方面的微妙差异。主体性与方向性的差异主体
<正>印刷胶辊是印刷机械传递油墨系统中主要的组成部分,它的质量优劣,对印刷产品质量和效率都会有直接的影响,随着印刷技术的不断发展改进,用户对印刷产品质量要求的不断提高
期刊
分析了变电站隔离开关触头过热故障的原因、导致过热的主要因素及触头的接触方式对其运行性能的影响 ;提出了防止隔离开关过热故障的措施。