Skip to content
STIMSMITH

All-Local-Paths Coverage Criterion

Concept

A structural coverage criterion for symbolic-execution-based test case generation (TCG) that requires all local execution paths within a method under test to be exercised up to a loop-k limit, supporting unit testing in isolation. The guided TCG framework uses syntactic program slicing of the trace-abstraction of the program to obtain a sound, complete, and effective trace generator for this criterion.

First seen 7/7/2026
Last seen 7/7/2026
Evidence 5 chunks
Wiki v1

WIKI

Definition

The all-local-paths coverage criterion is one of two structural coverage criteria considered within the guided Test Case Generation (TCG) framework for Constraint Logic Programming. A coverage criterion is defined as a pair ⟨TC, SC⟩ consisting of:

  • TC (termination criterion): ensures finiteness of symbolic execution. The framework adheres to loop-k, which limits to a threshold k the number of allowed loop iterations and/or recursive calls of each concrete loop or recursive method.
  • SC (selection criterion): steers TCG to determine which paths of the symbolic execution tree will be explored.
READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

2 connections
The paper introduces and instantiates the all-local-paths coverage criterion.
guidedTCG Prolog Implementation ← implements 100% 2e
The Prolog implementation realizes the all-local-paths guided TCG scheme.

CITATIONS

8 sources
8 citations — click to expand
[1] A coverage criterion is defined as a pair ⟨TC, SC⟩, where TC is a termination criterion (e.g., loop-k) and SC is a selection criterion. A Framework for Guided Test Case Generation in Constraint Logic Programming
[2] The all-local-paths coverage criterion requires that all local execution paths within the method under test are exercised up to a loop-k limit, with potential interest for unit testing where each method must be tested in isolation. A Framework for Guided Test Case Generation in Constraint Logic Programming
[3] The trace-abstraction of a program (Definition 6) is obtained by removing all body atoms except rule calls and by removing all arguments except the last (trace term), and essentially corresponds to the control-flow graph. A Framework for Guided Test Case Generation in Constraint Logic Programming
[4] A trace generator is sound if every trace it generates satisfies the coverage criterion, complete if it produces an over-approximation of the set of satisfying traces, and effective based on the number of unfeasible traces generated. A Framework for Guided Test Case Generation in Constraint Logic Programming
[5] Definition 7 (slicing for all-local-paths coverage criterion) removes from the trace-abstraction program P all rules not belonging to method M, and removes from remaining rules any calls to rules not in P, yielding a sliced trace-abstraction usable as a trace generator. A Framework for Guided Test Case Generation in Constraint Logic Programming
[6] The guided TCG scheme for the all-local-paths criterion is implemented in Prolog via the guidedTCG(M,TC) predicate using computeSlicedProgram, generateTrace, traceGuidedTCG, and assert. A Framework for Guided Test Case Generation in Constraint Logic Programming
[7] For method lcm, the all-local-paths criterion yields three test cases (constraints {A>=B}, {A=B=0, Out=-1}, {B>A}) that achieve full code and path coverage, compared to nine test cases from non-guided TCG with loop-2. A Framework for Guided Test Case Generation in Constraint Logic Programming
[8] Experimental evaluation on net.datastructures benchmark methods shows guided TCG for all-local-paths drastically reduces the number of generated test cases while maintaining 100% code coverage in most cases. A Framework for Guided Test Case Generation in Constraint Logic Programming