Authentication in distributed systems: theory and practice
ACM Transactions on Computer Systems (TOCS)
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Designing programs that check their work
Journal of the ACM (JACM)
The CHECKS pattern language of information integrity
Pattern languages of program design
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
EROS: a fast capability system
Proceedings of the seventeenth ACM symposium on Operating systems principles
End-to-end arguments in system design
ACM Transactions on Computer Systems (TOCS)
A model for verification of data security in operating systems
Communications of the ACM
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Hints for Computer System Design
IEEE Software
EVT'08 Proceedings of the conference on Electronic voting technology
A direct path to dependable software
Communications of the ACM - A Direct Path to Dependable Software
Patterns for Fault Tolerant Software
Patterns for Fault Tolerant Software
seL4: formal verification of an OS kernel
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions
Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions
Prêt à voter with re-encryption mixes
ESORICS'06 Proceedings of the 11th European conference on Research in Computer Security
Hi-index | 0.00 |
We propose a set of patterns for structuring a system to be dependable by design. The key idea is to localize the system's most critical requirements into small, reliable parts called trusted bases. We describe two instances of trusted bases: (1) the end-to-end check, which localizes the correctness checking of a computation to end points of a system, and (2) the trusted kernel, which ensures the safety of a set of resources with a small core of a system.