Counting and Sampling Traces in Regular Languages
Alexis de Colnet, Kuldeep S. Meel, Umang Mathur

TL;DR
This paper develops algorithms for approximately counting and sampling Mazurkiewicz traces in regular languages, which are useful for model checking and testing concurrent programs, despite the counting problem being computationally hard.
Contribution
It introduces a fully polynomial randomized approximation scheme and an almost uniform sampler for Mazurkiewicz traces, advancing computational methods in concurrency analysis.
Findings
Counting Mazurkiewicz traces is #P-hard for deterministic automata.
The counting problem is in #P for NFAs and DFAs.
The paper provides an FPRAS and an FPAUS for trace counting and sampling.
Abstract
In this work, we study the problems of counting and sampling Mazurkiewicz traces that a regular language touches. Fix an alphabet and an independence relation . The input consists of a regular language , given by a finite automaton with states, and a natural number (in unary). For the counting problem, the goal is to compute the number of Mazurkiewicz traces (induced by ) that intersect the slice , i.e., traces that admit at least one linearization in . For the sampling problem, the goal is to output a trace drawn from a distribution that is approximately uniform over all such traces. These tasks are motivated by bounded model checking with partial-order reduction, where an \emph{a priori} estimate of the reduced state space is valuable, and by testing…
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
TopicsMachine Learning and Algorithms · Formal Methods in Verification · semigroups and automata theory
