A formal definition of loop unrolling with applications to test coverage

Fuente: arXiv
Saved in:
Bibliographic Details
Main Author: Meyer, Bertrand
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909284930945024
author Meyer, Bertrand
author_facet Meyer, Bertrand
contents Techniques to achieve various forms of test coverage, such as branch coverage, typically do not iterate loops; in other words, they treat a loop as a conditional, executed zero or one time. Existing work by the author and collaborators produces test suites guaranteeing full branch coverage. More recent work has shown that by "unrolling" loops the approach can find significantly more bugs. The present discussion provides the theoretical basis and precise definition for this concept of unrolling. While initially motivated by the need to improve standard test coverage practices (which execute loop bodies only once), to better testing coverage, the framework presented here is applicable to any form of reasoning about loops.
format Preprint
id arxiv_https___arxiv_org_abs_2403_08923
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A formal definition of loop unrolling with applications to test coverage
Meyer, Bertrand
Software Engineering
Techniques to achieve various forms of test coverage, such as branch coverage, typically do not iterate loops; in other words, they treat a loop as a conditional, executed zero or one time. Existing work by the author and collaborators produces test suites guaranteeing full branch coverage. More recent work has shown that by "unrolling" loops the approach can find significantly more bugs. The present discussion provides the theoretical basis and precise definition for this concept of unrolling. While initially motivated by the need to improve standard test coverage practices (which execute loop bodies only once), to better testing coverage, the framework presented here is applicable to any form of reasoning about loops.
title A formal definition of loop unrolling with applications to test coverage
topic Software Engineering
url https://arxiv.org/abs/2403.08923