项目名称: 软件自修复关键技术及其应用研究
项目编号: No.60873036
项目类型: 面上项目
立项/批准年度: 2009
项目学科: 轻工业、手工业
项目作者: 赵靖
作者单位: 哈尔滨工程大学
项目金额: 28万元
中文摘要: 研究表明,软件的Bug可以分为三类:Bohrbugs,Mandelbugs和Aging-related Bugs。 而软件老化相关的Bug(如内存碎片、内存泄漏、未释放的文件服务器锁等)会引起软件性能的逐渐衰退。本项目主要研究软件自修复的关键技术极其应用,主要内容及研究成果包括:(1)在软件性能衰退现象的基础上,提出了软件在线性能评估模型和在线预测模型,从而使软件的维护能够提前进行,并且在一定的风险区间之内进行维护,大大地减少了软件的维护费用。(2)研究软件的加速测试方法,将硬件领域的加速生命测试(ALT)方法应用到软件的测试上,应用统计推断可以得到正常情况的失效数据,然后应用概率模型和非参数方法对软件的再生间隔进行优化。(3)应用排队论模型对实际的Apache系统模型进行了验证,并通过计算用户关注的度量标准(响应时间)的分布,应用统计再生算法确保软件的性能。(4)我们对粒子群算法进行了研究, 这种算法可以根据当前的观测搜索到解空间找到似然率高的后验区域,而并不是应用序列重要性采样和重采样来分配权值,从而改进了粒子滤波算法,并对这个改进的算法进行了验证,从而可以应用到软件性能在线跟踪。
中文关键词: 软件自修复;加速生命测试(ALT);半马尔科夫模型;衰退趋势预测;软件维护
英文摘要: It is reported that software bugs can be classified in to three types: Bohrbugs,Mandelbugs and Aging-related Bugs. Among them, aging-related bugs (e.g., memory fragment, memory leak or unreleased file locks) can cause a continued and growing degradation to the system. Our research mainly focuses on the key techniques on software self-healing and their application. Our main results are as follows: 1) Based on our study on the phenomenon of performance degradation in software systems, we proposed a model which allows online evaluation and prediction of system performance, and which made it possible that we perform a maintenance in advance on software systems. At the same time, the risk during a maintenance can be restricted in a certain range, so that we could reduced maintenance costs significantly. 2) We transplanted the Accelerated Life Test (ALT) method in hardware engineering into the study of software aging since the observation of software aging would take several months or years to obtain. Using the statistical inference method, the failure data under a normal condition can be derived from the ALT data. Then we can optimize the interval of software rejuvenation by applying proper probability models and non-parametric methods. 3) We verified a real system model of Apache Server affected by aing by applying the queuing model. Furthermore, we calculated the distribution of Response Time, which is highly concerned by the users. Using a statistical rejuvenation algorithm on our data, we are able to ensure the performance of a software system. 4) We studied on the Particle Swarm Optimization (PSO), which apply the weight Base on the above high likelihood posterior rather than Sequence resampling and Importance resamping approach, we improved the PSO algorithm, and verified our improvements, which then can be used in the tracking and prediction of software performance. From the above description, we can see that our research methods and research results have both theoretical and practical value.
英文关键词: Software self-healing; Accelerated life Test; Semi-Markov model; Degradation trend prediction; Software maintanance