基于源码变更分析的程序中间代码生成技术研究

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:z492141756
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件行业的快速发展使软件的适应性要求提高,需求变化愈发频繁,源码变更次数也呈现上升趋势。然而,源码变更带来的影响是难以准确预测的,这些变更可能会导致软件出现新的缺陷(bugs)或者安全漏洞等。因此如何高效地处理源码变更带来的影响是提升软件可靠性和安全性的重要问题之一。源码变更分析的研究已流行一段时间,但是目前主要的研究工作集中在源码级别,比如ChangeDistiller工具通过树差分算法研究变更前后源码(JAVA编程语言)得出软件不同版本之间的源码变更信息。基于源码级别的差异分析结果,工程人员通常依赖经验去判断变更部分代码对软件的影响;然而,即使拥有丰富经验的工程人员也会出现失误,从而造成不可估量的后果,可能会使得一次版本变更变成灾难。然而,快速准确的程序分析、验证方法可以帮助工程人员分析软件以及程序变更部分代码对软件带来的影响。但是这些程序分析方法基于中间代码,比如模型检测、实施符号执行等。但是这些基于中间代码的程序分析、验证方法无法使用源码分析结果,两者之间缺乏交互机制,存在鸿沟。因此,本文研究源码变更与中间代码之间关系,以给上述程序分析方法提供便利。本文把源码到中间代码的翻译过程作为切入点,研究如何基于源码分析结果获取中间代码变更信息。基于上述问题分析,本文利用变更标记跟踪源码翻译过程以确定源码在中间代码中的对应的指令块,提出一种基于源码变更分析的程序中间代码生成技术:IRChange。IRChange技术基于Clang/LLVM框架,通过源码变更差异分析的研究,获取源码变更后的中间代码。IRChange生成的中间代码可以进行差异分析,并且可以通过提取变更部分中间代码为增量程序分析、验证提供便利。在获取变更后中间代码过程中,IRChange使用变更标记来跟踪源码,以定位其在中间代码中的变更内容。IRChange添加变更标记的方法可以有效避免修改编译器本身源码至中间代码的翻译行为,降低与编译器耦合程度,为进一步的功能扩展提供方便。本文课题的主要研究内容:首先,IRChange技术为源码添加变更标记(源码行号),在中间代码翻译过程中传递变更标记,生成带有标记的中间代码;其次,当源码发生变更后,设计并实现语句级别的差异分析工具Diff以进行源码差异分析,得到源码变更后的编辑脚本;然后,根据中间代码生成语法规则,快速生成变更部分源码的指令集;最后设计并实现的MergeIR算法将变更前中间代码与变更部分的指令集合成,以生成源码变更后的中间代码。本文从开源社区Github中的Clang和LLVM项目中选取足量的变更源码实际样例作为IRChange验证实验的数据对象,然后本文根据其技术的设计思路和特点为其设定实验的评估标准:正确性和效率。实验结果表明,IRChange生成的带有增量信息的中间代码不仅具有较高的准确性,且可以用于中间代码差异分析,为增量程序分析、验证提供便利。当程序发生变更后,IRChange生成中间代码效率优势明显,其平均所耗费时间远少于直接编译所耗费时间。综上,IRChange不仅具有较高准确性且当程序变更后具有较大效率优势。
其他文献
英语长句的句式结构复杂、语义逻辑繁复,对英语篇章的理解和翻译造成一定的困难,也因此成为翻译关注的一个焦点。在此背景下,本文基于英文语料《身份与翻译困境》(Identity and Translation Trouble)的翻译实践,通过探究长句的各类结构特点及其在翻译实践中形成的翻译问题,得出具有针对性的英语长句汉译解决方案。经过细读原文,本文总结了《身份与翻译困境》一书中的长句的结构类型,以非谓
学位
《关于全面深化新时代教师队伍建设改革的意见》明确提出要“全面提高中小学教师质量,建设一支高素质专业化的教师队伍。提高教师培养层次,提升教师培养质量”。对中学语文教师质量而言,要建设高素质、专业化的教师队伍,就要确保中学语文教师能够较好胜任语文教学中的主体部分,即阅读教学。另外,中学语文教师只有提升自己的阅读教学胜任力,才能承担起发展学生核心素养的重任。在此背景下,中学语文教师的阅读教学胜任力表现在
学位
改革开放以来,中国经济快速增长,除了生产要素数量和质量的提高,以及制度安排的优化外,地方官员的个人特征也是促进经济发展的重要的因素,在现有文献中不少学者从官员的籍贯特征入手,研究“家乡认同”对地方官员政治行为的影响,但是主要聚焦于宏观经济视角,鲜有对微观企业税负进行研究。本文从家乡这一非制度因素角度,借鉴以往文献,探究在我国浓厚的家乡文化氛围下,籍贯地任职的税务官员是否会体现对家乡企业的“认同感”
本文研究沭阳县中考体育概况、项目设置和评分情况以及中考体育背景下沭阳县初三体育教学现状及影响因素,主要从体育教学计划、教学目标、教学内容、教学组织形式、教学评价、学生和教师对体育教学的反馈情况以及影响因素等八个方面进行调查研究。了解沭阳县初三体育课程实施的现状及影响因素,为沭阳县初三体育教学和中考体育更好的发展提供理论依据。本文采用文献资料法、问卷调查法、访谈法、数理统计法等研究方法,对沭阳县14
学位
玉米是世界上第一大粮食作物,也是我国的第三大粮食作物,成为我国人民日常生活以及饲料加工业中不可或缺的主粮。随着人口增加、人们生活水平的不断提高,以及耕地面积的逐步减少,转基因玉米作物的研发应运而生,而它的商业化也迫在眉睫。因此,研发转基因玉米、评估其对环境的安全性,成为众多科技工作者的重要工作内容。本论文以农业农村部农业转基因生物安全办公室提供的4个不同的玉米品种“双抗12-5”(含Cry1Ab+
学位
发展壮大村级集体经济是我国农村工作中非常重要的一个环节,而农村基层党组织,是党在基层的根基所在,要发展壮大村级集体经济离不开农村基层党组织的引领作用发挥。随着全面从严治党向纵深发展,农村基层党组织的组织力有了一定提高,但仍不同程度地存在着一些问题,比如村级党组织政治引领功能发挥受限、组织制度保障功能缺位、引领群众发展经济乏力等,制约了农村基层党组织在村级集体经济发展壮大中的作用发挥。本文以福绵区农
笔者2019年曾去韩国进行了为期一年的汉语教学,通过和学生们及韩国汉语教师沟通发现,他们在教学时并不重视语气词的讲解,相比其他的语法点,老师们弱化了教学时对语气词的关注度,认为语气词不会对交际产生过多的影响。本文的语料来自Bilibili视频、Hinative APP、初级阶段学习者语气词强制语境访谈三种途径,通过对比汉韩对应语气词义项的不同预测有可能产生的偏误,结合语料中语气词“吗”、“啊”、“
学位
本课题提出的晶变改性技术,是依据织物的液氨整理原理,采用改性介质(液氨)对亚麻纤维或纱线进行处理。国内外大多研究液氨处理棉或麻织物,对于亚麻纤维的液氨处理很少研究。
我国纺织服装行业的快速发展促进了服装公司数量及规模的不断增长,作为传统劳动密集型企业的A服装公司,由于成立时间不长、管理水平不高、绩效考核指标的设定也不尽合理,未能建立起具有行业针对性的绩效管理体系,目前仍在延续使用廉价劳动力来盈利的管理模式。随着劳动者就业观念的转变,此类公司因为成长空间和就业环境的原因已经失去了对工人的吸引力,公司发展受到严重制约,职工对公司管理的满意度不断降低、员工流失率不断
学位
随着4G网络和智能手机的快速普及,直播技术的不断进步,电商直播应运而生,两者的结合迸发出强大的经济效益,电商弥补了流量获取困难的不足,直播则获得了快速变现的通道。电商不再只是局限于图片、文字和短视频的简单叙述,而是开启了实时互动、全方位立体展示的新模式。消费者不仅能够更清晰地观看到商品的实际情况,而且可以和主播直接进行交流,并要求其进行特定地方的细节展示,此外也能够从主播的讲解和对他人的回复中加深
学位