A bibliography of Papers and Tools on Data Flow Testing

Overview

Data flow testing (DFT), introduced by Herman in 1976, is a family of testing strategies based on selecting paths from the program’s control flow in order to explore sequences of events related to the status of variables or data objects. It fills the gaps between all path testing and branch/statement testing with the aim to pinpoint the potential data-flow anomalies. The motivation behind is to verify the correctness of defined variable values by observing their corresponding uses can produce the desired results.

See this survey for details about data flow testing techniques.

Various approaches have been used to automate data flow testing, for example the following approaches have been used in data flow-based test generation:

Publications

A list of publications related to data flow testing (download, zip). (If you know about a paper that is not in the list, feel free to send me an email).

Paper Title Venue Year Research Topic Authors Description
Automated Testing of Definition-Use Data Flow for Multithreaded Programs ICST 2017 Test Generation Xiaodong Zhang, Zijiang Yang, Qinghua Zheng, Pei Liu, Jialiang Chang, Yu Hao, Ting Liu Data Flow Coverage for Multithread Program
Data Flow Testing for Virtual Prototypes DATE 2017 Test Generation Muhammad Hassan, Vladimir Herdt, Hoang M. Le, Mingsong Chen, Daniel Große, Rolf Drechsler Data Flow Coverage for System C
Dynamic Data Flow Testing of Object Oriented Systems ICSE 2015 Test Generation Giovanni Denaro, Alessandro Margara, Mauro Pezze, Mattia Vivanti Dynamic Data Flow Analysis; Genetic Algorithm; RT
Combining Symbolic Execution and Model Checking for Data Flow Testing ICSE 2015 Test Generation Ting Su, Zhoulai Fu, Geguang Pu, Jifeng He, Zhendong Su Symbolic Execution,Model Checking, RT
An approach and tool for measurement of state variable based data-flow test coverage for aspect-oriented programs IST Journal 2015 Fadi Wedyan, Sudipto Ghosh, Leo R. Vijayasarathy
Automatic Generation of Data Flow Test Paths using a Genetic Algorithm IJCA Journal 2014 Test Generation Moheb R. Girgis,Ahmed S. GhidukEman, H. Abd-elkawy Genetic Algorithm;RT
Dynamic data-flow testing ICSE 2014 Mattia Vivanti
On the right objectives of data flow testing ICST 2014 Data-flow Analysis Giovanni Denaro, Mauro Pezz{\`e}, Mattia Vivanti Dynamic/Static Data Flow Analysis
Data-flow testing in the large ICST 2014 Coverage Tracking Roberto Paulo Andrioli de Araujo,Marcos Lordello Chaim Bitset Algorithm
Covering User-Defined Data-flow Test Requirements Using Symbolic Execution SBQS 2014 Test Generation Marcelo Medeiros Eler,Andre Takeshi Endo,Vinicius Durelli Symbolic Execution
Proof of correctness of the bitwise algorithm for intra-procedural data-flow testing coverage Technical Report 2013 Proof Chaim Marcos Lordello, de Araujo Roberto Paulo Andrioli
Search-based data-flow test generation ISSRE 2013 Test Generation Mattia Vivanti, Andre Mis, Alessandra Gorla, Gordon Fraser Genetic Algorithm
Comparing multi-point stride coverage and dataflow coverage ICSE 2013 New Coverage Mohammad Mahdi Hassan, James H. Andrews
Quantifying the Complexity of Dataflow Testing AST 2013 quantify complexity Giovanni Denaro, Mauro Pezz\`{e},Mattia Vivanti
An efficient bitwise algorithm for intra-procedural data-flow testing coverage IPL 2013 Coverage Tracking Marcos Lordello Chaim,Roberto Paulo Andrioli de Araujo Bitset Algorithm(BA); matrix-based (MB), demand-driven (DD)
A comparative study of data flow testing techniques IJLTET 2013 Comparative Study Swati Sarraf, Farah DeebaHasan, Naveen Garg
State Aware Test Case Regeneration for Improving Web Application Test Suite Coverage and Fault Detection ISSTA 2012 Application Nadia Alshahwan, Mark Harman
Automatic Test Data Generation using Data Flow Information Dogus University Journal 2011 Test Generation Abdelaziz Khamis,Reem Bahgat,Rana Abdelaziz dynamic domain reduction (DDR)
A Hybrid PSO Approach to Automate Test Data Generation for Data Flow Coverage with Dominance Concepts JAST Journal 2011 Test Generation Sanjay Singla,Dharminder Kumar,H M Rai,Priti Singla Optimization Algorithm (PSO), GA
An Automatic Test Data Generation for Data Flow Coverage Using Soft Computing Approach IJRRCS 2011 Test Generation Sanjay Singla,Priti Singla ,H M Rai Optimization Algorithm (PSO), GA
Testing with state variable data-flow criteria for aspect-oriented programs Ph.D theis 2011 Fadi Wedyan
A Comparison of Dataflow and Mutation Testing of Java Methods DCS 2011 Test Effectiveness Ilona Bluemke, Karol Kulesza
Testing Coupling Relationships in Object-oriented Programs STVR 2010 extend data flow criterion in OO Alexander, Roger T. and Offutt, Jeff and Stefik, Andreas RT
A Dataflow Testing Approach for Aspect-Oriented Programs HASE 2010 Fadi Wedyan and Sudipto Ghosh
A New Software Data-Flow Testing Approach via Ant Colony Algorithms UJCSET 2010 Test Generation Ahmed S. Ghiduk Ant Colony Algorithm (ACO)
Automatic Test Data Generation for Data Flow Testing Using Particle Swarm Optimization IC3 2010 Test Generation Narmada Nayak,Durga Prasad Mohapatra Optimization Algorithm (PSO), GA
Evolutionary Testing of Stateful Systems: a Holistic Approach Ph.D thesis 2010 Test Generation Matteo Miraz Genetic Algorithm
Checking Model Consistency using Data-Flow Testing APSEC 2009 Model Consistency Wang, Chen-Wei and Cavarra, Alessandra
Lightweight fault-localization using multiple coverage types ICSE 2009 Fault Localization Ra{\'{u}}l A. Santelices ,James A. Jones,Yanbing Yu,Mary Jean Harrold
Dataflow testing of java programs with DFC CEE-SET 2009 Tool Bluemke Ilona,Rembiszewski Artur
Dataflow approach to testing Java programs ICDCS 2009 Tool Bluemke Ilona,Rembiszewski Artur
Data flow testing of service choreography FSE 2009 Application Mei, Lijun and Chan, W. K. and Tse, T. H.
Automatic test data generation model by combining dataflow analysis with genetic algorithm JCPC 2009 Test Generation Mingjie Deng,Rong Chen, Zhenjun Du Genetic Algorithm
DaTeC: Contextual data flow testing of java classes ICSE 2009 Tool Giovanni Denaro,Alessandra Gorla,Mauro Pezz{\`{e}}
Data Flow Testing of Service-oriented Workflow Applications ICSE 2008 Application Mei, Lijun and Chan, W.K. and Tse, T.H.
Hybridizing Evolutionary Testing with Artificial Immune Systems and Local Search ICST 2008 Test Generation Konstantinos Liaskos, Marc Roper Genetic Algorithm, AIS
Contextual Integration Testing of Classes FASE 2008 Contextual data-flow analysis Giovanni Denaro,Alessandra Gorla,Mauro Pezz{\`{e}}
Automatic Test-Data Generation: An Immunological Approach TAIC PART 2007 Test Generation Konstantinos Liaskos, Marc Roper Genetic Algorithm, AIS
Investigating data-flow coverage of classes using evolutionary algorithms GECCO 2007 Test Generation Konstantinos Liaskos, Marc Roper, Murray Wood Genetic Algorithm
Efficiently monitoring data-flow test coverage ASE 2007 Test Generation Santelices Raul, Harrold Mary Jean Collateral Coverage
Using Genetic Algorithms to Aid Test-Data Generation for Data-Flow Coverage APSEC 2007 Test Generation Ahmed S. Ghiduk,Mary Jean Harrold,Moheb R. Girgis Genetic Algorithm
Subsumption of program entities for efficient coverage and monitoring SOQUA 2006 Test Generation Ra{\'{u}}l A. Santelices, Saurabh Sinha,Mary Jean Harrold Collateral Coverage
An agent-based data-flow testing approach for web applications IST 2006 Application Qi, Yu and Kung, David and Wong, Eric
The collateral coverage of data flow criteria when branch testing IST 2006 Test Generation Nicos Malevris, Derek F. Yates Collateral Coverage
Coverage testing of Java programs and components JSCP 2005 Coverage Tracking Vincenzi Auri Marcelo Rizzo, Maldonado Jos{\'e} Carlos,Wong W Eric, Delamaro M{\'a}rcio Eduardo Last definition
Demand-driven structural testing with dynamic instrumentation ICSE 2005 Coverage Tracking Jonathan Misurda,James A. Clause,Juliya L. Reed,Bruce R. Childers,Mary Lou Soffa Demand-driven
Jazz: A tool for demand-driven structural testing CC 2005 Coverage Tracking Jonathan Misurda,James A. Clause,Juliya L. Reed,Bruce R. Childers,Mary Lou Soffa Demand-driven
Automated Generation and Evaluation of Dataflow-Based Test Data for Object-Oriented Software QoSA/SOQUA 2005 Test Generation Norbert Oster Genetic Algorithm
Automatic Test Data Generation for Data Flow Testing Using a Genetic Algorithm JUCS Journal 2005 Test Generation Moheb R. Girgis Genetic Algorithm,RT
Dependence Testing: Extending Data Flow Testing with Control Dependence TestCom 2005 Hyoung Seok Hong and Hasan Ural
The construction of contextual def-use associations for object-oriented systems TSE 2003 Data-flow Analysis Souter, Amie L. and Pollock, Lori L.
Data Flow Testing as Model Checking ICSE 2003 Test Generation Hyoung Seok Hong, Sung Deok Cha, Insup Lee, Oleg Sokolsky, Hasan Ural Model Checking
Data-flow-based unit testing of aspect-oriented programs COMPSAC 2003 Application Jianjun Zhao
Using Spanning Sets for Coverage Testing TSE 2003 Test Generation Marr{\'e} Martina, Bertolino Antonia Collateral Coverage
Interclass Testing of Object Oriented Software ICECCS 2002 Test Generation Martena, Vincenzo and Orso, Alessandro and Pezz{\'e}, Mauro (static) Symbolic Execution; Automated Deduction
Automatic test generation from specifications for control-flow and data-flow coverage criteria Monterey Workshop 2001 Model Consistency Hong, Hyoung Seok, and Insup Lee
Object-Based Data Flow Testing of Web Applications APAQS 2000 Application Liu, Chien-Hung and Kung, David C. and Hsia, Pei and Hsu, Chih-Tung
Automated testing of classes ISSTA 2000 Test Generation Ugo A. Buy,Alessandro Orso ,Mauro Pezz{\`e} Symbolic Execution, Backward Deduction
Test generation based on control and data dependencies within system specifications in SDL CC 2000 Application Hasan Ural,Kassem Saleh, Alan W. Williams
A test sequence selection method for statecharts STVR 2000 Application Hyoung Seok Hong, Young Gon Kim, Sung Deok Cha, Doo{-}Hwan Bae,Hasan Ural
A static measure of a subset of intra-procedural data flow testing coverage based on node coverage CASCON 1999 Test Generation Ettore Merlo,Giuliano Antoniol Collateral Coverage
Data-flow-based testing of object-oriented libraries TR 1999 Data-flow Analysis BRamkrishna Chatterjee,Barbara G. Ryder
Further Empirical Studies of Test Effectiveness FSE 1998 Test Effectiveness Phyllis G. Frankl, Oleg Iakounenko
All-Uses versus Mutation Testing: An Experimental Comparison of Effectiveness JSS 1997 Test Effectiveness Frankl, Phyllis G. and Weiss, Stewart N. and Hu, Cang
Refining Data Flow Information Using Infeasible Paths ACM Software Engineering Notes 1997 Data Flow Analysis Rastislav Bod ́ık, Rajiv Gupta, and Mary Lou Soffa
A Demand-driven Analyzer for Data Flow Testing at the Integration Level ICSE 1996 Data Flow Analysis Evelyn Duesterwald, Rajiv Gupta, and Mary Lou Soffa
Unconstrained duals and their use in achieving all-uses coverage ISSTA 1996 Test Generation Martina Marré,Antonia Bertolino Collateral Coverage
An Experimental Evaluation of Data Flow and Mutation Testing JSPE 1996 Test Effectiveness Offutt, A. Jefferson and Pan, Jie and Tewary, Kanupriya and Zhang, Tong
Fault detection effectiveness of mutation and data flow testing SQJ 1995 Test Effectiveness W. Eric Wong, Aditya P. Mathur
Fault Localization using Execution Slices and Dataflow Tests ISSRE 1995 Fault Localization Hiralal Agrawal,Joseph R. Horga,Saul London, W. Eric Wong
An empirical comparison of data flow and mutation-based test adequacy criteria STVR 1994 Test Complexity Aditya P. Mathur and W. Eric Wong
Interprocedural Def-Use Associations for {C} Systems with Single Level Pointers TSE 1994 Data-flow Analysis Pande, H. D., Landi, W. A. ,Ryder, B. G.
Efficient computation of interprocedural definition-use chains TPLS 1994 Data-flow Analysis Harrold, Mary Jean and Soffa, Mary Lou
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria ICSE 1994 Test Effectiveness Monica Hutchins, Herbert Foster, Tarak Goradia, Thomas J. Ostrand
Performing Data Flow Testing in Parallel IPPS 1994 Coverage Tracking Mary Jean Harrold parallelized DFT
Performing data flow testing on classes FSE 1994 Classes Testing Mary Jean Harrold, Gregg Rothermel
A Methodology for Controlling the Size of a Test Suite TOSEM 1993 Collateral Coverage M. Jean Harrold, Rajiv Gupta, and Mary Lou Soffa
More Experience with Data Flow Testing TSE 1993 Test Effectiveness/Cost Weyuker, E. J.
Interprocedural Dynamic Slicing Applied to Interprocedural Data Flow Testing ICSM 1993 Coverage Tracking Mariam Kamkar,Peter Fritzson,Nahid Shahmehri Dynamic Program Slicing
An experimental comparison of the effectiveness of branch testing and data flow testing TSE 1993 Test Effectiveness Frankl, P. G., Weiss, S. N.
A study of the effectiveness of control and data flow testing strategies JSS 1993 Test Effectiveness Lynn M Foreman, Stuart H Zweben
Using symbolic execution and data flow criteria to aid test data selection STVR 1993 Test Generation Moheb Girgis Symbolic Execution
Data flow testing of parallelized code ICSM 1992 Application Mary Jean Harrold and Brian A. Malloy
ATAC: A data flow coverage testing tool for C SAQSDT 1992 Coverage Tracking Horgan, J. R.,London Last definition
Data flow coverage and the C language STAV 1991 Tool Horgan, J. R.,London, S.
POKE-TOOL-A Tool to support Structural Program Testing based on Data Flow Analysis Journal 1991 Coverage Tracking Chaim ML Automata
Data flow-based test adequacy analysis for languages with pointers STAV 1991 Coverage Tracking Ostrand Thomas J, Weyuker Elaine J Memory Checking
Data Flow Testing in STAD JSS 1990 Tool Laski, J.
The Cost of Data Flow Testing: An Empirical Study TSE 1990 Test Complexity/Cost Elaine J. Weyuker
A formal evaluation of data flow path selection criteria TSE 1989 Analysis Lori A. Clarke,Andy Podgurski,Debra J. Richardson,Steven J. Zeil
STAD-a system for testing and debugging: user perspective STVA 1988 Tool Korel, B. and Laski, J.
An empirical study of the complexity of data flow testing STVA 1988 Test Complexity/Cost EJ Weyuker
An Applicable Family of Data Flow Testing Criteria TSE 1988 Theory PHYLLIS G. FRANKL, ELAINE J. WEYUKER
The use of data flow information for the selection and evaluation of software test data Ph.D thesis 1987 Coverage Tracking Frankl F. G. DFA
Data flow testing in the presence of unexecutable paths TR 1986 PG Frankl, EJ Weyuker
Asset: A system to select and evaluate tests Book 1985 Tool Frankl Phyllis G, Weiss Stewart N,Weyuker Elaine J
A Tool for Data Flow Oriented Program Testing CSDTTA 1985 Tool Korel B.,Laski J.
A Data Flow Testing Tool CSDTTA 1985 Tool Frankl, Phyllis G.,Weyuker, Elaine J.
Selecting Software Test Data Using Data Flow Information TSE 1985 Theory Sandra Rapps, Elaine J. Weyuker
The Complexity of Data Flow Criteria for Test Data Selection IPL 1984 Theory Weyuker, Elaine J.
A Data Flow Oriented Program Testing Strategy TSE 1983 Theory Laski, J. W. and Korel, B.
Data Flow Analysis Techniques for Test Data Selection ICSE 1982 Theory Rapps, Sandra and Weyuker, Elaine J.
A Data Flow Analysis Approach to Program Testing Australian Computer Journal 1976 Theory P. M. Herman
A Program Data Flow Analysis Procedure Communications of the ACM 1976 Data-flow Analysis Allen, F. E. and Cocke, J.

Tools

A list of tools related to data flow testing:

Tool Name Testing Phase Approach Comments
SMV Test Generation Model Checking
DuaF Test Generation, Coverage Tracking Collateral Coverage, Coverage Inference
Testful Test Generation Genetic Algorithm
Evosuite Test Generation Genetic Algorithm
CAUT Test Generation (Dynamic) Symbolic Execution
BLAST Test Generation Model Checking The newest version is 2.7.2. An old tool page.
CPAchecker Test Generation Model Checking
ATAC Coverage Tracking Last Definition
Coverlipse Coverage Tracking Path Recording
JaBUTi Coverage Tracking Last Definition
JMockit Coverage Tracking -
BA-DUA Coverage Tracking Bitwise Algorithm
DFC Coverage Tracking - The tool is available by email request.

Last modified: 2017.1.