优化硬件资源使用:一种避免软件应用崩溃的技术

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:qweaz1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机硬件和相关软件的快速发展,软件开发的质量控制已成为开发者需要面对的重要挑战。软件开发的复杂度随着硬件结构的变化和软件功能的增加而愈加复杂,而增长的软件代码又引入了新的错误。在关键系统中,一个小错误也有可能造成巨大的财产生命损失。因此,为了使程序能够稳定执行并且免于造成自身和系统的崩溃,开发人员花费了大量的时间精力用于检查和消除程序中的错误。免于崩溃的软件应用上的开发和研究工作引起了工业界和学术界的广泛兴趣,相关工作通常会在编程语言及编译器、应用程序行为、操作系统行为、程序测试以及验证等多个方面展开。软件质量在系统的可靠性中起着非常重要的作用,因此当软件应用不能保证高可用时,系统整体的可靠性也无法得到保证。在构造免崩溃软件的过程中,本论文通过研究在程序分析、程序测试和程序验证等过程中提高检测错误能力的方法,提出了RUSH分析框架,实现了在软件源代码的编译之前,编译过程中和编译后等各个阶段对软件程序及运行系统的错误分析。RUSH的第一个方向是编译前代码分析。在软件发布之前主要有代码分析、程序测试和程序验证等过程,本论文主要关注于通过在代码分析和验证技术中优化CPU核心和其他硬件资源使用的方法提高穷尽型代码分析技术(符号执行)和验证技术(模型检查)的性能以实现软件的免崩溃。本论文通过分析KLEE和Cloud9(KLEE的并行版本)等具有代表性的符号执行引擎的源代码发现在CLOUD9中存在3处性能瓶颈,分别为:CPU核心之间的通讯时间差、加载均衡器的任务传输策略和针对KLEE的已求解条件的缓存管理策略。为解决上述瓶颈,本论文(1)通过优化的参数对通讯时间差进行调优,以及早发现空闲核心;(2)修改任务分发算法,仅将任务分配到空闲核心上;(3)增加新的参数选项以调优已求解约束缓存列表的大小,进而削减搜索约束缓存的时间。通过实验评估发现,经过本论文方法调优的Cloud9与原始Cloud9相比,在执行中平均多释放出140%~150%的核心数。值得一提的是,在某些情况下,对缓存策略的修改可以降低500%的执行时间。另一方面,为深入了解目前最新的模型检查工具和技术,本论文通过广泛的文献调研研究了其在软件工程中的作用。本论文通过对其在软件调试、约束求解、和恶意软件检测方面应用现状的观察,发现模型检查被广泛应用于软件和系统验证中。本论文的研究可帮助判断是否可以通过模型检查技术验证一个实际软件应用以生成免崩溃版本的应用。模型检查在实际应用中面临着严重的状态爆炸问题。为解决该问题,本论文通过分析模型检查器Spin的源码,提出了有限深度优先广度搜索算法。该算法合并了深度优先和广度优先算法,将现有的手动解决方案自动化。实验表明,对于大部分Spin因状态爆炸而不能处理的程序,本论文的算法可以成功执行并发现反例。RUSH的第二个方向为代码的编译中分析。编译器的质量在很大程度上决定了生成二进制代码的健壮性和性能。虽然编译器已经得到广泛的研究,但是很少有涉及到对生成二进制代码的健壮性的研究。本论文对流行的C语言编译器,包括GCC、Intel、SUN、PGI、LLVM和Visual Studio等,进行了比较研究以分析编译器在不同操作系统平台上对二进制代码健壮性的影响。实验结果表明,GCC是GNU/Linux平台上的最佳编译器,PGI在基于UNIX的系统上优于Intel,但是Intel和VS则在Windows平台上表现更优。RUSH的第三个方向为编译后分析。尽管经过了上述各个阶段的代码错误检测和验证,最终的发布版本仍然可能存在遗漏的错误并引发程序或系统的崩溃,而用户不得不忍受可能的问题直到下一次修复补丁的发布。为解决这一问题,本论文提出了Anticrasher工具持续地分析硬件资源的使用和其他系统基本进程的运行以防止可能产生的崩溃。该工具可以在用户端防止大多数流行操作系统的崩溃。综上所述,RUSH框架关注于通过在软件程序的编译前、编译中和编译后的研究,使软件应用免于崩溃。该框架增强了代码分析工具的能力,检查了验证工作的作用,分析了可生成健壮二进制代码的C编译器,以及创建了Anticrasher工具。为支持针对多系统的研究,本论文创建并使用了基于USB硬盘驱动器的多操作系统安装工具。
其他文献
网络餐饮作为一种新型餐饮交易方式,在餐饮界竞争中取得了重大成功,对企业而言,更是对传统餐饮服务的突破。网上订餐系统是典型的电子商务网站系统,本文采用了B/S模式,使用开
直奉战争结束后,中国政治形成外交与内政交织的局面,外国势力成为中国政治变化重要的有时甚至是决定性的因素。列强对中国政治的干预刺激了中国民族主义的高涨。"反帝"成为当
研究了合成溴乙烷的有机实验,为提高效率、降低污染、保证安全,采用了安全的催化剂,对实验予以改进.
滑轮的结构形式、材质和制造方法等都影响钢丝绳与滑轮自身的使用寿命。双幅板压制滑轮可使钢丝绳及滑轮自身使用寿命提高。文中介绍这种压制滑轮的结构、参数、特点及效益。
<正> 1980年我们观察了阴虚型肺结核病人的淋巴细胞转化试验,用阴虚型基本方治疗后,患者淋巴细胞转化率显著提高。两年后,我们又测试了浸润型肺结核病人的 T 淋巴细胞100例及
一部优秀的电影一定离不开与之相匹配的影视音乐,优秀的影视音乐不仅可以对电影的结构起到优化的作用还可以对电影的基调进行定位、对电影的主旨进行诠释。电影《辛德勒的名
在全球一体化的今天,为能够与好莱坞大片相抗衡,在世界电影市场中争得一席之地,中国电影产业化不断深入,电影类型化越来越成为人们所关注的话题。2012年末上映的喜剧片《泰囧
试验结果表明:最适合检测食糖含霉菌和酵母菌的培养基为孟加拉红培养基,其次为马铃薯葡萄糖琼脂培养基,最不适合的为高盐察氏培养基。最易检出的稀释度为10-3,最适检出的稀释
随着IT、电工电讯、汽车配件、办公机器、家电、五金制品等行业的发展,驱动着金属成型行业,尤其是金属薄板精密裁切行业的迅速发展。基于节材节能环保的经济发展理念,要求不
基于原点频响函数法对曲轴轴系匹配三种不同TVD时的扭振进行计算,可以快速预测TVD减振效果。首先引入扭转减振器减振原理;其次介绍集总参数有限元法计算扭振的方法;然后通过扭转