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

Crispin Cowan

dblp:c/CrispinCowan · DBLP profile ↗
← Back
16ranked-venue papers
7as first author
0since 2021 · last 2012
0000-0003-0624-5677ORCID · verified

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

Systems, architecture and hardware · 6 · 4 first-authorSecurity and privacy · 6 · 3 first-authorSoftware engineering, systems software and programming languages · 2Computer networks · 1Graphics, computer vision, multimedia, augmented reality and games · 1

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.

Network and information security
5 papers
Systems and software security · 68% Authentication and access control · 32%
Software engineering, system software, and programming languages
8 papers
Operating systems · 50% Compilers and program optimization · 20% Programming languages and type systems · 18%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Distributed systems · 36% Embedded and real-time systems · 18% Parallel and multicore computing · 18%
Human-computer interaction and pervasive computing
1 paper
Interaction techniques and input · 100%

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

TopicWeightPapersLastEvidence papers
Systems and software security
operating system security
0.232012
User-Driven Access Control: Rethinking Permission Granting in Modern Operating Systems · IEEE Symposium on Security and Privacy 2012
RaceGuard: Kernel Protection From Temporary File Race Vulnerabilities · USENIX Security Symposium 2001
Linux Security Modules: General Security Support for the Linux Kernel · USENIX Security Symposium 2002
Systems and software security
memory safety
0.122003
PointGuard™: Protecting Pointers from Buffer Overflow Vulnerabilities · USENIX Security Symposium 2003
FormatGuard: Automatic Protection From printf Format String Vulnerabilities · USENIX Security Symposium 2001
Interaction techniques and input
interaction techniques
0.012012
User-Driven Access Control: Rethinking Permission Granting in Modern Operating Systems · IEEE Symposium on Security and Privacy 2012
Systems and software security › memory protection
code-pointer integrity
0.012003
PointGuard™: Protecting Pointers from Buffer Overflow Vulnerabilities · USENIX Security Symposium 2003
Program analysis › dynamic analysis
runtime instrumentation
0.022003
PointGuard™: Protecting Pointers from Buffer Overflow Vulnerabilities · USENIX Security Symposium 2003
FormatGuard: Automatic Protection From printf Format String Vulnerabilities · USENIX Security Symposium 2001
Programming languages and type systems › programming paradigms
generic programming
0.011997
Declarative Specialization of Object-Oriented Programs · OOPSLA 1997
Compilers and program optimization
program specialization
0.011997
Declarative Specialization of Object-Oriented Programs · OOPSLA 1997
Compilers and program optimization
specialization
0.011997
Declarative Specialization of Object-Oriented Programs · OOPSLA 1997
Programming languages and type systems › language semantics
formal semantics
0.011995
Formal Semantics for Expressing Optimism: The Meaning of HOPE · PODC 1995
Distributed systems
distributed multimedia systems
0.011995
Demonstrating the Effect of Software Feedback on a Distributed Real-Time MPEG Video Audio Player · ACM Multimedia 1995
Embedded and real-time systems
distributed real-time systems
0.011995
Demonstrating the Effect of Software Feedback on a Distributed Real-Time MPEG Video Audio Player · ACM Multimedia 1995
Processor architecture and microarchitecture
memory latency tolerance
0.011995
Performance Benefits of Optimistic Programming: A Measure of HOPE · HPDC 1995
Distributed systems › concurrency control
optimistic concurrency control
0.011995
Formal Semantics for Expressing Optimism: The Meaning of HOPE · PODC 1995
Parallel and multicore computing
parallel programming models
0.011995
Performance Benefits of Optimistic Programming: A Measure of HOPE · HPDC 1995
Operating systems › system security › operating system security
kernel security
0.012001
RaceGuard: Kernel Protection From Temporary File Race Vulnerabilities · USENIX Security Symposium 2001
Storage systems
file systems
0.011995
Optimistic Incremental Specialization: Streamlining a Commercial Operating System · SOSP 1995

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

prototyping · 0.3pointer encryption · 0.1race detection · 0.1format string validation · 0.1specialization · 0.0manual code modification · 0.0software feedback · 0.0optimistic specialization · 0.0incremental specialization · 0.0formal semantics · 0.0optimistic execution · 0.0
YearPublicationVenuePosition
2012 User-Driven Access Control: Rethinking Permission Granting in Modern Operating Systems
abstract
Modern client platforms, such as iOS, Android, Windows Phone, Windows 8, and web browsers, run each application in an isolated environment with limited privileges. A pressing open problem in such systems is how to allow users to grant applications access to user-owned resources, e.g., to privacy- and cost-sensitive devices like the camera or to user data residing in other applications. A key challenge is to enable such access in a way that is non-disruptive to users while still maintaining least-privilege restrictions on applications. In this paper, we take the approach of user-driven access control, whereby permission granting is built into existing user actions in the context of an application, rather than added as an afterthought via manifests or system prompts. To allow the system to precisely capture permission-granting intent in an application's context, we introduce access control gadgets (ACGs). Each user-owned resource exposes ACGs for applications to embed. The user's authentic UI interactions with an ACG grant the application permission to access the corresponding resource. Our prototyping and evaluation experience indicates that user-driven access control is a promising direction for enabling in-context, non-disruptive, and least-privilege permission granting on modern client platforms.
Franziska Roesner, Tadayoshi Kohno, Alexander Moshchuk, Bryan Parno, Helen J. Wang, Crispin Cowan
IEEE Symposium on Security and Privacy6
2003 PointGuard™: Protecting Pointers from Buffer Overflow Vulnerabilities
Crispin Cowan, Steve Beattie, John Johansen, Perry Wagle
USENIX Security Symposium1
2002 Timing the Application of Security Patches for Optimal Uptime
Steve Beattie, Seth Arnold, Crispin Cowan, Perry Wagle, Chris Wright 0003, Adam Shostack
LISA3
2002 Linux Security Modules: General Security Support for the Linux Kernel
Chris Wright 0003, Crispin Cowan, Stephen Smalley, James Morris, Greg Kroah-Hartman
USENIX Security Symposium2
2001 FormatGuard: Automatic Protection From printf Format String Vulnerabilities
Crispin Cowan, Matt Barringer, Steve Beattie, Greg Kroah-Hartman, Michael Frantzen, Jamie Lokier
USENIX Security Symposium1
2001 RaceGuard: Kernel Protection From Temporary File Race Vulnerabilities
Crispin Cowan, Steve Beattie, Chris Wright 0003, Greg Kroah-Hartman
USENIX Security Symposium1
2001 Specialization tools and techniques for systematic optimization of system software
abstract
Specialization has been recognized as a powerful technique for optimizing operating systems. However, specialization has not been broadly applied beyond the research community because current techniques based on manual specialization, are time-consuming and error-prone. The goal of the work described in this paper is to help operating system tuners perform specialization more easily. We have built a specialization toolkit that assists the major tasks of specializing operating systems. We demonstrate the effectiveness of the toolkit by applying it to three diverse operating system components. We show that using tools to assist specialization enables significant performance optimizations without error-prone manual modifications. Our experience with the toolkit suggests new ways of designing systems that combine high performance and clean structure.
Dylan McNamee, Jonathan Walpole, Calton Pu, Crispin Cowan, Charles Krasic, Ashvin Goel, Perry Wagle, Charles Consel, Gilles Muller, Renaud Marlet
ACM Trans. Comput. Syst.4
2000 SubDomain: Parsimonious Server Security
Crispin Cowan, Steve Beattie, Greg Kroah-Hartman, Calton Pu, Perry Wagle, Virgil D. Gligor
LISA1
1999 SAM: Security Adaptation Manager
abstract
In the trade-offs between security and performance, it seems that security is always the loser. If we allow for adaptive security, we can at least ensure that security and performance are treated somewhat equally. Using adaptive security, we can allow a system to exist in a less secure, more performant state until it comes under attack. We then adapt the system to a more secure, less performant implementation. In this paper, we introduce the Security Adaptation Manager, or SAM. We describe SAM and how we have implemented SAM to take advantage of the different protection strengths offered by the StackGuard compiler. Using SAM to provide StackGuard-based adaptive security provides a form of misuse-based intrusion detection, capable of detecting known and novel attacks.
Heather M. Hinton, Crispin Cowan, Lois M. L. Delcambre, Shawn Bowers
ACSAC2
1997 Declarative Specialization of Object-Oriented Programs
abstract
Designing and implementing generic software components is encouraged by languages such as object-oriented ones and commonly advocated in most application areas. Generic software components have many advantages among which the most important is reusability. However, it comes at a price: genericity often incurs a loss of efficiency.This paper presents an approach aimed at reconciling genericity and efficiency. To do so, we introduce declarations to the Java language to enable a programmer to specify how generic programs should be specialized for a particular usage pattern. Our approach has been implemented as a compiler from our extended language into standard Java.
Nic Volanschi, Charles Consel, Gilles Muller, Crispin Cowan
OOPSLA4
1996 A Wait-free Algorithm for Optimistic Programming: HOPE Realized
abstract
Optimism is a powerful technique for avoiding latency by increasing concurrency. Optimistically assuming the results of one computation allows other computations to execute in parallel, even when they depend on the assumed result. Optimistic techniques can particularly benefit distributed systems because of the critical impact of communications latency. This paper reviews HOPE: our model of optimistic programming, and describes how optimism can enhance distributed program performance by avoiding remote communications delay. We then present the wait-free algorithm used to implement HOPE in a distributed environment.
Crispin Cowan, Hanan Lutfiyya
ICDCS1
1995 Performance Benefits of Optimistic Programming: A Measure of HOPE
abstract
Optimism is a powerful technique for avoiding latency by increasing concurrency. By optimistically assuming the results of some computation, other computations can be executed in parallel, even when they depend on the assumed result. Optimistic techniques can be particularly beneficial to parallel and distributed systems because of the critical impact of inter-node communications latency. This paper describes how optimism can be used to enhance the performance of distributed programs by avoiding remote communications delay. We then present a new programming model that automates many of the difficulties of using optimistic techniques in a general programming environment, and describe a prototype implementation. Finally, we present performance measurements showing how optimism improved the performance of a test application in this environment.
Crispin Cowan, Hanan Lutfiyya, Michael A. Bauer 0001
HPDC1
1995 Demonstrating the Effect of Software Feedback on a Distributed Real-Time MPEG Video Audio Player
abstract
No abstract available.
Shanwei Cen, Calton Pu, Richard Staehli, Crispin Cowan, Jonathan Walpole
ACM Multimedia4
1995 A Distributed Real-Time MPEG Video Audio Player
Shanwei Cen, Calton Pu, Richard Staehli, Crispin Cowan, Jonathan Walpole
NOSSDAV4
1995 Formal Semantics for Expressing Optimism: The Meaning of HOPE
abstract
Article Formal semantics for expressing optimism: the meaning of HOPE Share on Authors: Crispin Cowan Department of Computer Science and Engineering, Oregon Graduate Institute, P.O. Box 91000 Portland, OR Department of Computer Science and Engineering, Oregon Graduate Institute, P.O. Box 91000 Portland, ORView Profile , Hanan Lutfiyya Computer Science Department, Middlesex College, University of Western Ontario, London, Ontario N6A 5B7 Computer Science Department, Middlesex College, University of Western Ontario, London, Ontario N6A 5B7View Profile Authors Info & Claims PODC '95: Proceedings of the fourteenth annual ACM symposium on Principles of distributed computingAugust 1995 Pages 164–173https://doi.org/10.1145/224964.224983Online:20 August 1995Publication History 4citation206DownloadsMetricsTotal Citations4Total Downloads206Last 12 Months9Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Crispin Cowan, Hanan Lutfiyya
PODC1
1995 Optimistic Incremental Specialization: Streamlining a Commercial Operating System
abstract
Conventionaloperating system code is written to deal with all possible system stat es, and performs considerable interpretation to determine the current system state before taking action.A consequence of this approach is that kernel calls which perform little actual work take a long time to execute.To address this problem, we use specialized operating system code that reduces interpretation for common cases, but still behaves correctly in the fully general case.We describe how specialized operating system code can be generated and bound wtcrementally as the information on which it depends becomes available.We extend our specialization techniques to include the notion of optimistic in c remental specialization n: a technique for generating specialized kernel code optimistically for system states that are likely to occur, but not certain.The ideas outlined in this paper allow the conventional kernel design tenet of "optimizing for the common case" to be extended to the domain of adaptive operating systems.We also show that aggressive use of specialization can produce in-kernel implementations of operating system functionality with performance comparable to user-level implementations.We demonstrate that these ideas are applicable in realworld operating systems by describing a re-implementation of the HP-UX file system.Our specialized read system call reduces the cost of a single byte read by a factor of 3, and an 8 KB read by 26~o, while preserving the semantics of the HP-UXread call.By relaxing the semantics of HP-UX read we were able to cut the cost of a single byte read system call by more than an order of magnitude.1
Calton Pu, Tito Autrey, Andrew P. Black, Charles Consel, Crispin Cowan, Jon Inouye, Lakshmi Kethana, Jonathan Walpole
SOSP5