📜  软件工程 |曲线拟合模型

📅  最后修改于: 2022-05-13 01:57:00.377000             🧑  作者: Mango

软件工程 |曲线拟合模型

曲线拟合组模型使用统计回归分析来研究软件复杂度与程序中的故障数、更改数或故障率之间的关系。这组模型通过使用线性回归、非线性回归或时间序列分析方法找到输入和输出变量之间的关系。例如,因变量是程序中的错误数。自变量是在维护阶段更改的模块数量、故障间隔时间、程序员的技能、程序大小等。该组中包含的模型有:错误估计、复杂性估计、故障率估计。这些解释如下。

下面是黑白实际与估计的图表。

1. 误差模型估计:
程序中的错误数量可以通过使用线性或非线性回归模型来估计。用于估计程序中初始错误总数 N 的简单非线性回归模型可以表示如下:

    $$ N = \Sigma a_{i} X_{i} + \Sigma b_{i} X^{2}_{i} + \Sigma c_{i} X^{3}_{i} + \varepsilon $$

其中 Xi 是第 i 个误差因子; ai, bi, ci 是模型的系数,并且\varepsilon 是一个错误术语。典型的错误因素是软件复杂性指标和环境因素。大多数曲线拟合模型只涉及一个误差因素。

2. 复杂度模型的估计:
该模型用于使用时间序列方法估计软件复杂度 CR。软件复杂度模型总结如下:

    $$ CR = a_{0} + a_{1} R + a_{2} E_{R} + a_{3} MR + a_{4} IR + a_{5} D + \varepsilon $$

在哪里
R = 发布序列号
ER = 发布时的环境因素 R
MR = 版本 R 的模块数
IR = 发布间隔 R
D = 第一个错误发生的天数
\varepsilon = 错误

当软件被评估时使用此特定模型,因为时间意味着发布更多版本的模型。

3.失效率模型估计:
该模型用于估计软件的故障率。给定故障时间 t1, t2, .., tn,粗略估计第 i 个故障间隔的故障率是

    $$ \widehat{\lambda}_{i} = \frac{1}{t_{i-1} - t_{i}} $$

假设故障率是单调不递增的,这个函数的估计\lambda , i = 1, 2, …, n 可以通过最小二乘法得到。