Fred B. Schneider

dblp:s/FredBSchneider · DBLP profile ↗
← Back
78ranked-venue papers
13as first author
2since 2021 · last 2025
0009-0001-4902-018XORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 23 · 5 first-authorSecurity and privacy · 21 · 3 first-author · 2 since 2021Systems, architecture and hardware · 16 · 2 first-authorTheory of computation · 16 · 3 first-authorDatabases, data management, data science and information retrieval · 7Computer networks · 1Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2025 Accountability, Involvement, and Mediation for Information Flow
abstract
Explainability and transparency of computations, as well as compliance with data-privacy requirements, presuppose an understanding of whether some input plays a non-trivial role in computing an output. However, difficulty in distinguishing between correlation and actual usage in computation, along with possible correlations between inputs, makes determination of such accountability challenging. A flow definition is presented that can make this distinction. The definition enables the construction of accountability evidence to establish how an input is computed based on an output, in terms of the intermediate variables used. Intermediate variables can also serve as mediation points that fully block information flow from an input to an output. A connection between accountability and mediation is established by showing the role of mediation points for constructing accountability evidence.
Elisavet Kozyri, Fred B. Schneider, Stephen Chong
CSF2
2021 Verifying Hyperproperties With TLA
abstract
Hyperproperties generalize ordinary properties by expressing relations among multiple executions of a system. Self-composition has been used to reduce verifying that a system satisfies certain classes of Hyperproperties to verifying that a derived system satisfies an ordinary property. By describing systems and their properties in the temporal logic TLA, we use self-composition to handle a larger class of Hyperproperties that includes those we have seen that express security conditions. TLA tools are used to verify that high-level designs of industrial systems satisfy properties. Now, they can also verify that those systems satisfy these Hyperproperties. No prior knowledge of Hyperproperties or TLA is assumed.
Leslie Lamport, Fred B. Schneider
CSF2
2020 RIF: Reactive information flow labels
abstract
Restrictions that a reactive information flow (RIF) label imposes on a value are determined by the sequence of operations used to derive that value. This allows declassification, endorsement, and other forms of reclassification to be supported in a uniform way. Piecewise noninterference (PWNI) is introduced as a fitting security policy, because noninterference is not suitable. A type system is given for static enforcement of PWNI in programs that associate checkable classes of RIF labels with variables. Two checkable classes of RIF labels are described: RIF automata are general-purpose and based on finite-state automata; κ-labels concern confidentiality in programs that use cryptographic operations.
Elisavet Kozyri, Fred B. Schneider
J. Comput. Secur.2
2019 Beyond Labels: Permissiveness for Dynamic Information Flow Enforcement
abstract
Flow-sensitive labels used by dynamic enforcement mechanisms might themselves encode sensitive information, which can leak. Metalabels, employed to represent the sensitivity of labels, exhibit the same problem. This paper derives a new family of enforcers-k-Enf, for 2 ≤ k ≤ ∞-that uses label chains, where each label defines the sensitivity of its predecessor. These enforcers satisfy Block-safe Noninterference (BNI), which proscribes leaks from observing variables, label chains, and blocked executions. Theorems in this paper characterize where longer label chains can improve the permissiveness of dynamic enforcement mechanisms that satisfy BNI. These theorems depend on semantic attributes-k-precise, k-varying, and k-dependent-of such mechanisms, as well as on initialization, threat model, and lattice size.
Elisavet Kozyri, Fred B. Schneider, Andrew Bedford, Josée Desharnais, Nadia Tawbi
CSF2
2015 Quantification of integrity
abstract
Three integrity measures are introduced: contamination, channel suppression and program suppression. Contamination is a measure of how much untrusted information reaches trusted outputs; it is the dual of leakage, which is a measure of information-flow confidentiality. Channel suppression is a measure of how much information about inputs to a noisy channel is missing from the channel outputs. And program suppression is a measure of how much information about the correct output of a program is lost because of attacker influence and implementation errors. Program and channel suppression do not have interesting confidentiality duals. As a case study, a quantitative relationship between integrity, confidentiality and database privacy is examined.
Michael R. Clarkson, Fred B. Schneider
Math. Struct. Comput. Sci.2
2015 Vive La Différence: Paxos vs. Viewstamped Replication vs. Zab
abstract
Paxos, Viewstamped Replication, and Zab are replication protocols for high-availability in asynchronous environments with crash failures. Claims have been made about their similarities and differences. But how does one determine whether two protocols are the same, and if not, how significant are the differences? We address these questions using refinement mappings. Protocols are expressed as succinct specifications that are progressively refined to executable implementations. Doing so enables a principled understanding of the correctness of design decisions for implementing the protocols. Additionally, differences that have a significant impact on performance are surfaced by this exercise.
Robbert van Renesse, Nicolas Schiper, Fred B. Schneider
IEEE Trans. Dependable Secur. Comput.3
2015 Omni-Kernel: An Operating System Architecture for Pervasive Monitoring and Scheduling
abstract
Theomni-kernelarchitecture is designed around pervasive monitoring and scheduling. Motivated by new requirements in virtualized environments, this architecture ensures that all resource consumption is measured, that resource consumption resulting from a scheduling decision is attributable to an activity, and that scheduling decisions are fine-grained.Vortex, implemented for multi-core x86-64 platforms, instantiates the omni-kernel architecture, providing a wide range of operating system functionality and abstractions. With Vortex, we experimentally demonstrated the efficacy of the omni-kernel architecture to provide accurate scheduler control over resource allocation despite competing workloads. Experiments involving Apache, MySQL, and Hadoop quantify the cost of pervasive monitoring and scheduling in Vortex to be below$6$percent ofcpuconsumption.
Åge Kvalnes, Dag Johansen, Robbert van Renesse, Fred B. Schneider, Steffen Viken Valvåg
IEEE Trans. Parallel Distributed Syst.4
2013 Programming languages in security: keynote
abstract
No abstract available.
Fred B. Schneider
PLDI1
2012 Multi-Verifier Signatures
Tom Roeder, Rafael Pass, Fred B. Schneider
J. Cryptol.3
2011 NetQuery: a knowledge plane for reasoning about network properties
abstract
This paper presents the design and implementation of NetQuery, a knowledge plane for federated networks such as the Internet. In such networks, not all administrative domains will generate information that an application can trust and many administrative domains may have restrictive policies on disclosing network information. Thus, both the trustworthiness and accessibility of network information pose obstacles to effective reasoning. NetQuery employs trustworthy computing techniques to facilitate reasoning about the trustworthiness of information contained in the knowledge plane while preserving confidentiality guarantees for operator data. By characterizing information disclosure between operators, NetQuery enables remote verification of advertised claims and contractual stipulations; this enables new applications because network guarantees can span administrative boundaries. We have implemented NetQuery, built several NetQuery-enabled devices, and deployed applications for cloud datacenters, enterprise networks, and the Internet. Simulations, testbed experiments, and a deployment on a departmental network indicate NetQuery can support hundreds of thousands of operations per second and can thus scale to large ISPs.
Alan Shieh, Emin Gün Sirer, Fred B. Schneider
SIGCOMM3
2011 Logical attestation: an authorization architecture for trustworthy computing
abstract
This paper describes the design and implementation of a new operating system authorization architecture to support trustworthy computing. Called logical attestation, this architecture provides a sound framework for reasoning about run time behavior of applications. Logical attestation is based on attributable, unforgeable statements about program properties, expressed in a logic. These statements are suitable for mechanical processing, proof construction, and verification; they can serve as credentials, support authorization based on expressive authorization policies, and enable remote principals to trust software components without restricting the local user's choice of binary implementations.
Emin Gün Sirer, Willem de Bruijn, Patrick Reynolds, Alan Shieh, Kevin Walsh 0001, Dan Williams 0001, Fred B. Schneider
SOSP7
2011 Nexus authorization logic (NAL): Design rationale and applications
abstract
Nexus Authorization Logic (NAL) provides a principled basis for specifying and reasoning about credentials and authorization policies. It extends prior access control logics that are based on “says” and “speaks for” operators. NAL enables authorization of access requests to depend on (i) the source or pedigree of the requester, (ii) the outcome of any mechanized analysis of the requester, or (iii) the use of trusted software to encapsulate or modify the requester. To illustrate the convenience and expressive power of this approach to authorization, a suite of document-viewer applications was implemented to run on the Nexus operating system. One of the viewers enforces policies that concern the integrity of excerpts that a document contains; another viewer enforces confidentiality policies specified by labels tagging blocks of text.
Fred B. Schneider, Kevin Walsh 0001, Emin Gün Sirer
ACM Trans. Inf. Syst. Secur.1
2010 Quantification of Integrity
abstract
Two kinds of integrity measures-contamination and suppression-are introduced. Contamination measures how much untrusted information reaches trusted outputs; it is the dual of information-flow confidentiality. Suppression measures how much information is lost from outputs; it does not have a confidentiality dual. Two forms of suppression are considered: programs and channels. Program suppression measures how much information about the correct output of a program is lost because of attacker influence and implementation errors. Channel suppression measures how much information about inputs to a noisy channel is missing from channel outputs. The relationship between quantitative integrity, confidentiality, and database privacy is examined.
Michael R. Clarkson, Fred B. Schneider
CSF2
2010 Beyond hacking: an SOS!
abstract
Cyber-security today is focused largely on defending against known attacks. We learn about the latest attack and find a hack to defend against it. So our defenses improve only after they have been successfully penetrated. This is a recipe to ensure some attackers succeed---not a recipe for achieving system trustworthiness.
Fred B. Schneider
ICSE (1)1
2010 Hyperproperties
abstract
Trace properties, which have long been used for reasoning about systems, are sets of execution traces. Hyperproperties, introduced here, are sets of trace properties. Hyperproperties can express security policies, such as secure information flow and service level agreements, that trace properties c annot. Safety and liveness are generalized to hyperproperties, and every hyperproperty is shown to be the intersection of a safety hyperproperty and a liveness hyperproperty. A verification technique for safety hyperproperties is given and is shown to generalize prior techniques for verifying secure information flow. Refinement is shown to be applicable with safety hyperproperties. A topological characterization of hyperproperties is given.
Michael R. Clarkson, Fred B. Schneider
J. Comput. Secur.2
2010 Independence from obfuscation: A semantic framework for diversity
abstract
A set of replicas is diverse to the extent that they implement the same functionality but differ in their implementation details. Diverse replicas are less likely to succumb to the same attacks, when attacks depend on memory layout and/or other implementation details. Recent work advocates using mechanical means, such as program rewriting, to create such diversity. A correspondence between the specific transformations being employed and the attacks they defend against is often provided, but little has been said about the overall effectiveness of diversity per se in defending against attacks. With this broader goal in mind, this paper gives a precise characterization of attacks, applicable to viewing diversity as a defense, and also shows how mechanically-generated diversity compares to a well-understood defense: type checking.
Riccardo Pucella, Fred B. Schneider
J. Comput. Secur.2
2010 Proactive obfuscation
abstract
Proactive obfuscation is a new method for creating server replicas that are likely to have fewer shared vulnerabilities. It uses semantics-preserving code transformations to generate diverse executables, periodically restarting servers with these fresh versions. The periodic restarts help bound the number of compromised replicas that a service ever concurrently runs, and therefore proactive obfuscation makes an adversary's job harder. Proactive obfuscation was used in implementing two prototypes: a distributed firewall based on state-machine replication and a distributed storage service based on quorum systems. Costs intrinsic to supporting proactive obfuscation in replicated systems were evaluated by measuring the performance of these prototypes. The results show that employing proactive obfuscation adds little to the cost of replica-management protocols.
Tom Roeder, Fred B. Schneider
ACM Trans. Comput. Syst.2
2009 Quantifying information flow with beliefs
abstract
To reason about information flow, a new model is developed that describes how attacker beliefs change due to the attacker's observation of the execution of a probabilistic (or deterministic) program. The model enables compositional reasoning about in
Michael R. Clarkson, Andrew C. Myers, Fred B. Schneider
J. Comput. Secur.3
2008 Hyperproperties
abstract
Properties, which have long been used for reasoning about systems, are sets of traces. Hyperproperties, introduced here, are sets of properties. Hyperproperties can express security policies, such as secure information flow, that properties cannot. Safety and liveness are generalized to hyperproperties, and every hyperproperty is shown to be the intersection of a safety hyperproperty and a liveness hyperproperty. A verification technique for safety hyperproperties is given and is shown to generalize prior techniques for verifying secure information flow. Refinement is shown to be valid for safety hyperproperties. A topological characterization of hyperproperties is given.
Michael R. Clarkson, Fred B. Schneider
CSF2
2008 Device Driver Safety Through a Reference Validation Mechanism
Dan Williams 0001, Patrick Reynolds, Kevin Walsh 0001, Emin Gün Sirer, Fred B. Schneider
OSDI5
2007 Mapping the Security Landscape: A Role for Language Techniques
Fred B. Schneider
CONCUR1
2007 Credentials-Based Authorization: Evaluation and Implementation
Fred B. Schneider
ICALP1
2006 Independence From Obfuscation: A Semantic Framework for Dive
abstract
A set of replicas is diverse to the extent that all implement the same functionality but differ in their implementation details. Diverse replicas are less prone to having vulnerabilities in common, because attacks typically depend on memory layout and/or instruction-sequence specifics. Recent work advocates using mechanical means, such as program rewriting, to create such diversity. A correspondence between the specific transformations being employed and the attacks they defend against is often provided, but little has been said about the overall effectiveness of diversity per se in defending against attacks. With this broader goal in mind, we here give a precise characterization of attacks, applicable to viewing diversity as a defense, and also show how mechanically-generated diversity compares to a well-understood defense: strong typing
Riccardo Pucella, Fred B. Schneider
CSFW2
2006 Computability classes for enforcement mechanisms
abstract
A precise characterization of those security policies enforceable by program rewriting is given. This also exposes and rectifies problems in prior work, yielding a better characterization of those security policies enforceable by execution monitors as well as a taxonomy of enforceable security policies. Some but not all classes can be identified with known classes from computational complexity theory.
Kevin W. Hamlen, J. Gregory Morrisett, Fred B. Schneider
ACM Trans. Program. Lang. Syst.3
2005 Belief in Information Flow
abstract
Information leakage traditionally has been defined to occur when uncertainty about secret data is reduced. This uncertainty-based approach is inadequate for measuring information flow when an attacker is making assumptions about secret inputs and these assumptions might be incorrect; such attacker beliefs are an unavoidable aspect of any satisfactory definition of leakage. To reason about information flow based on beliefs, a model is developed that describes how attacker beliefs change due to the attacker's observation of the execution of a probabilistic (or deterministic) program. The model leads to a new metric for quantitative information flow that measures accuracy rather than uncertainty of beliefs.
Michael R. Clarkson, Andrew C. Myers, Fred B. Schneider
CSFW3
2005 Distributed Blinding for Distributed ElGamal Re-Encryption
abstract
A protocol is given to take an ElGamal ciphertext encrypted under the key of one distributed service and produce the corresponding ciphertext encrypted under the key of another distributed service, but without the plaintext ever becoming available. Each distributed service comprises a set of servers and employs threshold cryptography to maintain its service private key. Unlike prior work, the protocol requires no assumptions about execution speeds or message delivery delays. The protocol also imposes fewer constraints on where and when various steps are performed, which can bring improvements in end-to-end performance for some applications (e.g., a trusted publish/subscribe infrastructure.) Two new building blocks employed — a distributed blinding protocol and verifiable dual encryption proofs — could have uses beyond re-encryption protocols.
Lidong Zhou, Michael A. Marsh, Fred B. Schneider, Anna Redz
ICDCS3
2005 Nexus: a new operating system for trustworthy computing
abstract
Tamper-proof coprocessors for secure computing are poised to become a standard hardware feature on future computers. Such hardware provides the primitives necessary to support trustworthy computing applications, that is, applications that can provide strong guarantees about their run time behavior.
Alan Shieh, Dan Williams 0001, Emin Gün Sirer, Fred B. Schneider
SOSP4
2005 Automated Analysis of Fault-Tolerance in Distributed Systems
Scott D. Stoller, Fred B. Schneider
Formal Methods Syst. Des.2
2005 APSS: proactive secret sharing in asynchronous systems
abstract
APSS, a proactive secret sharing (PSS) protocol for asynchronous systems, is explained and proved correct. The protocol enables a set of secret shares to be periodically refreshed with a new, independent set, thereby thwarting mobile-adversary attacks. Protocols for asynchronous systems are inherently less vulnerable to denial-of-service attacks, which slow processor execution or delay message delivery. So APSS tolerates certain attacks that PSS protocols for synchronous systems cannot.
Lidong Zhou, Fred B. Schneider, Robbert van Renesse
ACM Trans. Inf. Syst. Secur.2
2004 Chain Replication for Supporting High Throughput and Availability
Robbert van Renesse, Fred B. Schneider
OSDI2
2004 CODEX: A Robust and Secure Secret Distribution System
abstract
CODEX (COrnell Data Exchange) stores secrets for subsequent access by authorized clients. It also is a vehicle for exploring the generality of a relatively new approach to building distributed services that are both fault-tolerant and attack-tolerant. Elements of that approach include: embracing the asynchronous (rather than synchronous) model of computation, use of Byzantine quorum systems for storing state, and employing proactive secret sharing with threshold cryptography for implementing confidentiality and authentication of service responses. Besides explaining the CODEX protocols, experiments to measure their performance are discussed.
Michael A. Marsh, Fred B. Schneider
IEEE Trans. Dependable Secur. Comput.2
2003 Tolerating malicious gossip
Yaron Minsky, Fred B. Schneider
Distributed Comput.2
2002 A TACOMA retrospective
abstract
Abstract For seven years, the TACOMA project has investigated the design and implementation of software support for mobile agents. A series of prototypes has been developed, with experiences in distributed applications driving the effort. This paper describes the evolution of these TACOMA prototypes, what primitives each supports, and how the primitives are used in building distributed applications. Copyright © 2002 John Wiley & Sons, Ltd.
Dag Johansen, Kåre J. Lauvset, Robbert van Renesse, Fred B. Schneider, Nils P. Sudmann, Kjetil Jacobsen
Softw. Pract. Exp.4
2002 COCA: A secure distributed online certification authority
abstract
COCA is a fault-tolerant and secure online certification authority that has been built and deployed both in a local area network and in the Internet. Extremely weak assumptions characterize environments in which COCA's protocols execute correctly: no assumption is made about execution speed and message delivery delays; channels are expected to exhibit only intermittent reliability; and with 3t+ 1 COCA servers up totmay be faulty or compromised. COCA is the first system to integrate a Byzantine quorum system (used to achieve availability) with proactive recovery (used to defend against mobile adversaries which attack, compromise, and control one replica for a limited period of time before moving on to another). In addition to tackling problems associated with combining fault-tolerance and security, new proactive recovery protocols had to be developed. Experimental results give a quantitative evaluation for the cost and effectiveness of the protocols.
Lidong Zhou, Fred B. Schneider, Robbert van Renesse
ACM Trans. Comput. Syst.2
2001 Language-Based Security: What's Needed and Why
Fred B. Schneider
SAS1
2000 IRM Enforcement of Java Stack Inspection
abstract
Two implementations are given for Java's stack inspection access-control policy. Each implementation is obtained by generating an inlined reference monitor (IRM) for a different formulation of the policy. Performance of the implementations is evaluated, and one is found to be competitive with Java's less flexible, JVM-resident implementation. The exercise illustrates the power of the IRM approach for enforcing security policies.
Úlfar Erlingsson, Fred B. Schneider
S&P2
2000 Open Source in Security: Visiting the Bizarre
abstract
Although open-source software development has virtues, there is reason to believe that the approach would not have a significant effect on the security of today's systems. The lion's share of vulnerabilities caused by software bugs is easily dealt with by means other than source code inspections. The tenets of open-source development are inhospitable to business models whose success depends on promoting secure systems.
Fred B. Schneider
S&P1
2000 Enforceable security policies
abstract
A precise characterization is given for the class of security policies enforceable with mechanisms that work by monitoring system execution, and automata are introduced for specifying exactly that class of security policies. Techniques to enforce security policies specified by such automata are also discussed.
Fred B. Schneider
ACM Trans. Inf. Syst. Secur.1
1999 NAP: Practical Fault-Tolerance for Itinerant Computations
abstract
One use of mobile agents is support for itinerant computation (D. Chess et al., 1995). An itinerant computation is a program that moves from host to host in a network. Which hosts the program visits is determined by the program. The program can have a pre-defined itinerary or can dynamically compute the next host to visit as it visits each successive host; it can visit the same host repeatedly or it can even create multiple concurrent copies of itself on a single host. Itinerant computations are susceptible to processor failures, communications failures, and crashes due to program bugs. NAP is a protocol for supporting fault tolerance in itinerant computations. It employs a form of failure detection and recovery, and it generalizes the primary backup approach to a new computational model. The guarantees offered by NAP as well as an implementation for NAP in TACOMA are discussed.
Dag Johansen, Keith Marzullo, Fred B. Schneider, Kjetil Jacobsen, Dmitrii Zagorodnov
ICDCS3
1999 SASI enforcement of security policies: a retrospective
abstract
SASI enforces security policies by modifying object code for a target system before that system is executed. The approach has been prototyped for two rather dieren t machine architectures: Intel x86 and Java JVML. Details of these prototypes and some generalizations about the SASI approach are discussed.
Úlfar Erlingsson, Fred B. Schneider
NSPW2
1998 Adding the Everywhere Operator to Propositional Logic
abstract
Sound and complete modal propositional logic C is presented, in which □P has the interpretation ‘P is true in all states’. This interpretation is already known as the Camapian extension of S5. The new axiomatization for C provides two insights. First, introducing an inference rule textual substitution allows integration of the propositional and modal parts of the logic in a way that gives a more practical system for writing formal proofs. Second, the two following approaches to axiomatizing a logic are shown to be not equivalent: (i) give axiom schemes that denote an infinite number of axioms and (ii) write a finite number of axioms in terms of propositional variables and introduce a substitution inference rule.
David Gries, Fred B. Schneider
J. Log. Comput.2
1997 Report Dagstuhl Seminar on Time Services, Schloß Dagstuhl, March 11-15, 1996
Danny Dolev, Rüdiger Reischuk, Fred B. Schneider, Ray Strong
Real Time Syst.3
1996 Hypervisor-Based Fault Tolerance
abstract
Protocols to implement a fault-tolerant computing system are described. These protocols augment the hypervisor of a virtual-machine manager and coordinate a primary virtual machine with its backup. No modifications to the hardware, operating system, or application programs are required. A prototype system was constructed for HP's PA-RISC instruction-set architecture. Even though the prototype was not carefully tuned, it ran programs about a factor of 2 slower than a bare machine would.
Thomas C. Bressoud, Fred B. Schneider
ACM Trans. Comput. Syst.2
1995 Operating system support for mobile agents
abstract
The TACOMA project is concerned with implementing operating system support for agents, processes that migrate through a network. Two TACOMA prototypes have been completed; this paper outlines our experiences in building and using them. A mechanism for exchanging electronic cash was explored, as well as agent-based schemes for scheduling and fault-tolerance.
Dag Johansen, Robbert van Renesse, Fred B. Schneider
HotOS3
1995 Teaching as a logic tool (abstract)
abstract
No abstract available.
David Gries, Fred B. Schneider, Joan Krone, J. Stanley Warford, J. Peter Weston
SIGCSE2
1995 Hypervisor-based Fault-tolerance
abstract
Protocols to implement a fault-tolerant computing system are described.These protocols augment the hypervisor of a virtttalmachine manager and coordinate a primary virtual machine with its backup.The result is a fault-tolerant computing system.No modification to hardware, operating system, or application programs is required.A prototype system was constructed for HP's PA-RISC instruction-set architecture.The prototype was able to run programs about a factor of 2 slower than a bare machine would.
Thomas C. Bressoud, Fred B. Schneider
SOSP2
1995 Equational Propositional Logic
abstract
We formalize equational propositional logic, prove that it is sound and complete, and compare the equational-proof style with the more traditional Hubert style.
David Gries, Fred B. Schneider
Inf. Process. Lett.2
1995 Verifying Programs That Use Causally-Ordered Message-Passing
abstract
We give an operational model of causally-ordered message-passing primitives. Based on this model, we formulate a Hoare-style proof system for causally-ordered delivery. To illustrate the use of this proof system and to demonstrate the feasibility of applying invariant-based verification techniques to algorithms that depend on causally-ordered delivery, we verify an asynchronous variant of the distributed termination detection algorithm of Dijkstra, Feijen, and van Gasteren.
Scott D. Stoller, Fred B. Schneider
Sci. Comput. Program.2
1994 Reasoning about Programs by Exploiting the Environment
Limor Fix, Fred B. Schneider
ICALP2
1993 Proving Nondeterministically Specified Safety Properties Using Progress Measures
Nils Klarlund, Fred B. Schneider
Inf. Comput.2
1993 A Formalization of Priority Inversion
Özalp Babaoglu, Keith Marzullo, Fred B. Schneider
Real Time Syst.3
1992 Introduction
Fred B. Schneider
Distributed Comput.1
1992 Trace-Based Network Proof Systems: Expressiveness and Completeness
abstract
We consider incomplete trace-based network proof systems for safety properties, identifying extensions that are necessary and sufficient to achieve relative completeness. We investigate the expressiveness required of any trace logic to encode these extensions.
Jennifer Widom, David Gries, Fred B. Schneider
ACM Trans. Program. Lang. Syst.3
1991 Preserving Liveness: Comments on "Safety and Liveness from a Methodological Point of View"
Martín Abadi, Bowen Alpern, Krzysztof R. Apt, Nissim Francez, Shmuel Katz, Leslie Lamport, Fred B. Schneider
Inf. Process. Lett.7
1989 Verifying Temporal Properties without Temporal Logic
abstract
An approach to proving temporal properties of concurrent programs that does not use temporal logic as an inference system is presented. The approach is based on using Buchi automata to specify properties. To show that a program satisfies a given property, proof obligations are derived from the Buchi automata specifying that property. These obligations are discharged by devising suitable invariant assertions and variant functions for the program. The approach is shown to be sound and relatively complete. A mutual exclusion protocol illustrates its application.
Bowen Alpern, Fred B. Schneider
ACM Trans. Program. Lang. Syst.2
1987 Proving Boolean Combinations of Deterministic Properties
Bowen Alpern, Fred B. Schneider
LICS2
1987 Completeness and Incompleteness of Trace-Based Network Proof Systems
abstract
Abstract. Most trace-based proof systems for networks of processes are known to be incomplete. Extensions to achieve completeness are generally complicated and cumbersome. In this paper, a simple trace logic is defined and two examples are presented to show its inherent incompleteness. Surprisingly, both examples consist of only one process, indicating that network composition is not a cause of incompleteness. Axioms necessary and sufficient for the relative completeness of a trace logic are then presented.
Jennifer Widom, David Gries, Fred B. Schneider
POPL3
1987 Recognizing Safety and Liveness
Bowen Alpern, Fred B. Schneider
Distributed Comput.2
1986 Safety Without Stuttering
Bowen Alpern, Alan J. Demers, Fred B. Schneider
Inf. Process. Lett.3
1986 Derivation of a Distributed Algorithm for Finding Paths in Directed Networks
Robert McCurley, Fred B. Schneider
Sci. Comput. Program.2
1985 Symmetry and Similarity in Distributed Systems
abstract
Abstract: Similarity is introduced as a model-independent characterization of symmetry. It can be used to decide when a concurrent system has a solution to the selection problem. It can also be used to compare different models of parallel computation, including differences in scheduling policy and instruction set, and the consequences of using randomization. 1.
Ralph E. Johnson, Fred B. Schneider
PODC2
1985 Inexact Agreement: Accuracy, Precision, and Graceful Degradation
abstract
An Inexact Agreement protocol alows processors that each have a value approximating $\hat{\nu}$ to compute new values that are closer to each other and close to $\hat{\nu}$. Two fault-tolerant protocols for Inexact Agreement are described. As long as fewer than 1/3 of the processors are faulty, the protocols give the required convergence; they also permit iteration and thus convergence to any desired precision. When between 1/3 and 2/3 of the processors are faulty, the protocols may not converge. However, then processors either detect that too many faults have occurred or the new values computed by processors remain close to each other and to $\hat{\nu}$. In this case, the divergence is bounded. Use of the protocols for clock synchronization in a distributed system is explained.
Stephen R. Mahaney, Fred B. Schneider
PODC2
1985 Constraints: A Uniform Approach to Aliasing and Typing
abstract
A constraint is a relation among program variables that is maintained throughout execution. Type declarations and a very general form of aliasing can be expressed as constraints. A proof system based upon the interpretation of Hoare triples as temporal logic formulas is given for reasoning about programs with constraints. The proof system is shown to be sound and relatively complete, and example program proofs are given.
Leslie Lamport, Fred B. Schneider
POPL2
1985 Thrifty Execution of Task Pipelines
Fred B. Schneider, Richard Conway 0003, Dale Skeen
Acta Informatica1
1985 Defining Liveness
Bowen Alpern, Fred B. Schneider
Inf. Process. Lett.2
1984 Fault-Tolerant Broadcasts
Fred B. Schneider, David Gries, Richard D. Schlichting
Sci. Comput. Program.1
1984 Byzantine Generals in Action: Implementing Fail-Stop Processors
abstract
A fail-stop processor halts instead of performing an erroneous state transformation that might be visible to other processors, can detect whether another fail-stop processor has halted (due to a failure), and has a predefined portion of its storage that will remain unaffected by failures and accessible to any other fail-stop processor.Fail-stop processors can simplify the construction of fault-tolerant computing systems.In this paper, the problem of approximating fail-stop processors is discussed.Use of fail-stop processors is compared with the state machine approach, another general paradigm for constructing fault-tolerant systems.
Fred B. Schneider
ACM Trans. Comput. Syst.1
1984 User Recovery and Reversal in Interactive Systems
abstract
Interactive systems, such as editors and program development environments, should explicitly support facilities that permit a user to reverse the effects of past actions and to restore an object to a prior state.A model for interactive systems that allows such recovery facilities to be defined precisely and user and system responsibilities to be delineated is presented.Various techniques for implementing recovery are described.Application of a general recovery facility to support reverse execution is discussed.A program development system (called COPE} with extensive recovery facilities, including reverse execution, is described.
James E. Archer Jr., Richard Conway 0003, Fred B. Schneider
ACM Trans. Program. Lang. Syst.3
1984 The "Hoare Logic" of CSP, and All That
abstract
Generalized Hoare Logic is a formal logical system for deriving invariance properties of programs.It provides a uniform way to describe a variety of methods for reasoning about concurrent programs, including noninterference, satisfaction, and cooperation proofs.We describe a simple recta-rule of the Generalized Hoare Logic--the Decomposition Principle--and show how all these methods can be derived using it.
Leslie Lamport, Fred B. Schneider
ACM Trans. Program. Lang. Syst.2
1984 Using Message Passing for Distributed Programming: Proof Rules, Disciplines
abstract
Inference rules are derived for proving partial correctness of concurrent programs that use message passing.These rules extend the notion of a satisfaction proof, first proposed for proving correctness of programs that use synchronous message-passing, to asynchronous message-passing, rendezvous, and remote procedures.Two types of asynchronous message-passing are considered: unreliable datagrams and reliable virtual circuits.The proof rules show how interference can arise and be controlled.
Richard D. Schlichting, Fred B. Schneider
ACM Trans. Program. Lang. Syst.2
1983 Key Exchange Using 'Keyless Cryptography'
Bowen Alpern, Fred B. Schneider
Inf. Process. Lett.2
1983 Fail-Stop Processors: An Approach to Designing Fault-Tolerant Computing Systems
abstract
Fault-
Richard D. Schlichting, Fred B. Schneider
ACM Trans. Comput. Syst.2
1982 Understanding and Using Asynchronous Message Passing (Preliminary Version)
abstract
Message passing provides a way for concurrently executing processes to communicate and synchronize. In this paper, we develop proof rules for asynchronous message-passing primitives (i.e. “send no-wait”). Two benefits accrue from this. The obvious one is that partial correctness proofs can be written for concurrent programs that use such primitives. This allows programs to be understood as predicate transformers, instead of by contemplating all possible execution interleavings. The second benefit is that the proof rules and their derivation shed light on how interference arises when message-passing operations are used and on how this interference can be controlled. This provides insight into programming techniques to eliminate interference in programs that involve asynchronous activity. Three safe uses of asynchronous message passing are described here: the transfer of values, the transfer of monotonic predicates, and the use of acknowledgments.
Richard D. Schlichting, Fred B. Schneider
PODC2
1982 Synchronization in Distributed Programs
abstract
A technique for solving synchronization problems in distributed programs is described.Use of this technique in environments in which processes may fail is discussed.The technique can be used to solve synchronization problems directly, to implement new synchronization mechanisms (which are presumably well suited for use in distributed programs), and to construct distributed versions of existing synchronization mechanisms.Use of the technique is illustrated with implementations of distributed semaphores and a conditional message-passing facility.
Fred B. Schneider
ACM Trans. Program. Lang. Syst.1
1981 More on Master Keys for Group Sharing
Dorothy E. Denning, Henk Meijer, Fred B. Schneider
Inf. Process. Lett.3
1981 Master Keys for Group Sharing
Dorothy E. Denning, Fred B. Schneider
Inf. Process. Lett.2
1980 The Master Key Problem
abstract
Four methods for generating and distributing shared group encryption keys in a cryptographic system are described. All four methods can be used to implement secure broadcasts among groups of users in computer networks. Two methods use n secret keys to construct a master key for 2n -1 keys.
Dorothy E. Denning, Fred B. Schneider
S&P2
1978 Conditions for the Equivalence of Synchronous and Asynchronous Systems
abstract
Synchronous and asynchronous operation of software systems are defined. It is argued that certifying the correct operation of a system in the synchronous mode is significantly simpler than in the asynchronous mode. A series of compile-time and run-time restrictions for systems constructed in Concuirent Pascal are presented which assure equivalent operation in the synchronous and asynchronous modes.
Eralp A. Akkoyunlu, Arthur J. Bernstein, Fred B. Schneider, Avi Silberschatz
IEEE Trans. Software Eng.3