scispace - formally typeset
Journal ArticleDOI

The chaining approach for software test data generation

Reads0
Chats0
TLDR
The experiments have shown that the chaining approach may significantly improve the chances of finding test data as compared to the existing methods of automated test data generation.
Abstract
Software testing is very labor intensive and expensive and accounts for a significant portion of software system development cost. If the testing process could be automated, the cost of developing software could be significantly reduced. Test data generation in program testing is the process of identifying a set of test data that satisfies a selected testing criterion, such as statement coverage and branch coverage. In this article we present a chaining approach for automated software test data generation which builds on the current theory of execution-oriented test data generation. In the chaining approach, test data are derived based on the actual execution of the program under test. For many programs, the execution of the selected statement may require prior execution of some other statements. The existing methods of test data generation may not efficiently generate test data for these types of programs because they only use control flow information of a program during the search process. The chaining approach uses data dependence analysis to guide the search process, i.e., data dependence analysis automatically identifies statements that affect the execution of the selected statement. The chaining approach uses these statements to form a sequence of statements that is to be executed prior to the execution of the selected statement. The experiments have shown that the chaining approach may significantly improve the chances of finding test data as compared to the existing methods of automated test data generation.

read more

Citations
More filters
Journal ArticleDOI

Search‐based software test data generation: a survey

TL;DR: Some of the work undertaken in the use of metaheuristic search techniques for the automatic generation of test data is surveyed, discussing possible new future directions of research for each of its different individual areas.
Book

Introduction to Software Testing

TL;DR: In this paper, the authors define testing as the process of applying a few well-defined, general-purpose test criteria to a structure or model of the software, and present an innovative approach to explaining the process.
MonographDOI

Introduction to Software Testing: List of Figures

Paul Ammann, +1 more
TL;DR: The structure of the text directly reflects the pedagogical approach and incorporates the latest innovations in testing, including techniques to test modern types of software such as OO, web applications and embedded software.
Journal ArticleDOI

EXE: Automatically Generating Inputs of Death

TL;DR: This article presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code by solving the current path constraints to find concrete values using its own co-designed constraint solver, STP.
Proceedings ArticleDOI

Feedback-Directed Random Test Generation

TL;DR: Experimental results indicate that feedback-directed random test generation can outperform systematic and undirectedrandom test generation, in terms of coverage and error detection.
References
More filters
Book

Art of Software Testing

TL;DR: Comprehensively covers psychological and economic principles, managerial aspects of testing, test tools, high-order testing, code inspections, and debugging, and programming students will find this reference work indispensible.
Book

The Art of Software Testing

TL;DR: The Art of Software Testing, Third Edition as discussed by the authors provides a brief but powerful and comprehensive presentation of time-proven software testing approaches, and is an investment that will pay for itself with the first bug you find.
Journal ArticleDOI

Program Slicing

TL;DR: Program slicing as mentioned in this paper is a method for automatically decomposing programs by analyzing their data flow and control flow. But it is not a technique for finding statement-minimal slices, as it is in general unsolvable, but using data flow analysis is sufficient to find approximate slices.
Journal ArticleDOI

The program dependence graph and its use in optimization

TL;DR: An intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependences for each operation in a program, allowing transformations to be triggered by one another and applied only to affected dependences.

Program slicing

TL;DR: Applications of program slicing are surveyed, ranging from its first use as a debugging technique to current applications in property verification using finite state models, and a summary of research challenges for the slicing community is discussed.
Trending Questions (1)
What are the advantages and disadvantages of the chainpoll algorithm?

The advantages and disadvantages of the chainpoll algorithm are not mentioned in the provided information.