Další formáty:
BibTeX
LaTeX
RIS
@inproceedings{692604, author = {Pelánek, Radek and Pasareanu, Corina and Visser, Willem}, address = {USA}, booktitle = {International Symposium on International Symposium on Software Testing and Analysis}, keywords = {test input generation; java containers; state matching}, language = {eng}, location = {USA}, isbn = {1-59593-263-1}, pages = {37--48}, publisher = {ACM}, title = {Test Input Generation for Java Containers using State Matching}, year = {2006} }
TY - JOUR ID - 692604 AU - Pelánek, Radek - Pasareanu, Corina - Visser, Willem PY - 2006 TI - Test Input Generation for Java Containers using State Matching PB - ACM CY - USA SN - 1595932631 KW - test input generation KW - java containers KW - state matching N2 - 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. ER -
PELÁNEK, Radek, Corina PASAREANU a Willem VISSER. Test Input Generation for Java Containers using State Matching. In \textit{International Symposium on
International Symposium on Software Testing and Analysis}. USA: ACM, 2006, s.~37--48, 11 s. ISBN~1-59593-263-1.
|