Bit-wise All Edge-pairs Coverage

  • Matheus Silva USP
  • Marcos Chaim USP

Abstract


Structural testing is widely used to detect software failures and to assess test suites quality. Without automated support, though, its use on programs developed at industrial settings is hardly feasible. Structural testing is carried out by means of test criteria based on program code coverage. Program code is usually abstracted into a graph, and control flow-based code coverage is determined in terms of graph elements (e.g., nodes and edges). All edge-pairs is a relatively recent criterion when compared to all nodes and all edges criteria. Studies, though, indicate that all edge-pairs shows promising results at detecting failures. We present a novel approach to track edge-pairs based on bit-wise operations that are also applicable to nodes and edges. Empirical data suggest that all edge-pairs adds new paths to be tested at a tracking cost indistinguishable in comparision to any control flow testing requirement, be it nodes or edges, using bit-wise operations. Furthermore, the cost of the novel bit-wise approach is comparable to the cost of production-grade tools that track nodes and edges.

Keywords: Tool, Structural control flow testing, Software testing, Instrumentation strategy, Empirical study
Published
2023-09-25
SILVA, Matheus; CHAIM, Marcos. Bit-wise All Edge-pairs Coverage. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 37. , 2023, Campo Grande/MS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 267–276. ISSN 2833-0633.