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

Riccardo Pucella

dblp:p/RPucella · DBLP profile ↗
← Back
30ranked-venue papers
8as first author
0since 2021 · last 2011
—ORCID · none

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

Theory of computation · 10 · 3 first-authorSoftware engineering, systems software and programming languages · 9 · 3 first-authorArtificial intelligence and machine learning · 7Security and privacy · 5 · 3 first-authorApplied, 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.

Software engineering, system software, and programming languages
3 papers
Programming languages and type systems · 100%
Theoretical computer science
3 papers
Logic in computer science · 94% Algorithmic game theory and mechanism design · 6%
Network and information security
1 paper
Cryptographic protocols and secure computation · 100%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › type systems › substructural type systems
affine type system
0.112011
Practical affine types · POPL 2011
Programming languages and type systems › type theory
linear logic
0.112011
Practical affine types · POPL 2011
Programming languages and type systems › type systems
polymorphism
0.112011
Practical affine types · POPL 2011
Programming languages and type systems › type systems
substructural type systems
0.112011
A theory of substructural types and control · OOPSLA 2011
Programming languages and type systems › computational effects
type and effect systems
0.112011
A theory of substructural types and control · OOPSLA 2011
Logic in computer science
epistemic logic
0.112011
Dealing with logical omniscience: Expressiveness and pragmatics · Artif. Intell. 2011
Logic in computer science › meta-logic
axiomatization
0.112007
Characterizing and reasoning about probabilistic and non-probabilistic expectation · J. ACM 2007
Logic in computer science
modal logic
0.112007
Characterizing and reasoning about probabilistic and non-probabilistic expectation · J. ACM 2007
Logic in computer science › knowledge representation and reasoning › uncertainty reasoning
probabilistic logic
0.112007
Characterizing and reasoning about probabilistic and non-probabilistic expectation · J. ACM 2007
Programming languages and type systems
language semantics
0.012002
Towards a formalization for COM part i: the primitive calculus · OOPSLA 2002
Programming languages and type systems
type systems
0.012002
Towards a formalization for COM part i: the primitive calculus · OOPSLA 2002
Cryptographic protocols and secure computation
security protocol analysis
0.012001
On the relationship between strand spaces and multi-agent systems · CCS 2001
Cryptographic protocols and secure computation › security protocol analysis
strand space
0.012001
On the relationship between strand spaces and multi-agent systems · CCS 2001
Algorithmic game theory and mechanism design
multi-agent systems
0.012001
On the relationship between strand spaces and multi-agent systems · CCS 2001
Programming languages and type systems › object-oriented programming
object-oriented languages
0.012002
Towards a formalization for COM part i: the primitive calculus · OOPSLA 2002
Programming languages and type systems › type systems
subtyping
0.012002
Towards a formalization for COM part i: the primitive calculus · OOPSLA 2002

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

type soundness proof · 0.1sound and complete axiomatization · 0.1translation · 0.1formal expressiveness analysis · 0.1type system design · 0.0formalization · 0.0allocation semantics · 0.0
YearPublicationVenuePosition
2011 A theory of substructural types and control
abstract
Exceptions are invaluable for structured error handling in high-level languages, but they are at odds with linear types. More generally, control effects may delete or duplicate portions of the stack, which, if we are not careful, can invalidate all substructural usage guarantees for values on the stack. We have developed a type-and-effect system that tracks control effects and ensures that values on the stack are never wrongly duplicated or dropped. We present the system first with abstract control effects and prove its soundness. We then give examples of three instantiations with particular control effects, including exceptions and delimited continuations, and show that they meet the soundness criteria for specific control effects.
Jesse A. Tov, Riccardo Pucella
OOPSLA2
2011 Practical affine types
abstract
Alms is a general-purpose programming language that supports practical affine types. To offer the expressiveness of Girard's linear logic while keeping the type system light and convenient, Alms uses expressive kinds that minimize notation while maximizing polymorphism between affine and unlimited types.
Jesse A. Tov, Riccardo Pucella
POPL2
2011 Dealing with logical omniscience: Expressiveness and pragmatics
Joseph Y. Halpern, Riccardo Pucella
Artif. Intell.2
2011 Roles, stacks, histories: A triple for Hoare
abstract
Abstract Behavioral type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioral type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioral type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control.
Johannes Borgström, Andrew D. Gordon 0001, Riccardo Pucella
J. Funct. Program.3
2010 Stateful Contracts for Affine Types
Jesse A. Tov, Riccardo Pucella
ESOP2
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.1
2009 Future contracts
abstract
Many recent research projects focus on language support for behavioral software contracts, that is, assertions that govern the boundaries between software building blocks such as procedures, classes, or modules. Contracts primarily help locate bugs in programs, but they also tend to affect the performance of the program, especially as they become complex.
Christos Dimoulas, Riccardo Pucella, Matthias Felleisen
PPDP2
2008 Haskell session types with (almost) no class
abstract
We describe an implementation of session types in Haskell. Session types statically enforce that client-server communication proceeds according to protocols. They have been added to several concurrent calculi, but few implementations of session types are available.
Riccardo Pucella, Jesse A. Tov
Haskell1
2007 Dealing with logical omniscience
abstract
We examine four approaches for dealing with the logical omniscience problem and their potential applicability: the syntactic approach, awareness, algorithmic knowledge, and impossible possible worlds. Although in some settings these approaches are equi-expressive and can capture all epistemic states, in other settings of interest they are not. In particular, adding probabilities to the language allows for finer distinctions between different approaches.
Joseph Y. Halpern, Riccardo Pucella
TARK2
2007 Perfect cryptography, S5 knowledge, and algorithmic knowledge
abstract
We propose a principled approach to model secrecy in multiagent systems, by defining a set of possible observations and providing agents with algorithms used to distinguish the possible states of the system. Our approach fits naturally within a knowledge-based account of secrecy. By adjusting both the kind of observations and the capabilities of the agents, we can capture in a natural way different forms of secrecy in the presence of perfect cryptography. In particular, we show how to model extraction secrecy. Our formalization suggests a unified definition of secrecy for cryptographic protocols and for systems that seek to prevent inadmissible flows of information.
Sabina Petride, Riccardo Pucella
TARK2
2007 Characterizing and reasoning about probabilistic and non-probabilistic expectation
abstract
Expectation is a central notion in probability theory. The notion of expectation also makes sense for other notions of uncertainty. We introduce a propositional logic for reasoning about expectation, where the semantics depends on the underlying representation of uncertainty. We give sound and complete axiomatizations for the logic in the case that the underlying representation is (a) probability, (b) sets of probability measures, (c) belief functions, and (d) possibility measures. We show that this logic is more expressive than the corresponding logic for reasoning about likelihood in the case of sets of probability measures, but equi-expressive in the case of probability, belief, and possibility. Finally, we show that satisfiability for these logics is NP-complete, no harder than satisfiability for propositional logic.
Joseph Y. Halpern, Riccardo Pucella
J. ACM2
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
CSFW1
2006 A Logic for Reasoning about Evidence
abstract
We introduce a logic for reasoning about evidence that essentially views evidence as a function from prior beliefs (before making an observation) to posterior beliefs (after making the observation). We provide a sound and complete axiomatization for the logic, and consider the complexity of the decision problem. Although the reasoning in the logic is mainly propositional, we allow variables representing numbers and quantification over them. This expressive power seems necessary to capture important properties of evidence.
Joseph Y. Halpern, Riccardo Pucella
J. Artif. Intell. Res.2
2006 Phantom types and subtyping
abstract
We investigate a technique from the literature, called the phantom-types technique, that uses parametric polymorphism, type constraints, and unification of polymorphic types to model a subtyping hierarchy. Hindley-Milner type systems, such as the one found in Standard ML, can be used to enforce the subtyping relation, at least for first-order values. We show that this technique can be used to encode any finite subtyping hierarchy (including hierarchies arising from multiple interface inheritance). We formally demonstrate the suitability of the phantom-types technique for capturing first-order subtyping by exhibiting a type-preserving translation from a simple calculus with bounded polymorphism to a calculus embodying the type system of SML.
Matthew Fluet, Riccardo Pucella
J. Funct. Program.2
2006 Deductive Algorithmic Knowledge
abstract
The framework of algorithmic knowledge assumes that agents use algorithms to compute the facts they explicitly know. In many cases of interest, a deductive system, rather than a particular algorithm, captures the formal reasoning used by the agents to compute what they explicitly know. We introduce a logic for reasoning about both implicit and explicit knowledge with the latter defined with respect to a deductive system formalizing a logical theory for agents. The highly structured nature of deductive systems leads to very natural axiomatizations of the resulting logic when interpreted over any fixed deductive system. The decision problem for the logic, in the presence of a single agent, is NP-complete in general, no harder than propositional logic. It remains NP-complete when we fix a deductive system that is decidable in nondeterministic polynomial time. These results extend in a straightforward way to multiple agents.
Riccardo Pucella
J. Log. Comput.1
2005 Evidence with Uncertain Likelihoods
Joseph Y. Halpern, Riccardo Pucella
UAI2
2005 Validating a web service security abstraction by typing
abstract
Abstract An XML web service is, to a first approximation, an RPC service in which requests and responses are encoded in XML as SOAP envelopes, and transported over HTTP. We consider the problem of authenticating requests and responses at the SOAP-level, rather than relying on transport-level security. We propose a security abstraction, inspired by earlier work on secure RPC, in which the methods exported by a web service are annotated with one of three security levels: none, authenticated, or both authenticated and encrypted. We model our abstraction as an object calculus with primitives for defining and calling web services. We describe the semantics of our object calculus by translating to a lower level language with primitives for message passing and cryptography. To validate our semantics, we embed correspondence assertions that specify the correct authentication of requests and responses. By appeal to the type theory for cryptographic protocols of Gordon and Jeffrey's Cryptyc, we verify the correspondence assertions simply by typing. Finally, we describe an implementation of our semantics via custom SOAP headers.
Andrew D. Gordon 0001, Riccardo Pucella
Formal Aspects Comput.2
2005 Probabilistic Algorithmic Knowledge
abstract
The framework of algorithmic knowledge assumes that agents use deterministic knowledge algorithms to compute the facts they explicitly know. We extend the framework to allow for randomized knowledge algorithms. We then characterize the information provided by a randomized knowledge algorithm when its answers have some probability of being incorrect. We formalize this information in terms of evidence; a randomized knowledge algorithm returning ``Yes'' to a query about a fact \phi provides evidence for \phi being true. Finally, we discuss the extent to which this evidence can be used as a basis for decisions.
Joseph Y. Halpern, Riccardo Pucella
Log. Methods Comput. Sci.2
2004 Reasoning about Dynamic Policies
Riccardo Pucella, Vicky Weissman
FoSSaCS1
2004 A coalgebraic approach to Kleene algebra with tests
Hubie Chen, Riccardo Pucella
Theor. Comput. Sci.2
2003 Probabilistic algorithmic knowledge
abstract
Abstract. The framework of algorithmic knowledge assumes that agents use deterministic knowledge algorithms to compute the facts they explicitly know. We extend the framework to allow for randomized knowledge algorithms. We then characterize the information provided by a randomized knowledge algorithm when its answers have some probability of being incorrect. We formalize this information in terms of evidence; a randomized knowledge algorithm returning “Yes ” to a query about a fact ϕ provides evidence for ϕ being true. Finally, we discuss the extent to which this evidence can be used as a basis for decisions. 1.
Joseph Y. Halpern, Riccardo Pucella
TARK2
2003 A Logic for Reasoning about Evidence
Joseph Y. Halpern, Riccardo Pucella
UAI2
2003 On the relationship between strand spaces and multi-agent systems
abstract
Strand spacesare a popular framework for the analysis of security protocols. Strand spaces have some similarities to a formalism used successfully to model protocols for distributed systems, namelymulti-agent systems. We explore the exact relationship between these two frameworks here. It turns out that a key difference is the handling of agents, which are unspecified in strand spaces and explicit in multi-agent systems. We provide a family of translations from strand spaces to multi-agent systems parameterized by the choice of agents in the strand space. We also show that not every multi-agent system of interest can be expressed as a strand space. This reveals a lack of expressiveness in the strand-space framework that can be characterized by our translation. To highlight this lack of expressiveness, we show one simple way in which strand spaces can be extended to model more systems.
Joseph Y. Halpern, Riccardo Pucella
ACM Trans. Inf. Syst. Secur.2
2002 A Logic for Reasoning about Digital Rights
abstract
We present a logic for reasoning about licenses, which are "terms of use" for digital resources. The logic provides a language for writing both properties of licenses and specifications that govern a client's actions. We discuss the complexity of checking properties and specifications written in our logic and propose a technique for verification. A key feature of our approach is that it is essentially parameterized by the language in which the licenses are written, provided that this language can be given a trace-based semantics. We consider two license languages to illustrate this flexibility.
Riccardo Pucella, Vicky Weissman
CSFW1
2002 Towards a formalization for COM part i: the primitive calculus
abstract
We introduce in this paper a typed calculus intended to capture the execution model of COM. The innovation of this calculus is to model very low-level aspects of the COM framework, specifically the notion of interface pointers. This is handled by specifying an allocation semantics for the calculus, thereby modeling heap allocation of interfaces explicitly. Having an explicit way of talking about interface pointers allows us to model in a reasonable way the notions of interface sharing and object identity. We introduce a type system that can be used to disambiguate between specification and implementation of interfaces. The type system moreover can capture a notion of COM conformance, that is, the legality of COM components. We discuss extensions of the calculus to handle subtyping of interfaces, dynamic interface negotiation and aggregation.
Riccardo Pucella
OOPSLA1
2002 Reasoning about Expectation
Joseph Y. Halpern, Riccardo Pucella
UAI2
2002 A Logic for Reasoning about Upper Probabilities
abstract
We present a propositional logic to reason about the uncertainty of events, where the uncertainty is modeled by a set of probability measures assigning an interval of probability to each event. We give a sound and complete axiomatization for the logic, and show that the satisfiability problem is NP-complete, no harder than satisfiability for propositional logic.
Joseph Y. Halpern, Riccardo Pucella
J. Artif. Intell. Res.2
2001 On the relationship between strand spaces and multi-agent systems
abstract
Strand spaces are a popular framework for the analysis of security protocols. Strand spaces have some similarities to a formalism used successfully to model protocols for distributed systems, namely multi-agent systems. We explore the exact relationship between these two frameworks here. It turns out that a key difference is the handling of agents, which are unspecified in strand spaces and explicit in multi-agent systems. We provide a family of translations from strand spaces to multi-agent systems parameterized by the choice of agents in the strand space. We also show that not every multi-agent system of interest can be expressed as a strand space. This reveals a lack of expressiveness in the strand-space framework that can be characterized by our translation. To highlight this lack of expressiveness, we show one simple way in which strand spaces can be extended to model more systems.
Joseph Y. Halpern, Riccardo Pucella
CCS2
2001 A Logic for Reasoning about Upper Probabilities
Joseph Y. Halpern, Riccardo Pucella
UAI2
2001 On the expressive power of first-order boolean functions in PCF
Riccardo Pucella, Prakash Panangaden
Theor. Comput. Sci.1