Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jonathan S. Shapiro

dblp:s/JonathanSShapiro · DBLP profile ↗
← Back
10ranked-venue papers
6as first author
0since 2021 · last 2008
—ORCID · none

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

Security and privacy · 5 · 4 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorSystems, architecture and hardware · 2 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
8 papers
Operating systems · 73% Program verification · 18% Software maintenance and evolution · 9%
Network and information security
4 papers
Systems and software security · 51% Authentication and access control · 49%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Storage systems · 60% Performance modeling and evaluation · 40%

Topics — the 13 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › resource management › memory management › virtual memory
single-level store
0.122002
Design Evolution of the EROS Single-Level Store · USENIX ATC, General Track 2002
EROS: a fast capability system · SOSP 1999
Systems and software security
operating system security
0.012004
Design of the EROS Trusted Window System · USENIX Security Symposium 2004
Program verification › model checking
software model checking
0.012004
Using build-integrated static checking to preserve correctness invariants · CCS 2004
Operating systems
interprocess communication
0.012003
Vulnerabilities in Synchronous IPC Designs · S&P 2003
Operating systems › interprocess communication
synchronous IPC
0.012003
Vulnerabilities in Synchronous IPC Designs · S&P 2003
Authentication and access control
access control
0.012002
Access and Integrity Control in a Public-Access, High-Assurance Configuration Management System · USENIX Security Symposium 2002
Authentication and access control › access control
integrity protection
0.012002
Access and Integrity Control in a Public-Access, High-Assurance Configuration Management System · USENIX Security Symposium 2002
Software maintenance and evolution
software configuration management
0.012002
Access and Integrity Control in a Public-Access, High-Assurance Configuration Management System · USENIX Security Symposium 2002
Operating systems › system security › operating system security › protection mechanism
capability-based protection
0.012000
Verifying the EROS Confinement Mechanism · S&P 2000
Operating systems › system security › operating system security › secure operating system
capability-based operating system
0.011999
EROS: a fast capability system · SOSP 1999
Program verification › system verification
kernel verification
0.012004
Using build-integrated static checking to preserve correctness invariants · CCS 2004
Storage systems
file systems
0.012002
Design Evolution of the EROS Single-Level Store · USENIX ATC, General Track 2002
Program verification
security property verification
0.012000
Verifying the EROS Confinement Mechanism · S&P 2000

Methods — techniques the papers use, named apart from their topics

trusted computing · 0.1capability-based security · 0.1vulnerability analysis · 0.1IPC design analysis · 0.1integrity verification · 0.1software model checking · 0.0finite state automata · 0.0access control models · 0.0access control model · 0.0operational semantics · 0.0formal modeling · 0.0software-managed caching · 0.0capability-based architecture · 0.0
YearPublicationVenuePosition
2008 Sound and Complete Type Inference for a Systems Programming Language
Swaroop Sridhar, Jonathan S. Shapiro, Scott F. Smith 0001
APLAS2
2006 Type inference for unboxed types and first class mutability
abstract
Systems programs rely on fine-grain control of data representa-tion and use of state to achieve performance, conformance to hard-ware specification, and temporal predictability. The robustness and checkability of these programs could be greatly improved if mod-ern type systems and programming language ideas, such as poly-morphism and type inference, could be applied to these programs. BitC is a higher-order programming language in the tradition of ML and Haskell, extended to incorporate both state and the expres-sion of unboxed and low-level datatypes. State and unboxed value types interact in subtle ways with polymorphic type-inference. Un-less handled with care in the language design, interactions of these features can lead to unsoundness or results that are counter-intuitive to the programmer. Because instances of value types may have mu-table components, a decision must be made concerning their com-patibility at copy boundaries: should structurally equivalent types that differ only in their mutability be considered compatible. The choice impacts both the amount of polymorphism that the language can preserve and the burden of type annotation imposed on the pro-grammer. This paper presents some of these challenges and our design for how to address these issues.
Swaroop Sridhar, Jonathan S. Shapiro
PLOS2
2004 Using build-integrated static checking to preserve correctness invariants
abstract
A key missing link in the creation of secure and robust systems is finding a ost effective way to demonstrate and preserve correspondence between a software design and its implementation. This paper explores the use of software model checking techniques to validate selected design invariants in the EROS operating system kernel. Several global consistency policies in the EROS kernel can be expressed as finite state automata. Using the MOPS static hecker, we have been able to validate the EROS kernel implementation against these automata. In the process, we have confirmed the practical utility of the basic verification technique, identified a number of desirable enhancements in MOPS, and located bugs in the EROS implementation.A key contribution of this paper is establishing that it is practical to integrate software model checking into normal development lifestyle. Model hecking is efficient enough that it does not add noticeably to our build times. This allows us to view it as a tool for error prevention rather than detection. Our work with EROS and MOPS suggests that domain specific application of software model hecking is a practical and powerful technique for software assurance and maintenance.
Hao Chen 0003, Jonathan S. Shapiro
CCS2
2004 Network Subsystems Reloaded: A High-Performance, Defensible Network Subsystem
Anshumal Sinha, Sandeep Sarat, Jonathan S. Shapiro
USENIX ATC, General Track3
2004 Design of the EROS Trusted Window System
Jonathan S. Shapiro, John Vanderburgh, Eric Northup, David Chizmadia
USENIX Security Symposium1
2003 Vulnerabilities in Synchronous IPC Designs
abstract
Recent advances in interprocess communication (IPC) performance have been exclusively based on thread-migrating IPC designs. Thread-migrating designs assume that IPC interactions are synchronous, and that user-level execution will usually resume with the invoked process (modulo preemption). This IPC design approach offers shorter instruction path lengths, requires fewer locks, has smaller instruction and data cache footprints, dramatically reduces TLB overheads, and consequently offers higher performance and lower timing variance than previous IPC designs. With care, it can be performed as an atomic unit of operation. While the performance of thread-migrating IPC has been examined in detail, the vulnerabilities implicit in synchronous IPC designs have not been examined in depth in the archival literature, and their implications for IPC design have been actively misunderstood in at least one recent publication. In addition to performance, a sound IPC design must address concerns of asymmetric trust and reproducibility and provide support for dynamic payload lengths. Previous IPC designs, including those of EROS, Mach, L4, Flask, and Pebble, satisfy only two of these three requirements. In this paper, we show how these three design objectives can be met simultaneously. We identify the conflict of requirements and illustrate how their collision arises in two well-documented IPC architectures: L4 and EROS. We then show how all three design objectives are simultaneously met in the next generation EROS IPC system.
Jonathan S. Shapiro
S&P1
2002 Design Evolution of the EROS Single-Level Store
Jonathan S. Shapiro
USENIX ATC, General Track1
2002 Access and Integrity Control in a Public-Access, High-Assurance Configuration Management System
Jonathan S. Shapiro, John Vanderburgh
USENIX Security Symposium1
2000 Verifying the EROS Confinement Mechanism
abstract
Capability systems can be used to implement higher-level security policies including the *-property if a mechanism exists to ensure confinement. The implementation can be efficient if the "weak" access restriction described in this paper is introduced. In the course of developing EROS, a pure capability system, it became clear that verifying the correctness of the confinement mechanism was necessary in establishing the security of the operating system. We present a verification of the EROS confinement mechanism with respect to a broad class of capability architectures (including EROS). We give a formal statement of the requirements, construct a model of the architecture's security policy and operational semantics, and show that architectures covered by this model enforce the confinement requirements if a small number of initial static checks on the confined subsystem are satisfied. The method used generalizes to any capability system.
Jonathan S. Shapiro
S&P1
1999 EROS: a fast capability system
abstract
EROS is a capability-based operating system for commodity processors which uses a single level storage model. The single level store's persistence is transparent to applications. The performance consequences of support for transparent persistence and capability-based architectures are generally believed to be negative. Surprisingly, the basic operations of EROS (such as IPC) are generally comparable in cost to similar operations in conventional systems. This is demonstrated with a set of microbenchmark measurements of semantically similar operations in Linux.The EROS system achieves its performance by coupling well-chosen abstract objects with caching techniques for those objects. The objects (processes, nodes, and pages) are well-supported by conventional hardware, reducing the overhead of capabilities. Software-managed caching techniques for these objects reduce the cost of persistence. The resulting performance suggests that composing protected subsystems may be less costly than commonly believed.
Jonathan S. Shapiro, Jonathan M. Smith, David J. Farber
SOSP1