Bernard Serpette - Academia.edu (original) (raw)

Uploads

Papers by Bernard Serpette

Research paper thumbnail of Architecture Logicielle de la Sortie de Résidence d'Aléas

JIM 2020, Oct 26, 2020

Le but du projet Aléas est de faire éclore un dialogue artistique entre l'ordinateur et l'humain,... more Le but du projet Aléas est de faire éclore un dialogue artistique entre l'ordinateur et l'humain, de concevoir un cadre propice à une improvisation homme-machine, de capter des mouvements et des sons pour en faire quelque chose. À mi-chemin du projet nous avons effectué une résidence de 12 jours dans le MÉCAstudio qui est un espace de l'OARA 1 à l'intérieur de la MÉCA 2 de Bordeaux. Quatre représentations sont venues clore cette résidence le 21 novembre, dans le MÉCAstudio, de 20 minutes chacune. Nous donnons ici les éléments techniques ayant contribué à la réalisation de ces événements.

Research paper thumbnail of Battling windmills with Coq: formal verification of a compilation algorithm for parallel moves

This article describes the formal verification of a compilation algorithm that transforms paralle... more This article describes the formal verification of a compilation algorithm that transforms parallel moves (parallel assignments between variables) into a semantically-equivalent sequence of elementary moves. Two different specifications of the algorithm are given: an inductive specification and a functional one, each with its correctness proofs. A functional program can then be extracted and integrated in the Compcert verified compiler.

Research paper thumbnail of Formalization in Coq of the Java Card Virtual

Research paper thumbnail of Type Abstraction for Relaxed Noninterference

Information-flow security typing statically prevents confidential information to leak to public c... more 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 a...

Research paper thumbnail of Unification des couleurs dans un lambda-calcul polychrome

Dans cet article nous etendons le lambda-calcul bi-chrome presente aux JFLA 2012 pour y introduir... more Dans cet article nous etendons le lambda-calcul bi-chrome presente aux JFLA 2012 pour y introduire la polychromie. On definit une nouvelle transformation, par beta-expansion, qui regroupe les expressions de meme couleur, chaque couleur pouvant representer une unite de calcul. On ne se contente plus de pouvoir expliciter la localite d'un calcul dans un modele a deux couleurs comme pour les clients-serveurs mais nous pouvons traiter les applications multi-tiers. Les proprietes de correction, de terminaison et de confluence de cette nouvelle transformation sont demontrees a l'aide de Coq.

Research paper thumbnail of Approximations d'évaluateurs fonctionnels

Research paper thumbnail of Compiling Scheme programs to .NET Common Intermediate Language

This paper presents the compilation of the Scheme programming language to .NET platform. .NET pro... more This paper presents the compilation of the Scheme programming language to .NET platform. .NET pro- vides a virtual machine, the Common Language Run- time (CLR), that executes bytecode: the Common In- termediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. There- fore, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. As such, the CLR presents an interesting ground for functional language implementations. We discuss how to map Scheme constructs to CIL. We present performance analyses on a large set of real-life and standard Scheme benchmarks. In particular, we compare the performances of these programs when compiled to C, JVM and .NET. We show that .NET still lags behind C and JVM.

Research paper thumbnail of Tilting at Windmills with Coq: Formal Verification of a Compilation Algorithm for Parallel Moves

Journal of Automated Reasoning, 2008

This article describes the formal verification of a compilation algorithm that transforms paralle... more This article describes the formal verification of a compilation algorithm that transforms parallel moves (parallel assignments between variables) into a semanticallyequivalent sequence of elementary moves. Two different specifications of the algorithm are given: an inductive specification and a functional one, each with its correctness proofs. A functional program can then be extracted and integrated in the Compcert verified compiler.

Research paper thumbnail of Coq à la conquête des moulins

Nous presentons la certification formelle en Coq d'un algorithme utilise' dans les compil... more Nous presentons la certification formelle en Coq d'un algorithme utilise' dans les compilateurs: l'affectation parallele de registres. Nous proposons deux specifications inductives et une specification fonctionnelle de l'algorithme ainsi que les preuves de correction de ces specifications. Un code fonctionnel ML peut etre extrait de la specification fonctionnelle et integre' au code du compilateur.

Research paper thumbnail of BigNum: A Portable and Efficient Package for Arbitrary-Precision Arithmetic

We describe a C package for arbitrary-precision integer arithmetic that is portable, yet efficien... more We describe a C package for arbitrary-precision integer arithmetic that is portable, yet efficient.Making the package run fast on a given computer involves re-writing a small kernel of ourpackage in native assembly language. We provide such assembly code for VAX, 68020 andNS instruction sets, with good benchmarks. This package serves as a foundation for twoarithmetic packages written in higher level languages LeLisp1and Modula2+.This package is available to non-commercial users.R esum ...

Research paper thumbnail of BigNum: un module portable et efficace pour une arithmetique a precision arbitraire

Research paper thumbnail of POPL'04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}

POPL'04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}

@proceeding{964001, author = {Neil D. Jones and Xavier Leroy}, title = {POPL '04: Pr... more @proceeding{964001, author = {Neil D. Jones and Xavier Leroy}, title = {POPL '04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {2004}, isbn = {1-58113-729-X}, location = {Venice, Italy}, order_no = {549041}, publisher = {ACM Press}, } @inproceedings{964002, author = {Xavier Rival}, title = {Symbolic transfer function-based approaches to certified compilation}, booktitle = {POPL '04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages ...

Research paper thumbnail of Formalization and Concretization of Ordered Networks

Research paper thumbnail of Bigloo.NET: compiling Scheme to .NET CLR

The Journal of Object Technology, 2004

This paper presents the compilation of the Scheme programming language to .NET. This platform pro... more This paper presents the compilation of the Scheme programming language to .NET. This platform provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode, the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. As such, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. Therefore, the CLR presents an interesting ground for functional language implementations. We discuss how to map Scheme constructs to CIL. We present performance analyses on a large set of real-life and standard Scheme benchmarks. In particular, we compare the speed of these programs when compiled to C, JVM and .NET. We show that in term of speed performance of the Mono implementation of .NET, the best implementing running on both Windows and Linux, still lags behind C and fast JVMs such as the Sun's implementations.

Research paper thumbnail of Compiling Scheme programs to .NET Common Intermediate Language

This paper presents the compilation of the Scheme programming language to .NET platform. .NET pro... more This paper presents the compilation of the Scheme programming language to .NET platform. .NET provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode: the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. Therefore, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. As such, the CLR presents an interesting ground for functional language implementations.

Research paper thumbnail of Web Appendix to the current paper

Research paper thumbnail of Formalization of the JavaCard Virtual Machine in Coq

Research paper thumbnail of The Formes System: A Musical Application of Object-Oriented Concurrent Programming

![Research paper thumbnail of Coq `a la conqu?ete des moulins](https://a.academia-assets.com/images/blank-paper.jpg)

Research paper thumbnail of Formalization of the JavaCard Virtual Machine in Coq

Lecture Notes in Computer Science

Research paper thumbnail of Architecture Logicielle de la Sortie de Résidence d'Aléas

JIM 2020, Oct 26, 2020

Le but du projet Aléas est de faire éclore un dialogue artistique entre l'ordinateur et l'humain,... more Le but du projet Aléas est de faire éclore un dialogue artistique entre l'ordinateur et l'humain, de concevoir un cadre propice à une improvisation homme-machine, de capter des mouvements et des sons pour en faire quelque chose. À mi-chemin du projet nous avons effectué une résidence de 12 jours dans le MÉCAstudio qui est un espace de l'OARA 1 à l'intérieur de la MÉCA 2 de Bordeaux. Quatre représentations sont venues clore cette résidence le 21 novembre, dans le MÉCAstudio, de 20 minutes chacune. Nous donnons ici les éléments techniques ayant contribué à la réalisation de ces événements.

Research paper thumbnail of Battling windmills with Coq: formal verification of a compilation algorithm for parallel moves

This article describes the formal verification of a compilation algorithm that transforms paralle... more This article describes the formal verification of a compilation algorithm that transforms parallel moves (parallel assignments between variables) into a semantically-equivalent sequence of elementary moves. Two different specifications of the algorithm are given: an inductive specification and a functional one, each with its correctness proofs. A functional program can then be extracted and integrated in the Compcert verified compiler.

Research paper thumbnail of Formalization in Coq of the Java Card Virtual

Research paper thumbnail of Type Abstraction for Relaxed Noninterference

Information-flow security typing statically prevents confidential information to leak to public c... more 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 a...

Research paper thumbnail of Unification des couleurs dans un lambda-calcul polychrome

Dans cet article nous etendons le lambda-calcul bi-chrome presente aux JFLA 2012 pour y introduir... more Dans cet article nous etendons le lambda-calcul bi-chrome presente aux JFLA 2012 pour y introduire la polychromie. On definit une nouvelle transformation, par beta-expansion, qui regroupe les expressions de meme couleur, chaque couleur pouvant representer une unite de calcul. On ne se contente plus de pouvoir expliciter la localite d'un calcul dans un modele a deux couleurs comme pour les clients-serveurs mais nous pouvons traiter les applications multi-tiers. Les proprietes de correction, de terminaison et de confluence de cette nouvelle transformation sont demontrees a l'aide de Coq.

Research paper thumbnail of Approximations d'évaluateurs fonctionnels

Research paper thumbnail of Compiling Scheme programs to .NET Common Intermediate Language

This paper presents the compilation of the Scheme programming language to .NET platform. .NET pro... more This paper presents the compilation of the Scheme programming language to .NET platform. .NET pro- vides a virtual machine, the Common Language Run- time (CLR), that executes bytecode: the Common In- termediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. There- fore, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. As such, the CLR presents an interesting ground for functional language implementations. We discuss how to map Scheme constructs to CIL. We present performance analyses on a large set of real-life and standard Scheme benchmarks. In particular, we compare the performances of these programs when compiled to C, JVM and .NET. We show that .NET still lags behind C and JVM.

Research paper thumbnail of Tilting at Windmills with Coq: Formal Verification of a Compilation Algorithm for Parallel Moves

Journal of Automated Reasoning, 2008

This article describes the formal verification of a compilation algorithm that transforms paralle... more This article describes the formal verification of a compilation algorithm that transforms parallel moves (parallel assignments between variables) into a semanticallyequivalent sequence of elementary moves. Two different specifications of the algorithm are given: an inductive specification and a functional one, each with its correctness proofs. A functional program can then be extracted and integrated in the Compcert verified compiler.

Research paper thumbnail of Coq à la conquête des moulins

Nous presentons la certification formelle en Coq d'un algorithme utilise' dans les compil... more Nous presentons la certification formelle en Coq d'un algorithme utilise' dans les compilateurs: l'affectation parallele de registres. Nous proposons deux specifications inductives et une specification fonctionnelle de l'algorithme ainsi que les preuves de correction de ces specifications. Un code fonctionnel ML peut etre extrait de la specification fonctionnelle et integre' au code du compilateur.

Research paper thumbnail of BigNum: A Portable and Efficient Package for Arbitrary-Precision Arithmetic

We describe a C package for arbitrary-precision integer arithmetic that is portable, yet efficien... more We describe a C package for arbitrary-precision integer arithmetic that is portable, yet efficient.Making the package run fast on a given computer involves re-writing a small kernel of ourpackage in native assembly language. We provide such assembly code for VAX, 68020 andNS instruction sets, with good benchmarks. This package serves as a foundation for twoarithmetic packages written in higher level languages LeLisp1and Modula2+.This package is available to non-commercial users.R esum ...

Research paper thumbnail of BigNum: un module portable et efficace pour une arithmetique a precision arbitraire

Research paper thumbnail of POPL'04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}

POPL'04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}

@proceeding{964001, author = {Neil D. Jones and Xavier Leroy}, title = {POPL '04: Pr... more @proceeding{964001, author = {Neil D. Jones and Xavier Leroy}, title = {POPL '04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {2004}, isbn = {1-58113-729-X}, location = {Venice, Italy}, order_no = {549041}, publisher = {ACM Press}, } @inproceedings{964002, author = {Xavier Rival}, title = {Symbolic transfer function-based approaches to certified compilation}, booktitle = {POPL '04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages ...

Research paper thumbnail of Formalization and Concretization of Ordered Networks

Research paper thumbnail of Bigloo.NET: compiling Scheme to .NET CLR

The Journal of Object Technology, 2004

This paper presents the compilation of the Scheme programming language to .NET. This platform pro... more This paper presents the compilation of the Scheme programming language to .NET. This platform provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode, the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. As such, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. Therefore, the CLR presents an interesting ground for functional language implementations. We discuss how to map Scheme constructs to CIL. We present performance analyses on a large set of real-life and standard Scheme benchmarks. In particular, we compare the speed of these programs when compiled to C, JVM and .NET. We show that in term of speed performance of the Mono implementation of .NET, the best implementing running on both Windows and Linux, still lags behind C and fast JVMs such as the Sun's implementations.

Research paper thumbnail of Compiling Scheme programs to .NET Common Intermediate Language

This paper presents the compilation of the Scheme programming language to .NET platform. .NET pro... more This paper presents the compilation of the Scheme programming language to .NET platform. .NET provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode: the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. Therefore, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. As such, the CLR presents an interesting ground for functional language implementations.

Research paper thumbnail of Web Appendix to the current paper

Research paper thumbnail of Formalization of the JavaCard Virtual Machine in Coq

Research paper thumbnail of The Formes System: A Musical Application of Object-Oriented Concurrent Programming

![Research paper thumbnail of Coq `a la conqu?ete des moulins](https://a.academia-assets.com/images/blank-paper.jpg)

Research paper thumbnail of Formalization of the JavaCard Virtual Machine in Coq

Lecture Notes in Computer Science