A FORMAL MODEL OF PROGRAM DEPENDENCES AND ITS IMPLICATIONS FOR SOFTWARE TESTING, DEBUGGING, AND MAINTENANCE

被引:172
作者
PODGURSKI, A [1 ]
CLARKE, LA [1 ]
机构
[1] UNIV MASSACHUSETTS,DEPT COMP & INFORMAT SCI,SOFTWARE DEV LAB,AMHERST,MA 01003
关键词
Data flow testing; program analysis; program dependences; program slicing; software debugging; software maintenance; software testing;
D O I
10.1109/32.58784
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A formal, general model of program dependences is presented and used to evaluate several dependence-based software testing, debugging, and maintenance techniques. Two generalizations of control and data flow dependence, called weak and strong syntactic dependence, are introduced and related to a concept called semantic dependence. Semantic dependence models the ability of a program statement to affect the execution behavior of other statements. It is shown, among other things, that weak syntactic dependence is a necessary but not sufficient condition for semantic dependence and that strong syntactic dependence is a necessary but not sufficient condition for a restricted form of semantic dependence that is finitely demonstrated. These results are then used to support some proposed uses of program dependences, to controvert others, and to suggest new uses. © 1990 IEEE
引用
收藏
页码:965 / 979
页数:15
相关论文
共 28 条
[1]  
Aho A. V., 1974, DESIGN ANAL COMPUTER
[2]  
Aho A.V, 1986, COMPILERS PRINCIPLES
[3]   INFORMATION-FLOW AND DATA-FLOW ANALYSIS OF WHILE-PROGRAMS [J].
BERGERETTI, JF ;
CARRE, BA .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1985, 7 (01) :37-61
[4]  
CARTWRIGHT R, 1989, P ACM SIGPLAN C PROG, P13
[5]  
Clarke L. A., 1981, Computer Program Testing. Proceedings of the Summer School on Computer Program Testing, P65
[6]  
DEMILLO RA, 1988, 2ND P WORKSH SOFTW T, P142
[7]   CERTIFICATION OF PROGRAMS FOR SECURE INFORMATION-FLOW [J].
DENNING, DE ;
DENNING, PJ .
COMMUNICATIONS OF THE ACM, 1977, 20 (07) :504-513
[8]   THE PROGRAM DEPENDENCE GRAPH AND ITS USE IN OPTIMIZATION [J].
FERRANTE, J ;
OTTENSTEIN, KJ ;
WARREN, JD .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1987, 9 (03) :319-349
[9]  
FOSDICK LD, 1976, ACM COMPUT SURV, V8, P306
[10]  
Frankl P. G., 1987, THESIS NEW YORK U NE