What Causes a System to Satisfy a Specification?
<|reference_start|>What Causes a System to Satisfy a Specification?: Even when a system is proven to be correct with respect to a specification, there is still a question of how complete the specification is, and whether it really covers all the behaviors of the system. Coverage metrics attempt to check which parts of a system are actually relevant for the verification process to succeed. Recent work on coverage in model checking suggests several coverage metrics and algorithms for finding parts of the system that are not covered by the specification. The work has already proven to be effective in practice, detecting design errors that escape early verification efforts in industrial settings. In this paper, we relate a formal definition of causality given by Halpern and Pearl [2001] to coverage. We show that it gives significant insight into unresolved issues regarding the definition of coverage and leads to potentially useful extensions of coverage. In particular, we introduce the notion of responsibility, which assigns to components of a system a quantitative measure of their relevance to the satisfaction of the specification.<|reference_end|>
@article{chockler2003what,
    title={What Causes a System to Satisfy a Specification?},
    author={Hana Chockler, Joseph Y. Halpern, and Orna Kupferman},
    journal={arXiv preprint arXiv:cs/0312036},
    year={2003},
    archivePrefix={arXiv},
    eprint={cs/0312036},
    primaryClass={cs.LO cs.AI}
}