类复杂性度量用于预测不可预测性(IJIEEB-V6-N1-8)
- 格式:pdf
- 大小:1.09 MB
- 文档页数:8
一种集成类层次和系统层次的面向对象软件复杂性度量集李大鹏;郭平;陈新宇
【期刊名称】《计算机研究与发展》
【年(卷),期】2010()S1
【摘要】分析了面向对象软件类级别的度量CK和Li方法以及系统级别的度量MOOD方法,并结合面向对象技术的特性用Weyuker度量评价标准对这些方法固有的缺陷和不足进行了分析.在此基础上,结合CK,Li和MOOD方法的优点提出了较为全面的综合考虑类级别和系统级别的面向对象程序的度量集,称之为
ISCM(integrated software complexity metrics).此度量集可有效地弥补CK,Li和MOOD方法的不足,从而优化度量结果.
【总页数】6页(P237-242)
【关键词】软件度量;面向对象;CK;Li;MOOD;ISCM
【作者】李大鹏;郭平;陈新宇
【作者单位】北京理工大学计算机学院;中国科学院软件研究所计算机科学国家重点实验室
【正文语种】中文
【中图分类】TP3
【相关文献】
1.面向对象程序复杂性度量层次模型 [J], 董东;邹澎涛
2.一种优化的面向对象软件复杂性度量方法 [J], 谢超超;杨柳
3.一种面向对象软件的伪动态复杂性度量的方法 [J], 范莉莉
4.一种面向对象软件的伪动态复杂性度量的方法 [J], 范莉莉
5.面向对象数据库系统中类层次及其复杂性研究 [J], 肖伟器;冯玉才
因版权原因,仅展示原文概要,查看原文内容请购买。
人工智能之模式识别_北京理工大学中国大学mooc课后章节答案期末考试题库2023年1.采用非线性激活函数可以实现感知器解决非线性分类问题。
参考答案:错误2.下列关于最大池化的说法中错误的是?参考答案:LeNet采用的是最大池化方法3.填充树法由顶向底的方法和由底向顶填充相反。
参考答案:正确4.语言可以是无限的但是句子必须是有限的。
参考答案:正确5.文法是由下列哪些参数构成的?参考答案:起始符S_终止符V_T_非终止符V_N_产生式P6.感知器算法应用什么方法求解准则函数的最优值?参考答案:梯度下降法7.下列关于对比散度算法的说法中错误的是?参考答案:深度信念网中多层受限玻尔兹曼机同时通过对比散度算法完成预训练8.下列选项中,属于模式识别系统的环节是?参考答案:分类器训练_模式采集_分类决策_预处理与特征生成9.分类器函数的VC维h越大,将使下列选项中的哪些数据发生变化?参考答案:置信风险越大_结构风险越大_分类器泛化能力越差10.利用SVM将低维空间中的非线性问题映射到高维空间,存在哪些问题?参考答案:不确定需要映射到多少维的空间上,非线性问题才会转化为线性问题_如何找到合适的映射函数φ_增加计算量,可能会因为维数灾难无法解决11.本课程中介绍的与句法模式识别相关的基本概念有?参考答案:字母表_句子(链)_文法_语言12.下列选项中属于贝叶斯分类器的特点的是?参考答案:分类决策存在错误率_先验概率已知,以新获得的信息对先验概率进行修正13.贝叶斯分类器的训练,是从样本集数据中估计出____。
参考答案:类条件概率_先验概率14.下列选项中属于特征降维的优点的是?参考答案:降低模式识别任务的复杂度_提升分类决策的正确率_用更少的代价设计出更加优秀的模式识别系统15.下列说法中正确的是?参考答案:聚类结果受特征选取和聚类准则的影响_数据聚类没有预先分好类的样本集_聚类结果受各特征量纲标尺的影响_数据聚类没有已知的分类决策规则16.设计一个组合分类器需要满足什么要求?参考答案:每个基分类器的训练集和训练结果要有差异_组合分类器需要重点考虑方差和偏差_基分类器的分类正确率大于50%17.下列选项中属于决策树分类器的特点的是?参考答案:需选择分支后两个子节点纯度最高的特征作为一个节点的测试特征_速度快,分类决策规则明确_未考虑特征间的相关性_有监督学习方法18.下列选项中属于Adaboost算法的特点的是?参考答案:异常数据(离群点)影响大_不易实现并行化训练_只能解决二分类问题_算法的组合过程能减小偏差19.下列选项中属于反馈型神经网络的是?参考答案:Hopfield网络_受限玻尔兹曼机20.调节以下哪些部分可以对神经网络的性能造成影响?参考答案:权值_激活函数_隐层单元_阈值21.下列选项中关于前馈网络和反馈网络的说法中正确的是?参考答案:前馈网络输出不作用在网络的输入中_前馈网络为静态网络_反馈网络下一时刻的输出与上一时刻的输出有关_反馈网络为动态网络22.下列选项中属于BP网络的不足的是?参考答案:容易陷入局部极小值_全连接网络计算大_隐层神经元数量难以确定_无法做到深度很深,会产生梯度消失23.下列选项中属于深度学习的特点的是?参考答案:需要大量样本进行训练_逐层抽象,发现数据集的特征_是层数较多的大规模神经网络_需要大规模并行计算能力的支持24.利用链式求导法则需要哪些信息?参考答案:损失函数与网络输出向量之间的函数关系_激活函数输出对净激励的导数25.深度信念网不能用于图像识别的原因是?参考答案:深度信念网为一维向量输入,不能直接用于二位图像_需要进行认知-重构的双向计算,学习速度不够快_受限玻尔兹曼机的层间全连接,权值数量太多26.Jp作为类内、类间可分性的概率距离度量时应该满足下列选项中哪些条件?参考答案:当两类完全不可分时,Jp等于0_当两类完全可分时,Jp取得最大值27.特征选择的算法包括以下哪些?参考答案:分支定界法_顺序后退法_穷举法_顺序前进法28.特征降维的方法包括特征选择和特征提取。
2025年软件资格考试程序员(基础知识、应用技术)合卷(初级)模拟试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、家长通过编程软件帮助儿童学习编程、科学、艺术等知识。
下列与软件设计相关的说法,错误的是哪一项?( )A. 可以基于孩子的认知特点开发应用程序。
B. 可以通过Web技术搭建平台,提供给多个教学人员使用。
C. 应用程序和平台的使用方式需要简单,以便儿童和家长容易上手。
D. 开发小朋友教育类软件不需要考虑安全性,因为用户是小朋友。
2、某公司开发了一个人脸识别系统的应用程序,该软件依赖于用户的面部特征来验证身份。
下列关于该软件应用说法,不正确的是哪一项?( )A. 需要使用高精度摄像头捕捉清晰的用户面部图像。
B. 应实现算法对图像识别结果的实时处理。
C. 应该通不过加密技术保护用户的面部作出传输和存储保证其隐私。
D. 应用需要定期更新数据库来确保识别的准确性。
3.(单选题)在编程中,数据结构分为多种类型,其中一种是用于存储数据集合,能够表示集合中的关系和层次关系的数据结构。
这种数据结构被称为()A.栈B.链表D.图结构5.在软件开发过程中,以下哪个阶段通常不属于需求分析阶段的工作?A. 需求收集和分析B. 系统设计C. 软件定义D. 可行性研究6.以下哪个符号用于表示类的属性?B. *C. @D. &7、以下哪个关键字用于表示一个函数的返回值类型?A. voidB. intC. floatD. char8、以下哪个关键字用于表示一个函数可以不接受任何参数?A. voidB. intC. floatD. char9、计算机的主要性能指标通常是指内存容量和()。
B、时钟速率C、分辨率D、存储速率 10、在计算机网络中,HTTP是()协议。
A、文件传输B、电子邮件C、超文本传输D、远程登录11、下列哪种数据结构是线性结构?A. 栈B. 树C. 图D. 一个数组12、面向对象程序设计的核心是?A. 函数分解B. 数据抽象C.控制流D. 并发编程13.下列情况下,编译时能发现错误的有?(多选题)A. 变量未初始化B. 忘记写分号C. 函数返回值类型与函数声明不一致D. 使用已释放的内存14.在Java语言中,下列哪一项是不包含在基本数据类型中的?A. 整型C. 字符型D. 布尔型15、计算机网络中,TCP/IP协议分为几层?每层的主要功能是什么?16、什么是数据库的三范式?请简要说明每个范式的内容和作用。
人工智能试题与答案一、单选题(共103题,每题1分,共103分)1.如果问题存在最优解,则下面几种搜索算法中,()必然可以得到该最优解。
A、启发式搜索B、深度优先搜索C、有界深度优先搜索D、广度优先搜索正确答案:D2.关于python程序设计语言,下列说法不正确的是( )A、python源文件以***.py为扩展名B、python只能在文件模式中编写代码C、python的默认交互提示符是:>>>D、python具有丰富和强大的模块正确答案:B3.贝叶斯网络是基于概率推理的()模型。
A、图形B、数学C、数据D、判断正确答案:B4.根据边的性质不同,概率图模型可大致分为两类:第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网(Bayesiannetwork);第二类是使用无向图表示变量间的相关关系,称为(___)。
A、赫布网B、拉普拉斯网C、马尔科夫网D、塞缪尔网正确答案:C5.要想让机器具有智能,必须让机器具有知识。
因此,在人工智能中有一个研究领域,主要研究计算机如何自动获取知识和技能,实现自我完善,这门研究分支学科叫()。
A、模式识别B、神经网络C、专家系统D、机器学习正确答案:D6.使用似然函数的目的是什么()A、改变目标函数分布B、求解目标函数C、得到最优数据样本D、找到最合适数据的参数正确答案:D7.关于Python的分支结构,以下选项中描述错误的是A、Python中if-elif-else语句描述多分支结构B、分支结构使用if保留字C、分支结构可以向已经执行过的语句部分跳转D、Python中if-else语句用来形成二分支结构正确答案:C8.若某二叉树中的所有结点值均大于其左子树上的所有结点值,且小于右子树上的所有结点值,则该二叉树遍历序列中有序的是A、前序序列B、中序序列C、后序序列D、以上说法均不正确正确答案:B9.机器学习中,模型需要输入什么来训练自身,预测未知?A、人工程序B、历史数据C、神经网络D、训练算法正确答案:B10.操作系统主要是对计算机系统的全部()进行管理,以方便用户、提高计算机使用效率的一种系统软件。
1. 软件工程的概念是哪年提出的( B)。
A. 1988B. 1968C. 1948D. 19282. 瀑布模型的关键不足在于( D)。
A. 过于简单B. 各个阶段需要进行评审C. 过于灵活D. 不能适应需求的动态变更3. 以下哪一项不是软件危机的表现形式(C )。
A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差4. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A. 简化、压缩的B. 详细的C. 彻底的D. 深入的5. 结构化设计是一种面向(A )的设计方法。
A. 数据流B. 模块C. 数据结构D. 程序6. 与确认测试阶段有关的文档是( A)。
A. 需求规格说明书B. 概要设计说明书C. 详细设计说明书D. 源程序7. 软件开发的需求活动,其主要任务是(D )。
A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型8. 以下说法错误的是( A)。
A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D. 高质量文档对于发挥软件产品的效益有着重要的意义9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于(A )。
A. 成本估算B. 项目计划C. 工程管理D. 工程网络图10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B )。
A. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发11. 面向对象的主要特征除对象惟一性、封装、继承外,还有( A)。
A. 多态性B. 完整性C. 可移植性D. 兼容性12. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B )。
南开大学22春“物联网工程”《数据科学导论》期末考试高频考点版(带答案)一.综合考核(共50题)1.下列选项是BFR的对象是()。
A.废弃集B.临时集C.压缩集D.留存集参考答案:ACD2.多层感知机的学习能力有限,只能处理线性可分的二分类问题。
()A.正确B.错误参考答案:B3.在树的结构中,特征越重要,就越远离根节点。
()A.正确B.错误参考答案:B4.sigmoid函数属于阶跃函数,是神经网络中常见的激活函数。
()A.正确B.错误参考答案:B5.B.当前属性集为空,或是所有样本在所有属性上取值相同C.当前结点包含的样本集为空D.还有子集不能被基本正确分类参考答案:ABC6.关联规则可以被广泛地应用于通信、金融、交通、健康医疗和Web用户行为分析等领域。
()A.正确B.错误参考答案:A7.Jaccard系数只关心个体间共同具有的特征是否一致这个问题。
()A.正确B.错误参考答案:A8.以下哪一项不属于数据变换()A.简单函数变换B.规范化C.属性合并D.连续属性离散化参考答案:C9.交叉表被广泛用于调查研究,商业智能,工程和科学研究。
()A.正确B.错误参考答案:A相关性的分类,按照相关的方向可以分为()A.正相关B.负相关C.左相关D.右相关参考答案:AB11.通过构造新的指标—线损率,当超出线损率的正常范围,则可以判断这条线路的用户可能存在窃漏电等异常行为属于数据变换中的()。
A.简单函数变换B.规范化C.属性构造D.连续属性离散化参考答案:C12.聚类是一种()。
A.有监督学习B.无监督学习C.强化学习D.半监督学习参考答案:B13.uBFR算法所使用数据中的簇在不同坐标下的标准差有所不同。
()A.正确B.错误参考答案:A14.当特征为离散型时,可以使用信息增益作为评价统计量。
()A.正确参考答案:A15.信息熵越大,数据信息的不确定性越小。
()A.正确B.错误参考答案:B16.维克托·迈尔-舍恩伯格在《大数据时代:生活、工作与思维的大变革》一书中,持续强调了一个观点:大数据时代的到来,使我们无法人为地去发现数据中的奥妙,与此同时,我们更应该注重数据中的相关关系,而不是因果关系。
2024年招聘机器学习工程师笔试题及解答(某大型集团公司)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、在以下哪种情况下,决策树模型通常比支持向量机(SVM)更适合作为分类器?A、数据量很大,特征维度较高B、数据量较小,特征维度较低C、数据集中包含大量噪声D、需要处理非线性关系的数据2、以下哪项不是深度学习中的常见损失函数?A、均方误差(MSE)B、交叉熵损失(Cross-Entropy Loss)C、Hinge损失(Hinge Loss)D、Kullback-Leibler散度(KL Divergence)3、题干:在机器学习中,以下哪项不是监督学习算法?A、决策树B、支持向量机C、随机森林D、K均值聚类4、题干:在深度学习中,以下哪项不是常见的卷积神经网络(CNN)结构?A、卷积层B、池化层C、全连接层D、LSTM层5、题干:以下哪项不是机器学习中的监督学习算法?A. 决策树B. 支持向量机C. 神经网络D. 随机森林6、题干:在机器学习中,以下哪个指标通常用于评估分类模型的性能?A. 精确率(Precision)B. 召回率(Recall)C. F1 分数(F1 Score)D. 以上都是7、在机器学习领域,以下哪个算法属于监督学习算法?A. 决策树B. 随机森林C. K-means聚类D. 主成分分析8、以下哪个指标通常用于评估分类模型的性能?A. 均方误差B. 精确率C. 平均绝对误差D. 相关系数9、在机器学习中,以下哪项技术不属于监督学习算法?A. 决策树B. 支持向量机C. 神经网络D. 聚类算法 10、以下哪种优化算法在深度学习中应用广泛,尤其适合于大规模稀疏数据集?A. 梯度下降法B. 随机梯度下降法(SGD)C. Adam优化器D. 共轭梯度法二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术或方法是机器学习工程师在项目中可能会使用到的?()A、神经网络B、决策树C、关联规则学习D、强化学习E、支持向量机2、以下哪些说法关于机器学习中的监督学习和无监督学习是正确的?()A、监督学习需要明确的标签数据B、无监督学习不需要标签数据C、监督学习的目标是预测或分类D、无监督学习的目标是发现数据中的模式E、监督学习比无监督学习更难实现3、以下哪些技术或方法是机器学习领域中常用的特征工程技术?()A、特征选择B、特征提取C、特征缩放D、特征编码E、特征交互4、在深度学习中,以下哪些是常用的损失函数?()A、均方误差(MSE)B、交叉熵损失(Cross-Entropy Loss)C、对数损失(Log Loss)D、Hinge损失(Hinge Loss)E、Softmax损失5、以下哪些是机器学习中的监督学习算法?()A. 决策树B. K-均值聚类C. 线性回归D. 支持向量机6、在处理大规模数据集时,以下哪些方法可以提高模型的训练效率?()A. 使用批量梯度下降而不是随机梯度下降B. 使用分布式计算框架如SparkC. 使用模型简化技术,如特征选择和维度约减D. 使用数据增强技术7、关于机器学习中的监督学习,以下哪些说法是正确的?A. 监督学习需要大量的标注数据B. 监督学习算法的性能依赖于特征工程的质量C. 监督学习分为回归和分类两种主要类型D. 监督学习可以用于无监督数据的分析8、在深度学习中,以下哪些技术可以提高模型的泛化能力?A. 数据增强B. 正则化(如L1、L2正则化)C. 使用更深的网络结构D. 交叉验证9、以下哪些是机器学习中的监督学习算法?()A. 决策树B. 随机森林C. 神经网络D. K最近邻(KNN)E. 聚类算法 10、在以下机器学习概念中,哪些属于特征工程的内容?()A. 特征选择B. 特征提取C. 特征编码D. 特征降维E. 模型训练三、判断题(本大题有10小题,每小题2分,共20分)1、深度学习模型在训练过程中,随着迭代次数的增加,其准确率一定会不断提高。
山东科学SHANDONGSCIENCE第37卷第2期2024年4月出版Vol.37No.2Apr.2024收稿日期:2024 ̄02 ̄01基金项目:国家自然科学基金(72225012ꎬ72288101ꎬ71822101)ꎻ民航安全能力建设基金项目(ASSA2023/19)作者简介:刘一萌(1994 )ꎬ女ꎬ博士研究生ꎬ研究方向为复杂网络可靠性ꎮE ̄mail:liuyimeng@buaa.edu.cn∗通信作者ꎬ张小可ꎬ男ꎬ副研究员ꎬ研究方向为复杂系统ꎮTel:189****9787ꎬE ̄mail:zhangxiaoke2013@hotmail.com复杂系统可靠性刘一萌1ꎬ白铭阳1ꎬ张小可2∗ꎬ李大庆1(1.北京航空航天大学可靠性与系统工程学院ꎬ北京100191ꎻ2.复杂系统仿真国家重点实验室ꎬ北京100101)摘要:随着科学技术的发展ꎬ社会技术系统的体系化㊁网络化㊁智能化程度逐渐加深ꎬ形成系统的复杂性ꎮ这些复杂系统的 故障 ꎬ诸如交通拥堵㊁谣言传播㊁金融崩溃ꎬ可以看作是一种 1+1<2 的系统能力负向涌现ꎬ难以直接通过系统单元的还原解析来理解ꎬ这对原有可靠性理论提出了挑战ꎮ现有复杂系统可靠性的研究主要从故障规律展开ꎬ从两个角度出发进行ꎬ一是考虑故障传播的系统脆弱性研究ꎻ二是考虑故障恢复的系统适应性研究ꎮ系统脆弱性研究的重点在于挖掘系统崩溃的内在机理ꎬ即故障的传播机理ꎮ系统适应性研究的重点关注于系统适应恢复能力ꎬ包括系统故障恢复机理ꎮ在此基础上ꎬ本文介绍了相关的可靠性方法研究ꎮ关键词:复杂系统ꎻ可靠性ꎻ脆弱性ꎻ适应性中图分类号:N945㊀㊀㊀文献标志码:A㊀㊀㊀文章编号:1002 ̄4026(2024)02 ̄0074 ̄11开放科学(资源服务)标志码(OSID):ComplexsystemreliabilityLIUYimeng1ꎬBAIMingyang1ꎬZHANGXiaoke2∗ꎬLIDaqing1(1.SchoolofReliabilityandSystmesEngineeringꎬBeihangUniversityꎬBeijing100191ꎬChinaꎻ2.NationalKeyLaboratoryforComplexSystemsSimulationꎬBeijing100101ꎬChina)AbstractʒWiththedevelopmentofscienceandtechnologyꎬthesystematizationꎬnetworkingandintelligentizationofthesocialtechnologysystemgraduallydeepenꎬformingthecomplexityofthesystem.Thefailuresofthesecomplexsystemsꎬsuchastrafficjamsꎬrumorspreadingꎬandfinancialcollapseꎬcanberegardedasakindof"1+1<2"negativeemergenceofsystemcapabilityꎬwhichisdifficulttounderstanddirectlythroughthereductionanalysisofsystemcomponents.Itchallengestheclassicalreliabilitytheory.Researchonthecomplexsystemsreliabilitymainlyfocusesonfailureslawsꎬwhichincludestwoperspectives.Oneisthestudyofsystemvulnerabilityconsideringfailurepropagation.Theotheristhestudyofsystemadaptabilityconsideringfailurerecovery.Systemvulnerabilitystudiesfocusonexploringtheinternalmechanismofsystemcollapseꎬnamelythefailurepropagationmechanism.Systemadaptabilitystudiesfocusonthecapacitytoadaptandrecoverꎬincludingthesystemfailurerecoverymechanism.Basedonthisꎬthearticleintroducesrelevantresearchonreliabilitymethod.Keywordsʒcomplexsystemꎻreliabilityꎻvulnerabilityꎻadaptability㊀㊀复杂系统具有涌现性ꎬ难以简单地由单元的规律推理得到整体的规律[1 ̄2]ꎮ系统工程为构建复杂社会技术系统提供指导ꎬ并被广泛应用于各个工业部门中ꎮ在钱学森等老一辈领军学者带领下ꎬ我国的系统科学和工程取得较大发展ꎬ从工程系统走向社会系统ꎬ提出开放的复杂巨系统方法论[3]及其实践形式[4]ꎮ近年来ꎬ系统学内涵得到不断深化并形成丰富理论成果[5 ̄12]ꎬ在社会管理[13]㊁应急救援[14]㊁农业[15 ̄16]㊁交通运输[17 ̄18]等各领域均做出积极贡献ꎮ在系统工程方法论与技术上ꎬ我国学者提出的WSR(物理-事理-人理)方法论[19]㊁灰色系统方法[20]㊁TEI@I方法论[21]等都在国内外产生了一定影响ꎮ基于火箭及计算机的工程实践ꎬLusser㊁冯 诺伊曼等人指出随着系统越来越复杂ꎬ可靠性成为了决定社会技术系统能否成功运行的关键问题[22 ̄23]ꎬ可靠性学科随之迅速发展ꎮ20世纪90年代ꎬ可靠性系统工程理论被提出[24]ꎬ进而学者们又进一步细化了可靠性系统工程理论并提出其技术框架[25]ꎮ近几年ꎬ系统复杂性随着信息技术和智能技术的进步而不断提高ꎮ一方面ꎬ这种复杂性给系统带来了脆弱性挑战ꎬ系统出现了不同于简单系统的故障模式ꎬ形成了 1+1<2 的负向涌现ꎮ例如复杂系统内单元之间存在故障耦合ꎬ这使得少量单元的故障可能引发级联失效ꎬ导致整个系统崩溃ꎮ另一方面ꎬ复杂性也可能带来系统的适应性ꎬ可使系统具备从扰动中恢复和适应的能力ꎮ例如生态系统中物种多样性[26]㊁内稳态机制[27]㊁共生网络的嵌套性[28]等在增加了系统复杂度的同时ꎬ也使得种群和个体能在各种各样的风险挑战和环境变化下幸存ꎮ传统可靠性方法是在元件数相对较少㊁元件间关系较为简单的系统上发展起来的ꎬ难以适用于分析复杂系统的可靠性ꎮ为此想要解决这些复杂系统的可靠性问题ꎬ必须借助系统科学研究和发展新理论㊁新方法应对新挑战ꎮ可靠性系统工程的实质是与故障做斗争ꎬ通过研究有关故障的规律ꎬ从而基于故障规律对故障进行事前预防和事后修理[24]ꎮ对复杂系统可靠性的研究也需要围绕其特有故障机理展开ꎮ系统可能因故障扩散而全面崩溃ꎬ也可能因故障恢复而稳定维持自身性能ꎮ因此可将复杂系统可靠性研究分为考虑故障传播的系统脆弱性研究和考虑故障恢复的系统适应性研究两类ꎮ1㊀考虑故障传播的系统脆弱性研究系统脆弱性是指系统被干扰后容易发生全局性崩溃的性质ꎬ一些具有罕见性㊁突发性等特点的重大事件往往是引发系统崩溃的原因之一ꎮ这类事件通常危害性高且迅速发生ꎬ后果严重并且难以预测ꎮ最为常见的导致系统发生全局性崩溃的原因是故障在系统中的传播ꎮ识别故障传播的机制和途径ꎬ有助于减少系统故障ꎬ降低系统脆弱性并提高可靠性ꎮ1.1㊀复杂网络渗流理论对故障传播的研究可以基于复杂网络渗流理论ꎮ渗流属于几何相变现象[29]ꎬ统计物理中的渗流理论[30]定量地刻画了网络整体层面的连通性丧失ꎮ在渗流过程中ꎬ网络的节点/连边被逐步移除ꎬ导致最大连通子团规模(其度量了网络连通性)降低ꎮ网络节点/连边移除的方法包括逐步随机移除节点/连边ꎬ或给定某属性的阈值ꎬ通过提高阈值来逐步移除属性低于阈值的节点/连边等ꎮ渗流过程中存在临界点ꎬ称为渗流阈值ꎬ在临界点附近ꎬ最大连通子团统计上变为0ꎮ以交通网络为例[31](如图1所示)ꎬ该研究对每条连边(道路)计算了当前道路车速与最大限速的比例(r)ꎮ对于给定的阈值qꎬ每条道路可以被分为功能正常的道路(r>q)和故障的道路(r<q)ꎮ对于任何给定的qꎬ根据原始路网的交通状态可构建功能性交通网络ꎮ如图1所示ꎬ分别以q为0.19㊁0.38和0.69表示低速㊁中速和高速阈值状态ꎮ随着q值的增加ꎬ交通网络变得更加稀疏(如图1(a)~1(c)所示)ꎮ图中只绘制了最大的三个连通子团ꎬ分别用绿色(最大连通子团G)㊁蓝色(第二大连通子团SG)和粉色(第三大连通子团)来标记ꎮ在渗流阈值处(q=0.38)ꎬ第二大连通子团大小会达到最大值(如图1(d)所示)ꎮ系统故障传播是发生在系统单元上的故障在各单元间扩散的过程ꎮ复杂网络渗流理论可以展现一个复杂网络通过移除网络节点/连边使网络碎片化的过程ꎬ能够对复杂系统脆弱性的内因进行分析描述ꎬ适用于对故障传播的研究ꎮ图1㊀交通网络中的渗流[31]Fig.1㊀Percolationintrafficnetwork[31]1.2㊀故障传播机理利用渗流理论对系统故障传播机理进行研究主要关注系统的扰动模式以及故障传播方式ꎮ系统的扰动模式是指故障出现的方式ꎬ主要包括随机扰动和蓄意攻击两类ꎮ故障传播方式主要指故障的扩散方式ꎬ包括传染病故障模型和级联失效模型等ꎮ下面主要介绍以上两种扰动模式和两种传播方式ꎮ1.2.1㊀系统的扰动模式随机扰动是指节点/连边的故障在复杂网络中随机产生ꎮ研究发现随机扰动下的无标度网络具有优于随机网络的鲁棒性[32]ꎮ无标度网络是一种度分布(即对复杂网络中节点度数的总体描述)服从或者接近幂律分布P(k)~k-α的复杂网络[33]ꎮ理论推导和数值仿真表明幂律分布的参数α<3的无标度网络在随机攻击下难以解体[34]ꎮ此外研究还发现ꎬ像互联网这种度分布近似为幂律分布的复杂网络ꎬ虽然对于随机删除节点这种攻击具有高度鲁棒性ꎬ但是针对蓄意攻击却相对脆弱ꎮ蓄意攻击是指挑选复杂网络中具有度数高㊁介数高等特征的重要节点ꎬ或权重高㊁重要度高的重要连边进行攻击使其故障的扰动方式ꎮ在蓄意攻击下ꎬ如果按照度的大小顺序来移除节点ꎬ无标度网络只要删除极少数的中心节点就会崩溃ꎬ比随机网络更加脆弱[32]ꎮ这也表明了无标度网络的高度异质性ꎬ即大部分连边集中于中心节点处ꎮ除了基于节点度数的攻击策略外ꎬ许多研究也基于其他原则的攻击策略分析故障传播ꎬ例如介数或基于其他不同中心性的攻击策略[35]ꎮ1.2.2㊀系统的故障传播方式常见的系统故障传播模型主要有传染病模型和级联失效模型ꎮ传染病模型是一种引入复杂网络理论来对流行病传染现象进行分析的方法ꎮ传染病模型框架主要基于两个假设:可划分性和均匀混合性ꎮ可划分性是指传染病模型按照个体所处阶段对其进行分类ꎬ并且个体可以在不同阶段之间转化ꎮ均匀混合性是指可以认为任何人都可以感染其他任何人[36]ꎬ而不需要确切地知道疾病传播所依赖的接触网ꎮ传染病模型可以应用于不同学科领域的场景ꎬ分析不同类型系统的故障传播特征ꎬ对系统的脆弱性进行研究[37]ꎮ通过传染病模型研究发现ꎬ在故障动态传播过程中ꎬ网络的拓扑结构是很大的影响因素ꎮ例如在疾病传播过程中ꎬ个体主动与已感染个体彻底断开联系[38 ̄39]ꎬ网络拓扑结构因此变化ꎬ进而会产生磁滞等丰富的动力学现象ꎮ级联失效是指初始一小部分单元的故障有可能引发其他单元故障ꎬ进而产生连锁反应ꎬ最终导致网络无法履行正常功能[40]ꎮ因此级联失效模型可用于研究少数单元的故障是否会触发整个系统的故障等问题ꎮ级联失效模型大致可分为基于负载重新分配㊁基于节点相互依赖关系和基于邻居生存数量等三大类[41]ꎮ在基于负载重新分配的级联失效模型中ꎬ每个单元有相应的容量并承担一定的负载ꎮ当某单元故障时ꎬ其所承担的负载会重新分配给其他单元ꎮ重新分配后ꎬ其他单元节点的负载可能超出容量ꎬ然后出现新的故障ꎬ从而引起故障传播ꎮ最直接的一类假设是ꎬ故障节点的负载会传播给邻居节点ꎬ如纤维束模型(fiberbundlemodel)[42]㊁沙堆模型[43 ̄44]等ꎮ研究者围绕这些模型分析了网络的脆弱度如何随网络结构异质性等因素而改变ꎮ此外ꎬ在输送物质㊁能量㊁信息的基础设施网络中ꎬ流量重配策略并不只是简单地分配给邻居[45]ꎮ2002年Motter等[46]提出的级联失效模型则假定每对节点之间的流量(如因特网中的数据流量㊁交通系统中的车辆流量)按照最短路径分配ꎬ每个节点的负载是该节点的介数(通过该节点的最短路径数量)ꎬ容量是初始负载的1+α倍ꎬ其中α为大于0的容忍(tolerance)参数ꎮ该模型表明ꎬ对于该类流量为负载的异质网络ꎬ级联失效机制也会引发类似于只攻击关键节点而造成整个系统崩溃的现象ꎮ在基于节点相互依赖关系的级联失效模型中ꎬ节点与节点之间存在依赖关系ꎬ某个节点故障会引发依赖于该节点的相关节点发生故障ꎮ例如ꎬ互联网依赖于电力网络供电ꎬ电力网络依赖于互联网进行控制ꎬ电力网与互联网形成了相互耦合的网络ꎮ电力网络中的节点失效ꎬ将会导致依赖该节点的互联网中的节点失效ꎬ进而引发依赖于这些互联网节点的电力网络节点失效ꎬ故障不断传播导致系统崩溃ꎮ对该耦合网络模型[47]的研究发现ꎬ耦合关系较强时会产生不连续的渗流相变ꎬ即最大连通子团规模随着删去节点比例的增加而不连续地跳变为0ꎮ这对于系统风险的预测㊁管理是十分不利的ꎮParshani等[48]提出了一个分析框架ꎬ用于研究同时包括连接关系连边和依赖关系连边的网络的稳健性ꎮ研究表明连接关系连边的故障和依赖关系连边之间存在协同作用ꎬ并引发了级联故障的迭代过程ꎬ对网络稳健性产生破坏性影响ꎮLi等[49]建立了空间嵌入的相互依赖网络模型ꎬ并发现首次故障的范围超过阈值半径时就可能导致全局崩溃ꎮ上述负载重新分配的级联失效模型也可以建模为节点间相互依赖关系[50]ꎮ在基于邻居存活数量的级联失效模型中ꎬ当节点邻居存活数量小于给定阈值时节点故障ꎮ这一类模型包括阈值模型(thresholdmodel)[51]㊁k ̄core渗流[52]以及Bootstrap渗流[53]等模型ꎮ阈值模型中ꎬ每个节点故障当且仅当邻居故障的比例超过该节点的阈值ꎬ从而初始故障节点可能触发整个系统的崩溃ꎮk ̄core渗流过程中ꎬ度小于k的节点会被移除ꎬ移除节点可能带来其他节点的度也小于kꎬ从而引发级联失效的现象ꎮk ̄core渗流能够区分出核心节点与边缘节点ꎬ可用于分析网络结构㊁识别脆弱节点[54]ꎮBootstrap渗流模型中ꎬ初始激活f比例的节点ꎬ其他节点若有k个邻居激活则也会被激活ꎬ从而产生级联现象ꎮ此外ꎬ除了基于故障传播模型之外ꎬ随着人工智能的发展ꎬ神经网络㊁图学习等方法也逐渐用于研究故障传播[55]ꎮ1.3㊀基于故障传播模型的可靠性研究上述故障机理揭示了复杂系统故障的传播规律ꎬ为分析和降低系统脆弱性提供有力的理论支持ꎮ目前研究者们基于故障传播模型展开了对系统可靠性方法的研究ꎬ包括对复杂系统的可靠性设计㊁可靠性评估㊁关键节点识别等ꎮ在复杂系统可靠性设计方面ꎬAdilson等[56]提出了一种基于在初始攻击后选择性地进一步移除部分节点和连边的无成本防御策略ꎬ通过移除部分单元阻断了故障级联传播ꎬ提高系统的可靠性ꎮYingrui等[57]研究了相互依赖网络的负载重分配策略ꎮ相互依赖网络中ꎬ故障连边的一部分负载会通过耦合关系转移给相互依赖的另一个网络上ꎮ该研究提出了通过恰当选择网络耦合强度(一个网络中分配给其他网络的负载比例)可以增加两个网络生存的可能性ꎮChristian等[58]提出了通过正确选择一小部分节点进行自治(独立于网络其他部分)可以显著提高鲁棒性ꎮ研究发现介数和度是选择此类节点的关键参数ꎬ通过保护介数最高的少数节点可显著降低系统崩溃的可能性ꎮSchäfer等[59]提出了在故障发生时重新分配负载的策略ꎮ该策略中基于最短流路径的策略能够将之前的异构负载分布的网络节点和链路变为更加均匀的负载分布ꎮ这些流路径的使用能够增加网络的鲁棒性ꎬ同时减少网络容量布局的投入成本ꎮPastor ̄Satorras等[60]提出了依赖于网络特定无标度结构的最佳免疫策略ꎬ为避免故障传播并提高系统鲁棒性提供了理论分析ꎮ在复杂系统可靠性评估方面ꎬLi等[31]对交通流网络进行渗流分析ꎬ发现在渗流阈值附近交通系统的连通状态会从全局连通变为局部连通ꎬ为控制系统拥堵提供了有效帮助ꎮ此外ꎬLi等[50]发现因局部故障引发的故障呈现辐射状以近似常速进行传播ꎬ通过理论分析给出故障传播速度则随着单元对故障的容忍程度的升高而降低ꎬ并在大量网络中得到了验证ꎮZeng等[61]基于渗流理论对故障模式进行研究ꎬ提出了涵盖交通拥堵从出现㊁演化到消散整个生命周期的健康管理框架ꎬ为未来交通的智能管理提供了理论支撑ꎮ在识别关键节点方面ꎬYang等[62]提出了一个动态级联失效模型ꎬ模拟了电网系统中的级联故障ꎮ研究基于该模型识别出了电网的关键脆弱节点并发现给定电网中的相同扰动会在不同条件下导致不同的结果ꎬ即从没有损坏到大规模级联ꎮNesti等[63]构建了故障传播模型ꎬ对电网的故障模式进行识别ꎬ根据故障的可能性对线路故障模式进行排序ꎬ并确定了此类电网最可能的故障发生方式和故障传播方式ꎮLiu等[64]利用小世界网络理论分析了系统的拓扑结构统计特性ꎬ提出了基于小世界聚类的故障传播模型ꎬ并利用Dijkstra算法找到了具有高扩散能力的故障传播路径和相关关键节点ꎬ验证了该方法能够有效地发现系统的薄弱点ꎬ为设计改进和故障预防提供重要依据ꎮ2㊀考虑故障恢复的系统适应性研究适应性是指系统在不断变化的环境中仍然保持自身性能的能力ꎮ系统适应性使系统能从压力中恢复[65]ꎬ反映系统适应性的两个关键因素分别是系统降级程度和系统性能恢复时间[66]ꎮ图2展示了系统性能在扰动前后的变化[67]ꎮte时刻系统受到扰动ꎬtd时刻系统受扰结束ꎬ系统性能水平由F(t0)降至F(td)ꎮts时刻系统开始恢复性能ꎬtf时刻系统到达最终平衡状态ꎬ系统性能水平恢复至F(tf)ꎮ图2㊀系统性能指标特征在扰动不同阶段下的变化[67]Fig.2㊀Changesofsystemperformanceindicatorcharacteristicsunderdifferentdisturbancestages[67]2.1㊀复杂系统适应性的景观理论复杂系统对扰动的适应过程可用动力系统理论进行建模ꎮ动力系统理论中ꎬ系统由一组状态变量所刻画ꎬ系统状态变量的各个分量联合定义了系统是否健康可靠ꎮ一个处在健康状态的复杂系统ꎬ在扰动下可能会突然进入故障状态ꎬ例如生态系统的物种灭绝[65]㊁热带雨林的沙地化[68]㊁金融危机[69]等等ꎮ系统状态变量的演化规律由微分方程或随机微分方程所描述ꎬ系统的稳定状态就是微分方程的吸引子[70]ꎬ系统内可能存在多个吸引子ꎮ外界对一个复杂系统的状态变量x或者系统参数θ进行扰动ꎬ系统因适应性不会直接脱离现有吸引子状态ꎬ依旧维持稳定ꎮ但当扰动足够大ꎬ超过系统恢复能力的临界点ꎬ使系统无法适应该变化时ꎬ系统可能脱离原有的吸引子状态ꎬ被其他吸引子吸引ꎮ由于微分方程或随机微分方程常常可由能量景观所表示ꎬ复杂系统扰动前后的适应过程可以用景观进行直观描述[71](如图3所示)ꎮ系统可以看作景观曲面上运动的小球ꎬ景观高度表示系统的能量(Lyapunov函数值)ꎬ小球倾向于往系统能量低的状态运动ꎬ即小球会倾向于向谷底运动ꎮ如图3(a)所示该景观有两个 谷底 ꎬ每个 谷底 表示一个吸引子ꎮ对处于健康态的系统施加扰动ꎬ系统状态发生改变ꎬ对应于图中实心小球的移动ꎮ小扰动下系统状态不会脱离健康态吸引子ꎮ大扰动下系统则会脱离健康态吸引子ꎬ进入故障态ꎮ对系统参数θ的扰动ꎬ对应于图中三维景观形状的改变(如图3(b)所示)ꎮ当系统参数改变到临界点时ꎬ健康态失稳ꎬ系统发生故障ꎮ而当系统健康态对应的吸引域越大㊁越深时ꎬ系统越容易在扰动后保持在健康态ꎮ图3㊀系统的三维景观示意图Fig.3㊀Schematicdiagramofthesystemthree ̄dimensionallandscape在处理由少数变量描述的低维系统时ꎬ只需沿用经典的动力系统理论即可ꎮ但当处理由高维状态变量描述的系统时ꎬ例如大量基因组成的调控网络或由大量物种组成的生态系统ꎬ就会面临状态空间指数爆炸㊁系统参数多等困难ꎮ对于此类高维系统ꎬ可结合统计物理中的粗粒化㊁平均场近似等技术来克服局限性[72 ̄73]ꎮ近年来ꎬ自旋玻璃理论被引入用于分析生态系统的稳态性质[74]ꎮ例如Altieri等[75]使用自旋玻璃中的Replica方法对广义L ̄V方程进行求解ꎬ发现了低噪音下存在玻璃相ꎬ系统吸引子的个数正比于变量数的指数倍ꎮGao等[76]对包括基因㊁化学反应等多种类型网络动力学进行粗粒化得到了系统崩溃的临界点ꎮ2.2㊀基于景观理论的系统适应性分析景观理论能够衡量系统是否即将发生故障或者崩溃ꎬ并揭示复杂系统崩溃的根源ꎬ为分析系统适应性提供支持ꎬ被广泛应用于不同领域ꎮ例如在生物领域ꎬHuang等[77]发现了癌症等疾病可以理解为基因调控网络动力学中的吸引子ꎮ这种吸引子可能是正常细胞中本就具备的ꎬ也可能是基因突变后产生的ꎮ在生态领域ꎬHoegh ̄Guldberg等[78]分析了珊瑚礁的恢复能力ꎬ识别了珊瑚生长速率(系统参数)的临界点ꎮ当珊瑚生长速率下降到临界点ꎬ原本由珊瑚主导的生态环境将突变为水藻主导的生态环境ꎮ在社会科学领域ꎬ极端思想的传播在互联网属于一种故障态对应的吸引子ꎮJohnson等[79]建立了网络极端思想的模型ꎬ指出了由于极端思想网络的适应性ꎬ单个平台大幅度封杀并不足以使极端思想在互联网上灭绝ꎬ反而可能加剧极端思想的发展ꎮ将复杂系统的崩溃或者故障建模为健康状态吸引子的失稳ꎬ也可以指导不同领域复杂系统可靠性设计和诊断ꎮ在复杂系统可靠性设计方面ꎬ研究发现元素间存在强耦合的系统容易存在临界点ꎬ减少耦合可避免系统发生突变[40]ꎮ随着复杂系统单元之间的交互变强ꎬ系统单元的行为可能会严重改变或损害其他单元的功能或操作ꎮ因为强耦合系统的动态变化往往很快ꎬ可能超过人类反应的速度ꎮ金融危机就是强耦合导致系统崩溃的事例ꎮ因此为了使系统具有更高的可靠性ꎬ需要适当降低系统中的耦合强度ꎮ在可靠性诊断方面ꎬ有研究利用临界点附近存在临界慢化[80]以及闪烁(flickerling)[81]等现象实现对系统状态(是否达到临界点)的预测[82]ꎮ例如ꎬVeraart等[83]构建了蓝藻微观世界来测试临界慢化现象ꎬ蓝藻微观世界受到扰动的实验表明ꎬ临界慢化确实发生ꎬ恢复速度可用于衡量复杂系统的恢复能力ꎬ预测系统到临界状态的距离ꎬ从而判断系统是否即将崩溃ꎮ3㊀讨论与结论可靠性学科是一门与故障做斗争的学科ꎬ复杂系统可靠性的研究主要围绕故障展开ꎮ故障有两种演化方向:故障扩散与故障恢复ꎮ研究从这两个角度出发ꎬ一是考虑故障传播的系统脆弱性研究ꎻ二是考虑故障恢复的系统适应性研究ꎮ系统脆弱性研究的重点在于挖掘系统崩溃的内在机理ꎬ即故障的传播机理ꎮ系统适应性研究的重点在于基于动力系统与景观理论挖掘系统故障恢复机理ꎬ包括分析系统故障恢复的临界点ꎮ基于故障传播[31ꎬ50]和故障恢复机理[84 ̄86]ꎬ提出了一系列复杂系统可靠性技术ꎬ从而实现对复杂系统的评估㊁诊断㊁调控[87 ̄89]ꎮ伴随着全球化以及信息技术的发展ꎬ交通系统㊁电力系统㊁金融系统等系统必将越发复杂ꎬ系统内单元数量以及关联程度都将大大增加ꎮ单元间的相互依赖可能使少数单元的故障引发整个系统的级联失效ꎬ单元间的复杂相互作用也可能产生未知的故障态吸引子ꎬ产生负向涌现ꎮ因此ꎬ构建㊁维护复杂系统必将面临可靠性的挑战ꎮ在过度耦合带来风险的同时ꎬ也可以利用系统的复杂性来增强系统的可靠性ꎮ如何通过在系统内恰当地引入复杂性(单元之间恰当的组织形式)以赋予系统自我恢复能力ꎬ将是未来构建高可靠复杂系统的关键[90]ꎮ参考文献:[1]于景元.钱学森系统科学思想和系统科学体系[J].科学决策ꎬ2014(12):1 ̄22.DOI:10.3773/j.issn.1006 ̄4885.2014.12.002. [2]GALLAGHERRꎬAPPENZELLERT.Beyondreductionism[J].Scienceꎬ1999ꎬ284(5411):79.DOI:10.1126/science.284.5411.79.[3]钱学森ꎬ于景元ꎬ戴汝为.一个科学新领域:开放的复杂巨系统及其方法论[J].自然杂志ꎬ1990ꎬ12(1):3 ̄10. [4]钱学森.创建系统学[M].太原:山西科学技术出版社ꎬ2001:11.[5]郭雷.系统科学进展[M].北京:科学出版社ꎬ2017.[6]方福康.神经系统中的复杂性研究[J].上海理工大学学报ꎬ2011ꎬ33(2):103 ̄110.DOI:10.13255/j.cnki.jusst.2011.02.006.[7]方福康ꎬ袁强.经济增长的复杂性与 J 结构[J].系统工程理论与实践ꎬ2002ꎬ22(10):12 ̄20.DOI:10.3321/j.issn:1000 ̄6788.2002.10.003.[8]王众托.知识系统工程与现代科学技术体系[J].上海理工大学学报ꎬ2011ꎬ33(6):613 ̄630.DOI:10.13255/j.cnki.jusst.2011.06.007.[9]彭张林ꎬ张强ꎬ杨善林.综合评价理论与方法研究综述[J].中国管理科学ꎬ2015ꎬ23(S1):245 ̄256.[10]陈光亚.向量优化问题某些基础理论及其发展[J].重庆师范大学学报(自然科学版)ꎬ2005ꎬ22(3):6 ̄9.DOI:10.3969/j.issn.1672 ̄6693.2005.03.002.[11]狄增如.探索复杂性是发展系统学的重要途径[J].系统工程理论与实践ꎬ2011ꎬ31(S1):37 ̄42.[12]吴俊ꎬ邓宏钟ꎬ谭跃进.基于自然连通度的随机网络抗毁性研究[C]//第五届全国复杂网络学术会议论文(摘要)汇集.青岛:中国工业与应用数学学会ꎬ2009:100.。
一、填空:1.人工智能的研究途径有心理模拟、生理模拟和行为模拟。
2.任意列举人工智能的四个应用性领域难题求解、定理证明、智能控制、机器翻译。
3.人工智能的基本技术包括搜索技术、推理技术、知识表示和知识库技术归纳技术、联想技术。
4.谓词逻辑是一种表达能力很强的形式语言,其真值的特点和命题逻辑的区别是(10)。
5.谓词逻辑中,重言式(tautlogy)的值是真。
6.设P是谓词公式,对于P的任何论域,存在P为真的情况,则称P为永真式。
7.在著名的医疗专家系统MYCIN中规定,若证据A的可信度CF(A)=0,则意味着无关,CF(A)=-1,则意味着假,CF(A)=1,则意味着真。
8.谓词公式G是不可满足的,当且仅当对所有的解释G都为假。
9.谓词公式与其子句集的关系是包含。
10.利用归结原理证明定理时,若得到的归结式为空集,则结论成立。
11.若C1=┐P∨Q,C2=P∨┐Q,则C1和C2的归结式R(C1,C2)= ┐P∨P或┐Q∨Q。
12.若C1=P(x) ∨Q(x),C2=┐P(a) ∨R(y),则C1和C2的归结式R(C1,C2)= Q(a) ∨R(y) 。
13.有谓词公式G,置换δ,则G·ε= (21),δ·ε= (22)。
14.有子句集S={P(x),P(y)},其MGU= {y/x} 。
15.在归结原理中,几种常见的归结策略并且具有完备性的是删除策略,支持集策略,线性归结策略。
16.状态图启发式搜索算法的特点是(27)。
17.广度优先搜索算法中,OPEN表的数据结构实际是一个二叉树,深度优先搜索算法中,OPEN表的数据结构实际是一个单链表。
18.专家系统的结构包含人机界面、知识库,推理机,动态数据库,知识库答理系统和解释模块。
19.在MYCIN推理中,对证据的可信度CF(A)、CF(A1)、CF(A2)之间,规定如下关系:CF(~A)= ~CF(A),CF(A1∧A2 )= min{CF(A1),CF(A2)} ,CF(A1∨A2 )= max{CF(A1),CF(A2)} 。
I.J. Information Engineering and Electronic Business, 2014, 1, 69-76Published Online February 2014 in MECS (/)DOI: 10.5815/ijieeb.2014.01.08Class Complexity Metric to PredictUnderstandabilityKumar RajnishDepartment of Information Technology, Birla Institute of Technology, Mesra, Ranchi, IndiaE-mail: krajnish@bitmesra.ac.inAbstract — This paper presents a new class complexity metric of an Object-Oriented (OO) program which is used to predict the understandability of classes. The propose complexity metric is evaluated theoretically against Weyuker’s properties to analyze the nature of metric and empirically evaluated against three small projects developed by Post Graduate (PG)/Under Graduate (UG) teams. Least Square Regression Analysis technique is performed to arrive at the result and find correlation coefficient of propose metric with the Degree of Understandability. The result indicates that the propose metric is a good predictor of understandability of classes. JHAWK TOOL (Java Code Metrics Tool) were used to evaluate the parameters values involved in propose metric and for analyzing the results of projects, Matlab6.1 and IBM SPSS software were used.Index Terms —Complexity, Metrics, Object-Oriented, Classes, Understandability, Methods, Instance variables.1.IntroductionProgram complexity plays an important role in the amount of time spent on development of the program. Software metrics are units of measurement, which are used to characterize software engineering products, processes and people. By careful use, they can allow us to identify and quantify improvement and make meaningful estimates. Developers in large projects use measurements to help them understand their progress towards completion. Managers look for measurable milestones so that they can assess schedule and other commitments. The metrics gathered from historical data also provide an estimate of future similar projects. Software complexity is defined as the degree to which a system or component has a design or implementation that is difficult to understand and verify [1]i.e. complexity of a code is directly depend on the understandability. All the factors that makes program difficult to understand are responsible for complexity. Various OO complexity and quality metrics have been proposed and their reviews are available in the literature. Rajnish et al [2] has studied the effect of class complexity (measured in terms of lines of codes, distinct variables names and function) on development time of various C++ classes. Rajnish et al [3] has proposed a complexity metric which is used to measure the complexity of class at the design stage. Kulkarni et al [4]presents a casestudy of applying design measures to assess softwarequality. Sanjay et al [5] applied their proposed metric ona real project for empirical validation and compared itwith Chidamber and Kemerer metrics suites [6] and theirtheoretical, practical and empirical validations and thecomparative study prove the robustness of the measure.Alshayeb and Li have presented an empirical study ofOO metrics in two processes [7]. They predict that OOmetrics are effective in predicting design efforts andlines of source code added, changed and deleted in onecase and ineffective in other. Emam, Benlarbi, Goel andRai validate the various OO metrics for effects of classsize [8]. This view is however not agreed to by Evanco [9].Churcher et al [10]show some of the ambiguitiesassociated with the seemingly simple concept of thenumber of methods per class. K. K. Agarwal et al [11]presented a set metrics which measure the robustness ofthe design. Koh et al [12] attempts to review the 12 OOsoftware metrics proposed in 90s’ by Chidamber andKemerer [6]and Li [13]. Arisholm, Briand and Foyenstudy various Java classes to empirically evaluate theeffect of dynamic coupling measures with the changeproneness of classes [14]. Chae, Kwon and Baeinvestigated the effects of dependent instance variableson cohesion metrics for object-oriented programs [15].They also proposed an approach to identify thedependency relations among instance variables. Liu et al [16]proposed new quality metrics that measure the method calling relationships between classes and theyalso conducted experiments on five open source systemsto evaluate the effectiveness of the new measurement.Basilli et al [17]presents the results of study in whichthey empirically investigated the suite of OO designmetrics introduced in [6] and their goal is to assess thesemetrics as predictors of fault-prone classes anddetermine whether they can be used as early qualityindicators. Yacoub et al [18]defined two metrics for object coupling (Import Object Coupling and Export Object Coupling) and operational complexity based on state charts as dynamic complexity metrics. The metrics are applied to a case study and measurements are used to compare static and dynamic metrics. Jagdish et al [19] described an improved hierarchical model for the assessment of high-level design quality attributes in OO design. In their model, structural and behavioral design properties of classes, objects, and their relationships areevaluated using a suite of OO design metrics. Their model relates design properties such as encapsulationmodularity, coupling and cohesion to high-level quality attributes such as reusability, flexibility, and complexityusing empirical and anecdotal information. Munson et al [20]showed that relative complexity gives feedback on the same complexity domains that many other metricsdo. Thus, developers can save time by choosing one metric to do the work of many. Mayo et al [21] explained the automated software quality measures: Interface and Dynamic metrics. Interface metrics measure the complexity of communicating modules, whereas Dynamic metrics measure the software quality as it is executed. Sandip et al [22-23]presented in his paper to analytically evaluate against the Weyuker’s property [24] and empirically validate a proposed inheritance metrics (against a three versions of the same project) that can be used to measure the quality (especially focus on the quality factors ―Reuse‖ and ―Design Complexity‖) of an OO systems in terms of the using class inheritance tree. The rest of the paper is organized as follows: Section 2 presents a Weyuker’s properties. Section 3 presents description of proposed metric and its analysis on data sets. Section 4 presents Conclusion and Future scope respectively.2.Weyuker’s Propert yThe basic nine properties proposed by Weyuker’s [24] are listed below. The notations used are as follows: P, Q, and R denote classes, P+Q denotes combination of classes P and Q, µdenotes the chosen metrics, µ(P) denotes the value of the metric for class P, and P≡Q (P is equivalent to Q) means that two class designs, P and Q, provide the same functionality. The definition of combination of two classes is taken here to be same as suggested by [25], i.e., the combination of two classes results in another class whose properties (methods and instance variables) are the union of the properties of the component classes. Also, ―combination‖ stands for Weyuker’s notion of ―concatenation‖.Property 1. Non-coarseness: Given a class P and a metric µ, another class Q can always be found such that, µ(P)≠ µ(Q).Property 2. Granularity:There is a finite number of cases having same metric value. This property will be met by any metric measured at the class level.Property 3. Non-uniqueness (notion of equivalence): There can exist distinct classes P and Q such that µ(P)= µ(Q).Property 4. Design details are important: for two class designs, P and Q, which provide the same functionality, it does not imply that the metric vales for P and Q will be same.Property 5. Monotonicity: For all classes P and Q the following must hold: µ(P) ≤ µ(P+Q) and µ(Q) ≤ (P+Q) where P+Q implies combination of P and Q.Property 6. Non-equivalence of interaction: ∃P, ∃Q, ∃R such that μ (P) = μ (Q) does not imply that μ(P+R) = μ (Q+R).Property 7. Permutation of elements within the item being measured can change the metric value.Property 8.When the name of the measured entity changes, the metric should remain unchanged. Property 9. Interaction increases complexity.∃P and ∃Q such that: μ (P) + μ (Q) < μ (P + Q)Weyuker’s list the properties has been criticized by some researchers; however, it is widely known formal approach and serves as an important measure to evaluate metrics. In the above list however, property 2 and 8 will trivially satisfied by any metric that is defined for a class. Weyuker’ second property ―granularity‖ only requires that there be a finite number of cases having the same metric value. This metric will be met by any metric measured at the class level.Property 8 will also be satisfied by all metrics measured at the class level since they will not be affected by the names of class or the methods and instance variables. Property 7 requires that permutation of program statements can change the metric value. This metric is meaningful in traditional program design where the ordering of if-then-else blocks could alter the program logic and hence the metric. In OOD (Object-Oriented Design) a class is an abstraction of a real world problem and the ordering of the statements within the class will have no effect in eventual execution. Hence, it has been suggested that property 7 is not appropriate for Object-Oriented Design (OOD) metrics.Analytical evaluation is required so as to mathematically validate the correctness of a measure as an acceptable metric. For example Properties 1, 2 and 3 namely Non-Coarseness, Granularity, and Non-Uniqueness are general properties to be satisfied by any metric. By evaluating the metric against any property one can analyze the nature of the metric. For example, property 9 of Weyuker will not normally be satisfied by any metric for which high values are an indicator of bad design measured at the class level. In case it does, this would imply that it is a case of bad composition, and the classes, if combined, need to be restructured. Having analytically evaluated a metric, one can proceed to validate it against data.Assumptions. Some basic assumptions used in Section 3 have been taken from Chidamber and Kemerer [6]regarding the distribution of methods and instance variables in the discussions for the metric properties.Assumption 1:Let X i= the number of methods in a given class iY i= the number of methods called from a given method iZ i= the number of instance variables used by a method iX i, Y i, Z i are discrete random variables each characterized by some general distribution functions. Further, all the X i s are independent and identically distributed. The same is true for all the Y i s, and Z i s. This suggests that the number of methods and variables follow a statistical distribution that is not apparent to an observer of the system. Further, that observer cannot predict the variables and methods of one class based on the knowledge of the variables and methods of another class in the systemAssumption 2:In general, two classes can have a finite number of ―identical‖ methods in the sense that a combination of the two classes into one class would result in one class’s version of the identical methods becoming redundant. For example, a class ―foo_one‖has a method ―draw‖ that is responsible for drawing an icon on a screen; another class ―foo_two‖also has a―draw‖ method. Now a designer decides to have a single class ―foo‖ and combines the two classes. Instead of having two different ―draw‖ methods the designer can decide to just have one ―draw‖ method.3.Propose Metric and its Analysis3.1Class Complexity Metric (CCM)The metric CCM is proposed for class level and will be used in this study for predicting the understandability of classes. To calculate CCM, Total Cyclomatic Complexity (TCC) of a class, Number of Methods (NOMT) of a class, Number of Instance Variables (INST) declared, Number of External Methods (EXT) called, Number of Local Methods (LMC) called, and Total Lines of Code (NLOC) have been taken. The formula for CCM is:CCM = k +w1 * TCC + w2 * NOMT + w3 * INST + w4 * EXT + w5 * LMC + w6 * NLOCWhere, the weights w1, w2, w3w4, w5, w6and the constant k are derived at by least square regression analysis.CCM is based upon the following assumptions:The number of methods, number of variables, total cyclomatic complexity, total lines of code, number of external methods called, number of local methods called is predictor of understandability (how much time and effort is required to develop and maintain the class).Method names are counted as distinct variable names.A local variable of same name in two differentblocks is considered to have two distinct variable names.CCM directly relates to understandability of classes. Higher the value of CCM, lessunderstandability (more complex) and more mentalexercise is required to design and code the classand vice-versa with low CCM.The CCM is directly related to Total Cyclomatic Complexity (TCC) of a class, Number of Methods (NOMT) of a class, Number of Instance Variables (INST) declared, Number of External Methods (EXT) called, Number of Local Methods (LMC) called, and Total Lines of Code (NLOC). So, more relation increases the understandability and a good design should have less complex classes in nature. So the objective is to find the better correlation coefficients between the number of relation and propose complexity measure. The number of relation is calculated by multiplying the Total Number of Methods in a Classes (TNMC) and the Total Number of Instance Variables in a Classes (TNVC) and named it Degree of Understandability (DU).Based on the above fact two hypotheses has been designed to test the results:HU0: the positive correlation of CCM with DU increases understandability of class’s i.e. direct relation with DU which is less complex in nature.HU1: the negative correlation of CCM with DU decreases understandability of class’s i.e. inverse relation with DU which is more complex in nature.To test these hypotheses correlation coefficient of CCM with DU has been calculated for understanding the classes in projects/ or software system.3.2Analytical Evaluation of CCM against WeyukerpropertiesFrom assumption 1, the number of methods, number of instance variables, number of external variables, total lines of code, and number of local methods called in class P and another class Q are independent and identically distributed, this implies that there is a nonzero probability that there exist Q such that C CM (P) ≠ CCM (Q), therefore Property 1 (Non-coarseness) is satisfied. Similarly, there is a nonzero probability that there exist R such that C CM (P) = CCM (R). Therefore Property3, Non-uniqueness (notion of equivalence)is satisfied. There is finite number of cases in the system having the same C CM values for classes. Since C CM is measured at the class level so Property 2, Granularity is satisfied. The choice of number of methods, number of instance variables, number of external variables, total lines of code, and number of local methods is a design decision and independent of the functionality of the class, therefore property 4 design details matter is satisfied. From assumptions 1, and 2 and let C CM (P) = X P and C CM (Q) =X Q, then C CM (P+Q) = X P + X Q –y, where y is the number of common methods, number of common instance variables, number of common external variables, cyclomatic complexity of the common method, total lines of code, and number of local methodsbetween P and Q, so the maximum value of y is min (X P, X Q). Therefore C CM (P+Q)≥ X P + X Q–min (X P, X Q). It follows that C CM (P+Q)≥ C CM (P) and CCM (P+Q)≥CCM (Q), thereby satisfying property 5(monotonicity). Now, let C CM (P) = x, CCM (Q) = x and there exist a class R such that it has a number of common methods, number of common instance variables, number of common external variables, cyclomatic complexity of the common method, total lines of code, and number of local methods α in common with Q (as per assumption 1and 2) and μmethods, variables, external variables, cyclomatic complexity, total lines of code, and number of local methods in common with P, where α≠μ. Let C CM (R) = r;CCM (P+R) = x + r –μCCM (Q+R) = x + r –α,Therefore C CM (P+R) ≠CCM (Q+R) and property 6 (non-equivalence of interaction) is satisfied. Property 7 requires that permutation of program statements can change the metric value. This metric is meaningful in traditional program design where the ordering of if-then-else blocks could alter the program logic and hence the metric. In OOD (Object-Oriented Design) a class is an abstraction of a real world problem and the ordering of the statements within the class will have no effect in eventual execution. Hence, it has been suggested that property 7 is not appropriate for OOD metrics. Property 8 is satisfied because when the name of the measured entity changes, the metric should remain unchanged. For any two classes P and Q, X P + X Q –y< X P + X Q i.e. C CM (P+Q) < CCM (P) + CCM (Q)for any P and Q. Therefore, property 9 (Interaction increases complexity) is not satisfied. Table 1 presents the results of analytical evaluation of CCM against Weyuker’s Property.TABLE 1:Analytical Evaluation Results for CCM againstWeyuker’s Properties3.3Analysis on DataThis section presents the description of data collection, algorithm of the proposed work, summary of graphs and tables, and their interpretation. 3.3.1Data CollectionThis section presents an outline of applied approach. The variables of interest in this study are: TCC, NOMT, INST, EXT, LMC, NLOC, which is to be modeled by CCM. The above-mentioned six values were collected for classes from three different project categories. In each project categories the author had given the responsibility to the team members of each project to frame out the parameters/variables used in CCM.The first project is related to “Account Department”(Named it Set A). This project had been developed by Well experienced Post Graduate (PG)/Under Graduate (UG) teams, they had developed the project in Java Language. The project involves 5 team members and containing 85 Java classes.The second project is related to “Bio-Technology Department”(named it Set B). This project had been developed by PG teams. They have a sound knowledge of Java Programming. They had developed a small tool for the Department Research work. The project involves 2 team members and containing 20 Java classes.The third project is related to ―Corporate Department” (named it Set C).This project had been developed by experienced PG teams. This project had been developed in Java and for faculties for On-Line Shopping. The project involves 3 team members and containing 20 Java Classes.3.3.2Algorithm of Propose workThis section presents the algorithm of the proposed work which is represented with the following steps:1.Propose Quality metric.2.Identify Quality factors (predictingunderstandability of classes in software projects which is to be used in this study).3.Collect data of three different categories (Named asData Set A, Data Set B, and Data Set C).4.LOOP: for each data sets perform followingactions:a)Generate TCC, NOMT, INST, EXT, LMC, andNLOC values used in CCM using Java Tool(named JHAWK TOOL (Named JAVA CODEMETRIC)b)Generate values for weights w1, w2, w3 w4,w5, w6 and the constant k used in CCM usingLeast Square Regression Analysis byMATLAB6.1 TOOL.END LOOP;5.LOOP: for each data sets do the following:a)Find summary statistics TCC, NOMT, INST,EXT, LMC, NLOC and DU using IBM SPSSSoftware.END LOOP;6.LOOP: for each data sets do the following:a)Find the Correlation Coefficients of CCM withDU and also find the Correlation CoefficientsProperty Number CCM1 √2 √3 √4 √5 √6 √7 √8 √9 ×√: Metric satisfies the properties×: Metric does not satisfy the propertiesTCC, NOMT, INST, EXT, LMC, and NLOCwith DU using MATLAB6.1 TOOL.b)Plot graph and analysis of data using IBMSPSS Software.END LOOP;3.3.3Empirical DataMultivariate Regression Analysis was applied on allthree data sets and correlation coefficients werecalculated. The summary statistics, correlationcoefficients, and graphs used for CCM for threedifferent data sets are shown (at the end of this paper inAppendix) in Table 2, Table 3, Table 4, Table 5, Table 6,Fig. 1, Fig, 2 and Fig. 3.3.3.4DiscussionThe CCM has been applied to each class of threesoftware projects. Total 125 Java classes have given asinput to JHAWK tool to calculate the values of CCM,TCC, NOMT, INST, EXT, LMC, NLOC and DU foreach data set. Correlation Coefficient approach was usedto validate the performance of the proposed metric forpredicting understandability of classes. The proposedcomplexity metric is directly related to TCC, NOMT,INST, EXT, LMC, NLOC and relation between them.So, more relation increases the understandability ofclasses and a good design should have less complexclasses in nature.Certain observations made from Table 6. The first sixcolumns list out the correlation coefficient obtainedwhen TCC, NOMT, INST, EXT, LMC, NLOC areindependently related with DU. The seven column listsout the correlation coefficient obtained when all the six (TCC, NOMT, INST, EXT, LMC, NLOC) are combined for regression with DU. In all the cases thiscolumn entry has the highest values in each row. In thefirst case, the data had been collected from a well-defined similar group of PG/UG teams (with verysimilar programming experiences), and the CCM turnedout to be a better predictor of understandability ofclasses. In the second case data had been collected fromnovice group of PG teams (with very sound knowledgeof Java), CCM is turned out be good than TCC, NOMT,INST, EXT, LMC, NLOC as a predictor of DU. In thelast case, since the data came from experienced PGteams and CCM turned out be a best predictor of DU.The overall observations found that CCM has a betterdirect relation with DU in Data Set A and Data Set C butwith Data Set B it has a direct relation with DU whencombined but less direct relation with DU whenmeasured individually. So there may be a necessity ofredesign in Data Set B to predict the betterunderstandability of classes.4.Conclusion and Future ScopeIn this paper, an attempt has been made to define newComplexity Metric CCM which is used to predict the understandability of classes in software projects. On evaluating CCM against a set of standard criteria CCM is found to possess a number of desirable properties and suggest some ways in which the OO approach may differ in terms of desirable or necessary design features from more traditional approaches. Generally, CCM satisfy the majority of the properties presented by Weyuker with one strong exception, Property 9 (Interaction Increases Complexity). Failing to meet Property 9implies that a Complexity Metric could increase rather than reduce if a class is divided into more classes. In other words complexity can increase when classes are divided into more classes.In addition to the proposal and analytical evaluation, this paper has also presented empirical data on CCM from three software projects. All projects are developed in Java. From Table 6, it is found that the CCM is turned out to the best predictor of understandability of classes in chosen software projects.In this study, the CCM is used for predicting the understandability of classes and through CCM one can choose to measure the same and complex design.The future scope includes some fundamental issues:- ✓To analyze the nature of proposed metric with performance indicators such as maintenance effort and system performance.✓Another interesting study would be together different complexity metrics at various intermediate stages of the project. This would provide insight into how application complexity evolves and how it can be managed/control through the use of metrics.References[1]IEEE Std 1061-1998.,‖Standard for softwareQuality Metrics Methodology‖, IEEE Computersociety, 1998.[2]Rajnish. K and Bhattacherjee. V, ―Complexity ofclass and development time: A Study‖, Jour nal oftheoretical and Applied Information Technology(JATIT), Asian Research Publication Network(ARPN), Scopus (Elsevier) Index, Vol. 3, No. 1,2006, pp. 63-70.[3]Rajnish. K and Bhattacherjee. V, ―Object-OrientedClass Complexity Metric-A Case Study‖,Proceedings of 5th Anuual InternationalConference on Information Science Technologyand Management (CISTM) 2020 pennsylvania NW, Ste 904, Washington DC, publish by theInformation Institute, USA, 2007, pp.36-45.[4]Kulkarni. L, Kalshetty. R. Y and Arde. V. G,―V alidation of CK metrics for Object-Orienteddesign measurement‖, proceedings of thirdinternational conf. on Emerging Trends inEngineering and Technology, IEEE ComputerSoceity, 2010, pp. 646-651.[5]Misra. S, Akman. I and Koyuncu. M, ―Aninheritance complexity metric for object-orientedcode:A cognitive approach‖, Indian Academy ofSciences, Vol. 36, Part 3, 2011, pp. 317–337. [6]Chidamber. R. S and Kemerer. F. C, ‖A MetricSuite for Object-Oriented Design‖, IEEETransaction on Software Engineering, Vol. 20, No.6, 1994, pp. 476-493.[7]Alshayeb. M and Li. W, ―An Empirical Validationof Object –Oriented Metrics in Two DifferentIterative Software Processes‖,IEEE Trans. onSoftware Engineering, Vol. 29, No. 11, 2003,pp.1043 – 1049.[8]Emam. EL. K, Benlarbi. S, Goel. N and Rai. N. S,―The Confounding Effect of Class Size on theValidity of Object –Oriented Metrics‖, IEEE Trans.Software Eng., Vol. 27, No.7, 2001, pp. 630 – 650.[9]Evanco. M. W, Comments on ―The ConfoundingEffect of Class Size on the Validity of Object-Oriented Metrics‖, IEEE Trans. on SoftwareEngineering, Vol. 29, No.7, 2003, pp.670 – 672. [10]Neville. I. C, Martin. J. S, ―Comment on : A MetricSuite for Object-Oriented Design‖, IEEETransaction on Software Engineering, Vol. 21, No.3, 1995, pp.263-265.[11]Agarwal. K. K, Singh. Y, Kaur. A and Malhotra. R,―Software Design Metrics for Object-OrientedDesign‖, Journal of Object Technology, Vol. 6, No.1, 2006, pp. 121-138.[12]Koh. W. T, Selamat. H. M, Ghani. A. A. A, andAbdullah. R, ―Review of Complexity Metrics forObject Oriented Software Products‖, IJCSNSInternational Journal of Computer Science andNetwork Security, VOL.8 No.11, 2008, pp.317.337.[13]Li. W, ―Another Metric Suite for Object-OrientedProgramming‖, The Journal of System andSoftware, Vol. 44, No. 2, 1998, pp. 155-162. [14]Arisholm. E, Briand. C. L and Foyen. A, ―DynamicCoupling Measures for Object- Oriented Software‖, IEEE Trans. on Software Engineering, Vol. 30, No.8, 2004, pp. 491 – 506.[15]Chae. S. H, Kwon. R. Y and Bae. H. D,―Improving Cohesion Metr ics for Classes byconsidering Dependent Instance Variables‖, IEEETrans. on Software Engineering, Vol. 30, No.11,2004, pp. 826 – 832 [16]Liu. D and Xu. S, ―New Quality Metrics forObject-Oriented programs‖, Proceedings of EighthACIS Int. Conf. on Software Engineering,Artificial Intelligence, Networking, and parallel/Distributing Computng, IEEE Computer Soceity,2007, pp. 870-875.[17]Basilli. R. V and Melo. W. L, ―A Validation ofObject-Oriented Design Metrics as Qualityindicators‖, IEEE Transaction on SoftwareEngineering, Vol.22, No. 10, 1996, pp.751-761. [18]Yacoub. S, Robinson. T and Ammar. H. H,―Dynamic Merics for Object-Oriented Design‖,Proceedings of 6th International Conf. on SoftwareMetrics Symposium, 1999, pp. 50-61.[19]Bansiya. J and Davis. C. G‖, A Hierarchical Modelfor Object-Oriented Design Quality Assessment‖,IEEE Transaction on Software Engineering, Vol.28, No. 1, 2002, pp. 4-17.[20]Munson. C. J and Khoshgoftaar. M. T‖, MeasuringDynamic program Complexity‖, IEEE Software,Vol. 9, No. 6, 1992, pp. 48-55.[21]Mayo. A. K, Wake. S. A and Henry. S. M‖, Staticand Dynamic Software Quality Metric tools‖,Department of Computer Science, Virginia Tech,Blacksburg, Technical Report, 1990.[22]Mal. S and Rajnish. K, ―Applicability ofWeyuker’s Property 9 to Inheritance Metric‖,International Journal of Computer Application‖,Foundation of Computer Science, USA, Vol. 66,No.12, 2013, pp.21-26[23]Mal. S and Rajnish. K, ― New Quality InheriatnceMetrics for Object-Oriented Design‖, InternationalJournal of Software Engineering and itsApplication, SERSC, Scopus (Elsevier), Vol. 7, No.6, pp. 185-200, November 2013.[24]Weyuker. J. E, ―Evaluating Software ComplexityMeasures‖, IEEE Trans. on Software Engineering,Vol.14, 1998, pp.1357-1365.[25]Abreu. B and Melo. W, ―Evaluating t he Impact ofOO Design on Software Quality‖, presented atThird International Software Metrics Symposium,Berlin, 1996.AppendixTABLE 2:Summary Statistics for the Data Set AMinimum Maximum Mean Std. DeviationTCC 1.00 16.00 7.1294 3.18773NOMT 1.00 10.00 3.1647 1.12172INST 0.00 34.00 7.7765 6.34218EXT 6.00 51.00 25.6941 9.65232LMC 0.00 1.00 0.2353 0.42670NLOC 30.00 157.00 67.5059 20.85587DU 0.00 120.00 26.5294 22.57453。