2007 · 46 citations · 14 references
EngineeringVerificationSoftware EngineeringSoftware AnalysisFormal VerificationModel-based TestingFunctional LogicLanguage CurryTest AutomationSystems EngineeringFunctional VerificationFunctional TestingComputer EngineeringSystematic GenerationComputer ScienceFunctional ProgrammingSoftware DesignFunctional Programming LanguageCurry ProgramsAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsTest Case DesignSymbolic Execution
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.
14
Adhi Harmoko S, M.Komp, Joseph Marie Jacquard et al. · 2005 · 18.3K citations
Mathematical Programming, Computational Science, Engineering +6
V. J. Rayward‐Smith, Thomas H. Cormen, Charles E. Leiserson et al. · Journal of the Operational Research Society · 1991 · 16.9K citations
1990 · 3.1K citations
Koen Claessen, John Hughes · ACM SIGPLAN Notices · 2011 · 1K citations