<?xml version="1.0" encoding="utf-8"?>
<raweb xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" year="2015">
  <identification id="indes" isproject="true">
    <shortname>INDES</shortname>
    <projectName>Secure Diffuse Programming</projectName>
    <theme-de-recherche>Distributed programming and Software engineering</theme-de-recherche>
    <domaine-de-recherche>Networks, Systems and Services, Distributed Computing</domaine-de-recherche>
    <urlTeam>http://www-sop.inria.fr/indes/</urlTeam>
    <header_dates_team>Creation of the Team: 2009 January 01, updated into Project-Team: 2010 July 01</header_dates_team>
    <LeTypeProjet>Project-Team</LeTypeProjet>
    <keywordsSdN>
      <term>1.3. - Distributed Systems</term>
      <term>2. - Software</term>
      <term>2.1. - Programming Languages</term>
      <term>2.1.3. - Functional programming</term>
      <term>2.1.7. - Distributed programming</term>
      <term>2.1.8. - Synchronous languages</term>
      <term>2.1.9. - Dynamic languages</term>
      <term>2.2.1. - Static analysis</term>
      <term>2.2.3. - Run-time systems</term>
      <term>4. - Security and privacy</term>
      <term>4.3.3. - Cryptographic protocols</term>
      <term>4.6. - Authentication</term>
      <term>4.7. - Access control</term>
      <term>4.8. - Privacy-enhancing technologies</term>
    </keywordsSdN>
    <keywordsSecteurs>
      <term>6.3.1. - Web</term>
      <term>6.4. - Internet of things</term>
      <term>9.4.1. - Computer science</term>
      <term>9.8. - Privacy</term>
    </keywordsSecteurs>
    <UR name="Sophia"/>
  </identification>
  <team id="uid1">
    <person key="indes-2014-idm30496">
      <firstname>Manuel</firstname>
      <lastname>Serrano</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Team leader, Inria, Senior Researcher</moreinfo>
      <hdr>oui</hdr>
    </person>
    <person key="indes-2014-idm29016">
      <firstname>Nataliia</firstname>
      <lastname>Bielova</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, Researcher</moreinfo>
    </person>
    <person key="indes-2014-idm27776">
      <firstname>Gérard</firstname>
      <lastname>Boudol</lastname>
      <categoryPro>AutreCategorie</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Emeritus Researcher</moreinfo>
    </person>
    <person key="indes-2014-idm26520">
      <firstname>Ilaria</firstname>
      <lastname>Castellani</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, Researcher</moreinfo>
    </person>
    <person key="indes-2014-idp65432">
      <firstname>Tamara</firstname>
      <lastname>Rezk</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, Researcher</moreinfo>
    </person>
    <person key="indes-2014-idp66584">
      <firstname>Bernard</firstname>
      <lastname>Serpette</lastname>
      <categoryPro>Chercheur</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, Researcher</moreinfo>
    </person>
    <person key="indes-2015-idp67056">
      <firstname>Cédric</firstname>
      <lastname>Duminy</lastname>
      <categoryPro>Technique</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, from May 2015</moreinfo>
    </person>
    <person key="indes-2014-idp67824">
      <firstname>Vincent</firstname>
      <lastname>Prunet</lastname>
      <categoryPro>Technique</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria</moreinfo>
    </person>
    <person key="lagadic-2014-idp73776">
      <firstname>Erwan</firstname>
      <lastname>Demairy</lastname>
      <categoryPro>Technique</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, until Oct 2015</moreinfo>
    </person>
    <person key="indes-2014-idp74048">
      <firstname>Yoann</firstname>
      <lastname>Couillec</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, until Oct 2015</moreinfo>
    </person>
    <person key="indes-2015-idp72024">
      <firstname>Francis Doliére</firstname>
      <lastname>Some</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, from Nov 2015</moreinfo>
    </person>
    <person key="indes-2015-idp72024">
      <firstname>Francis Doliére</firstname>
      <lastname>Some</lastname>
      <categoryPro>AutreCategorie</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, intern, from Jul 2015 until Sep 2015</moreinfo>
    </person>
    <person key="indes-2015-idp74576">
      <firstname>Colin</firstname>
      <lastname>Vidal</lastname>
      <categoryPro>PhD</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, from Jul 2015</moreinfo>
    </person>
    <person key="indes-2014-idp70304">
      <firstname>Vineet</firstname>
      <lastname>Rajani</lastname>
      <categoryPro>Visiteur</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>MPI, until Mar 2015</moreinfo>
    </person>
    <person key="marelle-2014-idp86800">
      <firstname>Nathalie</firstname>
      <lastname>Bellesso</lastname>
      <categoryPro>Assistant</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria</moreinfo>
    </person>
    <person key="indes-2015-idp78280">
      <firstname>Rohan</firstname>
      <lastname>Katyal</lastname>
      <categoryPro>AutreCategorie</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>Inria, intern, from Jun 2015 until Aug 2015</moreinfo>
    </person>
    <person key="indes-2014-idp72784">
      <firstname>Diana Ioana</firstname>
      <lastname>Proteasa Nicola</lastname>
      <categoryPro>AutreCategorie</categoryPro>
      <research-centre>Sophia</research-centre>
      <moreinfo>M2 intern, until Jan 2015</moreinfo>
    </person>
  </team>
  <presentation id="uid2">
    <bodyTitle>Overall Objectives</bodyTitle>
    <subsection id="uid3" level="1">
      <bodyTitle>Overall Objectives</bodyTitle>
      <p>The goal of the Indes team is to study models for diffuse
computing and develop languages for secure diffuse
applications. Diffuse applications, of which Web 2.0 applications are
a notable example, are the new applications emerging from the
convergence of broad network accessibility, rich personal digital
environment, and vast sources of information. Strong security
guarantees are required for these applications, which intrinsically
rely on sharing private information over networks of mutually
distrustful nodes connected by unreliable media.</p>
      <p>Diffuse computing requires an original combination of nearly all
previous computing paradigms, ranging from classical sequential
computing to parallel and concurrent computing in both their
synchronous / reactive and asynchronous variants. It also benefits
from the recent advances in mobile computing, since devices involved
in diffuse applications are often mobile or portable.</p>
      <p>The Indes team contributes to the whole chain of research
on models and languages for diffuse computing, going from the study of
foundational models and formal semantics to the design and
implementation of new languages to be put to work on concrete
applications. Emphasis is placed on correct-by-construction
mechanisms to guarantee correct, efficient and secure implementation
of high-level programs. The research is partly inspired by and
built around Hop, the web programming model proposed by the
former Mimosa team, which takes the web as its execution platform and
targets interactive and multimedia applications.</p>
    </subsection>
  </presentation>
  <fondements id="uid4">
    <bodyTitle>Research Program</bodyTitle>
    <subsection id="uid5" level="1">
      <bodyTitle>Parallelism, concurrency, and distribution</bodyTitle>
      <p>Concurrency management is at the heart of diffuse
programming. Since the execution platforms are highly heterogeneous,
many different concurrency principles and models may be involved.
Asynchronous concurrency is the basis of shared-memory process
handling within multiprocessor or multicore computers, of direct or
fifo-based message passing in distributed networks, and of fifo- or
interrupt-based event handling in web-based human-machine interaction
or sensor handling. Synchronous or quasi-synchronous concurrency is
the basis of signal processing, of real-time control, and of
safety-critical information acquisition and display. Interfacing
existing devices based on these different concurrency principles
within HOP or other diffuse programming languages will require better
understanding of the underlying concurrency models and of the way they
can nicely cooperate, a currently ill-resolved problem.</p>
    </subsection>
    <subsection id="uid6" level="1">
      <bodyTitle>Web and functional programming</bodyTitle>
      <p>We are studying new paradigms for programming Web applications
that rely on multi-tier functional programming
<ref xlink:href="#indes-2015-bid0" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>. We have
created a Web programming environment named <span class="smallcap" align="left">Hop</span>. It relies on a
single formalism for programming the server-side and the client-side of the
applications as well as for configuring the execution engine.</p>
      <p><span class="smallcap" align="left">Hop</span> is a functional language based on the <span class="smallcap" align="left">Scheme</span>
programming language. That is, it is a strict functional language,
fully polymorphic, supporting side effects, and dynamically
type-checked. <span class="smallcap" align="left">Hop</span> is implemented as an extension of the <span class="smallcap" align="left">Bigloo</span>
compiler that we develop <ref xlink:href="#indes-2015-bid1" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.
In the past, we have extensively studied static analyses (type systems and
inference, abstract interpretations, as well as classical compiler
optimizations) to improve the efficiency of compilation in both space
and time.</p>
    </subsection>
    <subsection id="uid7" level="1">
      <bodyTitle>Security of diffuse programs</bodyTitle>
      <p>The main goal of our security research is to provide scalable
and rigorous language-based techniques that can be integrated into
multi-tier compilers to enforce the security of diffuse programs.
Research on language-based security has been carried on before in
former Inria teams
<ref xlink:href="#indes-2015-bid2" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, <ref xlink:href="#indes-2015-bid3" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>. In particular
previous research has focused on controlling
information flow to ensure confidentiality.</p>
      <p>Typical language-based solutions to these problems are founded on static
analysis, logics, provable cryptography, and compilers that generate correct
code by construction <ref xlink:href="#indes-2015-bid4" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.
Relying on the multi-tier programming language <span class="smallcap" align="left">Hop</span> that tames the
complexity of writing and analysing secure diffuse applications,
we are studying language-based solutions to prominent web security
problems such as code injection and cross-site scripting, to name a few.</p>
    </subsection>
  </fondements>
  <domaine id="uid8">
    <bodyTitle>Application Domains</bodyTitle>
    <subsection id="uid9" level="1">
      <bodyTitle>Web programming</bodyTitle>
      <p>Along with games, multimedia applications, electronic commerce, and email, the web has popularized
computers for daily life. The revolution is engaged and we may be at the dawn of a new era of computing
where the web is a central element. The web constitutes an infrastructure more versatile, polymorphic, and
open, in other words, more powerful, than any dedicated network previously invented. For this very reason, it
is likely that most of the computer programs we will write in the future, for professional purposes as well as
for our own needs, will extensively rely on the web.
In addition to allowing reactive and graphically pleasing interfaces, web applications are de facto distributed.
Implementing an application with a web interface makes it instantly open to the world and accessible from
much more than one computer. The web also partially solves the problem of platform compatibility because
it physically separates the rendering engine from the computation engine. Therefore, the client does not have
to make assumptions on the server hardware configuration, and vice versa. Lastly, HTML is highly durable.
While traditional graphical toolkits evolve continuously, making existing interfaces obsolete and breaking
backward compatibility, modern web browsers that render on the edge web pages are still able to correctly
display the web pages of the early 1990?s.
For these reasons, the web is arguably ready to escape the beaten track of n-tier applications, CGI scripting
and interaction based on HTML forms. However, we think that it still lacks programming abstractions that
minimize the overwhelming amount of technologies that need to be mastered when web programming is
involved. Our experience on reactive and functional programming is used for bridging this gap.
</p>
    </subsection>
    <subsection id="uid10" level="1">
      <bodyTitle>Multimedia</bodyTitle>
      <p>Electronic equipments are less and less expensive and more and more widely spread out. Nowadays, in
industrial countries, computers are almost as popular as TV sets. Today, almost everybody owns a mobile
phone. Many are equipped with a GPS or a PDA. Modem, routers, NASes and other network appliances are
also commonly used, although they are sometimes sealed under proprietary packaging such as the Livebox or
the Freebox. Most of us evolve in an electronic environment which is rich but which is also populated with
mostly isolated devices.
The first multimedia applications on the web have appeared with the Web 2.0. The most famous ones are
Flickr, YouTube, or Deezer. All these applications rely on the same principle: they allow roaming users to
access the various multimedia resources available all over the Internet via their web browser. The convergence
between our new electronic environment and the multimedia facilities offered by the web will allow engineers
to create new applications. However, since these applications are complex to implement this will not happen
until appropriate languages and tools are available. In the Indes team, we develop compilers, systems, and
libraries that address this problem.
</p>
    </subsection>
    <subsection id="uid11" level="1">
      <bodyTitle>Robotics</bodyTitle>
      <p>The web is the de facto standard of communication for heterogeneous devices. The number of devices able to
access the web is permanently increasing. Nowadays, even our mobile phones can access the web. Tomorrow it
could even be the turn of our wristwatches! The web hence constitutes a compelling architecture for developing
applications relying on the ambient computing facilities. However, since current programming languages do
not allow us to develop easily these applications, ambient computing is currently based on ad-hoc solutions.
Programming ambient computing via the web is still to be explored. The tools developed in the Indes team
allow us to build prototypes of a robot as a web entity, and the use of remote web
services to manage, monitor or extend the features of the robot.
Among the direct benefits of
relying on a web framework for robotics are the ability to use any web enabled
device such as a smartphone or tablet to drive the robot.
</p>
    </subsection>
  </domaine>
  <logiciels id="uid12">
    <bodyTitle>New Software and Platforms</bodyTitle>
    <subsection id="uid13" level="1">
      <bodyTitle>Web programming</bodyTitle>
      <participants>
        <person key="indes-2014-idp74048">
          <firstname>Yoann</firstname>
          <lastname>Couillec</lastname>
        </person>
        <person key="indes-2015-idp74576">
          <firstname>Colin</firstname>
          <lastname>Vidal</lastname>
        </person>
        <person key="indes-2014-idp67824">
          <firstname>Vincent</firstname>
          <lastname>Prunet</lastname>
        </person>
        <person key="indes-2014-idm30496">
          <firstname>Manuel</firstname>
          <lastname>Serrano</lastname>
          <moreinfo>correspondant</moreinfo>
        </person>
      </participants>
      <subsection id="uid14" level="2">
        <bodyTitle>The HOP web programming environment</bodyTitle>
        <p><span class="smallcap" align="left">Hop</span> is a higher-order language designed for programming
interactive web applications such as web agendas, web galleries, music
players, etc. It exposes a programming model based on two computation
levels. The first one is in charge of executing the logic of an
application while the second one is in charge of executing the
graphical user interface. <span class="smallcap" align="left">Hop</span> separates the logic and the graphical
user interface but it packages them together and it supports strong
collaboration between the two engines. The two execution flows
communicate through function calls and event loops. Both ends can
initiate communications.</p>
        <p>The <span class="smallcap" align="left">Hop</span> programming environment consists in a web
<i>broker</i> that intuitively combines in a single architecture a web
server and a web proxy. The broker embeds a <span class="smallcap" align="left">Hop</span> interpreter for executing
server-side code and a <span class="smallcap" align="left">Hop</span> client-side compiler for generating the code
that will get executed by the client.</p>
        <p>An important effort is devoted to providing <span class="smallcap" align="left">Hop</span> with a realistic
and efficient implementation. The <span class="smallcap" align="left">Hop</span> implementation is <i>validated</i>
against web applications that are used on a daily-basis. In particular, we
have developed <span class="smallcap" align="left">Hop</span> applications for authoring and projecting slides, editing
calendars, reading RSS streams, or managing blogs.</p>
        <p><span class="smallcap" align="left">Hop</span> has won the software <i>open source contest</i> organized by
the ACM Multimedia Conference 2007. It is released
under the GPL license. It is available at <ref xlink:href="http://hop.inria.fr" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hop.<allowbreak/>inria.<allowbreak/>fr</ref>.</p>
        <simplelist>
          <li id="uid15">
            <p noindent="true">Participants: Manuel Serrano</p>
          </li>
          <li id="uid16">
            <p noindent="true">Contact: Manuel Serrano</p>
          </li>
          <li id="uid17">
            <p noindent="true">URL: <ref xlink:href="http://hop.inria.fr" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>hop.<allowbreak/>inria.<allowbreak/>fr</ref></p>
          </li>
        </simplelist>
      </subsection>
      <subsection id="uid18" level="2">
        <bodyTitle>The Bigloo compiler</bodyTitle>
        <p>The programming environment for the Bigloo compiler
<ref xlink:href="#indes-2015-bid1" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/> is available on the Inria
Web site at the following URL: <ref xlink:href="http://www-sop.inria.fr/teams/indes/fp/Bigloo" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www-sop.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>teams/<allowbreak/>indes/<allowbreak/>fp/<allowbreak/>Bigloo</ref>.
The distribution contains an optimizing compiler that delivers
native code, JVM bytecode, and .NET CLR bytecode. It contains
a debugger, a profiler, and various Bigloo development tools.
The distribution also contains several user libraries that
enable the implementation of realistic applications.</p>
        <p><span class="smallcap" align="left">Bigloo</span> was initially designed for implementing compact stand-alone
applications under Unix. Nowadays, it runs harmoniously under Linux
and MacOSX. The effort initiated in 2002 for porting it to
Microsoft Windows is pursued by external contributors. In addition
to the native back-ends, the <span class="smallcap" align="left">Bigloo</span> JVM back-end has enabled a new set
of applications: Web services, Web browser plug-ins, cross platform
development, etc. The new <span class="smallcap" align="left">Bigloo</span> .NET CLR back-end that is fully
operational since release 2.6e enables a smooth integration of Bigloo
programs under the Microsoft .NET environment.</p>
        <simplelist>
          <li id="uid19">
            <p noindent="true">Participants: Manuel Serrano</p>
          </li>
          <li id="uid20">
            <p noindent="true">Contact: Manuel Serrano</p>
          </li>
          <li id="uid21">
            <p noindent="true">URL: <ref xlink:href="http://www-sop.inria.fr/teams/indes/fp/Bigloo" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www-sop.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>teams/<allowbreak/>indes/<allowbreak/>fp/<allowbreak/>Bigloo</ref></p>
          </li>
        </simplelist>
      </subsection>
    </subsection>
  </logiciels>
  <resultats id="uid22">
    <bodyTitle>New Results</bodyTitle>
    <subsection id="uid23" level="1">
      <bodyTitle>Web programming</bodyTitle>
      <participants>
        <person key="indes-2014-idp74048">
          <firstname>Yoann</firstname>
          <lastname>Couillec</lastname>
        </person>
        <person key="indes-2014-idp67824">
          <firstname>Vincent</firstname>
          <lastname>Prunet</lastname>
        </person>
        <person key="indes-2014-idm30496">
          <firstname>Manuel</firstname>
          <lastname>Serrano</lastname>
          <moreinfo>correspondant</moreinfo>
        </person>
      </participants>
      <subsection id="uid24" level="2">
        <bodyTitle>Hop.js</bodyTitle>
        <p>Multitier programming languages unify within a single formalism and a
single execution environment the programming of the different tiers of
distributed applications. On the Web, this programming paradigm
unifies the client tier, the server tier, and, when one is used, the
database tier. This homogenization offers several advantages over
traditional Web programming that rely on different languages and
different environments for the two or three tiers of the Web
application: programmers have only one language to learn, maintenance
and evolution are simplified by the use of a single formalism, global
static analyses are doable as a single semantics is involved,
debugging and other runtime tools are more powerful as they access
global informations about the execution.</p>
        <p>The three first multitier platforms for the Web all appeared in
2006: GWT (a.k.a., Google Web Toolkit), Links, and
Hop <ref xlink:href="#indes-2015-bid0" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, <ref xlink:href="#indes-2015-bid5" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>. Each relied on a different
programming model and languages. GWT maps the Java programming model
on the Web, as it allows, Java/Swing likes programs to be compiled and
executed on the Web; Links is functional language with experimental
features such as the storing of the whole execution context on the
client; Hop is based on the Scheme programming language. These three
pioneers have open the path for the other multitier languages such as,
Ocsigen for Ocaml, UrWeb, js-scala, etc.</p>
        <p>In spite of their interesting properties, multitier languages have
not become that popular on the Web. Today, only GWT is widely used in
industrial applications but arguably GWT is not a fully multitier
language as developing applications with GWT requires explicit
JavaScript and HTML programming. This lack of popularity of other
systems is likely due to their core based languages than to the
programming model itself.</p>
        <p>JavaScript is the <i>defacto</i> standard on the Web. Since the mid
90's, it is the language of the client-side programming and more
recently, with systems like Node.js, it is also a viable solution for
the server-side programming. As we are convinced by the virtues of
multitier programming we have started a new project consisting of
enabling multitier programming JavaScript. We have created a new
language called HopScript, which is a minimalist extension of
JavaScript for multitier programming, and we have implemented a brand
new runtime environment called Hop.js. This environment contains a
builtin Web server, on-the-fly HopScript compilers, and many runtime
libraries.</p>
        <p>HopScript is a super set of JavaScript, <i>i.e.,</i> all JavaScript
programs are legal HopScript programs. Hop.js is a compliant
JavaScript execution environment as it succeeds at 99% of the
Ecma 262 tests suite. The Hop.js environment also aims at Node.js
compatibility. In its current version it supports about 70%
of the Node.js runtime environment. In particular, it fully supports
the Node.js modules, which lets Hop programs reuse existing Node.js
modules as is.</p>
        <p>After a full year of active development to enhance JavaScript and
Node.js compatibility, to incorporate features of JavaScript 1.6, and
to design new language constructs for machine-to-machine
communication, we are now ready to release Hop.js. This will appear
at the beginning of 2016.</p>
      </subsection>
      <subsection id="uid25" level="2">
        <bodyTitle>Data source</bodyTitle>
        <p>During the past few years the volume of accumulated data has increased dramatically. New kinds of data stores have emerged as NoSQL
family stores. Many modern applications now collect, analyze, and
produce data from several heterogeneous sources. However implementing
such applications is still difficult because of lack of appropriate
tools and formalisms. We propose a solution to this problem in the
context of the JavaScript programming language by extending array
comprehensions. Our extension allows programmers to query data from
usual stores, such as SQL databases, NoSQL databases, Semantic Web
data repositories, Web pages, or even custom user defined data
structures. The extension has been implemented in the Hop.js
system. It has been described in the paper
<ref xlink:href="#indes-2015-bid6" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>, which has been presented at the ACM
DBPL'15 conference.</p>
      </subsection>
    </subsection>
    <subsection id="uid26" level="1">
      <bodyTitle>Distributed programming</bodyTitle>
      <participants>
        <person key="indes-2014-idm27776">
          <firstname>Gérard</firstname>
          <lastname>Boudol</lastname>
        </person>
        <person key="PASUSERID">
          <firstname>Johan</firstname>
          <lastname>Grande</lastname>
        </person>
        <person key="indes-2014-idm30496">
          <firstname>Manuel</firstname>
          <lastname>Serrano</lastname>
          <moreinfo>correspondant</moreinfo>
        </person>
      </participants>
      <p>Shared-memory concurrency is a classic concurrency model which, among
other things, makes it possible to take advantage of multicore
processors that are now widespread in personal computers. Concurrent
programs are prone to deadlocks which are notoriously hard to predict
and debug. Programs using mutexes, a very popular synchronization
mechanism, are no exception.</p>
      <p>We have studied deadlock avoidance methods with the aim of
making programming with mutexes easier. We first studied a method that
uses a static analysis by means of a type and effect system, then a
variation on this method in a dynamically typed language.</p>
      <p>We developed more the second method. It mixes deadlock prevention and
avoidance to provide an easy-to-use and expressive deadlock-free
locking function. We implemented it as a Hop
library. This lead us to develop a starvation-free algorithm to
simultaneously acquire an arbitrary number of mutexes, and to identify
the concept of asymptotic deadlock. While doing so, we also developed
an optimization of exceptions (finally blocks).</p>
      <p>Our performance tests seem to show that using our library has
negligible impact on the performance of real-life applications. Most
of our work could be applied to other structured programming languages
such as Java.</p>
      <p>This work has been presented at the 17th International Symposium on
Principles and Practice of Declarative Programming (PPDP'15) <ref xlink:href="#indes-2015-bid7" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>. More details can be found in Grande's PhD thesis <ref xlink:href="#indes-2015-bid8" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.</p>
    </subsection>
    <subsection id="uid27" level="1">
      <bodyTitle>Types</bodyTitle>
      <participants>
        <person key="indes-2014-idm26520">
          <firstname>Ilaria</firstname>
          <lastname>Castellani</lastname>
        </person>
        <person key="indes-2014-idp66584">
          <firstname>Bernard</firstname>
          <lastname>Serpette</lastname>
        </person>
      </participants>
      <subsection id="uid28" level="2">
        <bodyTitle>Behavioural Types</bodyTitle>
        <p>The survey paper
https://hal.inria.fr/hal-01213201
presents a state-of-the-art of a recent trend of research on the use of behavioural types for specifying and analysing security properties of communication-centred systems. It is essentially an outcome of the working group on security of the BETTY COST Action, and it offers a unified overview of various proposals that have been put forward in the last few years, both within the BETTY community and outside it, to combine security analysis with behavioural types.</p>
      </subsection>
      <subsection id="uid29" level="2">
        <bodyTitle>Abstract Rewriting Systems</bodyTitle>
        <p>We have formalised, with the Coq system, the beginning of Paul-André Melliès's thesis concerning abstract rewriting systems. Behind the interest of studying rewriting systems, which are the roots of all small step semantics of programming languages, this particular formalisation was attractive since it gives a concrete example where we have to manage dependant types.</p>
        <p>This was done in collaboration with Eduardo Bonelli and Pablo Barenbaum of University of Quilmes, Argentina. The specification and the proofs of this work take 2200 lines of Coq.</p>
      </subsection>
    </subsection>
    <subsection id="uid30" level="1">
      <bodyTitle>Security</bodyTitle>
      <participants>
        <person key="indes-2014-idm26520">
          <firstname>Ilaria</firstname>
          <lastname>Castellani</lastname>
        </person>
        <person key="indes-2015-idp72024">
          <firstname>Francis Doliere</firstname>
          <lastname>Some</lastname>
        </person>
        <person key="indes-2014-idm29016">
          <firstname>Nataliia</firstname>
          <lastname>Bielova</lastname>
        </person>
        <person key="indes-2014-idp66584">
          <firstname>Bernard</firstname>
          <lastname>Serpette</lastname>
        </person>
        <person key="indes-2014-idp65432">
          <firstname>Tamara</firstname>
          <lastname>Rezk</lastname>
          <moreinfo>correspondant</moreinfo>
        </person>
      </participants>
      <subsection id="uid31" level="2">
        <bodyTitle>Hybrid Typing of Secure Information Flow in a JavaScript-like Language</bodyTitle>
        <p>We propose a novel type system for securing
information flow in a core of JavaScript. This core takes into account the
defining features of the language, such as prototypical inheritance, extensible
objects, and constructs that check the existence of object properties.
We design a hybrid version of the proposed type system. This version
infers a set of assertions under which a program can be securely accepted
and instruments it so as to dynamically check whether these assertions
hold. By deferring rejection to runtime, the hybrid version can typecheck
secure programs that purely static type systems cannot accept.</p>
        <p>This work has been published at the 10th International Symposium on Trustworthy Global Computing <ref xlink:href="#indes-2015-bid9" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.</p>
      </subsection>
      <subsection id="uid32" level="2">
        <bodyTitle>Modular Monitor Extensions for Information Flow Security in JavaScript</bodyTitle>
        <p>Client-side JavaScript programs often interact with the web page into which they are included, as well as with the browser itself, through APIs such as the DOM API, the XMLHttpRequest API, and the W3C Geolocation API. Precise reasoning about JavaScript security must therefore take API invocation into account. However, the continuous emergence of new APIs, and the heterogeneity of their forms and features, renders API behavior a moving target that is particularly hard to capture. To tackle this problem, we propose a methodology for modularly extending sound JavaScript information flow monitors with a generic API. Hence, to verify whether an extended monitor complies with the proposed noninterference property, our methodology requires only to prove that the API satisfies a predefined set of conditions. In order to illustrate the practicality of our methodology, we show how an information flow monitor-inlining compiler can take into account the invocation of arbitrary APIs, without changing the code or the proofs of the original compiler. We provide an implementation of such a compiler with an extension for handling a fragment of the DOM Core Level 1 API. Furthermore, our implementation supports the addition of monitor extensions for new APIs at runtime.
This work has been published at the 10th International Symposium on Trustworthy Global Computing <ref xlink:href="#indes-2015-bid10" location="biblio" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"/>.</p>
      </subsection>
      <subsection id="uid33" level="2">
        <bodyTitle>Relaxed Noninterference </bodyTitle>
        <p>We have began a study concerning the use of gradual typing for down casting or declassification for information flow. The particularity of this work is to use a finite state machine to gradually accept the down casting process.</p>
        <p>This work is done with Éric Tanter of University of Santiago de Chile, in the context of the project Conicyt Redes CEV Challenges on Electronic Voting.</p>
      </subsection>
      <subsection id="uid34" level="2">
        <bodyTitle>Hybrid Monitoring of Attacker knowledge</bodyTitle>
        <p>Enforcement of non-interference requires to prove that an attacker's knowledge about the initial state remains the same after observing a programs public output.
We define a powerful hybrid monitoring mechanism which evaluates dynamically the knowledge that is contained in program variables. To get a precise estimate of the knowledge, the monitor statically analyses non-executed branches. We show that our knowledge-based approach can be combined with existing dynamic monitors for non-interference. A distinguishing feature of such a combination is that the combined monitor is provably more powerful than each mechanism taken separately. We demonstrate this by proposing a knowledge-enhanced version of a dynamic monitor based on the no-sensitive-upgrade principle. We show how to use the knowledge computed by our hybrid monitor to quantify information leakage associated to the program output. The monitor and its static analysis has been formalized and proved correct within the Coq proof assistant.</p>
      </subsection>
      <subsection id="uid35" level="2">
        <bodyTitle>A Taxonomy of Information Flow Monitors</bodyTitle>
        <p>We propose a rigorous comparison of information flow monitors with respect to two dimensions: soundness and transparency.</p>
        <p>For soundness, we notice that the standard information flow security definition called <i>Termination-Insensitive Non-interference (TINI)</i> allows the presence of termination channels, however it does not describe whether the termination channel was present in the original program, or it was added by a monitor. We propose a stronger notion of noninterference, that we call <i>Termination-Aware Non-interference (TANI)</i>, that captures this fact, and thus allows us to better evaluate the security guarantees of different monitors. We further investigate TANI, and state its formal relations to other soundness guarantees of information flow monitors. For transparency, we identify different notions from the literature that aim at comparing the behaviour of monitors. We notice that one common notion used in the literature is not adequate since it identifies as better a monitor that accepts insecure executions, and hence may augment the knowledge of the attacker. To discriminate between monitors' behaviours on secure and insecure executions, we factorized two notions that we call true and false transparency. These notions allow us to compare monitors that were deemed to be incomparable in the past.</p>
        <p>We analyse five widely explored information flow monitors: no-sensitive- upgrade (NSU), permissive-upgrade (PU), hybrid monitoring (HM), se- cure multi-execution (SME), and multiple facets (MF).</p>
        <p>This work has been accepted for publication in the International Conference on Principles of Security and Trust (POST 2016).</p>
      </subsection>
      <subsection id="uid36" level="2">
        <bodyTitle>A Study of JavaScript constructs used in Top Alexa Sites</bodyTitle>
        <p>Several works on JavaScript analysis have shown that including remote scripts can introduce severe security implications in the behavior of the whole web application. To deal with different kinds of attacks, a number of research groups are developing automatic tools to analyze JavaScript programs. However, most of these works rely on one assumption: the scripts are written in a subset of JavaScript language meaning that
only certain constructs are used (that are easier to analyse automatically) and
others are omitted (for example, eval is impossible to analyze statically). The goal of the internship was to account for the use of each JavaScript construct in real world programs. To achieve that, we first did a large-scale crawl of the top 10,000 Alexa sites,
collecting both inlined scripts and remote scripts. Second, we established the popularity of remote scripts. Next, we accounted for the occurrence of JavaScript constructs in the collected programs. Finally, we use the occurrence of different constructs as basis to propose a subset of JavaScript language, which covers most of JavaScript programs found in the wild. One can rely on this evidence-based subset of JavaScript in future works on that language.</p>
      </subsection>
    </subsection>
  </resultats>
  <partenariat id="uid37">
    <bodyTitle>Partnerships and Cooperations</bodyTitle>
    <subsection id="uid38" level="1">
      <bodyTitle>National Initiatives</bodyTitle>
      <subsection id="uid39" level="2">
        <bodyTitle>ANR AJACS</bodyTitle>
        <p>The AJACS project (Analyses of JavaScript Applications: Certification
&amp; Security) has been funded by the ANR for 42 months, starting
December 2014. The goal of AJACS project is to provide strong security
and privacy guarantees on the client side for web application scripts.
The Indes members are involved in the tasks WP2 Certified Analyses and
WP3 Security of JavaScript Applications. The partners of this project
include Inria teams Celtique (coordinator), Toccata, and Prosecco.</p>
      </subsection>
      <subsection id="uid40" level="2">
        <bodyTitle>FUI UCF</bodyTitle>
        <p>The 3 years long UCF project aims at developing a reactive Web
platforms for delivering multimedia contents. The partners of the
project are the startups Alterway, OCamlPro, and XWiki, and the
academic research laboratories of University Pierre et Marie Curie and
Denis Diderot.</p>
      </subsection>
    </subsection>
    <subsection id="uid41" level="1">
      <bodyTitle>European Initiatives</bodyTitle>
      <subsection id="uid42" level="2">
        <bodyTitle>FP7 </bodyTitle>
        <subsection id="uid43" level="3">
          <bodyTitle>MEALS</bodyTitle>
          <sanspuceslist>
            <li id="uid44">
              <p noindent="true">Title: Mobility between Europe and Argentina applying Logics to Systems</p>
            </li>
            <li id="uid45">
              <p noindent="true">Program: FP7</p>
            </li>
            <li id="uid46">
              <p noindent="true">Instrument: International Research Staff Exchange Scheme</p>
            </li>
            <li id="uid47">
              <p noindent="true">Duration: October 2011 - September 2015</p>
            </li>
            <li id="uid48">
              <p noindent="true">Coordinator: Pedro D'Argenio</p>
            </li>
            <li id="uid49">
              <p noindent="true">Partners:</p>
              <sanspuceslist>
                <li id="uid50">
                  <p noindent="true">Imperial College of Science, Technology and Medicine (United Kingdom)</p>
                </li>
                <li id="uid51">
                  <p noindent="true">Rheinisch-Westfaelische Technische Hochschule Aachen (Germany)</p>
                </li>
                <li id="uid52">
                  <p noindent="true">Technische Universiteit Eindhoven (Netherlands)</p>
                </li>
                <li id="uid53">
                  <p noindent="true">Technische Universitaet Dresden (Germany)</p>
                </li>
                <li id="uid54">
                  <p noindent="true">University of Leicester (United Kingdom)</p>
                </li>
                <li id="uid55">
                  <p noindent="true">Universitaet Desarlandes (Germany)</p>
                </li>
                <li id="uid56">
                  <p noindent="true">Universidad de Córdoba (Argentina)</p>
                </li>
                <li id="uid57">
                  <p noindent="true">Universidad de Buenos Aires (Argentina)</p>
                </li>
              </sanspuceslist>
            </li>
            <li id="uid58">
              <p noindent="true">Inria contact: Castuscia Palamidessi</p>
            </li>
            <li id="uid59">
              <p noindent="true">Abstract:The MEALS project (Mobility between Europe and Argentina applying
Logics to Systems) goals cover three
aspects of formal methods: specification (of both requirement
properties and system behavior), verification, and synthesis. The
Indes members are involved in the task of Security and Information
Flow Properties (WP3). The partners in this task include University
of Buenos Aires, University of Córdoba, Inria (together with Catuscia
Palamidessi, Kostas Chatzikokolakis, Miguel Andrés) and University of
Twente. The web page of the project can be found at <ref xlink:href="http://www.meals-project.eu" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>www.<allowbreak/>meals-project.<allowbreak/>eu</ref>.</p>
            </li>
          </sanspuceslist>
        </subsection>
        <subsection id="uid60" level="3">
          <bodyTitle>RAPP</bodyTitle>
          <sanspuceslist>
            <li id="uid61">
              <p noindent="true">Program: <ref xlink:href="http://rapp-project.eu" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>rapp-project.<allowbreak/>eu</ref></p>
            </li>
            <li id="uid62">
              <p noindent="true">Title: Robot App Store</p>
            </li>
            <li id="uid63">
              <p noindent="true">Collaborator: Inria Coprin</p>
            </li>
            <li id="uid64">
              <p noindent="true">Abstract: RAPP is a 36 months pan-european FP7 project, started
in December 2013. Hop is used in the development of prototypes of the
Coprin Ang rollator transfer device, for mobility assistance and
activity monitoring.</p>
            </li>
          </sanspuceslist>
        </subsection>
      </subsection>
      <subsection id="uid65" level="2">
        <bodyTitle>Collaborations in European Programs, except FP7 &amp; H2020</bodyTitle>
        <sanspuceslist>
          <li id="uid66">
            <p noindent="true">
              <b>Program: ICT Cost Action IC1201</b>
            </p>
          </li>
          <li id="uid67">
            <p noindent="true">Project acronym: BETTY</p>
          </li>
          <li id="uid68">
            <p noindent="true">Project title: Behavioural Types for Reliable Large-Scale Software Systems</p>
          </li>
          <li id="uid69">
            <p noindent="true">Duration: October 2012 - October 2016</p>
          </li>
          <li id="uid70">
            <p noindent="true">Coordinator: Simon Gay, University of Glasgow</p>
          </li>
          <li id="uid71">
            <p noindent="true">Other partners: Several research groups, belonging to 22 european countries</p>
          </li>
          <li id="uid72">
            <p noindent="true">Abstract: The aim of BETTY is to investigate and promote behavioural type theory as the basis for new foundations, programming languages, and software development methods for communication-intensive distributed systems. Behavioural type theory encompasses concepts such as interfaces, communication protocols, contracts, and choreography.</p>
          </li>
        </sanspuceslist>
        <sanspuceslist>
          <li id="uid73">
            <p noindent="true">
              <b>Program: ICT Cost Action IC1405</b>
            </p>
          </li>
          <li id="uid74">
            <p noindent="true">Project title: Reversible computation - extending horizons of computing</p>
          </li>
          <li id="uid75">
            <p noindent="true">Duration: November 2014 - November 2018</p>
          </li>
          <li id="uid76">
            <p noindent="true">Coordinator: Irek Ulidowski, University of Leicester</p>
          </li>
          <li id="uid77">
            <p noindent="true">Abstract: Reversible computation is an emerging paradigm that extends the standard forwards mode of computation with the ability to execute in reverse. It aims to deliver novel computing devices and software, and to enhance traditional systems. The potential benefits include the design of reversible logic gates and circuits - leading to low-power computing and innovative hardware for green ICT, new conceptual frameworks and language abstractions, and software tools for reliable and recovery-oriented distributed systems.</p>
            <p>This Action is the first European network of excellence aimed at coordinating research on reversible computation.</p>
          </li>
        </sanspuceslist>
      </subsection>
    </subsection>
    <subsection id="uid78" level="1">
      <bodyTitle>International Research Visitors</bodyTitle>
      <subsection id="uid79" level="2">
        <bodyTitle>Visits of International Scientists</bodyTitle>
        <subsection id="uid80" level="3">
          <bodyTitle>Internships</bodyTitle>
          <sanspuceslist>
            <li id="uid81">
              <p noindent="true">Vineet Rajani</p>
              <sanspuceslist>
                <li id="uid82">
                  <p noindent="true">Date: December 2014 - March 2015</p>
                </li>
                <li id="uid83">
                  <p noindent="true">MPI (Germany)</p>
                </li>
              </sanspuceslist>
            </li>
          </sanspuceslist>
          <sanspuceslist>
            <li id="uid84">
              <p noindent="true">Katyal Rohan</p>
              <sanspuceslist>
                <li id="uid85">
                  <p noindent="true">Date: June 2015 - Aug 2015</p>
                </li>
                <li id="uid86">
                  <p noindent="true">Institution: IIIT-D (India)</p>
                </li>
              </sanspuceslist>
            </li>
          </sanspuceslist>
          <sanspuceslist>
            <li id="uid87">
              <p noindent="true">Francis Dolière Some</p>
              <sanspuceslist>
                <li id="uid88">
                  <p noindent="true">Date: July 2015 - Sept 2015</p>
                </li>
                <li id="uid89">
                  <p noindent="true">University of Ouagadougou (Burkina)</p>
                </li>
              </sanspuceslist>
            </li>
          </sanspuceslist>
        </subsection>
      </subsection>
    </subsection>
  </partenariat>
  <diffusion id="uid90">
    <bodyTitle>Dissemination</bodyTitle>
    <subsection id="uid91" level="1">
      <bodyTitle>Promoting Scientific Activities</bodyTitle>
      <subsection id="uid92" level="2">
        <bodyTitle>Scientific events organisation</bodyTitle>
        <subsection id="uid93" level="3">
          <bodyTitle>General chair, scientific chair</bodyTitle>
          <p>Manuel Serrano was the General chair of the 11th ACM Dynamic Language Symposium (DLS'15),
co-located with Splash 2015 (<ref xlink:href="http://2015.splashcon.org/track/dls2015" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>2015.<allowbreak/>splashcon.<allowbreak/>org/<allowbreak/>track/<allowbreak/>dls2015</ref>).
Manuel Serrano was the General chair of 13th Trends In Functional Programming Symposium.
(<ref xlink:href="https://tfp2015.inria.fr/" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>tfp2015.<allowbreak/>inria.<allowbreak/>fr/</ref>).</p>
        </subsection>
        <subsection id="uid94" level="3">
          <bodyTitle>Member of the organizing committees</bodyTitle>
          <p>Nataliia Bielova was a publication chair of International Symposium on Engineering Secure Software and Systems (ESSoS 2015).
Ilaria Castellani co-organised the workshop TRENDS 2015, affiliated with the CONCUR 2015 conference which took place in Madrid at the beginning of September.</p>
        </subsection>
      </subsection>
      <subsection id="uid95" level="2">
        <bodyTitle>Scientific events selection</bodyTitle>
        <subsection id="uid96" level="3">
          <bodyTitle>Member of the conference program committees</bodyTitle>
          <simplelist>
            <li id="uid97">
              <p noindent="true">Ilaria Castellani served on the programme committee member of the conferences CONCUR 2015, TGC 2015, TTCS 2015 and ICTAC 2015.</p>
            </li>
            <li id="uid98">
              <p noindent="true">Tamara Rezk served on the programme committee member of the conferences ESSOS 2015, CSF 2015, POST 2015, PLAS 2015.</p>
            </li>
            <li id="uid99">
              <p noindent="true">Manuel Serrano served on the program committee of the
20th ACM ICFP'15.</p>
            </li>
          </simplelist>
        </subsection>
      </subsection>
    </subsection>
    <subsection id="uid100" level="1">
      <bodyTitle>Teaching - Supervision - Juries</bodyTitle>
      <subsection id="uid101" level="2">
        <bodyTitle>Teaching</bodyTitle>
        <sanspuceslist>
          <li id="uid102">
            <p noindent="true">Master : Nataliia Bielova, Information Flow Security in Web Applications, 15 ETD, University of Pierre et Marie Curie, France</p>
          </li>
          <li id="uid103">
            <p noindent="true">Doctorat : Ilaria Castellani, Behavioral Types, 15H ETD, University of Florence, Italy</p>
          </li>
          <li id="uid104">
            <p noindent="true">Licence : Vincent Prunet, Algorithms and Data Structures, 80 ETD, L2, Lycée International de Valbonne Sophia Antipolis (within the scope of the national Inria action to promote early CS courses in all scientific curricula), France</p>
          </li>
          <li id="uid105">
            <p noindent="true">Master : Tamara Rezk, Web Application Security, 28H ETD, University of Nice Sophia Antipolis, France</p>
          </li>
          <li id="uid106">
            <p noindent="true">Master : Tamara Rezk, Proofs of Cryptography, 28H ETD, University of Nice Sophia Antipolis, France</p>
          </li>
          <li id="uid107">
            <p noindent="true">Master : Tamara Rezk, Information Flow Security in Web Applications, 15 ETD, University of Pierre et Marie Curie, France</p>
          </li>
          <li id="uid108">
            <p noindent="true">Master: Bernard Serpette, From Lambda-calculus and Pi-calculus to an Abstract Distributed Machine, 24H ETD,
Escuela de Verano de Ciencias Informàticas, Rio Cuarto, Argentina</p>
          </li>
          <li id="uid109">
            <p noindent="true">Master:
Manuel Serrano, Programming the Diffuse Web, 4,5h ETD, Ecole
Normale Supérieure de Cachan, France</p>
          </li>
        </sanspuceslist>
      </subsection>
      <subsection id="uid110" level="2">
        <bodyTitle>Supervision</bodyTitle>
        <sanspuceslist>
          <li id="uid111">
            <p noindent="true">PhD : Johan Grande, Conception and Implementation of a modular concurrent programming language, University of Nice Sophia Antipolis, September 2015, Manuel Serrano and Gérard Boudol</p>
          </li>
          <li id="uid112">
            <p noindent="true">PhD in progress: Yoann Couillec, Langages de programmation et données ouvertes, University of Nice Sophia Antipolis, 1/10/2012, Manuel Serrano</p>
          </li>
          <li id="uid113">
            <p noindent="true">PhD in progress : Francis Doliére Some, Web Tracking Prevention, November 2015, Nataliia Bielova and Tamara Rezk</p>
          </li>
          <li id="uid114">
            <p noindent="true">PhD in progress : Colin Vidal, HipHop, September 2015, Manuel Serrano and Gérard Berry</p>
          </li>
          <li id="uid115">
            <p noindent="true">PFE master 2: Julien Chiramello, Décomposition en nombres premiers en informatique quantique, Tamara Rezk and Benjamin Grégoire</p>
          </li>
        </sanspuceslist>
      </subsection>
      <subsection id="uid116" level="2">
        <bodyTitle>Juries</bodyTitle>
        <sanspuceslist>
          <li id="uid117">
            <p noindent="true">Ilaria Castellani was a member of the “Comité de sélection” for a position of Maître de conférences at the University of Paris-Est Créteil (Paris 12).</p>
          </li>
          <li id="uid118">
            <p noindent="true">Ilaria Castellani was an examiner of the PhD thesis of Ioana Cristescu, Université Paris-Diderot (Paris 7).</p>
          </li>
          <li id="uid119">
            <p noindent="true">Tamara Rezk was an examiner of the PhD thesis of Marco Patrignani, KU Leuven University.</p>
          </li>
          <li id="uid120">
            <p noindent="true">Manuel Serrano was a member of a "comité de sélection" of UPMC (Paris 6).</p>
          </li>
        </sanspuceslist>
      </subsection>
    </subsection>
    <subsection id="uid121" level="1">
      <bodyTitle>Transfer</bodyTitle>
      <subsection id="uid122" level="2">
        <bodyTitle>Price discrimination in e-commerce</bodyTitle>
        <p>In 2014, we started acollaborative project with Thomas Vissers, Wouter Joosen (KULeuven, Belgium) and Nick Nikiforakis (Stony Brook University, USA). The goal of this project is to analyse the price discrimination in e-commerce, and more precisely in the online airline tickets websites. This work (published at HotPETs 2014) has achieved a strong impact on the general public and society at large – its scientific results has been disseminated via the popular science French magazine “Science et vie” No. 1177, in the article called “<i>Achat sur Internet – Des prix á la tête du client!</i>”.</p>
      </subsection>
      <subsection id="uid123" level="2">
        <bodyTitle>WebRobotics</bodyTitle>
        <p>The WebRobotics initiative aims at developing collaborations with partner academic and industry teams to jointly prototype and experiment end user applications involving assistive robots and sensor devices (depending on the size and number of the embedded components, applications may be either classified as robotic or IoT ones). Each WebRobotics project is structured around partner medical institutions that provide key requirements to specifications and use the actual prototype throughout their daily activity. WebRobotics Applications all use Hop.js as their core framework, natively supporting web protocols for communication and distribution of tasks, and any web enabled device such as a smartphone or tablet to drive the robots and applications. In 2015, The initiative accounted to two full time engineers.</p>
        <p>The Top Three Benefits of WebRobotics:</p>
        <simplelist>
          <li id="uid124">
            <p noindent="true">WebRobotics focuses on key societal issues, developing real applications for demanding users.</p>
          </li>
          <li id="uid125">
            <p noindent="true">Application developers and users feedback to Hop.js framework developers, helping identify and prioritize key requirements.</p>
          </li>
          <li id="uid126">
            <p noindent="true">The WebRobotics application portfolio fosters the dissemination and transfer of the Hop.js technology to the Industry.</p>
          </li>
        </simplelist>
        <p>The WebRobotics initiative now encompasses several prototypes in use by medical foundations and hospitals.</p>
        <simplelist>
          <li id="uid127">
            <p noindent="true">RAPP. The WebRobotics project is now part of the RAPP FP7 european project, launched in December 2013, where Hop.js technology is used by several academic and SME R&amp;D teams to develop a distributed software platform and applications for assistive robotics. Two prototypes are being developed, the first one is a personal coach robot (a Nao humanoid robot embedding Hop.js distributed applications), and the second one is a smart rollator (a walking aid with additional hardware and software services for rehabilitation, training and activity monitoring. The rollator hardware and robotic components are provided by Inria Hephaistos). Both prototypes are being evaluated by partner medical institutions. Indes contribution to the project is supported by the EC grant and by an Inria self funded ADT (Technology Development Program).</p>
          </li>
          <li id="uid128">
            <p noindent="true">Hopcare. Indes collaborates with other research teams (Inria STARS, Nice University Cobtek Project) and local institutes and SMEs to foster the development
distributed monitoring and supervision applications with the Hop.js technology. An expert engineer is dedicated to this project (grant from UCN@Sophia Labex, since may 2015).</p>
            <simplelist>
              <li id="uid129">
                <p noindent="true">ICP (Institut Claude Pompidou Hospital, in Nice) is now using the Alzheimer diagnosis tool developed using Hop.js. User Data generated from Inria/Stars sensors and image analysis software are
collected by a Hop.js server and processed before being delivered to the Physician's web tablet, as an editable web report, or paper ready PDF reports.</p>
              </li>
              <li id="uid130">
                <p noindent="true">The activity monitoring application enables real-time monitoring of various events generated by hardware/software monitoring tools (such as the video monitoring applications from Inria/Stars) as
well as user defined events. Hop.js is the common framework for the whole application (communications with remote information servers, processing of input data, database management, user authentication
and authorization, custom views for web clients). The application will soon be deployed at the Nice Valrose EHPAD (a specialized institution for elderly who need medical care), where Inria runs an
experimentation lab.</p>
              </li>
              <li id="uid131">
                <p noindent="true">A third application has been developed to enable the configuration and use of Inria/Stars video analysis tools through a web interface. The application is used by researchers to tune their data
processing algorithms.</p>
              </li>
            </simplelist>
          </li>
        </simplelist>
      </subsection>
    </subsection>
  </diffusion>
  <biblio id="bibliography" html="bibliography" numero="10" titre="Bibliography">
    
    <biblStruct id="indes-2015-bid3" type="inproceedings" rend="refer" n="refercite:BRRS07">
      <analytic>
        <title level="a">Security of Multithreaded Programs by Compilation</title>
        <author>
          <persName>
            <foreName>G.</foreName>
            <surname>Barthe</surname>
            <initial>G.</initial>
          </persName>
          <persName key="indes-2014-idp65432">
            <foreName>T.</foreName>
            <surname>Rezk</surname>
            <initial>T.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Russo</surname>
            <initial>A.</initial>
          </persName>
          <persName>
            <foreName>A.</foreName>
            <surname>Sabelfeld</surname>
            <initial>A.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">ESORICS</title>
        <imprint>
          <dateStruct>
            <year>2007</year>
          </dateStruct>
          <biblScope type="pages">2-18</biblScope>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid2" type="article" rend="refer" n="refercite:BouCas02">
      <analytic>
        <title level="a">Noninterference for Concurrent Programs and Thread Systems</title>
        <author>
          <persName key="indes-2014-idm27776">
            <foreName>G.</foreName>
            <surname>Boudol</surname>
            <initial>G.</initial>
          </persName>
          <persName key="indes-2014-idm26520">
            <foreName>I.</foreName>
            <surname>Castellani</surname>
            <initial>I.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="j">Theoretical Computer Science</title>
        <imprint>
          <biblScope type="volume">281</biblScope>
          <biblScope type="number">1</biblScope>
          <dateStruct>
            <year>2002</year>
          </dateStruct>
          <biblScope type="pages">109-130</biblScope>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid14" type="article" rend="refer" n="refercite:blrs:toplas12">
      <analytic>
        <title level="a">Reasoning about Web Applications: An Operational Semantics for HOP</title>
        <author>
          <persName key="indes-2014-idm27776">
            <foreName>G.</foreName>
            <surname>Boudol</surname>
            <initial>G.</initial>
          </persName>
          <persName>
            <foreName>Z.</foreName>
            <surname>Luo</surname>
            <initial>Z.</initial>
          </persName>
          <persName key="indes-2014-idp65432">
            <foreName>T.</foreName>
            <surname>Rezk</surname>
            <initial>T.</initial>
          </persName>
          <persName key="indes-2014-idm30496">
            <foreName>M.</foreName>
            <surname>Serrano</surname>
            <initial>M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes">
        <title level="j">ACM Transactions on Programming Languages and Systems (TOPLAS)</title>
        <imprint>
          <biblScope type="volume">34</biblScope>
          <biblScope type="number">2</biblScope>
          <dateStruct>
            <year>2012</year>
          </dateStruct>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid4" type="inproceedings" rend="refer" n="refercite:conf:popl08">
      <analytic>
        <title level="a">Cryptographically sound implementations for typed information-flow security</title>
        <author>
          <persName>
            <foreName>C.</foreName>
            <surname>Fournet</surname>
            <initial>C.</initial>
          </persName>
          <persName key="indes-2014-idp65432">
            <foreName>T.</foreName>
            <surname>Rezk</surname>
            <initial>T.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, California, USA, January 7-12, 2008</title>
        <imprint>
          <dateStruct>
            <year>2008</year>
          </dateStruct>
          <biblScope type="pages">323-335</biblScope>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid5" type="article" rend="refer" n="refercite:sb:cacm12">
      <identifiant type="doi" value="10.1145/2240236.2240253"/>
      <analytic>
        <title level="a">Multitier Programming in Hop - A first step toward programming 21st-century applications</title>
        <author>
          <persName key="indes-2014-idm30496">
            <foreName>M.</foreName>
            <surname>Serrano</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>G.</foreName>
            <surname>Berry</surname>
            <initial>G.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="yes" x-editorial-board="yes" x-international-audience="yes">
        <title level="j">Communications of the ACM</title>
        <imprint>
          <biblScope type="volume">55</biblScope>
          <biblScope type="number">8</biblScope>
          <dateStruct>
            <month>August</month>
            <year>2012</year>
          </dateStruct>
          <biblScope type="pages">53–59</biblScope>
          <ref xlink:href="http://cacm.acm.org/magazines/2012/8/153796-multitier-programming-in-hop/abstract" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://<allowbreak/>cacm.<allowbreak/>acm.<allowbreak/>org/<allowbreak/>magazines/<allowbreak/>2012/<allowbreak/>8/<allowbreak/>153796-multitier-programming-in-hop/<allowbreak/>abstract</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid0" type="inproceedings" rend="refer" n="refercite:hop-refer">
      <analytic>
        <title level="a">HOP, a language for programming the Web 2.0</title>
        <author>
          <persName key="indes-2014-idm30496">
            <foreName>M.</foreName>
            <surname>Serrano</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>E.</foreName>
            <surname>Gallesio</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>F.</foreName>
            <surname>Loitsch</surname>
            <initial>F.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="m">Proceedings of the First Dynamic Languages Symposium</title>
        <loc>Portland, Oregon, USA</loc>
        <imprint>
          <dateStruct>
            <month>October</month>
            <year>2006</year>
          </dateStruct>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid1" type="article" rend="refer" n="refercite:bigloo-refer">
      <analytic>
        <title level="a">Bee: an Integrated Development Environment for the Scheme Programming Language</title>
        <author>
          <persName key="indes-2014-idm30496">
            <foreName>M.</foreName>
            <surname>Serrano</surname>
            <initial>M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr>
        <title level="j">Journal of Functional Programming</title>
        <imprint>
          <biblScope type="volume">10</biblScope>
          <biblScope type="number">2</biblScope>
          <dateStruct>
            <month>May</month>
            <year>2000</year>
          </dateStruct>
          <biblScope type="pages">1–43</biblScope>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid8" type="phdthesis" rend="year" n="cite:grande:tel-01246636">
      <identifiant type="hal" value="tel-01246636"/>
      <monogr>
        <title level="m">Conception et implémentation d’un langage de programmation concurrente modulaire</title>
        <author>
          <persName key="indes-2014-idp75264">
            <foreName>Johan</foreName>
            <surname>Grande</surname>
            <initial>J.</initial>
          </persName>
        </author>
        <imprint>
          <publisher>
            <orgName type="school">Université Nice Sophia Antipolis</orgName>
          </publisher>
          <dateStruct>
            <month>September</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/tel-01246636" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>tel-01246636</ref>
        </imprint>
      </monogr>
      <note type="typdoc">Theses</note>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid13" type="article" rend="year" n="cite:capecchi:hal-01237236">
      <identifiant type="doi" value="10.1017/S0960129514000619"/>
      <identifiant type="hal" value="hal-01237236"/>
      <analytic>
        <title level="a">Information Flow Safety in Multiparty Sessions</title>
        <author>
          <persName>
            <foreName>Sara</foreName>
            <surname>Capecchi</surname>
            <initial>S.</initial>
          </persName>
          <persName key="indes-2014-idm26520">
            <foreName>Ilaria</foreName>
            <surname>Castellani</surname>
            <initial>I.</initial>
          </persName>
          <persName>
            <foreName>Mariangiola</foreName>
            <surname>Dezani-Ciancaglini</surname>
            <initial>M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-editorial-board="yes" x-international-audience="yes" id="rid01396">
        <idno type="issn">0960-1295</idno>
        <title level="j">Mathematical Structures in Computer Science</title>
        <imprint>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">43</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01237236" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01237236</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid11" type="incollection" rend="year" n="cite:iturburu:hal-01145219">
      <identifiant type="doi" value="10.1007/978-3-319-15847-1_11"/>
      <identifiant type="hal" value="hal-01145219"/>
      <analytic>
        <title level="a">User Needs and Requirements for the Mobility Assistance and Activity Monitoring Scenario within the RAPP Project</title>
        <author>
          <persName>
            <foreName>Miren</foreName>
            <surname>Iturburu</surname>
            <initial>M.</initial>
          </persName>
          <persName>
            <foreName>Eneko</foreName>
            <surname>Goiburu</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>Javier</foreName>
            <surname>Yanguas</surname>
            <initial>J.</initial>
          </persName>
          <persName>
            <foreName>Edurne</foreName>
            <surname>Andueza</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>Elia</foreName>
            <surname>Corral</surname>
            <initial>E.</initial>
          </persName>
          <persName>
            <foreName>Cristina</foreName>
            <surname>Alderete</surname>
            <initial>C.</initial>
          </persName>
          <persName>
            <foreName>Ana</foreName>
            <surname>Orbegozo</surname>
            <initial>A.</initial>
          </persName>
          <persName key="phoenix-2014-idp104728">
            <foreName>David</foreName>
            <surname>Daney</surname>
            <initial>D.</initial>
          </persName>
          <persName key="indes-2014-idp67824">
            <foreName>Vincent</foreName>
            <surname>Prunet</surname>
            <initial>V.</initial>
          </persName>
          <persName key="hephaistos-2014-idm28432">
            <foreName>Jean-Pierre</foreName>
            <surname>Merlet</surname>
            <initial>J.-P.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no">
        <editor role="editor">
          <persName>
            <foreName>Roman</foreName>
            <surname>Szewczyk</surname>
            <initial>R.</initial>
          </persName>
          <persName>
            <foreName>Cezary</foreName>
            <surname>Zieliński</surname>
            <initial>C.</initial>
          </persName>
          <persName>
            <foreName>Małgorzata</foreName>
            <surname>Kaliczyńska</surname>
            <initial>M.</initial>
          </persName>
        </editor>
        <title level="m">Progress in Automation, Robotics and Measuring Techniques</title>
        <imprint>
          <biblScope type="volume">351</biblScope>
          <publisher>
            <orgName>Springer International Publishing</orgName>
          </publisher>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">105-117</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01145219" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01145219</ref>
        </imprint>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid6" type="inproceedings" rend="year" n="cite:couillec:hal-01246628">
      <identifiant type="hal" value="hal-01246628"/>
      <analytic>
        <title level="a">Requesting Heterogeneous Data Sourceswith Array Comprehensions in Hop.js</title>
        <author>
          <persName key="indes-2014-idp74048">
            <foreName>Yoann</foreName>
            <surname>Couillec</surname>
            <initial>Y.</initial>
          </persName>
          <persName key="indes-2014-idm30496">
            <foreName>Manuel</foreName>
            <surname>Serrano</surname>
            <initial>M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">15th Symposium on Database Programming Languages</title>
        <loc>Pittsburgh, United States</loc>
        <imprint>
          <publisher>
            <orgName type="organisation">ACM</orgName>
          </publisher>
          <dateStruct>
            <month>October</month>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">4</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01246628" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01246628</ref>
        </imprint>
        <meeting id="cid313482">
          <title>International Symposium on Database Programming Languages</title>
          <num>15</num>
          <abbr type="sigle">DBPL</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid9" type="inproceedings" rend="year" n="cite:fragososantos:hal-01243029">
      <identifiant type="hal" value="hal-01243029"/>
      <analytic>
        <title level="a">Hybrid Typing of Secure Information Flow in a JavaScript-like Language</title>
        <author>
          <persName key="indes-2014-idp77728">
            <foreName>José</foreName>
            <surname>Fragoso Santos</surname>
            <initial>J.</initial>
          </persName>
          <persName key="celtique-2014-idm27832">
            <foreName>Thomas</foreName>
            <surname>Jensen</surname>
            <initial>T.</initial>
          </persName>
          <persName key="indes-2014-idp65432">
            <foreName>Tamara</foreName>
            <surname>Rezk</surname>
            <initial>T.</initial>
          </persName>
          <persName key="celtique-2014-idm25128">
            <foreName>Alan</foreName>
            <surname>Schmitt</surname>
            <initial>A.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">10th International Symposium on Trustworthy Global Computing (TGC 2015)</title>
        <loc>Madrid, Spain</loc>
        <imprint>
          <dateStruct>
            <month>August</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01243029" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01243029</ref>
        </imprint>
        <meeting id="cid319121">
          <title>International Symposium on Trustworthy Global Computing</title>
          <num>10</num>
          <abbr type="sigle">TGC</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid10" type="inproceedings" rend="year" n="cite:fragososantos:hal-01247123">
      <identifiant type="hal" value="hal-01247123"/>
      <analytic>
        <title level="a">Modular Monitor Extensions for Information Flow Security in JavaScript</title>
        <author>
          <persName key="indes-2014-idp77728">
            <foreName>José</foreName>
            <surname>Fragoso Santos</surname>
            <initial>J.</initial>
          </persName>
          <persName key="indes-2014-idp65432">
            <foreName>Tamara</foreName>
            <surname>Rezk</surname>
            <initial>T.</initial>
          </persName>
          <persName>
            <foreName>Ana</foreName>
            <surname>Almeida Matos</surname>
            <initial>A.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">Trustworthy Global Computing</title>
        <loc>Madrid, Spain</loc>
        <imprint>
          <dateStruct>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.archives-ouvertes.fr/hal-01247123" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>archives-ouvertes.<allowbreak/>fr/<allowbreak/>hal-01247123</ref>
        </imprint>
        <meeting id="cid319121">
          <title>International Symposium on Trustworthy Global Computing</title>
          <num>3</num>
          <abbr type="sigle">TGC</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid7" type="inproceedings" rend="year" n="cite:grande:hal-01246618">
      <identifiant type="doi" value="10.1145/2790449.2790523"/>
      <identifiant type="hal" value="hal-01246618"/>
      <analytic>
        <title level="a">Jthread, a deadlock-free mutex library</title>
        <author>
          <persName key="indes-2014-idp75264">
            <foreName>Johan</foreName>
            <surname>Grande</surname>
            <initial>J.</initial>
          </persName>
          <persName key="indes-2014-idm27776">
            <foreName>Gérard</foreName>
            <surname>Boudol</surname>
            <initial>G.</initial>
          </persName>
          <persName key="indes-2014-idm30496">
            <foreName>Manuel</foreName>
            <surname>Serrano</surname>
            <initial>M.</initial>
          </persName>
        </author>
      </analytic>
      <monogr x-scientific-popularization="no" x-international-audience="yes" x-proceedings="yes" x-invited-conference="no" x-editorial-board="yes">
        <title level="m">17th International Symposium on Principles and Practice of Declarative Programming</title>
        <loc>Sienne, Italy</loc>
        <imprint>
          <dateStruct>
            <month>July</month>
            <year>2015</year>
          </dateStruct>
          <biblScope type="pages">12</biblScope>
          <ref xlink:href="https://hal.inria.fr/hal-01246618" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01246618</ref>
        </imprint>
        <meeting id="cid22164">
          <title>ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming</title>
          <num>17</num>
          <abbr type="sigle">PPDP</abbr>
        </meeting>
      </monogr>
    </biblStruct>
    
    <biblStruct id="indes-2015-bid12" type="techreport" rend="year" n="cite:serpette:hal-01226760">
      <identifiant type="hal" value="hal-01226760"/>
      <monogr>
        <title level="m">Using counters for absence prediction in Esterel</title>
        <author>
          <persName key="indes-2014-idp66584">
            <foreName>Bernard Paul</foreName>
            <surname>Serpette</surname>
            <initial>B. P.</initial>
          </persName>
        </author>
        <imprint>
          <publisher>
            <orgName type="institution">Inria Sophia Antipolis - Méditerranée</orgName>
          </publisher>
          <dateStruct>
            <month>June</month>
            <year>2015</year>
          </dateStruct>
          <ref xlink:href="https://hal.inria.fr/hal-01226760" location="extern" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">https://<allowbreak/>hal.<allowbreak/>inria.<allowbreak/>fr/<allowbreak/>hal-01226760</ref>
        </imprint>
      </monogr>
      <note type="typdoc">Research Report</note>
    </biblStruct>
  </biblio>
</raweb>
