Skip to Main content Skip to Navigation

Typer la désérialisation sans sérialiser les types

Abstract : Static typechecking in programming languages allows strong safety properties--well-typed programs don't go wrong--and avoids costly dynamic type checking and runtime type representation. In this setting, simple (un)marshalling primitives may break invariants assumed by the compiler and void the warranty. In order to preserve type-safety, some dynamic type checking of unmarshalled data is required. This thesis defines, for programming languages based on parametric polymorphism and uniform data representation, a notion of compatibility between (unmarshalled) memory graphs and types. This notion is expressed as constraints over nodes of the memory graph. The constraint representation allows to build a constraint solver based on a rewriting system, and then to build an algorithm to check the compatibility of a memory graph with a type. Correction and completeness of the algorithm are studied in presence of algebraic data types, mutable data, cycles and functional values. This thesis also provides a prototype tailored for the OCaml compiler.
Document type :
Complete list of metadata

Cited literature [14 references]  Display  Hide  Download
Contributor : Grégoire Henry <>
Submitted on : Friday, September 16, 2011 - 1:36:09 AM
Last modification on : Friday, March 27, 2020 - 4:02:25 AM
Long-term archiving on: : Tuesday, November 13, 2012 - 10:56:32 AM



  • HAL Id : tel-00624156, version 1



Grégoire Henry. Typer la désérialisation sans sérialiser les types. Autre [cs.OH]. Université Paris-Diderot - Paris VII, 2011. Français. ⟨tel-00624156⟩



Record views


Files downloads