【摘 要】
:
计算机技术的高速发展,各种编程语言层出不穷,使用主流编程语言的程序员数不胜数,他们的技术与编程规范参差不齐,代码质量不断下降,需要进行审核的代码不断增多,人工审查代码工作量
论文部分内容阅读
计算机技术的高速发展,各种编程语言层出不穷,使用主流编程语言的程序员数不胜数,他们的技术与编程规范参差不齐,代码质量不断下降,需要进行审核的代码不断增多,人工审查代码工作量不断增大,在这样的需求下,用程序审核代码应运而生。目前,国外对此项工程的发展比较早,已取得了很好的效果,大量缩短了审核代码的工作量,解放了不少劳动力,我国的起步比起外国来晚了许多,但也取得了不错的成绩,各大高校都做了不小的贡献,本篇文章也是介绍了对Java源代码进行静态分析的设计与实现。所谓静态分析,就是在无需执行源码的条件下对源码实行检测,与动态分析是相对的,动态分析就是在执行源码的条件下进行分析检测的。静态分析与动态分析相辅相成,共同使用方能取得最大效果。在静态分析过程中,首先是对源码使用前端编译,将源码中的字符流转换成中间表示形式。之后对其进行词法分析和语法分析,构建相应的语法树。再从语法树中提取其中的结点,构建CFG控流图。接下来分析数据流、约束,检查模块,最终达到对代码进行静态分析的目的。在设计系统的过程中,对系统的主要功能、数据结构、类属性与类之间的关系、接口等进行了详细的设计,为之后的实现提供了可靠的设计标准。在此基础上,对系统进行编码实现,其中CFG构建模块,数据流分析模块,缺陷分析模块,污点传播分析模块,代码不可达模块是本文主要介绍的模块实现,分别介绍了它们的实现原理,分析过程,算法等主要内容。完成以上的算法与实现,系统基本成型,在静态分析检测Java源代码中起到很大的作用,随着测试与改进,分析检测结果更加准确。下一步的主要工作是对静态分析系统进行优化处理,使其检测的更加准确,用时更少。
其他文献
我国高等师范院校语文教育专业(含本科与研究生层次)的建设和发展,与我国语文教育史研究紧密相关。在中国语文独立设科教育110周年之际,恰巧又躬逢上海师范大学60周年校庆,作为
传统的理论型课程设置,对包装设计专业学生自身的创造、创新能力培养存在与市场分离的现象,造成学生毕业后不能胜任包装设计师岗位的现象。文章结合包装设计课程的特点、整合
通过介绍孔式管道气动取样机的结构特点及工作原理,阐述了孔式取样机在选矿厂的应用情况,结合现场同班次机械取样和人工取样数据对比,说明该取样机适用于工艺流程长的矿浆管
农机具的水平在一定程度上代表着农业机械化的水平.大中型耕整地机械作为农机具的重要组成部分,需要抓住当前的惠农机遇,围绕我国农业种植模式、农艺需求,加快产业结构调整,
精神赡养是老年人赡养权益的重要内容。我国现有的赡养法律法规对精神赡养的内容有所涉及,但是只起到了“宣言”的作用,总体来说,我国赡养法律制度并不承认精神赡养的法律地
本文基于工作经验,分析了当前压力计量检定中常见的问题,并着重介绍了端正工作态度、提高职业素质,加强对检定人员的职业技能培养,改进计量工具三种解决方案及其具体应用,希
学校如何把握学生幸福的诉求,怎样促进学生幸福的实现?从德育视角看,学生的幸福在于满足他的合理需要,让他快乐成长。这将为他们一生的幸福奠定基础。
<正>3月的江南已是春暖花开季,比春天更暖人的是一个振奋人心的消息,新疆机械研究院股份有限公司(以下简称新研)与锡柴正式签订战略合作协议,并在月初订购了130台锡柴新恒威
随着教育改革的深化开展,高中物理课程教学质 量要想有效提升,教师就要从教学方法的创新方面加强重视。传统教学方法的应用已经不适应当前学生的学习需求,基于 此,本文主要就
<正>木本油料植物,就是其种子或者果实含油量比较高,经过压榨后浸出油脂、具有经济栽培利用价值的木本植物的总称。陕西省南郑县地处陕西西南部,发展木本油料生产自然条件和