papers.xml 11.1 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="true" 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<li>
<paper file="papers/gentle.ps.gz">
 <title>A Gentle Introduction to Semantic Subtyping</title>
 <author>G. Castagna</author>
 <author>A. Frisch</author>
 <comment> Unpublished</comment>

 <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>
86
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
121
122
123
124
125
126
127

<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>

<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>
128
   In <i>Intersection Types and Related Systems</i> Electronic Notes in Theoretical Computer Science 70 No.1 (2002).
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
 </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>

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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<section title="Implementation algorithms">

<ul>
<li>
<paper file="papers/reg.pdf">
 <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>
<paper file="papers/greedy.pdf">
 <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>

227
228
229
230
231
232
233
<section title="Security">

<ul>
<li>
<paper file="papers/sec.ps.gz">
 <title>Security analysis for XML transformations</title>
 <author>V. Benzaken</author>
234
 <author>M. Burelle</author>
235
 <author>G. Castagna</author>
236
 <comment> In <i>Asian '03</i>, LNCS, 2003.</comment>
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256

 <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>

257
258
259
260
261
262
263
264
265
266
<li>
<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>  

267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
<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 
290
 file="ftp://ftp.di.ens.fr/pub/users/castagna/SLIDES/cduce-wp-slides.pdf.gz">
291
292
293
294
295
296
297
298
299
300
 <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>
301
<slides file="ftp://ftp.di.ens.fr/pub/users/castagna/SLIDES/cduce-sec.ps.gz">
302
303
304
305
306
307
308
309
310
 <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>

311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
<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>

330
331
332
333
</ul>
</box>

</page>