PELÁNEK, Radek, Corina PASAREANU and Willem VISSER. Test Input Generation for Java Containers using State Matching. In International Symposium on International Symposium on Software Testing and Analysis. USA: ACM, 2006, p. 37--48, 11 pp. ISBN 1-59593-263-1.
Other formats:   BibTeX LaTeX RIS
Basic information
Original name Test Input Generation for Java Containers using State Matching
Name in Czech Generování testovacích vstupů pro kontejnery v Javě
Authors PELÁNEK, Radek (203 Czech Republic, guarantor), Corina PASAREANU (642 Romania) and Willem VISSER (710 South Africa).
Edition USA, International Symposium on International Symposium on Software Testing and Analysis, p. 37--48, 11 pp. 2006.
Publisher ACM
Other information
Original language English
Type of outcome Proceedings paper
Field of Study 10201 Computer sciences, information science, bioinformatics
Country of publisher United States of America
Confidentiality degree is not subject to a state or trade secret
RIV identification code RIV/00216224:14330/06:00015369
Organization unit Faculty of Informatics
ISBN 1-59593-263-1
Keywords in English test input generation; java containers; state matching
Tags java containers, state matching, test input generation
Tags International impact, Reviewed
Changed by Changed by: doc. Mgr. Radek Pelánek, Ph.D., učo 4297. Changed: 7/12/2006 14:59.
Abstract
The popularity of object-oriented programming has led to the wide use of container libraries. It is important for the reliability of these containers that they are tested adequately. We describe techniques for automated test input generation of Java container classes. Test inputs are sequences of method calls from the container interface. The techniques rely on state matching to avoid generation of redundant tests. Exhaustive techniques use model checking with explicit or symbolic execution to explore all the possible test sequences up to predefined input sizes. Lossy techniques rely on abstraction mappings to compute and store abstract versions of the concrete states; they explore under-approximations of all the possible test sequences. We have implemented the techniques on top of the Java PathFinder model checker and we evaluate them using four Java container classes. We compare state matching based techniques and random selection for generating test inputs, in terms of testing coverage. We consider basic block coverage and a form of predicate coverage - that measures whether all combinations of a predetermined set of predicates are covered at each basic block. The exhaustive techniques can easily obtain basic block coverage, but cannot obtain good predicate coverage before running out of memory. On the other hand, abstract matching turns out to be a powerful approach for generating test inputs to obtain high predicate coverage. Random selection performed well except on the examples that contained complex input spaces, where the lossy abstraction techniques performed better.
Abstract (in Czech)
Popularita objektově orientovaného programování vede k rozsáhlému užití kontejnerových knihoven. V této práci popisujeme techniky pro automatické generování testů kontejnerových knihoven v jazyku Java. Zkoumané techniky využívají metodu přiřazování stavů, aby se vyhly generování redundantních testů. Zkoumáme jak úplné, tak ztrátové techniky. Přístup byl implementován v nástroji Java PathFinder a techniky byly vyhodnoceny na čtyř kontejnerech.
Links
MSM0021622419, plan (intention)Name: Vysoce paralelní a distribuované výpočetní systémy
Investor: Ministry of Education, Youth and Sports of the CR, Highly Parallel and Distributed Computing Systems
1ET408050503, research and development projectName: Techniky automatické verifikace a validace softwarových a hardwarových systémů
Investor: Academy of Sciences of the Czech Republic, Techniques for automatic verification and validation of software nad hardware systems
1M0545, research and development projectName: Institut Teoretické Informatiky
Investor: Ministry of Education, Youth and Sports of the CR, Institute for Theoretical Computer Science
PrintDisplayed: 19/9/2024 22:11