TitleCombined static and dynamic automated test generation
Publication TypeConference Paper
Year of Publication2011
AuthorsZhang S, Saff D, Bu Y, Ernst MD
Conference NameISSTA 2011, Proceedings of the 2011 International Symposium on Software Testing and Analysis
Pagination353–363
Date or Month PublishedJuly
Conference LocationToronto, Canada
AbstractIn an object-oriented program, a unit test often consists of a sequence of method calls that create and mutate objects, then use them as arguments to a method under test. It is challenging to automatically generate sequences that are \textitlegal and \textitbehaviorally-diverse, that is, reaching as many different program states as possible. \par This paper proposes a combined static and dynamic automated test generation approach to address these problems, for code without a formal specification. Our approach first uses dynamic analysis to infer a call sequence model from a sample execution, then uses static analysis to identify method dependence relations based on the fields they may read or write. Finally, both the dynamically-inferred model (which tends to be accurate but incomplete) and the statically-identified dependence information (which tends to be conservative) guide a random test generator to create legal and behaviorally-diverse tests. \par Our Palus tool implements this testing approach. We compared its effectiveness with a pure random approach, a dynamic-random approach (without a static phase), and a static-random approach (without a dynamic phase) on several popular open-source Java programs. Tests generated by Palus achieved higher structural coverage and found more bugs. \par Palus is also internally used in Google. It has found 22 previously-unknown bugs in four well-tested Google products.
Downloadshttps://code.google.com/archive/p/tpalus/ implementation https://homes.cs.washington.edu/~mernst/pubs/palus-testgen-issta2011.pdf PDF https://homes.cs.washington.edu/~mernst/pubs/palus-testgen-issta2011.pdf slides (PDF) https://homes.cs.washington.edu/~mernst/pubs/palus-testgen-issta2011.pdf slides (PowerPoint)
Citation KeyZhangSBE2011