Distributed program checking: a paradigm for building self-stabilizing distributed protocols | IEEE Conference Publication | IEEE Xplore