系统可用性的核心问题是软件容错。一个好的软件容错策略是功能和代价的统一。软件容错测量是评估软件容错策略的基本手段。本项目拟对基于测量的软件故障进行分析和建模,建立基于测量的软件故障库,通过软件容错测量实验,逐步建立和完善软件容错测量指标体系;从现有基准案例和软件容错实验系统的测量过程、测量技术和测量基本要素中提升出软件容错测量的开放性框架;利用组件技术实现软件容错测量基本构件和测量引擎,提供开发测量系统的支持库和基本工具,为软件容错理论和技术的研究和应用提供基础。
软件系统的容错是一个至关重要的问题。本课题在四个层面研究了基于测量的软件容错理论和技术源程序隐含的缺陷将导致软件系统在运行时出现故障和错误,分析源程序,基于其特性生成测量数据,以辅助发现错误和缺陷;对于分布式系统,网络异常易诱发系统故障,实时测量网络,掌握其特性,有助于系统重构,优化系统运行,达到容错目的;在软件系统出现故障后,采取回卷方式进行故障恢复,以实现容错;为了屏蔽故障,采用副本冗余,维护副本的一致性,以实现低开销容错。本课题基于多种测量途径来分析软件特性,发现软件缺陷,验证软件可靠性,通过系统重构、故障恢复、故障屏蔽来实现软件容错,保证系统的可用性。在测量方法,软件容错特性评估,软件容错中的关键问题等方面取得了一些成果。基于所取得的成果,开发了一个Java源程序分析与检测原型系统,检测软件缺陷和错误,评估软件容错特性;开发了一个软件容错支持库,实现了基于进程迁移的系统重构和回卷恢复,以及副本管理与维护。在此基础上进行了大量实际应用程序的测量实验,研究了软件故障类型、评估软件容错特性及开销,容错优化等问题,为软件系统实施容错提供指导。