2020
DOI: 10.1007/978-3-030-45260-5_10
|View full text |Cite
|
Sign up to set email alerts
|

An Integrated Approach to Assertion-Based Random Testing in Prolog

Abstract: We present an approach for assertion-based random testing of Prolog programs that is tightly integrated within an overall assertionbased program development scheme. Our starting point is the Ciao model, a framework that unifies unit testing and run-time verification, as well as static verification and static debugging, using a common assertion language. Properties which cannot be verified statically are checked dynamically. In this context, the idea of generating random test values from assertion preconditions… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
2
1
1

Relationship

2
2

Authors

Journals

citations
Cited by 4 publications
(6 citation statements)
references
References 21 publications
0
6
0
Order By: Relevance
“…In particular, the Ciao assertion framework (Hermenegildo et al 1999; implements assertionbased testing: the properties that appear in assertions are defined using predicates, and then the preconditions of such assertions act as generators that are used to drive the run-time testing of those parts of assertions that are not discharged at compile time, essentially embodying the PBT approach. Recent work (Casso et al 2019) shows how this generation process can be performed for complex properties and random values by executing the predicates defining such properties under different search rules (e.g. breadth-first, iterative deepening, random), available in the Ciao system.…”
Section: Related Chc-based Techniquesmentioning
confidence: 99%
“…In particular, the Ciao assertion framework (Hermenegildo et al 1999; implements assertionbased testing: the properties that appear in assertions are defined using predicates, and then the preconditions of such assertions act as generators that are used to drive the run-time testing of those parts of assertions that are not discharged at compile time, essentially embodying the PBT approach. Recent work (Casso et al 2019) shows how this generation process can be performed for complex properties and random values by executing the predicates defining such properties under different search rules (e.g. breadth-first, iterative deepening, random), available in the Ciao system.…”
Section: Related Chc-based Techniquesmentioning
confidence: 99%
“…However, the Ciao model also includes mechanisms for generating test cases automatically from the assertion preconditions, using the corresponding property predicates as generators. This has been extended recently [10] to a random test case generation framework, which automatically generates, using the same technique, random test cases that satisfy assertion preconditions. We refer to the combination of this test generation mechanism with the run-time checking of the intervening assertions as assertion-based testing, that is, generating and running relevant test cases which exercise the run-time checks of the assertions in a program, thus testing if those assertions are correct.…”
Section: ¦ ¥mentioning
confidence: 99%
“…Test Case Generation. In the absence of entry assertions, the test case generation framework [10] has already some mechanisms to generate relevant test cases, instead of random, nonsensical inputs which would exercise few run-time checks before failing. However, these generators have limitations, and the assertionbased testing framework is in fact best used with assertions that have descriptiveenough call patterns, or with custom user-defined generators in their absence.…”
Section: Benchmark Selectionmentioning
confidence: 99%
See 2 more Smart Citations