Identifier
etd-1107103-233833
Degree
Doctor of Philosophy (PhD)
Department
Computer Science
Document Type
Dissertation
Abstract
Program testing is important to develop bug free software. A common form of program testing involves selecting test cases which execute (cover) a given set W of statements in the program. In regression testing, W typically forms a small subset of the program. It is often possible to find an alternate small set W so that execution of W' implies execution of W. We develop concepts and algorithms for finding W' as small as possible with the condition that the statements in W' are "close" to those in W in terms of program structure. These concepts generalize the notion of the essential set, which was introduced by Bertolino for the special case W= set of all program statements. We define the essential-for relationship between two nodes x and y and degree of essentialness for a node x in a program flowchart. The sets Ei = all nodes whose degrees of essentialness is the ith largest value, i.e., ith level essential nodes form a partition. We group them in a certain way to form the sets Gj so that each Gj "covers" G1, G2, …, Gj-1. The sets Gj are then pruned by using a suitable notion of "equivalence" to form the sets Hi, which have two important properties: Hi covers Hi-1 and |Hi| ≥ |Hi-1|. The sets Hi are then used to construct our desired set W'. We give efficient algorithms to compute the sets Hi and the set W' and illustrate our method with example programs.
Date
2003
Document Availability at the Time of Submission
Release the entire work immediately for access worldwide.
Recommended Citation
Kandara, Osman, "Level of essentialness of a node in flowcharts and its application to program testing" (2003). LSU Doctoral Dissertations. 1872.
https://repository.lsu.edu/gradschool_dissertations/1872
Committee Chair
S. Kundu
DOI
10.31390/gradschool_dissertations.1872