ANALYZING ERROR-PRONE SYSTEM STRUCTURE

被引:77
作者
SELBY, RW [1 ]
BASILI, VR [1 ]
机构
[1] UNIV MARYLAND,INST ADV COMP STUDIES,DEPT COMP SCI,COLLEGE PK,MD 20742
关键词
EMPIRICAL MEASUREMENT AND EVALUATION; ERROR ANALYSIS; SOFTWARE INSPECTIONS; SOFTWARE METRICS; SYSTEM DECOMPOSITION; SYSTEM STRENGTH AND COUPLING;
D O I
10.1109/32.67595
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
One central feature of the structure of a software system is the nature of the interconnections among its components (e.g., subsystems, modules). The concepts of coupling and strength have been used in the past to refer to the degree of interconnection among and within components. The purpose of this study is to quantify ratios of coupling and strength and use them to identify error-prone system structure. We use measures of data interaction, called data bindings, as the basis for calculating software coupling and strength and analyzing system structure. We selected a 148 000 source line system from a production environment for empirical analysis. We collected software error data from high-level system design through system test and from some field operation of the system. We describe the methods used for gathering data during the ongoing project and characterize the software error data collected. We apply a set of five tools to calculate the data bindings automatically and use a clustering technique to determine a hierarchical description of each of the system's 77 subsystems. A nonparametric analysis of variance model is used to characterize subsystems and individual routines that had either many or few errors or high or low error correction effort. The empirical results support the effectiveness of the data bindings clustering approach for localizing error-prone system structure. Routines with the highest coupling/strength ratios had 7.0 times more errors per KNCSS (1000 source statements excluding comments) than did routines with the lowest coupling/strength ratios. Subsystems with high coupling/strength ratios had routines with 4.8 times more errors per KNCSS than did subsystems with low coupling/strength ratios. The interpretations span several areas: development methodology, inspection methodology, data collection and analysis, size, coupling/strength, and system structure.
引用
收藏
页码:141 / 152
页数:12
相关论文
共 23 条
[1]   A METHODOLOGY FOR COLLECTING VALID SOFTWARE ENGINEERING DATA [J].
BASILI, VR ;
WEISS, DM .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (06) :728-738
[2]   METRIC ANALYSIS AND DATA VALIDATION ACROSS FORTRAN PROJECTS [J].
BASILI, VR ;
SELBY, RW ;
PHILLIPS, TY .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1983, 9 (06) :652-663
[3]   SOFTWARE ERRORS AND COMPLEXITY - AN EMPIRICAL-INVESTIGATION [J].
BASILI, VR ;
PERRICONE, BT .
COMMUNICATIONS OF THE ACM, 1984, 27 (01) :42-52
[4]  
BASILI VR, 1975, IEEE T SOFTWARE ENG, V1
[5]  
BASILI VR, 1983, APR P IEEE WORKSH SO, P22
[6]  
BASILI VR, 1985, 1ST P PAN PAC COMP C
[7]  
BASILI VR, 1984, AUG P AM STAT ASS BI, P13
[8]  
BASILLI VR, 1975, IEEE T SOFTWARE ENG, V1
[9]  
BELADY LA, 1976, IBM SYST J, V3, P225
[10]  
BELADY LA, 1982, J SYST SOFTWARE, V2, P23