Bernard P. Serpette

dblp:97/2552 · also Bernard Paul Serpette · DBLP profile ↗
← Back
14ranked-venue papers
2as first author
0since 2021 · last 2019
—ORCID · none

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

Software engineering, systems software and programming languages · 10 · 2 first-authorTheory of computation · 5Artificial intelligence and machine learning · 2

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
Concurrent programming · 85% Programming languages and type systems · 15%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 50% Parallel and multicore computing · 50%
Theoretical computer science
1 paper
Logic in computer science · 100%

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

TopicWeightPapersLastEvidence papers
Concurrent programming › concurrent processes
asynchronous processes
0.112009
Asynchronous sequential processes · Inf. Comput. 2009
Distributed systems › operating system support › interprocess communication
asynchronous communication
0.012004
Asynchronous and deterministic objects · POPL 2004
Parallel and multicore computing › parallel programming models
futures
0.012004
Asynchronous and deterministic objects · POPL 2004
Concurrent programming › concurrency theory
process calculi
0.012009
Asynchronous sequential processes · Inf. Comput. 2009
Programming languages and type systems › object-oriented programming
object calculi
0.012004
Asynchronous and deterministic objects · POPL 2004
Programming languages and type systems
control operators
0.011991
A Dynamic Extent Control Operator for Partial Continuations · POPL 1991
Programming languages and type systems › control operators
partial continuations
0.011991
A Dynamic Extent Control Operator for Partial Continuations · POPL 1991
Logic in computer science › semantics
denotational semantics
0.011991
A Dynamic Extent Control Operator for Partial Continuations · POPL 1991
Logic in computer science › semantics
semantics of computation
0.011991
A Dynamic Extent Control Operator for Partial Continuations · POPL 1991

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

asynchronous sequential processes · 0.1object calculus · 0.1confluence analysis · 0.1
YearPublicationVenuePosition
2019 AllenRV: An Extensible Monitor for Multiple Complex Specifications with High Reactivity
Nic Volanschi, Bernard P. Serpette
RV2
2018 Implementing a semi-causal domain-specific language for context detection over binary sensors
abstract
In spite of the fact that many sensors in use today are binary (i.e. produce only values of 0 and 1), and that useful context-aware applications are built exclusively on top of them, there is currently no development approach specifically targeted to binary sensors. Dealing with notions of state and state combinators, central to binary sensors, is tedious and error-prone in current approaches. For instance, developing such applications in a general programming language requires writing code to process events, maintain state and perform state transitions on events, manage timers and/or event histories.
Nic Volanschi, Bernard P. Serpette, Charles Consel
GPCE2
2017 Type Abstraction for Relaxed Noninterference
abstract
Information-flow security typing statically prevents confidential information to leak to public channels. The fundamental information flow property, known as noninterference, states that a public observer cannot learn anything from private data. As attractive as it is from a theoretical viewpoint, noninterference is impractical: real systems need to intentionally declassify some information, selectively. Among the different information flow approaches to declassification, a particularly expressive approach was proposed by Li and Zdancewic, enforcing a notion of relaxed noninterference by allowing programmers to specify declassification policies that capture the intended manner in which public information can be computed from private data. This paper shows how we can exploit the familiar notion of type abstraction to support expressive declassification policies in a simpler, yet more expressive manner. In particular, the type-based approach to declassification---which we develop in an object-oriented setting---addresses several issues and challenges with respect to prior work, including a simple notion of label ordering based on subtyping, support for recursive declassification policies, and a local, modular reasoning principle for relaxed noninterference. This work paves the way for integrating declassification policies in practical security-typed languages.
Raimil Cruz, Tamara Rezk, Bernard P. Serpette, Éric Tanter
ECOOP3
2011 An interpreter for server-side hop
abstract
HOP is a Scheme-based multi-tier programming language for the Web. The client-side of a program is compiled to JavaScript, while the server-side is executed by a mix of natively compiled code and interpreted code. At the time where HOP programs were basic scripts, the performance of the server-side interpreter was not a concern; an inefficient interpreter was acceptable. As HOP expanded, HOP programs got larger and more complex. A more efficient interpreter was necessary. This new interpreter is described in this paper. It is compact, its whole implementation counting no more than 2.5 KLOC. It is more than twice faster than the old interpreter and consumes less than a third of its memory. Although it cannot compete with static or JIT native compilers, our experimental results show that it is amongst the fastest interpreters for dynamic languages.
Bernard P. Serpette, Manuel Serrano
DLS1
2009 Asynchronous sequential processes
Denis Caromel, Ludovic Henrio, Bernard P. Serpette
Inf. Comput.3
2008 Tilting at Windmills with Coq: Formal Verification of a Compilation Algorithm for Parallel Moves
Laurence Rideau, Bernard P. Serpette, Xavier Leroy
J. Autom. Reason.2
2008 iRho: an imperative rewriting calculus
abstract
We propose an imperative version of the Rewriting Calculus, a calculus based on pattern matching, pattern abstraction and side effects, which we call iRho. We formulate both a static and big-stepcall-by-valueoperational semantics of iRho. The operational semantics is deterministic, and immediately suggests how an interpreter for the calculus may be built. The static semantics is given using a first-order type system based on a form of product types, which can be assigned to term-like structures (that is, records). The calculus isà laChurch, that is, pattern abstractions are decorated with the types of the free variables of the pattern. iRho is a good candidate for the core of a pattern-matching imperative language, where a (monomorphic) typed store can be safely manipulated and where fixed points are built into the language itself. Properties such as determinism of the interpreter and subject-reduction have been completely checked using a machine-assisted approach with theCoqproof assistant. Progress and decidability of type checking are proved using pen and paper.
Luigi Liquori, Bernard P. Serpette
Math. Struct. Comput. Sci.2
2004 Asynchronous and deterministic objects
abstract
This paper aims at providing confluence and determinism properties in concurrent processes, more specifically within the paradigm of object-oriented systems. Such results should allow one to program parallel and distributed applications that behave in a deterministic manner, even if they are distributed over local or wide area networks. For that purpose, an object calculus is proposed. Its key characteristics are asynchronous communications with futures, and sequential execution within each process.While most of previous works exhibit confluence properties only on specific programs -- or patterns of programs, a general condition for confluence is presented here. It is further put in practice to show the deterministic behavior of a typical example.
Denis Caromel, Ludovic Henrio, Bernard P. Serpette
POPL3
2004 iRho: an imperative rewriting calculus
abstract
We propose an imperative version of the Rewriting-calculus, a calculus based on pattern-matching, pattern-abstraction, and side-effects, which we call iRho.We formulate a static and a call-by-value dynamic semantics of iRho like that of Gilles Kahn's Natural Semantics. The operational semantics is deterministic, and immediately suggests how to build an interpreter for the calculus. The static semantics is given via a first-order type system based on a form of product-type, which can be assigned to iRho-terms like structures (i.e. pairs).The calculus is à la Church, i.e. pattern-abstractions are decorated with the types of the free variables of the pattern.iRho is a good candidate for a core or an intermediate language, because it can safely access and modify a (monomorphic) typed store, and because fixed-points can be defined.Properties like determinism of the interpreter, and subject reduction are completely checked by a machine assisted approach, using the Coq proof assistant. Progress and decidability of type-checking are proved by pen and paper.
Luigi Liquori, Bernard P. Serpette
PPDP2
2004 Scheme fair threads
abstract
This paper presents Fair Threads, a new model for concurrent programming. This multi-threading model combines preemptive and cooperative scheduling. User threads execute according to a cooperative strategy. Service threads execute according to a preemptive strategy. User threads may ask services from service threads in order to improve performance by exploiting hardware parallelism and in order to execute non-blocking operations.Fair threads are experimented within the context of the functional programming language Scheme. This paper also presents the integration in this language. That is, it presents a semantics for Scheme augmented with Fair Threads and the main characteristics of the implementation.
Manuel Serrano, Frédéric Boussinot, Bernard P. Serpette
PPDP3
2002 Compiling scheme to JVM bytecode: : a performance study
abstract
We have added a Java virtual machine (henceforth JVM) bytecode generator to the optimizing Scheme-to-C compiler Bigloo. We named this new compiler BiglooJVM. We have used this new compiler to evaluate how suitable the JVM bytecode is as a target for compiling strict functional languages such as Scheme. In this paper, we focus on the performance issue. We have measured the execution time of many Scheme programs when compiled to C and when compiled to JVM. We found that for each benchmark, at least one of our hardware platforms ran the BiglooJVM version in less than twice the time taken by the Bigloo version. In order to deliver fast programs the generated JVM bytecode must be carefully crafted in order to benefit from the speedup of just-in-time compilers.
Bernard P. Serpette, Manuel Serrano
ICFP1
2001 A Formal Executable Semantics of the JavaCard Platform
Gilles Barthe, Guillaume Dufay, Line Jakubiec, Bernard P. Serpette, Simão Melo de Sousa
ESOP4
2000 Static Reduction Analysis for Imperative Object Oriented Languages
Gilles Barthe, Bernard P. Serpette
LPAR2
1991 A Dynamic Extent Control Operator for Partial Continuations
abstract
A partial continuation is a prefix of the computation that remains to be done.We propose in this paper a new operator which precisely controls which prefix is to be abstracted into a partial continuation.This operator is strongly related to the notion of dynamic extent which we denotationally characterize.Some programming examples are commented and we also show how to express previously proposed control operators.A suggested implementation is eventually discussed.
Christian Queinnec, Bernard P. Serpette
POPL2