Constraint Solving for Generating Glass-Box Test Cases
نویسندگان
چکیده
Glass-box testing tries to cover paths through the tested code, based on a given criterion such as def-use chain coverage. When generating glass-box test cases manually, the user is likely to overlook some def-use chains. Moreover it is difficult to find suitable test cases which cause certain def-use chains to be passed. We have developed a tool which automatically generates a system of test cases for a piece of Java byte code, which ensures that all def-use chains are covered. The tool consists of a symbolic Java virtual machine (SJVM) and a system of dedicated constraint solvers. The SJVM uses the constraint solvers in order to determine which branches the symbolic execution needs to consider. A backtracking mechanism is applied in case that several branches remain feasible. Thus we have applied implementation techniques known from functional logic and constraint programming to handle the considered applications problems.
منابع مشابه
Test Data Generation of Bytecode by CLP Partial Evaluation
We employ existing partial evaluation (PE) techniques developed for Constraint Logic Programming (CLP) in order to automatically generate test-case generators for glass-box testing of bytecode. Our approach consists of two independent CLP PE phases. (1) First, the bytecode is transformed into an equivalent (decompiled) CLP program. This is already a well studied transformation which can be done...
متن کاملIncorporating Coverage Criteria in Bounded Exhaustive Black Box Test Generation of Structural Inputs
The automated generation of test cases for heap allocated, complex, structures is particularly difficult. Various state of the art tools tackle this problem by bounded exhaustive exploration of potential test cases, using constraint solving mechanisms based on techniques such as search, model checking, symbolic execution and combinations of these. In this article we present a technique for impr...
متن کاملBeyond the Glass Box: Constraints as Objects
Constraint Logic Programming (CLP) is a very active research area. One reason being that nite domain CLP systems have been successfully applied to various combinatorial optimization problems such as time tabling, scheduling, frequency allocation, manpower planning, production planning. State of the art nite domain CLP languages o er programming constructs that gives access to the state of the c...
متن کاملSymbolic Model-based Test Selection
This paper addresses the problem of model-based off-line selection of test cases for testing the conformance of a black-box implementation with respect to a specification, in the context of reactive systems. Efficient solutions to this problem have been proposed for LTS finite-state models, based on the ioco conformance testing theory. In this paper, the approach is extended for infinite-state ...
متن کاملGenetic Symbiosis Algorithm Generating Test Data for Constraint Automata
Constraint automata are a semantic model for XML modeling language. Testing correctness of mapping black-box components in XML to constraint automata is an important problem in analyzing the semantic model of XML and requires a collection of test data that cover different scenarios. In this paper, Genetic Algorithm (GA) is employed to generate such set of test cases. This test data generation i...
متن کامل