Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
Introduction to algorithms
Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
Journal of the ACM (JACM)
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A semantics for tracing declarative multi-paradigm programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Translating curry to haskell system demo
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
GAST: generic automated software testing
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
A program transformation for tracing functional logic computations
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Overlapping rules and logic variables in functional logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Verification of java bytecode using analysis and transformation of logic programs
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Data-flow testing of declarative programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Test Data Generation of Bytecode by CLP Partial Evaluation
Logic-Based Program Synthesis and Transformation
Automatic Generation of Test Inputs for Mercury
Logic-Based Program Synthesis and Transformation
Purely functional lazy non-deterministic programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Communications of the ACM
Programming with narrowing: A tutorial
Journal of Symbolic Computation
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
High coverage testing of Haskell programs
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Purely functional lazy nondeterministic programming
Journal of Functional Programming - Dedicated to ICFP 2009
Test-Case generation for maude functional modules
WADT'10 Proceedings of the 20th international conference on Recent Trends in Algebraic Development Techniques
Contracts and specifications for functional logic programming
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Smart testing of functional programs in isabelle
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Resource-Driven CLP-Based test case generation
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Using semantics specified in maude to generate test cases
ICTAC'12 Proceedings of the 9th international conference on Theoretical Aspects of Computing
Using narrowing to test maude specifications
WRLA'12 Proceedings of the 9th international conference on Rewriting Logic and Its Applications
Hi-index | 0.02 |
We 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. The test cases for a given function are computed by narrowing a call to that function with initially uninstantiated arguments. The generated test cases are produced w.r.t. a selected code-coverage criterion such as control-flow coverage. Besides an adaption of the notion of control-flow coverage to functional (logic) programming, we present a novel coverage criterion for this programming paradigm. A particular difficulty of the adaption is the handling of laziness.