FShell is a white-box test input generator for ANSI C programs. It uses a model checking backend which employs the CBMC framework to solve FQL queries. Using iterative constraint strengthening, a form of incremental SAT solving, we efficiently enumerate a series of test cases.
Using FShell
After launching FShell (use `fshell –help` to get a list of command line options), an interactive shell is presented to the user. This shell accepts queries and commands as described on the FQL page.
Screencasts
Slides
Publications
[5] | An Introduction to Test Specification in FQL Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith Proceedings of 6th International Haifa Verification Conference (HVC 2011) (Sharon Barner, Ian G. Harris, Daniel Kroening, Orna Raz, eds.), volume 6504 of Lecture Notes in Computer Science, pages 9-22, October 2011, Springer.
|
[4] | Query-Driven Program Testing Michael Tautschnig 2011, PhD thesis, Vienna University of Technology.
|
[3] | How did you specify your test suite ? Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), pages 407–416, September 2010, ACM.
|
[2] | Query-Driven Program Testing Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith Proceedings of the Tenth International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI 2009) (Neil D. Jones, Markus Müller-Olm, eds.), volume 5403 of Lecture Notes in Computer Science, pages 151–166, January 2009, Springer.
|
[1] | FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith Proceedings of the 20th International Conference on Computer Aided Verification (CAV 2008), volume 5123 of Lecture Notes in Computer Science, pages 209–213, July 2008, Springer.
|
These papers include a number of experimental evaluations; additional information on these experimental results is provided here.