-
Notifications
You must be signed in to change notification settings - Fork 61
Test Generation
The automated generation of test cases for compilers Burgess, C. J. (1994), 'The Automated Generation of Test Cases for Compilers.', Softw. Test., Verif. Reliab. 4 (2) , 81-99 .
Survey automatic test case generation for compilers, may want to read this first.
Compiler test case generation methods: a survey and assessment Boujarwah, A. S. & Saleh, K. (1997), 'Compiler test case generation methods: a survey and assessment.', Information & Software Technology 39 (9) , 617-625 .
Survey to assess and compare various compiler testing techniques, may want to read this first.
Automatic generation of test cases Hanford, K. V. (1970), 'Automatic Generation of Test Cases.', IBM Systems Journal 9 (4) , 242-257 .
"syntax machine": a program for automatically generating syntactically correct programs (test cases) for checking compiler front ends.
An Automatic Generator for Compiler Testing Bazzichi, F. & Spadafora, I. (1982), 'An Automatic Generator for Compiler Testing', Institute of Electrical and Electronics Engineers. Transactions on Software Engineering SE--8 (4) , 343--353 .
Tests generator automatically generate compatible programs to test compilers, the generator is driven by a tabular description of the source language.
Testing syntax and semantic coverage of Java language compilers Boujarwah, A. S.; Saleh, K. & Al-Dallal, J. (1999), 'Testing Syntax and Semantic Coverage of Java Language Compilers.', Information & Software Technology 41 (1) , 15-28 .
Algorithm and tool to automate the generation of test cases to check the language syntax; heuristic approach to cover language semantics.
Testing an optimising compiler by generating random lambda terms Palka, M. H.; Claessen, K.; Russo, A. & Hughes, J. (2011), Testing an optimising compiler by generating random lambda terms., in Antonia Bertolino; Howard Foster & J. Jenny Li, ed., 'AST' , ACM, , pp. 91-97 .
This paper considers random testing of a compiler, using randomly generated programs as inputs, and comparing their behaviour with and without optimisation.
Compiler Validation via Equivalence Modulo Inputs Le, V.; Afshari, M. & Su, Z. (2014), Compiler validation via equivalence modulo inputs., in Michael F. P. O'Boyle & Keshav Pingali, ed., 'PLDI' , ACM, , pp. 25 .
Exploit the close interplay between (1) dynamically executing a program on some test inputs and (2) statically compiling the program to work on all possible inputs
Maude http://maude.sip.ucm.es/testing/wrla12.pdf http://maude.sip.ucm.es/~adrian/files/testICTAC12.pdf Generate test cases for programs written in programming languages specified in Maude. The test cases can be generated in two ways: computing a set of test cases using all the instructions required by a given coverage criterion or trying to disprove a property over the program
needed narrowing http://dl.acm.org/citation.cfm?id=347484&CFID=765624448&CFTOKEN=91239942 Due to the inefficiency of simple narrowing, many refined narrowing strategies have been proposed in the last decade. This paper presents a new narrowing strategy that extends the Huet and Lévy notion of a needed reduction step.
Haskell http://dl.acm.org/citation.cfm?id=2001465&CFID=765624448&CFTOKEN=91239942 four main features to increase test coverage: (1) automatically inferring the constructors and functions needed to generate test data; (2) using needed narrowing to take advantage of Haskell's lazy evaluation semantics; (3) inspecting elements inside returned data structures through the use of case statements, and (4) efficiently handling polymorphism by lazily instantiating all possible instances.
Glass-box http://www-ps.informatik.uni-kiel.de/~sebf/data/pub/ppdp07.pdf employ the narrowing-based execution mechanism of the functional logic programming language Curry in order to automatically generate a system of test cases for glass-box testing of Curry programs
Learning-based http://kth.diva-portal.org/smash/get/diva2:442577/FULLTEXT01.pdf Combining CGE learning with a narrowing model checker we obtain a new and general architecture for learning-based testing of reactive systems.
Isabelle (read comparison, not using narrowing) http://link.springer.com/chapter/10.1007%2F978-3-642-28717-6_14 The smart generators are constructed by a compiler that reformulates the preconditions as logic programs and analyzes them with an enriched mode inference.
Dimensions in program synthesis Gulwani, S. (2010), Dimensions in program synthesis., in Temur Kutsia; Wolfgang Schreiner & Maribel Fernández, ed., 'PPDP' , ACM, , pp. 13-24 .
Three key dimensions in program synthesis: expression of user intent, space of programs over which to search, and the search technique.
Reducing the Cost of Grammar-Based Testing Using Pattern Coverage Hentz, C.; Vinju, J. J. & Moreira, A. M. (2015), Reducing the Cost of Grammar-Based Testing Using Pattern Coverage., in Khaled El-Fakih; Gerassimos D. Barlas & Nina Yevtushenko, ed., 'ICTSS' , Springer, , pp. 71-85 .
Extract information from the patterns in the code of meta programs to guide the sentence generation process.