DocumentCode
3076605
Title
Constraint-Based Test Input Generation for Java Bytecode
Author
Charreteur, Florence ; Gotlieb, Arnaud
Author_Institution
Univ. de Rennes 1, Rennes, France
fYear
2010
fDate
1-4 Nov. 2010
Firstpage
131
Lastpage
140
Abstract
In this paper, we introduce a constraint-based reasoning approach to automatically generate test input for Java bytecode programs. Our goal-oriented method aims at building an input state of the Java Virtual Machine (JVM) that can drive program execution towards a given location within the bytecode. An innovative aspect of the method is the definition of a constraint model for each bytecode that allows backward exploration of the bytecode program, and permits to solve complex constraints over the memory shape (e.g., p == p.next enforces the creation of a cyclic data structure referenced by p). We implemented this constraint-based approach in a prototype tool called JAUT, that can generate input states for programs written in a subset of JVM including integers and references, dynamic-allocated structures, objects inheritance and polymorphism by virtual method call, conditional and backward jumps. Experimental results show that JAUT can generate test input for executing locations not reached by other state-of-the-art code-based test input generators such as jCUTE, JTEST and Pex.
Keywords
Java; constraint handling; inference mechanisms; object-oriented methods; program compilers; program testing; virtual machines; JAUT; Java bytecode program; Java virtual machine; constraint based reasoning approach; goal oriented method; memory shape; prototype tool; test input generation; Data structures; Generators; Java; Labeling; Memory management; Registers; Testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Reliability Engineering (ISSRE), 2010 IEEE 21st International Symposium on
Conference_Location
San Jose, CA
ISSN
1071-9458
Print_ISBN
978-1-4244-9056-1
Electronic_ISBN
1071-9458
Type
conf
DOI
10.1109/ISSRE.2010.26
Filename
5635134
Link To Document