Reference : Inputs from Hell: Learning Input Distributions for Grammar-Based Test Generation
Scientific journals : Article
Engineering, computing & technology : Computer science
Security, Reliability and Trust
http://hdl.handle.net/10993/46098
Inputs from Hell: Learning Input Distributions for Grammar-Based Test Generation
English
Soremekun, Ezekiel mailto [University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal >]
Pavese, Esteban mailto [Humboldt-Universit¨at zu Berlin, Berlin, Germany. > Department of Computer Science]
Havrikov, Nikolas mailto [CISPA Helmholtz Center for Information Security, Saarbrücken, Germany.]
Grunske, Lars mailto [Humboldt-Universit¨at zu Berlin, Berlin, Germany. > Department of Computer Science]
Zeller, Andreas mailto [CISPA Helmholtz Center for Information Security, Saarbrücken, Germany]
In press
IEEE Transactions on Software Engineering
Institute of Electrical and Electronics Engineers
Yes (verified by ORBilu)
International
0098-5589
1939-3520
New-York
NY
[en] test case generation ; probabilistic grammars ; input samples
[en] Grammars can serve as producers for structured test inputs that are syntactically correct by construction. A probabilistic grammar assigns probabilities to individual productions, thus controlling the distribution of input elements. Using the grammars as input parsers, we show how to learn input distributions from input samples, allowing to create inputs that are similar to the sample; by inverting the probabilities, we can create inputs that are dissimilar to the sample. This allows for three test generation strategies: 1) “Common inputs” – by learning from common inputs, we can create inputs that are similar to the sample; this is useful for regression testing. 2) “Uncommon inputs” – learning from common inputs and inverting probabilities yields inputs that are strongly dissimilar to the sample; this is useful for completing a test suite with “inputs from hell” that test uncommon features, yet are syntactically valid. 3) “Failure-inducing inputs” – learning from inputs that caused failures in the past gives us inputs that share similar features and thus also have a high chance of triggering bugs; this is useful for testing the completeness of fixes. Our evaluation on three common input formats (JSON, JavaScript, CSS) shows the effectiveness of these approaches. Results show that “common inputs” reproduced 96% of the methods induced by the samples. In contrast, for almost all subjects (95%), the “uncommon inputs” covered significantly different methods from the samples. Learning from failure-inducing samples reproduced all exceptions (100%) triggered by the failure-inducing samples and discovered new exceptions not found in any of the samples learned from.
http://hdl.handle.net/10993/46098

File(s) associated to this reference

Fulltext file(s):

FileCommentaryVersionSizeAccess
Open access
inputs-from-hell.pdfAuthor preprint585.26 kBView/Open

Bookmark and Share SFX Query

All documents in ORBilu are protected by a user license.