papers.xml 14.5 KB
Newer Older
1
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
2
<page name="papers" new="">
3

4
<title>Papers and talks</title>
5

6
7
<left>
<p>This page presents Papers and Talks about CDuce.</p>
8
<boxes-toc sections=""/>
9
<p>See also:</p>
10
<local-links href="index,proto,documentation"/>
11
</left>
12
13
14
15
16

<box title="Papers" link="papers">
<section title="Language Description">
<ul>

17
18
<li>
<paper file="papers/cduce-design.ps.gz">
19
 <title>CDuce: An XML-Centric General-Purpose Language</title>
20
21
22
23
 <author>V. Benzaken</author>
 <author>G. Castagna</author>
 <author>A. Frisch</author>
 <comment>
24
   Proceedings of the <i>ACM International Conference on Functional Programming</i>, 2003.
25
26
 </comment>

27
 <abstract> <p> We present the functional language
28
CDuce, discuss some design issues, and show its adequacy
29
for working with XML documents.  Distinctive features of
30
CDuce are a powerful pattern matching, first class
31
32
functions, overloaded functions, a very rich type system
(arrows, sequences, pairs, records, intersections, unions,
33
differences), precise type inference for patterns and error localization,
34
and a natural interpretation of types as sets of values.  We
35
also outline some important implementation issues; in
36
37
38
39
40
41
42
particular, a dispatch algorithm that demonstrates how
static type information can be used to obtain very efficient
compilation schemas.
 </p> </abstract>
</paper>
</li>

43
<li>
44
<paper old="" file="papers/cduce-wp.ps.gz">
45
46
47
48
49
 <title>CDuce: a white paper</title>
 <author>V. Benzaken</author>
 <author>G. Castagna</author>
 <author>A. Frisch</author>
 <comment>
50
   Workshop
51
52
53
   <i>PLAN-X: Programming Language Technologies for XML</i>
   Pittsburgh PA, Oct. 2002.
 </comment>
54
<abstract><p>
55
Superseded by the previous paper
56
</p>
57
</abstract>
58
59
60
61
62
</paper>
</li>
</ul>
</section>

63
<section title="Theoretic Foundations">
64
<ul>
65
66
67
68
69
<li>
<paper file="papers/gentle.ps.gz">
 <title>A Gentle Introduction to Semantic Subtyping</title>
 <author>G. Castagna</author>
 <author>A. Frisch</author>
70
71
 <comment> Second workshop on Programmable Structured Documents
 (Hakone). </comment>
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

 <abstract> <p> Subtyping relations are usually defined either syntactically
   by a formal system or semantically by an interpretation of types into an
   untyped denotational model. In this work we show step by step how to
   define a subtyping relation semantically in the presence of functional
   types and dynamic dispatch on types, without the complexity of
   denotational models, and how to derive a complete subtyping algorithm.
   </p> <p> 
   The presentation is voluntarily kept informal and discursive and
   the technical details are reduced to a minimum since we rather insist on
   the motivations, the intuition, and the guidelines to apply the approach,
   the technical details being already published in the paper below.
 </p> </abstract>
</paper>
</li>
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

<li>
<paper file="papers/lics02.ps.gz">
 <title>Semantic subtyping</title>
 <author>A. Frisch</author>
 <author>G. Castagna</author>
 <author>V. Benzaken</author>
 <comment> In <i>LICS 2002</i>. </comment>

 <abstract> <p> Usually subtyping relations are defined either
 syntactically by a formal system or semantically by an interpretation
 of types in an untyped denotational model. In this work we show how
 to define a subtyping relation semantically, for a language whose
 <i>operational</i> semantics is <i>driven by types</i>; we consider a
 rich type algebra, with product, arrow, recursive, intersection,
 union and complement types. Our approach is to "bootstrap" the
 subtyping relation through a notion of set-theoretic model <i>of the
 type algebra</i>.  </p>

 <p> The advantages of the semantic approach are manifold. Foremost we
 get "for free" many properties (e.g., the transitivity of subtyping)
 that, with axiomatized subtyping, would require tedious and error
 prone proofs. Equally important is that the semantic approach allows
 one to <i>derive</i> complete algorithms for the subtyping relation
 or the propagation of types through patterns.  As the subtyping
 relation has a natural (inasmuch as semantic) interpretation, the
 type system can give informative error messages when static
 type-checking fails. Last but not least the approach has an immediate
 impact in the definition <i>and the implementation</i> of languages
 manipulating XML documents, as this was our original motivation.
 </p> </abstract>
</paper>
</li>

121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<li>
<paper file="papers/semantic_pi.pdf">
 <title>Semantic subtyping for the pi-calculus</title>
  <author>G. Castagna</author>
 <author>R. De Nicola</author>
 <author>D. Varacca</author>
 <comment>  <i>Unpublished manuscript</i>. </comment>

 <abstract> <p>
   Subtyping relations for the pi-calculus are usually  defined in a
syntactic way, by means of  structural rules.  We propose a semantic
characterisation of channel  types and use it to  derive a subtyping
relation.   The  type  system  we consider  includes  read-only  and
write-only channel types, product types, recursive types, as well as
unions, intersections, and negations  of types which are interpreted
as  the  corresponding   set-theoretic  operations.   We  prove  the
decidability  of  the  subtyping  relation,  formally  describe  the
subtyping  algorithm,  and use  the  techniques  developped for  the
decidability of  subtyping to prove  the decidability of  the typing
relation.
</p><p>
In order to fully exploit  the expressiveness of the new type system
(which  subsumes several  existing ones),  we endow  the pi-calculus
with structured channels where communication is subjected to pattern
matching that performs dynamic  typecase.  This paves the way toward
a novel integration of  functional and concurrent features, obtained
by combining  the pi-calculus  with CDuce, a  functional programming
language for XML manipulation that is based on semantic subtyping.
</p>
</abstract>
</paper>
</li>


155
156
157
158
159
160
161
162
<li>
<paper file="papers/itrs02.ps.gz">
 <title>The Relevance of Semantic Subtyping</title>
 <author>M. Dezani-Ciancaglini</author>
 <author>A. Frisch</author>
 <author>E. Giovannetti</author>
 <author>Y. Motohama</author>
 <comment>
163
   In <i>Intersection Types and Related Systems</i> Electronic Notes in Theoretical Computer Science 70 No.1 (2002).
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
 </comment>
 
 <abstract> <p> We compare Meyer and Routley's minimal relevant logic
 B+ with the recent semantics-based approach to subtyping introduced
 by Frisch, Castagna and Benzaken in the definition of a type system
 with intersection and union.  We show that - for the functional core
 of the system - such notion of subtyping, which is defined in purely
 set-theoretical terms, coincides with the relevant entailment of the
 logic B+.  </p> </abstract>
</paper>
</li>

<li>
<paper file="papers/dea.ps.gz">
 <title>Types récursifs, combinaisons booléennes et fonctions
surchargées: application au typage de XML</title>
 <author>A. Frisch</author>
 <comment>In french. Mémoire du DEA « Programmation: Sémantique,
  Preuves et Langages » (Paris VII) </comment>
 
 <abstract> <p> Nous étudions un lambda-calcul typé avec une opération
 de filtrage qui permet d'exprimer des fonctions
 surchargées. L'algèbre de types a des types de base, les types
 produit et flèche, les types récursifs, les combinaisons booléennes
 finies arbitraires.  Nous considérons une notion de sous-typage
 sémantique, issue de l'interprétation des types comme ensembles de
 valeurs du langage.  </p>

 <p> Les caractéristiques présentes dans le calcul et l'algèbre de
 types sont motivées par l'utilisation du calcul comme un noyau pour
 un langage adapté à la manipulation de documents XML.  </p>

 <p> Nous utilisons une approche sémantique pour étudier l'algèbre de
 types, tout en conservant une preuve syntaxique de préservation du
 typage par réduction. </p> </abstract>
</paper>
</li>
</ul>
</section>

204
205
206
207
<section title="Implementation algorithms">

<ul>
<li>
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<paper file="http://www.cduce.org/papers/tcs04.pdf">
 <title>Regular tree language recognition with static information</title>
 <author>A. Frisch</author>
 <comment> In <i>TCS 2004</i> (Toulouse).</comment>

 <abstract><p>
This paper presents our compilation strategy to produce
efficient code for pattern matching in the CDuce compiler, taking into
account static information provided by the type system.  
 </p>
 </abstract>
</paper>
</li>
</ul>

<ul>
<li>
<paper file="http://www.cduce.org/papers/icalp04.pdf">
 <title>Greedy regular expression matching</title>
 <author>A. Frisch</author>
 <author>L. Cardelli</author>
 <comment> In <i>ICALP 2004</i> (Turku). </comment>

 <abstract><p>This paper studies the problem of matching sequences against regular
expressions in order to produce structured values.
 </p></abstract>
</paper>
</li>
</ul>

<ul>
<li>
<paper old="" file="papers/reg.pdf">
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
 <title>Regular tree language recognition with static information</title>
 <author>A. Frisch</author>
 <comment> In <i>PLAN-X 2004</i>. </comment>

 <abstract><p>
  This paper presents our compilation strategy to produce
efficient code for pattern matching in the CDuce compiler, taking into
account static information provided by the type system.  Indeed, this
information allows in many cases to compute the result (that is, to
decide which branch to consider) by looking only at a small fragment
of the tree.  Formally, we introduce a new kind of deterministic tree
automata that can efficiently recognize regular tree languages with
static information about the trees and we propose a compilation
algorithm to produce these automata.
 </p>
 </abstract>
</paper>
</li>
</ul>

<ul>
<li>
263
<paper old="" file="papers/greedy.pdf">
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
 <title>Greedy regular expression matching</title>
 <author>A. Frisch</author>
 <author>L. Cardelli</author>
 <comment> In <i>PLAN-X 2004</i>. </comment>

 <abstract><p>This paper studies the problem of matching sequences against regular
expressions in order to produce structured values.  More specifically,
we formalize in an abstract way a greedy disambiguation policy and
propose efficient matching algorithms.  We also formalize and address 
a folklore problem of non-termination in naive 
implementations of the greedy semantics.</p>

<p>
Regular expression types and patterns have been introduced in the
setting of XML-oriented functional languages.  Traditionnaly, all the XML
values and sequences share a common uniform runtime representation.
Our work suggests an alternative implementation technique, where
regular expression types define not only a set of abstract
flat sequences, but also a custom structured representation
for such values. This paves the way to a variety of language designs
and implementations to integrate XML structural types 
in existing languages (class-based OO languages, imperative features,
constrained runtime environment, ..).
 </p></abstract>
</paper>
</li>
</ul>

</section>

294
295
296
297
298
299
300
<section title="Security">

<ul>
<li>
<paper file="papers/sec.ps.gz">
 <title>Security analysis for XML transformations</title>
 <author>V. Benzaken</author>
301
 <author>M. Burelle</author>
302
 <author>G. Castagna</author>
303
 <comment> In <i>Asian '03</i>, LNCS, 2003.</comment>
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323

 <abstract> <p> In this article we give a formal definition of
 information flows in the context of XML transformations and, more
 generally, in the presence of type dependent computations. We
 formalize a sound technique to detect XML document transformations
 that may leak private or confidential information. By defining
 security annotations and by relating various kind of analyses to
 different query scenarios, we also establish a general framework for
 checking middleware-located information flows.  </p> </abstract>
</paper>
</li>
</ul>
</section>

</box>


<box title="Slides" link="slides">
<ul>

324
<li>
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
<slides file="slides/cduce_psd.pdf">
  <title>CDuce</title>
  <author>A. Frisch</author>
  <author>G. Castagna</author>
  <author>V. Benzaken</author>  
  <comment>Slides of the presentation given at the second PSD
  Workshop (Feb. 2004)</comment>
</slides>
</li>  

<li>
<slides file="slides/ocamlcduce_psd.pdf">
  <title>Interfacing CDuce and OCaml</title>
  <author>G. Castagna</author>
  <author>J. Demouth</author>
  <author>A. Frisch</author>
  <comment>Slides of the presentation given at the second PSD
  Workshop (Feb. 2004)</comment>
</slides>
</li>  

<li>
347
348
349
350
351
352
353
354
355
<slides file="slides/icfp03.pdf">
  <title>CDuce</title>
  <author>A. Frisch</author>
  <author>G. Castagna</author>
  <author>V. Benzaken</author>  
  <comment>Slides of the presentation given at ICFP03 (Aug. 2003)</comment>
</slides>
</li>  

356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
<li>
<slides file="slides/lri02.pdf">
  <title>Semantic Subtyping</title>
  <author>A. Frisch</author>
  <author>G. Castagna</author>
  <author>V. Benzaken</author>
  <comment>Slides of a presentation given at LRI Database Group (2002-12)</comment>
</slides>
</li>

<li>
<slides file="slides/planx2002.pdf.gz">
 <title>CDuce: a white paper</title>
 <author>V. Benzaken</author>
 <author>G. Castagna</author>
 <author>A. Frisch</author>
 <comment>Slides of the presentation given at the PLANX 2002 Workshop
   in Pittsburgh  (2002-09)</comment>
</slides>
</li>

<li>
<slides 
379
 file="ftp://ftp.di.ens.fr/pub/users/castagna/SLIDES/cduce-wp-slides.pdf.gz">
380
381
382
383
384
385
386
387
388
389
 <title>CDuce: a white paper</title>
 <author>V. Benzaken</author>
 <author>G. Castagna</author>
 <author>A. Frisch</author>
 <comment>Slides of the presentation given at MyThS meeting in
   Bertinoro  (2002-12) </comment>
</slides>
</li>

<li>
390
<slides file="ftp://ftp.di.ens.fr/pub/users/castagna/SLIDES/cduce-sec.ps.gz">
391
392
393
394
395
396
397
398
399
 <title>CDuce: document security</title>
 <author>V. Benzaken</author>
 <author>M. Burelle</author>
 <author>G. Castagna</author>
 <comment>Slides of the presentation given at FOSAD school (september
2002)  </comment>
</slides>
</li>

400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
<li>
<slides file="slides/talk_compil_planx2004.pdf">
 <title>Regular tree language recognition with static information</title>
 <author>A. Frisch</author>
 <comment>Slides of the presentation given at the PLANX 2004 Workshop
   in Venice  (2004-01-13)</comment>
</slides>
</li>

<li>
<slides file="slides/talk_greedy_planx2004.pdf">
 <title>Greedy regular expression matching</title>
 <author>A. Frisch</author>
 <author>L. Cardelli</author>
 <comment>Slides of the presentation given at the PLANX 2004 Workshop
   in Venice  (2004-01-13)</comment>
</slides>
</li>

419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
<li>
<slides file="http://www.cduce.org/slides/ecoop2004_oo_xml.pdf">
  <title>OOP and XML</title>
  <author>A. Frisch</author>
  <comment>Slides of my presentation for the ECOOP 2004 discussion
panel on OOP and XML</comment>
</slides>
</li>

<li>
<slides file="slides/talk_icalp2004.pdf">
 <title>Greedy regular expression matching</title>
 <author>A. Frisch</author>
 <author>L. Cardelli</author>
 <comment>Slides of the presentation given at the ICALP 2004 conference
   in Turku  (2004-07-15)</comment>
</slides>
</li>

438
</ul>
439
440


441
442
443
</box>

</page>