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

Robert Bocchino

dblp:50/10322 · also Robert L. Bocchino · DBLP profile ↗
← Back
2ranked-venue papers
0as first author
1since 2021 · last 2021
—ORCID · none

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

Software engineering, systems software and programming languages · 2 · 1 since 2021

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
1 paper
Programming languages and type systems · 87% Concurrent programming · 13%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › language-based security
fractional permissions
0.112012
A type system for borrowing permissions · POPL 2012
Programming languages and type systems
type systems
0.112012
A type system for borrowing permissions · POPL 2012
Concurrent programming
concurrency correctness
0.012012
A type system for borrowing permissions · POPL 2012

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

unique permissions · 0.1shared permissions · 0.1local permissions · 0.1immutable permissions · 0.1change permissions · 0.1
YearPublicationVenuePosition
2021 Integrated Modeling and Development of Component-Based Embedded Software in Scala
Klaus Havelund, Robert Bocchino
ISoLA2
2012 A type system for borrowing permissions
abstract
In object-oriented programming, unique permissions to object references are useful for checking correctness properties such as consistency of typestate and noninterference of concurrency. To be usable, unique permissions must be borrowed --- for example, one must be able to read a unique reference out of a field, use it for something, and put it back. While one can null out the field and later reassign it, this paradigm is ungainly and requires unnecessary writes, potentially hurting cache performance. Therefore, in practice borrowing must occur in the type system, without requiring memory updates. Previous systems support borrowing with external alias analysis and/or explicit programmer management of fractional permissions. While these approaches are powerful, they are also awkward and difficult for programmers to understand. We present an integrated language and type system with unique, immutable, and shared permissions, together with new local permissions that say that a reference may not be stored to the heap. Our system also includes change permissions such as unique>>unique and unique>>none that describe how permissions flow in and out of method formal parameters. Together, these features support common patterns of borrowing, including borrowing multiple local permissions from a unique reference and recovering the unique reference when the local permissions go out of scope, without any explicit management of fractions in the source language. All accounting of fractional permissions is done by the type system "under the hood." We present the syntax and static and dynamic semantics of a formal core language and state soundness results. We also illustrate the utility and practicality of our design by using it to express several realistic examples.
Karl Naden, Robert Bocchino, Jonathan Aldrich, Kevin Bierhoff
POPL2