Measuring Structural Quality of Object-Oriented Softwares via Bug Propagation Analysis on Weighted Software Networks

Measuring Structural Quality of Object-Oriented Softwares via Bug Propagation Analysis on Weighted Software Networks
复制标题

通过加权软件网络上的错误传播分析来衡量面向对象软件的结构质量

DOI:
10.1007/s11390-010-9399-9
复制
发表时间:
2010-11-01
影响因子:
1.9
通讯作者:
Zhou, Xiao-Yan
Zhou, Xiao-Yan
中科院分区:
计算机科学3区
文献类型:
--
作者:
Pan, Wei-Feng;Li, Bing;Zhou, Xiao-Yan

文献摘要

被引文献

相似文献

软件系统的质量部分取决于其结构(拓扑结构),因此定量分析该结构的质量的需求已在本文中变得显着,这是一种新颖的指标,称为软件的结构质量(SQOS),用于定量测量首先,通过对加权软件网络(WSN)的错误传播分析(WSN)的漏洞传播分析的结构质量首先将软件系统建模为WSN,加权类依赖性网络(WCDN),其中类是节点的网络以及每对类别的互动,如果有指示的边缘,则指示一个类别的bug在一个类中传播到另一个类中的概率,然后我们分析错误的错误传播过程。 WCDN以及每个类别的错误pre骨,基于此,一个度量(SQO),用于测量整个oo软件的结构质量,从而在两个案例研究中评估了方法在开源Java程序上,使用不同的软件结构(一种使用设计模式,另一种使用)在相同的OO软件上,案例研究的结果验证了所提出的指标的有效性该方法是通过Java编写的工具完全自动化的。
The quality of a software system is partially determined by its structure (topological structure), so the need to quantitatively analyze the quality of the structure has become eminent In this paper a novel metric called software quality of structure (SQoS) is presented for quantitatively measuring the structural quality of object-oriented (OO) softwares via bug propagation analysis on weighted software networks (WSNs) First, the software systems are modeled as a WSN, weighted class dependency network (WCDN), in which classes are nodes and the interaction between every pair of classes if any is a directed edge with a weight indicating the probability that a bug in one class will propagate to the other Then we analyze the bug propagation process in the WCDN together with the bug proneness of each class, and based on this, a metric (SQoS) to measure the structural quality of OO softwares as a whole is developed The approach is evaluated in two case studies on open source Java programs using different software structures (one employs design patterns and the other does not) for the same OO software The results of the case studies validate the effectiveness of the proposed metric The approach is fully automated by a tool written in Java