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

Mark S. Miller

dblp:m/MarkSMiller · also Mark Samuel Miller · DBLP profile ↗
← Back
13ranked-venue papers
5as first author
0since 2021 · last 2016
—ORCID · none

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

Software engineering, systems software and programming languages · 10 · 4 first-authorSecurity and privacy · 2 · 1 first-authorTheory of computation · 2 · 1 first-authorDatabases, data management, data science and information retrieval · 1Applied, interdisciplinary, general and emerging computing · 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
2 papers
Web and mobile security · 82% Systems and software security · 18%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 100%

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

TopicWeightPapersLastEvidence papers
Web and mobile security › web security
API security
0.112011
Automated Analysis of Security-Critical JavaScript APIs · IEEE Symposium on Security and Privacy 2011
Web and mobile security
javascript security
0.112011
Automated Analysis of Security-Critical JavaScript APIs · IEEE Symposium on Security and Privacy 2011
Web and mobile security
browser security
0.112010
Object views: fine-grained sharing in browsers · WWW 2010
Web and mobile security › javascript security
javascript isolation
0.112010
Object views: fine-grained sharing in browsers · WWW 2010
Systems and software security › exploitation mitigation
privilege escalation prevention
0.112010
Object views: fine-grained sharing in browsers · WWW 2010
Programming languages and type systems
language semantics
0.012011
Automated Analysis of Security-Critical JavaScript APIs · IEEE Symposium on Security and Privacy 2011
Web and mobile security › browser security
same-origin policy
0.012010
Object views: fine-grained sharing in browsers · WWW 2010
Programming languages and type systems › logic programming
concurrent logic programming
0.011986
Objects in Concurrent Logic Programming Languages · OOPSLA 1986
Programming languages and type systems
logic programming
0.011986
Objects in Concurrent Logic Programming Languages · OOPSLA 1986
Programming languages and type systems
object-oriented programming
0.011986
Objects in Concurrent Logic Programming Languages · OOPSLA 1986

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

formal semantics · 0.2automated analysis · 0.2message-passing channel · 0.1javascript library · 0.1preprocessor · 0.0
YearPublicationVenuePosition
2016 Permission and Authority Revisited towards a formalisation
Sophia Drossopoulou, James Noble 0001, Mark S. Miller, Toby C. Murray
FTfJP@ECOOP3
2016 The Elements of Decision Alignment
Mark S. Miller, Bill Tulloh
ECOOP1
2015 Robust trait composition for Javascript
Tom Van Cutsem, Mark S. Miller
Sci. Comput. Program.2
2013 Trustworthy Proxies - Virtualizing Objects with Invariants
Tom Van Cutsem, Mark S. Miller
ECOOP2
2013 Distributed Electronic Rights in JavaScript
abstract
Contracts enable mutually suspicious parties to cooperate safely through the exchange of rights. Smart contracts are programs whose behavior enforces the terms of the contract. This paper shows how such contracts can be specified elegantly and executed safely, given an appropriate distributed, secure, persistent, and ubiquitous computational fabric. JavaScript provides the ubiquity but must be significantly extended to deal with the other aspects. The first part of this paper is a progress report on our efforts to turn JavaScript into this fabric. To demonstrate the suitability of this design, we describe an escrow exchange contract implemented in 42 lines of JavaScript code.
Mark S. Miller, Tom Van Cutsem, Bill Tulloh
ESOP1
2011 Automated Analysis of Security-Critical JavaScript APIs
abstract
JavaScript is widely used to provide client-side functionality in Web applications. To provide services ranging from maps to advertisements, Web applications may incorporate untrusted JavaScript code from third parties. The trusted portion of each application may then expose an API to untrusted code, interposing a reference monitor that mediates access to security-critical resources. However, a JavaScript reference monitor can only be effective if it cannot be circumvented through programming tricks or programming language idiosyncrasies. In order to verify complete mediation of critical resources for applications of interest, we define the semantics of a restricted version of JavaScript devised by the ECMA Standards committee for isolation purposes, and develop and test an automated tool that can soundly establish that a given API cannot be circumvented or subverted. Our tool reveals a previously-undiscovered vulnerability in the widely-examined Yahoo! AD Safe filter and verifies confinement of the repaired filter and other examples from the Object-Capability literature.
Ankur Taly, Úlfar Erlingsson, John C. Mitchell, Mark S. Miller, Jasvir Nagra
IEEE Symposium on Security and Privacy4
2010 Proxies: design principles for robust object-oriented intercession APIs
abstract
Proxies are a powerful approach to implement meta-objects in object-oriented languages without having to resort to metacircular interpretation. We introduce such a meta-level API based on proxies for Javascript. We simultaneously introduce a set of design principles that characterize such APIs in general, and compare similar APIs of other languages in terms of these principles. We highlight how principled proxy-based APIs improve code robustness by avoiding interference between base and meta-level code that occur in more common reflective intercession mechanisms.
Tom Van Cutsem, Mark S. Miller
DLS2
2010 Object views: fine-grained sharing in browsers
abstract
Browsers do not currently support the secure sharing of JavaScript objects between principals. We present this problem as the need for object views, which are consistent and controllable versions of objects. Multiple views can be made for the same object and customized for the recipients. We implement object views with a JavaScript library that wraps shared objects and interposes on all access attempts. The security challenge is to fully mediate access to objects shared through a view and prevent privilege escalation. We discuss how object views can be deployed in two settings: same-origin sharing with rewriting-based JavaScript isolation systems like Google Caja, and inter-origin sharing between browser frames over a message-passing channel.
Leo A. Meyerovich, Adrienne Porter Felt, Mark S. Miller
WWW3
2007 Tradeoffs in retrofitting security: an experience report
abstract
In 1973, John Reynold's and James Morris' Gedanken language retrofit object-capability security into an Algol-like base. Today, there are active projects retrofitting Java, Javascript, Python, Mozart/Oz, OCaml, Perl, and Pict. These represent a variety of approaches, with different tradeoffs regarding legacy compatibility, safety, and expressivity. In this talk I propose a taxonomy of these approaches, and discuss some of the lessons learned to date.
Mark S. Miller
DLS1
2007 Delegating Responsibility in Digital Systems: Horton's "Who Done It?"
Mark S. Miller, James E. Donnelley, Alan H. Karp
HotSec1
1987 Logical Secrets
Mark S. Miller, Daniel G. Bobrow, Eric Dean Tribble, Jacob Levy
ICLP1
1987 Channels: A Generalization of Streams
Eric Dean Tribble, Mark S. Miller, Kenneth M. Kahn, Daniel G. Bobrow, Curtis Abbott, Ehud Shapiro
ICLP2
1986 Objects in Concurrent Logic Programming Languages
abstract
Concurrent Prolog supports object-oriented programming with a clean semantics and additional programming constructs such as incomplete messages, unification, direct broadcasting, and concurrency synchronization [Shapiro 1983a]. While it provides excellent computational support, we claim it does not provide good notation for expressing the abstractions of object-oriented programming. We describe a preprocessor that remedies this problem. The resulting language, Vulcan, is then used as a behicle for exploring new variants of object-oriented programming which become possible in this framework.
Kenneth M. Kahn, Eric Dean Tribble, Mark S. Miller, Daniel G. Bobrow
OOPSLA3