Concepts and notations for concurrent programming

GR Andrews, FB Schneider - ACM Computing Surveys (CSUR), 1983 - dl.acm.org
Much has been learned in the last decade about concurrent programming.. This patmr
identifies the major concepts of concurrent programming and describes some of the more …

Parallel graph algorithms

MJ Quinn, N Deo - ACM Computing Surveys (CSUR), 1984 - dl.acm.org
Algorithms and data structures developed to solve graph problems on parallel computers
are surveyed. The problems discussed relate to searching graphs and finding connected …

Leveraging Rust types for modular specification and verification

V Astrauskas, P Müller, F Poli… - Proceedings of the ACM on …, 2019 - dl.acm.org
Rust's type system ensures memory safety: well-typed Rust programs are guaranteed to not
exhibit problems such as dangling pointers, data races, and unexpected side effects through …

Time, clocks, and the ordering of events in a distributed system

L Lamport - Concurrency: the Works of Leslie Lamport, 2019 - dl.acm.org
The concept of one event happening before another in a distributed system is examined,
and is shown to define a partial ordering of the events. A distributed algorithm is given for …

The Byzantine generals problem

L Lamport, R Shostak, M Pease - Concurrency: the works of leslie …, 2019 - dl.acm.org
Reliable computer systems must handle malfunctioning components that give conflicting
information to different parts of the system. This situation can be expressed abstractly in …

The temporal logic of programs

A Pnueli - 18th annual symposium on foundations of computer …, 1977 - ieeexplore.ieee.org
A unified approach to program verification is suggested, which applies to both sequential
and parallel programs. The main proof method suggested is that of temporal reasoning in …

Linearizability: A correctness condition for concurrent objects

MP Herlihy, JM Wing - ACM Transactions on Programming Languages …, 1990 - dl.acm.org
A concurrent object is a data object shared by concurrent processes. Linearizability is a
correctness condition for concurrent objects that exploits the semantics of abstract data …

The part-time parliament

L Lamport - Concurrency: the Works of Leslie Lamport, 2019 - dl.acm.org
Recent archaeological discoveries on the island of Paxos reveal that the parliament
functioned despite the peripatetic propensity of its part-time legislators. The legislators …

Separation logic: A logic for shared mutable data structures

JC Reynolds - Proceedings 17th Annual IEEE Symposium on …, 2002 - ieeexplore.ieee.org
In joint work with Peter O'Hearn and others, based on early ideas of Burstall, we have
developed an extension of Hoare logic that permits reasoning about low-level imperative …

How to make a multiprocessor computer that correctly executes multiprocess programs

Lamport - IEEE transactions on computers, 1979 - ieeexplore.ieee.org
Many large sequential computers execute operations in a different order than is specified by
the program. A correct execution is achieved if the results produced are the same as would …