An incremental approach to structural testing of concurrent software

  • Authors:
  • Pramod V. Koppol;Kuo-Chung Tai

  • Affiliations:
  • Department of Computer Science, North Carolina State University, Raleigh, NC;Department of Computer Science, North Carolina State University, Raleigh, NC

  • Venue:
  • ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Structural testing of a concurrent program P involves the selection of paths of P according to a structure-based criterion. A common approach is to derive the reachability graph (RG) of P, select a set of paths of P, derive one or more inputs for each selected path, and force deterministic executions of P according to the selected paths and their inputs. The use of RG(P) for test path selection has the state explosion problem, since the number of states of RG(P) is an exponential function of the number of processes in P.In this paper, we present a new incremental approach to structural testing of P. Based on the hierarchy of processes in P, our incremental testing approach is to integrate processes in P in a bottom-to-top manner. When a set S of processes in P at the same level are integrated, we construct a reduced RG for S such that the reduced RG contains all synchronizations involving the processes in S and some of the synchronizations involving processes at lower levels in order to connect synchronizations involving processes in S. Based on the reduced RG for S, we can select test paths to focus on the detection of interface faults involving processes in S. After the selection of paths, RG(S) is further reduced in order to retain only some of the synchronizations involving processes in S that are needed in order to connect synchronizations between S and other processes in P. Our incremental approach alleviates the state explosion problem and offers other advantages.