Software quality classification model based on McCabe's complexity measure

被引:7
作者
Takahashi, R
机构
[1] NTT Info. and Commun. Syst. Labs., Yokosuka-shi, Kanagawa
[2] NTT Information and Comm. Labs., Yokosukashi, Kanagawa, 239
关键词
D O I
10.1016/S0164-1212(97)00060-5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A software quality classification model based on McCabe's complexity measure is investigated. It is experimentally shown using regression and discriminant analyses that program fault density (number of faults per 1000 source lines of code) depends on the complexity of the functional unit rather than on that of each of the modules. To identify the best model, the stepwise selection method improved by AIC (Akaike Information Criterion) is applied to regression and discriminant analyses. A functional unit is the partitioning unit of the software function and consists of several modules that are combined with data that is commonly referred to or updated. This partitioning is done in the early phases of the software life cycle and experiments show that interfaced complexity among functional units is associated with software faults. The concept of an ''extended cyclomatic number (S1')''-an extension of McCabe's design complexity measure S-1 from an inner-functional-unit control structure to a between-functional-unit control structure-is proposed taking this complexity tendency into consideration and is experimentally studied. It is well known that S-1 is equal to the number of predicates + 1. In the metric S-1', the nesting depth of predicate nodes for invoking module path selection is taken into consideration. The number of predicates whose scope is confined to a functional unit can be separately counted from the predicates whose scope extends to different functional units. This software quality classification model with the extended cyclomatic number enables project managers to control software quality. (C) 1997 by Elsevier Science Inc.
引用
收藏
页码:61 / 69
页数:9
相关论文
共 21 条
[1]   PROJECTING SOFTWARE DEFECTS FROM ANALYZING ADA DESIGNS [J].
AGRESTI, WW ;
EVANCO, WM .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (11) :988-997
[2]   NEW LOOK AT STATISTICAL-MODEL IDENTIFICATION [J].
AKAIKE, H .
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, 1974, AC19 (06) :716-723
[3]  
BASILI VR, 1990, 12TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P44, DOI 10.1109/ICSE.1990.63602
[4]   MEASURING SOFTWARE-DESIGN COMPLEXITY [J].
CARD, DN ;
AGRESTI, WW .
JOURNAL OF SYSTEMS AND SOFTWARE, 1988, 8 (03) :185-197
[5]  
DEMARCO T, 1986, STRUCTURED ANAL SYST
[6]  
Halstead M. II., 1977, Elements of Software Science (Operating and Programming Systems Series
[7]   SOFTWARE STRUCTURE METRICS BASED ON INFORMATION-FLOW [J].
HENRY, S ;
KAFURA, D .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1981, 7 (05) :510-518
[8]   RIGOROUS DEFINITION AND ANALYSIS OF PROGRAM COMPLEXITY-MEASURES - AN EXAMPLE USING NESTING [J].
HOWATT, JW ;
BAKER, AL .
JOURNAL OF SYSTEMS AND SOFTWARE, 1989, 10 (02) :139-150
[9]   AN EMPIRICAL-STUDY OF SOFTWARE METRICS [J].
LI, HF ;
CHEUNG, WK .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1987, 13 (06) :697-708
[10]  
McCabe T. J., 1976, IEEE Transactions on Software Engineering, VSE-2, P308, DOI 10.1109/TSE.1976.233837