[论文解读] Robust Dynamic Selection of Tested Modules in Software Testing for Maximizing Delivered Reliability
本文提出了一种针对软件测试模块的鲁棒动态选择框架,旨在在用户操作配置文件不确定性和测试人员风险规避的背景下,最大化交付的可靠性。通过将问题建模为带有风险效用函数和不确定性集鲁棒优化的动态规划,结果表明,直接优化交付可靠性(而非缺陷数量)能显著提升实际应用中的可靠性,尤其在风险规避的测试行为下表现更优。
Software testing is aimed to improve the delivered reliability of the users. Delivered reliability is the reliability of using the software after it is delivered to the users. Usually the software consists of many modules. Thus, the delivered reliability is dependent on the operational profile which specifies how the users will use these modules as well as the defect number remaining in each module. Therefore, a good testing policy should take the operational profile into account and dynamically select tested modules according to the current state of the software during the testing process. This paper discusses how to dynamically select tested modules in order to maximize delivered reliability by formulating the selection problem as a dynamic programming problem. As the testing process is performed only once, risk must be considered during the testing process, which is described by the tester's utility function in this paper. Besides, since usually the tester has no accurate estimate of the operational profile, by employing robust optimization technique, we analysis the selection problem in the worst case, given the uncertainty set of operational profile. By numerical examples, we show the necessity of maximizing delivered reliability directly and using robust optimization technique when the tester has no clear idea of the operational profile. Moreover, it is shown that the risk averse behavior of the tester has a major influence on the delivered reliability.
研究动机与目标
- 解决当前软件测试中过度关注缺陷移除而非最终用户交付可靠性的差距。
- 将测试过程建模为动态规划,以考虑实时状态和用户操作配置文件。
- 通过严格凹的效用函数引入测试人员的风险规避行为,反映对实际(而非仅期望)可靠性的关注。
- 利用鲁棒优化处理操作配置文件的不确定性,确保在最坏情况下的性能表现。
- 证明直接优化交付可靠性可获得比最小化剩余缺陷更优的结果。
提出的方法
- 将模块选择问题建模为动态规划,其中测试决策依赖于当前缺陷状态和操作配置文件。
- 引入严格递增且凹的效用函数,以建模风险规避的测试人员行为,捕捉对实际可靠性变异性的关注。
- 应用鲁棒优化处理操作配置文件的不确定性,假设其位于给定的不确定性集中,以确保最坏情况下的性能。
- 使用带有贝尔曼方程的动态规划求解所得优化问题,推导出最优模块选择策略。
- 通过数值模拟评估风险规避和操作配置文件不确定性对交付可靠性分布的影响。
- 采用蒙特卡洛模拟(10,000次运行)估计不同风险参数下交付可靠性的经验分布。
实验结果
研究问题
- RQ1直接优化交付可靠性与最小化剩余缺陷相比,在实际软件可靠性方面表现如何?
- RQ2测试人员风险规避对交付可靠性分布和变异性有何影响?
- RQ3用户操作配置文件的不确定性如何影响测试策略的鲁棒性?
- RQ4当真实操作配置文件未知时,对不确定性集的鲁棒优化能否提升测试策略的可靠性?
- RQ5不同的风险偏好(风险规避 vs. 风险中性)如何影响最优模块选择策略?
主要发现
- 直接优化交付可靠性可显著提升实际可靠性,即使缺陷数量减少,其效果也优于最小化剩余缺陷。
- 风险规避的测试人员(γ 较低)会产生更不稳定的交付可靠性分布,其方差更高,尤其当 γ = 0.001 或 0.01 时更为明显。
- 平均交付可靠性随风险规避程度增加而提高:从 γ = 0.001 时的 0.3947 提升至 γ = 1 时的 0.5512,表明平均性能与变异性之间存在权衡。
- 交付可靠性的方差在不同风险水平下保持相对稳定(0.0057–0.0099),但分布形状发生显著变化,风险规避策略表现出更大的离散性。
- 数值示例证实,当操作配置文件未知时,鲁棒优化至关重要,因为它可确保在最坏情况下的性能表现。
- 结果表明,风险规避行为导致更保守的测试策略,尽管平均可靠性较低,但在安全关键系统中可能更具可取性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。