Affiliation:
1. School of Computer Science and Software Engineering, East China Normal University, Shanghai, China
2. Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai, China
3. Department of Computer Science, University of California, CA, USA
Abstract
Data-flow testing (DFT) is a family of testing strategies designed to verify the interactions between each program variable’s definition and its uses. Such a test objective of interest is referred to as a
def-use pair
. DFT selects test data with respect to various test adequacy criteria (i.e.,
data-flow coverage criteria
) to exercise each pair. The original conception of DFT was introduced by Herman in 1976. Since then, a number of studies have been conducted, both theoretically and empirically, to analyze DFT’s complexity and effectiveness. In the past four decades, DFT has been continuously concerned, and various approaches from different aspects are proposed to pursue automatic and efficient data-flow testing. This survey presents a detailed overview of data-flow testing, including challenges and approaches in enforcing and automating it: (1) it introduces the data-flow analysis techniques that are used to identify def-use pairs; (2) it classifies and discusses techniques for data-flow-based test data generation, such as search-based testing, random testing, collateral-coverage-based testing, symbolic-execution-based testing, and model-checking-based testing; (3) it discusses techniques for tracking data-flow coverage; (4) it presents several DFT applications, including software fault localization, web security testing, and specification consistency checking; and (5) it summarizes recent advances and discusses future research directions toward more practical data-flow testing.
Funder
National Nature Science Foundation of China
United States NSF
Shanghai STC Project
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Cited by
64 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Increasing The Thoroughness Of Data Flow Testing With The Required k-Use Chains;Proceedings of the 2024 10th International Conference on Computer Technology Applications;2024-05-15
2. Automated Test Cases Generator for IEC 61131-3 Structured Text Based Dynamic Symbolic Execution;IEEE Transactions on Computers;2024-04
3. Spreadsheet quality assurance: a literature review;Frontiers of Computer Science;2024-01-22
4. Dynamic Data-Flow Analysis with Dacite: Evaluating an Integrated Data-Flow Visualization Approach;Communications in Computer and Information Science;2024
5. BigDataflow: A Distributed Interprocedural Dataflow Analysis Framework;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30