面向软件演化的配置故障诊断技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:shushuclover1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件规模的扩大和软件复杂度的不断升,软件配置故障已成为导致软件系统失效的主要原因之一。目前软件系统内的配置项约束及其相互之间关联关系的复杂性是导致软件配置故障频发的主要原因。更复杂的情况,当软件系统产生演化时,旧有的配置设置可能不再满足新版本的软件系统,从而导致软件配置故障。基于上述背景,本课题系统分析了常用软件的配置相关代码特征,并设计实现了面向软件演化的配置故障诊断辅助框架ConfExt。通过自动化完成配置项到程序变量的映射,并取配置变量相关约束,可以实现部分软件配置故障的快速诊断。当软件演化发生时,可以实现配置约束变更的自动分析,为软件使用者供配置修改的参考。ConfExt的主要工作包括:1.系统分析了广泛使用的六款C/C++开源软件,包括Apache Httpd、MySQL、Redis、Nginx、Postfix和PostgreSQL,总结出软件系统配置相关的代码特征。2.基于特征模式学习的方法,实现了开源软件系统中配置项到程序中变量名的自动映射,无需考虑软件源码中的复杂语义环境与编码风格,改进了现有研究工作中人工或者半人工实现配置项变量映射的现状。实验表明,ConfExt实现的配置项变量映射准确率达到了97.5%,并且平均可以挖掘出91.4%的潜在配置项。3.基于软件源代码特征,使用机器学习算法、数据流与控制流分析等技术,通过自动分析与配置相关的处理代码段,实现了配置约束的自动取,包括配置项的类型约束、数值范围约束、多配置项间的控制依赖、多配置项间的数值依赖以及枚举类型的取值空间约束。实验表明,ConfExt可以取出1123个各类配置约束条件,并且配置约束准确率达到97.9%。4.设计实现了面向软件演化的配置变更自动分析框架。通过在软件系统不同版本间实现配置约束差异自动分析,可以取版本间配置约束发生变化的配置项,为软件使用者供配置修改的参考,并供接口自动生成满足新约束的配置设置。
其他文献
在现代实时嵌入式系统设计中,采用在同一资源平台上集成多种不同关键性级别的功能应用方案已经成为一种发展趋势。面向混合关键性系统的实时调度算法研究成为了学术界和工业
伴随计算机及网络技术的不断发展,控制系统中的各类部件利用通信网络相互连接已成为控制系统在未来的主要发展趋势。本研究针对网络控制系统中时变采样周期、数据包丢失等问
随着全球经济的快速发展,众多企业在提高产品“量”的同时,也在对“质”进行提升。节能降耗逐渐成为制造业一个清晰的共识,结合到车间调度中,车间绿色调度可以为企业降低许多
特征选择的目的在于选出能够较好表示类别的相关特征构成的优质特征子集,是克服“维数灾难”的一种数据预处理过程,本质是一种降维技术。目前,特征选择已广泛应用于计算机视
为了有效地降低针对Web应用程序的攻击和漏洞利用所带来的危害,对Web应用程序进行特权分离已经成为了软件安全的第二道防线。传统的对Web应用程序进行特权分离的方法是将一个
计算机辅助颅面复原是一个结合现代解剖学,以计算机为工具,进行数字化颅面复原的新兴技术,应用前景广泛。相关领域专家和学者们在颅面复原算法上已经展开多年研究,但颅面复原
目标跟踪技术是计算机视觉领域当中重点研究课题之一,目标在实际运动过程中不可控环境因素众多,对全局遮挡、光照突变等挑战条件的跟踪技术仍然需要不断的探究发展,单单解决
近几年,随着无线通信技术的快速发展,移动网络的速率得到大大提升,移动视频业务也随之兴起。视频流量的带宽消耗大,传输的重复性高,需要采取措施实现无线资源的有效利用以满
荧光分子断层成像(FMT)根据边界探测到的漫射光分布,同时考虑到组织对光的散射和吸收作用,选取合适的重建方法重建出荧光目标在体内的三维分布和荧光浓度,从而对生物体的生理和
在科学研究和工程应用中都涉及对优化问题的求解,而随着工业发展朝着新型化、综合化、连续化的方向迈进,使得工业生产过程中所面对的优化问题具有多目标求解、强非线性、高变