Overview
Bayesian network-based coverage-directed test generation is a functional verification technique that applies Bayesian networks to bias the random generation of test stimuli toward coverage points that are difficult to reach. In this approach, observed coverage feedback is used to update a Bayesian network model whose conditional probability distributions then steer subsequent test generation, so that unhit or rarely-hit coverage targets are explored more aggressively while already-covered targets are deprioritized [BRAUN-2004-EFFICIENCY-BN-CDTG].
Origin and evaluation
The technique is associated with the paper Enhancing the efficiency of Bayesian network based coverage directed test generation by M. Braun, S. Fine, and A. Ziv, presented at the Ninth IEEE International High-Level Design Validation and Test Workshop in Sonoma, USA, in 2004 [BRAUN-2004-EFFICIENCY-BN-CDTG]. The paper focuses on improving the efficiency of Bayesian-network-based coverage-directed test generation for hardware functional verification [BRAUN-2004-EFFICIENCY-BN-CDTG].
Relationship to other coverage-directed test-generation approaches
A 2022 paper on coverage-guided processor verification situates Bayesian network-based coverage-directed test generation among a broader family of coverage-guided test-generation (CGF) and machine-learning-based test-generation approaches, alongside symbolic-execution-based test generation at the ISS level and fuzzing-based processor-verification methods [BRUNS-2022-CGF]. In the same paper, it is contrasted with coverage-guided fuzzing approaches that do not require a bus-centric grammar because they robustly mutate binary instructions, and that do not include a method to check for errors in the design under test automatically [BRUNS-2022-CGF].
Context in processor verification
Bayesian network-based coverage-directed test generation has been used as a representative machine-learning-based coverage-directed technique in surveys of RISC-V processor verification, which list it alongside semi hand-written directed test suites, randomized instruction-pattern generation, constraint-based specification-driven generation, and coverage-guided fuzzing [BRUNS-2022-CGF]. Within this landscape, it is cited as one of the established approaches against which newer coverage-guided and formal methods are compared [BRUNS-2022-CGF].
Limitations
Coverage-directed approaches based on Bayesian networks have been noted to require manual effort and to depend on a model of the design under verification that is not needed by purely grammar-free fuzzing-based methods [BRUNS-2022-CGF]. They also do not by themselves provide automatic error-detection mechanisms for the design under test, in contrast to methods that compare ISS and RTL-core outputs [BRUNS-2022-CGF].