应用软件动态更新中错误状态的修复

来源 :复旦大学 | 被引量 : 0次 | 上传用户:hnsushiheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
半个多世纪来,计算机技术飞速发展,应用软件的规模也随之愈发庞大,越来越复杂。然而不幸的是,软件规模激增的同时不可避免地引入了越来越多的安全漏洞和缺陷。尽管软件工程一直在努力,遗憾的是,我们不得不面对这样一个事实,“完美的应用软件”一直没有存在过,软件或多或少都存在有Bug。面对软件的不完美之处,大量的更新程序或者补丁被发布,用于弥补漏洞,修补程序缺陷,抑或是用于增强软件功能,我们在此统称之为软件更新。传统软件更新工作在“停机—更新软件—重启”的模式下进行,这种方法势必会导致应用软件服务中断,影响软件的可用性。然而,许多的应用软件服务却对不间断运行有很高的要求,希望能够提供24小时~*7天的全覆盖服务[1],常见于关系民生国计的重要行业中。如果因为各种原因导致这些服务中断的话,带来的损失是惊人的。为了解决软件的可用性与传统软件更新所导致的服务中断之间的矛盾,各类使用不同技术路线的软件动态更新被提出。但是,大部分的动态更新方法都建立在被更新软件运行正常的前提假设下。但事实上,由于被更新软件往往本身存在缺陷、瑕疵,或者是软件漏洞面临的外部攻击威胁,很可能在更新时已经存在某些意外的错误状态。通过对国内外近十年来动态更新领域研究成果的学习、整理、分析,我们发现多数动态更新方法缺乏这方面的处理手段。由于大量动态更新方法在更新时机上是依赖于安全点/更新点机制,缺乏对更新过程中错误状态处理的能力;基于组件/模块实现的动态更新在更新单元上满足不了修复错误状态;基于软硬件冗余的动态更新,由于需要严格保持状态的一致性,对于修复错误状态的支持几乎没有。POLUS动态更新框架使用了与大多数现存方法不同的技术路线,允许新旧数据同时并存,由POLUS框架来保证状态的一致性,同时提供了多时间点的函数回调机制。这些特点为我们的修复工作提供了机会。通过学习分析应用软件动态更新过程中可能出现的各种错误状态类型。我们从线程死锁这个常见的简单错误着手,研究这类错误典型代码的特点,并结合POLUS动态更新框架的功能特点,尝试各种使用动态更新补丁进行错误修复的可能性,寻求最佳解决方案,并通过这个典型案例总结经验,归纳出可行的修复方法。接着,从CERT等关注于软件可用性和安全性问题的专业网站上的大量真实案例中发掘适合展开修复工作的实际案例。随后,按照先前总结的修复方法,我们又针对内存管理错误案例和结构化数据错误案例进行了大量案例分析和代码研究,提出了具有启示性的修复方案。修复方案的具体实现工作主要都是通过在POLUS动态补丁中增加相关的修复函数和接口的手段实现。经过努力,我们基本上达到了预期的目标。各个修复案例相关的测试表明,我们的针对相关的错误状态提出的修复方案是可行的,有效的,并且对部分案例的测试还表明对应用软件的影响极小。
其他文献
  本文构造了一个语义索引空间,并采用DHT技术管理该空间。系统根据共享信息的语义特征,生成其在索引空间中的坐标。然后将信息的索引发布到管辖空间包含这些坐标的节点。检
 本文首先介绍了扩充巴科斯范式ABNF,研究了文法分析的理论与方法,提出了一种基于文法分析技术的ABNF通用解析系统的设计与实现方案。在ABNF通用解析系统中,首先对输入的协议消
生存性指系统在攻击、故障的情况下继续提供关键性服务的能力。无线传感器网络(WSN,Wireless Sensor Networks)易受攻击、易发生故障的特点使得研究其生存性显得格外重要。因
本文首先介绍了ChinaGrid 和CFD 网格应用平台的项目背景,然后对平台建设所涉及的技术进行了简单说明,包括CFD 、高性能计算、Web 服务和网格计算等四方面。同时对Geodise 等相
本文针对多媒体文档的融合和提取进行研究和试验,提出了一种多媒体文档融合方案对教学场景中的视频、声音、教案数据和操作序列等多路媒体数据进行合成压缩、存储和回放;提出
科技滞后是阻碍欠发达地区经济发展的重要因素.欠发达地区在科技成果转化这一环节上还十分薄弱.我们首先应认真分析欠发达地区科技成果转化的现状,从现实中找出问题的症结,积
随着我国工业化和城市化进程不断加速,城市产生的废弃物急剧增加,而处理场地越来越难找.本文结合日本大阪港围填海考察经历,探讨我国未来废弃物可选择的处置方式.借鉴日本大
随着中、港两地政治、经济关系日益密切,两地新闻从业员在新闻报道过程中的接触也有增加趋势。本记者发现,两地同行在处理及报道手法、侧重点方面有许多不同,相形之下.香港
本文阐述了我国工程硕士培养现状,应用SW OT分析方法,探讨了企业所属院校培养工程硕士的态势与竞争力,提出了企业所属院校在培养工程硕士过程中应细分市场及目标顾客群,找准
Web服务是近年来蓬勃兴起的一种分布式计算模型,它能够实现在不同平台、不同程序语言编写的应用程序或者应用程序组件之间无缝的互操作。Web服务提供将应用程序封装成单个实