PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
April 6, 2023Proceedings of the ACM on Programming Languages38 citationsOpen Access

Outcome Logic: A Unifying Foundation for Correctness and Incorrectness Reasoning

NZNoam ZilbersteinDDDerek DreyerASAlexandra Silva

Key Points

Key points are not available for this paper at this time.

Abstract

Program logics for bug-finding (such as the recently introduced Incorrectness Logic) have framed correctness and incorrectness as dual concepts requiring different logical foundations. In this paper, we argue that a single unified theory can be used for both correctness and incorrectness reasoning. We present Outcome Logic (OL), a novel generalization of Hoare Logic that is both monadic (to capture computational effects) and monoidal (to reason about outcomes and reachability). OL expresses true positive bugs, while retaining correctness reasoning abilities as well. To formalize the applicability of OL to both correctness and incorrectness, we prove that any false OL specification can be disproven in OL itself. We also use our framework to reason about new types of incorrectness in nondeterministic and probabilistic programs. Given these advances, we advocate for OL as a new foundational theory of correctness and incorrectness.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Zilberstein et al. (2023) studied this question.

synapsesocial.com/papers/6a21e4bcecc82e5463b92a4dhttps://doi.org/10.1145/3586045
Ask AI
Helpful
Bookmark
Share
View Full Paper