研究表明,软件的Bug可以分为三类Bohrbugs,Mandelbugs和Aging-related Bugs。 而软件老化相关的Bug(如内存碎片、内存泄漏、未释放的文件服务器锁等)会引起软件性能的逐渐衰退。本项目主要研究软件自修复的关键技术极其应用,主要内容及研究成果包括(1)在软件性能衰退现象的基础上,提出了软件在线性能评估模型和在线预测模型,从而使软件的维护能够提前进行,并且在一定的风险区间之内进行维护,大大地减少了软件的维护费用。(2)研究软件的加速测试方法,将硬件领域的加速生命测试(ALT)方法应用到软件的测试上,应用统计推断可以得到正常情况的失效数据,然后应用概率模型和非参数方法对软件的再生间隔进行优化。(3)应用排队论模型对实际的Apache系统模型进行了验证,并通过计算用户关注的度量标准(响应时间)的分布,应用统计再生算法确保软件的性能。(4)我们对粒子群算法进行了研究, 这种算法可以根据当前的观测搜索到解空间找到似然率高的后验区域,而并不是应用序列重要性采样和重采样来分配权值,从而改进了粒子滤波算法,并对这个改进的算法进行了验证,从而可以应用到软件性能在线跟踪。
英文主题词Software self-healing; Accelerated life Test; Semi-Markov model; Degradation trend prediction; Software maintanance