Title :
Data-Flow Testing in the Large
Author :
Andriolide Araujo, Roberto Paulo ; Lordello Chaim, Marcos
Author_Institution :
Software Anal. & Experimentation Group, Univ. of Sao Paulo, Sao Paulo, Brazil
fDate :
March 31 2014-April 4 2014
Abstract :
Data-flow (DF) testing was introduced more than thirty years ago aiming at extensively evaluating a program structure. It requires tests that traverse a path in which the definition of a variable and its subsequent use, i.e., a definition-use association (dua), is exercised. While control-flow testing tools have being able to tackle big systems-large and long running programs, DF testing tools have failed to do so. This situation is in part due to the costs associated with tracking duas at run-time. Recently, an algorithm, called Bitwise Algorithm (BA), which uses bit vectors and bitwise operations for tracking intra-procedural duas at run-time, was proposed. This paper presents the implementation of BA for programs compiled into bytecodes. Previous approaches were able to deal with small to medium size programs with high penalties in terms of execution and memory. Our experimental results show that by using BA we are able to tackle large systems with more than 200 KLOCs and 300K required duas. Furthermore, for several programs the execution penalty was comparable with that imposed by a popular control-flow testing tool.
Keywords :
data flow analysis; program testing; software tools; DF testing tools; bit vectors; bitwise algorithm; bitwise operations; bytecodes; control-flow testing tools; data-flow testing; definition-use association; intraprocedural dua tracking; Arrays; Barium; Java; Monitoring; Probes; Testing; Bytecode testing; Data-flow testing coverage; Program instrumentation; Run-time environments; Structural testing;
Conference_Titel :
Software Testing, Verification and Validation (ICST), 2014 IEEE Seventh International Conference on
Conference_Location :
Cleveland, OH
DOI :
10.1109/ICST.2014.19