SEMANTIC METRICS FOR SOFTWARE TESTABILITY

被引:41
作者
VOAS, JM
MILLER, KW
机构
[1] RELIABLE SOFTWARE TECHNOL CORP,ARLINGTON,VA 22201
[2] COLL WILLIAM & MARY,DEPT COMP SCI,WILLIAMSBURG,VA 23185
基金
美国国家航空航天局;
关键词
D O I
10.1016/0164-1212(93)90064-5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software faults that infrequently affect output cause problems in most software and are dangerous in safety-critical systems. When a software fault causes frequent software failures, testing is likely to reveal the fault before the software is released; when the fault ''hides'' from testing, the hidden fault can cause disaster after the software is installed. During the design of safety-critical software, we can isolate certain subfunctions of the software that tend to hide faults. A simple metric, derivable from semantic information found in software specifications, indicates software subfunctions that tend to hide faults. The metric is the domain /range ratio (DRR): the ratio of the cardinality of the possible inputs to the cardinality of the possible outputs. By isolating modules that implement a high DRR function during design, we can produce programs that are less likely to hide faults during testing. The DRR is available early in the software lifecycle; when code has been produced, the potential for hidden faults can be further explored using empirical methods. Using the DRR during design and empirical methods during execution, we can better plan and implement strategies for enhancing testability. For certain specifications, testability considerations can help produce modules that require less additional testing when assumptions change about the distribution of inputs. Such modules are good candidates for software reuse.
引用
收藏
页码:207 / 216
页数:10
相关论文
共 14 条
[1]  
BERGLUND NC, 1979, ELECTRONICS 0315
[2]  
Dahl O.-J., 1972, STRUCT PROGRAM
[3]   HINTS ON TEST DATA SELECTION - HELP FOR PRACTICING PROGRAMMER [J].
DEMILLO, RA ;
LIPTON, RJ .
COMPUTER, 1978, 11 (04) :34-41
[4]   TESTABILITY OF SOFTWARE COMPONENTS [J].
FREEDMAN, RS .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (06) :553-564
[5]  
HOFFMAN D, 1989, P PACIFIC NW SOFTWAR, P234
[6]  
MARKOWITZ MC, 1988, EDN, V33
[7]  
Myers G., 1975, RELIABLE SOFTWARE CO
[8]  
SHIMEALL TJ, 1990, NPSCS91001 NAV POSTG
[9]   PREDICTING WHERE FAULTS CAN HIDE FROM TESTING [J].
VOAS, J ;
MORELL, L ;
MILLER, K .
IEEE SOFTWARE, 1991, 8 (02) :41-48
[10]  
VOAS J, 1992, J TESTING VERIFICATI, V2, P25