Prime Path Coverage in the GNU Compiler Collection
J{\o}rgen Kvalsvik

TL;DR
This paper details the implementation of prime path coverage in GCC 15, a structural testing metric that balances thoroughness and testing effort, with improved algorithms for path enumeration and efficient path tracking.
Contribution
It introduces prime path coverage support in GCC 15, with novel algorithms for efficient path enumeration and a language-agnostic approach for coverage analysis.
Findings
Prime path coverage subsumes MC/DC.
Enhanced algorithms reduce path enumeration complexity.
Efficient path tracking using bitwise operations.
Abstract
We describe the implementation of the prime path coverage support introduced the GNU Compiler Collection 15, a structural coverage metric that focuses on paths of execution through the program. Prime path coverage strikes a good balance between the number of tests and coverage, and requires that loops are taken, taken more than once, and skipped. We show that prime path coverage subsumes modified condition/decision coverage (MC/DC). We improve on the current state-of-the-art algorithms for enumerating prime paths by using a suffix tree for efficient pruning of duplicated and redundant subpaths, reducing it to from , where is the length of the longest path and is the number of candidate paths. We can efficiently track candidate paths using a few bitwise operations based on a compact representation of the indices of the ordered prime paths. By analyzing the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques
