Linux版本差异性分析优化与PATCH生成

来源 :北京工业大学 | 被引量 : 0次 | 上传用户:quentin324
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Linux内核代码量极大,逻辑关系复杂,为了方便其他开发者更好的编写诸如驱动程序、文件系统等内核模块内容,Linux内核团队建立了庞大且高效的Linux内核API体系,以方便开发者使用。随着Linux项目的不断发展壮大,其API演化速度也在逐渐加快,而想要将内核模块进行版本适应,使之能够工作在更新或者更符合设计者要求的内核版本中就不得不跨过API修改这一道鸿沟。因此,随着Linux内核API数量的增加及对其修改次数的不断增多,研究并设计一套能够自动化完成内核模块版本适应的系统存在着很高的研究价值和应用价值。为解决版本适应问题,关键在于对版本间API变化信息进行收集和分析,并自动化地根据这些信息对源代码进行修改。在能够提供足够多修改信息的基础上,研制通过这些信息进行自动化修改的工具。本文研究重点就集中到对修改信息的处理和转化为工具可识别内容上。具体研究内容包括:1、提出了一种采用抽象语法树作为主体的变化信息的收集方法。首先,通过编译工具获取两个版本源代码的抽象语法树内容的差异,以之作为修改信息源。由于源代码中普遍存在对于变化来说不敏感的内容,本文重点研究解决了如何从中提取能够代表最大范围源代码修改的信息,其中包括如何对从编译器中得到的信息进行分类合并,并对不敏感信息进行抽象化处理,以保证修改信息的泛用性和准确性,并将无用信息简化等。相比现有的基于文本分析和编译错误分析方法而言,这种方法能够更精确全面地获取修改信息并且更方便对其进行划分。2、提出了一种将进行过处理的修改信息生成为Patch的处理方法。该方法通过对AST-Pattern中所表现出的修改信息进行收集,并保证其能够解决正确地对源代码中需要修改的部分进行匹配等问题。以此为基础设计并实现了通过语义信息生成Patch的方法,并通过这一方法来完成源代码的自动化修改。3、设计并实现了验证系统。本文通过对API修改进行分析和定义,选取了5个包含驱动和文件系统在内的内核模块,总结了从Linux-3.10版本到3.17版本间全部93个与其相关的API修改提交作为分析主体,验证本文系统在分析差异信息后所自动化做出的源代码修改和开发人员实际作出的修改之间的差异,并以此为基础分析本文系统的可行性以及实现效果,并进一步提出未来的改进方向。
其他文献
伴随着互联网、云计算、移动媒体和物联网等新兴网络的应用,搜索引擎、电子商务、社交网站等一系列互联网衍生应用迅速发展,使我们进入了大数据时代。在大量数据中并不是所有
农业生产方式改革、农村经济发展以及实现农业现代化都与农业信息化发展息息相关。农业信息资源的深度挖掘与高效配置有利于推动农业信息化的发展。提高农业信息资源配置效率,可节省农业信息资源使用成本,可提升农业信息化水平,可帮助农业生产改革并提高农业生产效率。如果不能有效配置农业信息资源,很容易造成信息资源供需不匹配、资源综合利用效率低、投入资源的浪费等问题,影响农业信息化水平的提升。由于地区的耕地条件差异
目前,面对食品种类多样,生产环节及销售环节关系复杂、信息量超大的销售市场,如何使消费者食用到安全放心的食品,特别是当食品安全发生危机的时候,如何使政府监管部门、生产
目的:近年来大量研究表明,长非编码RNA(long noncoding RNA,LncRNA)在恶性肿瘤的发生发展中发挥重要作用。1ncRNAAFAP1-AS1已被证实可促进食管腺癌(esophageal adenocarcinom
随着市场经济的快速发展和市场竞争的加剧,在企业发展过程中,土地和资本等生产要素可以通过各种渠道获得,为了提升市场竞争实力,越来越多的企业开始重视人才的价值,在人力资源管理中如何激励员工也被认为是一个困扰企业发展的问题,而在人力资源管理的各项激励措施中,薪酬激励占据非常重要的位置,因此薪酬激励在企业中的作用也越来越受到重视,科学合理的薪酬方案对企业长远发展尤为重要,因为好的薪酬激励政策不仅可以使企业
目的:食管癌(Esophagealcarcinoma,EC)是一种常见的恶性肿瘤,在我国乃至全世界都具有较高的发病率,这里将对食管癌术后的并发症诱因以及关键基因的mRNA、甲基化以及突变对不
二十一世纪是知识经济的时代,一个企业的生存和发展已经不再单纯取决于其自身的物质条件和财务资本如何殷实,而是取决于该企业是否拥有高素质的人才队伍、有效的团队管理和强
目的机械通气及其相关的脱机一直都是重症医学科重要的研究领域。但是关于系统指导临床脱机模型或者体系的研究还是空白。本研究的目的即是将能有效预测脱机结果的单一参数联合起来,初步建立起一个能够用于指导临床有创机械通气脱机的模型。研究是通过能够反应血流动力学的经肺热稀释法和脉搏波轮廓分析参数、液体平衡相关的参数来初步建立起能预测脱机失败的模型以期能够指导临床脱机。方法采用回顾性队列研究,查阅2017年1月
随着信息技术的发展与应用的逐步深入,各大高校已经在许多方面引入了信息管理系统来提升自身的管理和运营效率。通过构建合理的高校教学评估信息系统,能够实现对日常教学质量
电信运营商的“电信增值业务”多数都是由数据业务来支撑的,它同时给电信运营商带来一大笔可观收入。最近几年,虽然市场竞争激烈,但是数据业务随着行业数字化技术的迅速发展