This chapter presents a dynamic denotational semantics of the Java programming language. This semantics covers almost the full range of the base language, excluding only concurrenc...
Synchronous languages allow a high level, concurrent, and deterministic description the behavior of reactive systems. Thus, they can be used advantageously for the programming of ...
We present VS3 , a tool that automatically verifies complex properties of programs and infers maximally weak preconditions and maximally strong postconditions by leveraging the pow...
Saurabh Srivastava, Sumit Gulwani, Jeffrey S. Fost...
Previous researchers have proposed generalizations of Horn clause logic to support negation and nondeterminism as two separate extensions. In this paper, we show that the stable m...
Abstract. Rely-guarantee is a well-established approach to reasoning about concurrent programs that use parallel composition. However, parallel composition is not how concurrency i...
Mike Dodds, Xinyu Feng, Matthew J. Parkinson, Vikt...