Auflistung nach Schlagwort "input generation"
1 - 2 von 2
Treffer pro Seite
Sortieroptionen
- ConferencePaperGenerating Tests that Cover Input Structure(Software Engineering 2021, 2021) Pereira Borges Jr., Nataniel; Havrikov, Nikolas; Zeller, AndreasTo systematically test a program, one needs good inputs—inputs that are valid such that they are not rejected by the program, and inputs that cover as much of the input space as possible in order to reach a maximum of functionality. We present recent techniques to systematically cover input structure. Our k-path algorithm for grammar production [HZ19] systematically covers syntactic elements of the input as well as their combinations. We show how to learn such input structures from graphical user interfaces, notably their interaction language [DBZ19]. Finally, we demonstrate that knowledge bases such as DBPedia can be a reliable source of semantically coherent inputs [Wa20]. All these techniques result in a significantly higher code coverage than state of the art.
- ConferencePaperMining Input Grammars(Software Engineering 2021, 2021) Gopinath, Rahul; Mathis, Björn; Zeller, AndreasTo assess the behavior of a program, one needs to understand its inputs---their sources, their structure, and how they lead to individual behavior. But as syntax and semantics of inputs are almost never completely specified, humans and computers constantly have to figure out how to produce a particular behavior. In this abstract, we show how to automatically extract accurate, well-structured input grammars from existing programs. Such input grammars are useful for software testing, as they can serve as producers of valid, high-quality inputs for software testing that easily pass through parsing and validation to reliably trigger the desired program behavior. Moreover, they allow testers to control which inputs are to be produced - in contrast to the majority of fuzzers, that operate as black boxes. Our Mimid prototype uses dynamic tainting to extract input grammars from given programs - grammars that are well-structured and highly readable, even for complex recursive input formats such as JavaScript or JSON. Specific parser-directed test generators systematically explore the input syntax, such that grammars can be mined even without any given inputs.