Issue No. 10 - Oct. (1986 vol. 12)
William E. Howden , Department of Electrical Engineering and Computer Science, University of California, San Diego, CA 92093
An integrated approach to testing is described which includes both static and dynamic analysis methods and which is based on theoretical results that prove both its effectiveness and efficiency. Programs are viewed as consisting of collections of functions that are joined together using elementary functional forms or complex functional structures. Functional testing is identified as the input-output analysis of functional forms. Classes of faults are defined for these forms and results presented which prove the fault revealing effectiveness of well defined sets of tests. Functional analysis is identified as the analysis of the sequences of operators, functions, and data type transformations which occur in functional structures. Functional trace analysis involves the examination of the sequences of function calls which occur in a program path; operator sequence analysis the examination of the sequences of operators on variables, data structures, and devices; and data type transformation analysis the examination of the sequences of transformations on data types. Theoretical results are presented which prove that it is only necessary to look at interfaces between pairs of operators and data type transformations in order to detect the presence of operator or data type sequencing errors. The results depend on the definition of normal forms for operator and data type sequencing diagrams.
Testing, Measurement, Functional analysis, Data structures, Availability, Fault detection, Systematics, validation, Analysis, dynamic analysis, functions, input-output, interfaces, operators, sequence analysis, static analysis, testing, theory
William E. Howden, "A functional approach to program testing and analysis", IEEE Transactions on Software Engineering, vol. 12, no. , pp. 997-1005, Oct. 1986, doi:10.1109/TSE.1986.6313016