VLDB 2026 Research / reviewers in the wild / expert
Kim Nguyen 0001
dblp:72/5342-1
· DBLP profile ↗
15ranked-venue papers
0as first author
3since 2021 · last 2024
0000-0002-1729-870XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 10 · 3 since 2021Databases, data management, data science and information retrieval · 4Theory of computation · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Polymorphic Type Inference for Dynamic LanguagesabstractWe present a type system that combines, in a controlled way, first-order polymorphism with intersection types, union types, and subtyping, and prove its safety. We then define a type reconstruction algorithm that is sound and terminating. This yields a system in which unannotated functions are given polymorphic types (thanks to Hindley-Milner) that can express the overloaded behavior of the functions they type (thanks to the intersection introduction rule) and that are deduced by applying advanced techniques of type narrowing (thanks to the union elimination rule). This makes the system a prime candidate to type dynamic languages. Giuseppe Castagna, Mickaël Laurent, Kim Nguyen 0001 |
Proc. ACM Program. Lang. | 3 |
| 2022 | On type-cases, union elimination, and occurrence typingabstractWe extend classic union and intersection type systems with a type-case construction and show that the combination of the union elimination rule of the former and the typing rules for type-cases of our extension encompasses occurrence typing . To apply this system in practice, we define a canonical form for the expressions of our extension, called MSC-form. We show that an expression of the extension is typable if and only if its MSC-form is, and reduce the problem of typing the latter to the one of reconstructing annotations for that term. We provide a sound algorithm that performs this reconstruction and a proof-of-concept implementation. Giuseppe Castagna, Mickaël Laurent, Kim Nguyen 0001, Matthew Lutze |
Proc. ACM Program. Lang. | 3 |
| 2022 | Revisiting occurrence typingabstractWe revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic types-union types, in particular-it never fully exploited the capabilities of these types. Here weshow how, by using set-theoretic types, it is possible to develop a general typing framework that encompasses andgeneralizes several aspects of current occurrence typing proposals and that can be applied to tackle other problemssuch as the reconstruction of intersection types for unannotated or partially annotated functions and the optimizationof the compilation of gradually typed languages. Giuseppe Castagna, Victor Lanvin, Mickaël Laurent, Kim Nguyen 0001 |
Sci. Comput. Program. | 4 |
| 2016 | Set-theoretic types for polymorphic variantsabstractPolymorphic variants are a useful feature of the OCaml language whose current definition and implementation rely on kinding constraints to simulate a subtyping relation via unification. This yields an awkward formalization and results in a type system whose behaviour is in some cases unintuitive and/or unduly restrictive. Giuseppe Castagna, Tommaso Petrucciani, Kim Nguyen 0001 |
ICFP | 3 |
| 2015 | A Core Calculus for XQuery 3.0 - Combining Navigational and Pattern Matching Approaches
Giuseppe Castagna, Hyeonseung Im, Kim Nguyen 0001, Véronique Benzaken |
ESOP | 3 |
| 2015 | Polymorphic Functions with Set-Theoretic Types: Part 2: Local Type Inference and Type ReconstructionabstractThis article is the second part of a two articles series about the definition of higher order polymorphic functions in a type system with recursive types and set-theoretic type connectives (unions, intersections, and negations). Giuseppe Castagna, Kim Nguyen 0001, Zhiwu Xu 0001, Pietro Abate |
POPL | 2 |
| 2015 | Fast in-memory XPath search using compressed indexesabstractSummary Extensible Markup Language (XML) documents consist of text data plus structured data (markup). XPath allows to query both text and structure. Evaluating such hybrid queries is challenging. We present a system for in‐memory evaluation ofXPath search queries, that is, queries with text and structure predicates, yet without advanced features such as backward axes, arithmetics, and joins. We show that for this query fragment, which containsForward Core XPath, our system, dubbed Succinct XML Self‐Index (‘SXSI’), outperforms existing systems by 1–3 orders of magnitude. SXSI is based on state‐of‐the‐art indexes for text and structure data. It combines two novelties. On one hand, it represents the XML data in a compact indexed form, which allows it to handle larger collections in main memory while supporting powerful search and navigation operations over the text and the structure. On the other hand, it features an execution engine that uses tree automata and cleverly chooses evaluation orders that leverage the speeds of the respective indexes. SXSI is modular and allows seamless replacement of its indexes. This is demonstrated through experiments with (1) a text index specialized for search of bio sequences, and (2) a word‐based text index specialized for natural language search. Copyright © 2013 John Wiley & Sons, Ltd. Diego Arroyuelo, Francisco Claude, Sebastian Maneth, Veli Mäkinen, Gonzalo Navarro 0001, Kim Nguyen 0001, Jouni Sirén, Niko Välimäki |
Softw. Pract. Exp. | 6 |
| 2014 | Polymorphic functions with set-theoretic types: part 1: syntax, semantics, and evaluationabstractThis article is the first part of a two articles series about a calculus with higher-order polymorphic functions, recursive types with arrow and product type constructors and set-theoretic type connectives (union, intersection, and negation). Giuseppe Castagna, Kim Nguyen 0001, Zhiwu Xu 0001, Hyeonseung Im, Sergueï Lenglet, Luca Padovani |
POPL | 2 |
| 2013 | Static and dynamic semantics of NoSQL languagesabstractWe present a calculus for processing semistructured data that spans differences of application area among several novel query languages, broadly categorized as "NoSQL". This calculus lets users define their own operators, capturing a wider range of data processing capabilities, whilst providing a typing precision so far typical only of primitive hard-coded operators. The type inference algorithm is based on semantic type checking, resulting in type information that is both precise, and flexible enough to handle structured and semistructured data. We illustrate the use of this calculus by encoding a large fragment of Jaql, including operations and iterators over JSON, embedded SQL expressions, and co-grouping, and show how the encoding directly yields a typing discipline for Jaql as it is, namely without the addition of any type definition or type annotation in the code. Véronique Benzaken, Giuseppe Castagna, Kim Nguyen 0001, Jérôme Siméon |
POPL | 3 |
| 2013 | Optimizing XML querying using type-based document projectionabstractXML data projection (or pruning) is a natural optimization for main memory query engines: given a query Q over a document D , the subtrees of D that are not necessary to evaluate Q are pruned, thus producing a smaller document D' ; the query Q is then executed on D' , hence avoiding to allocate and process nodes that will never be reached by Q . In this article, we propose a new approach, based on types, that greatly improves current solutions. Besides providing comparable or greater precision and far lesser pruning overhead, our solution—unlike current approaches—takes into account backward axes, predicates, and can be applied to multiple queries rather than just to single ones. A side contribution is a new type system for XPath able to handle backward axes. The soundness of our approach is formally proved. Furthermore, we prove that the approach is also complete (i.e., yields the best possible type-driven pruning) for a relevant class of queries and Schemas. We further validate our approach using the XMark and XPathMark benchmarks and show that pruning not only improves the main memory query engine's performances (as expected) but also those of state of the art native XML databases. Véronique Benzaken, Giuseppe Castagna, Dario Colazzo, Kim Nguyen 0001 |
ACM Trans. Database Syst. | 4 |
| 2010 | Fast in-memory XPath search using compressed indexesabstractA large fraction of an XML document typically consists of text data. The XPath query language allows text search via the equal, contains, and starts-with predicates. Such predicates can be efficiently implemented using a compressed self-index of the document's text nodes. Most queries, however, contain some parts querying the text of the document, plus some parts querying the tree structure. It is therefore a challenge to choose an appropriate evaluation order for a given query, which optimally leverages the execution speeds of the text and tree indexes. Here the SXSI system is introduced. It stores the tree structure of an XML document using a bit array of opening and closing brackets plus a sequence of labels, and stores the text nodes of the document using a global compressed self-index. On top of these indexes sits an XPath query engine that is based on tree automata. The engine uses fast counting queries of the text index in order to dynamically determine whether to evaluate top-down or bottom-up with respect to the tree structure. The resulting system has several advantages over existing systems: (1) on pure tree queries (without text search) such as the XPathMark queries, the SXSI system performs on par or better than the fastest known systems MonetDB and Qizx, (2) on queries that use text search, SXSI outperforms the existing systems by 1-3 orders of magnitude (depending on the size of the result set), and (3) with respect to memory consumption, SXSI outperforms all other systems for counting-only queries. Diego Arroyuelo, Francisco Claude, Sebastian Maneth, Veli Mäkinen, Gonzalo Navarro 0001, Kim Nguyen 0001, Jouni Sirén, Niko Välimäki |
ICDE | 6 |
| 2010 | XPath Whole Query OptimizationabstractPrevious work reports about SXSI, a fast XPath engine which executes tree automata over compressed XML indexes. Here, reasons are investigated why SXSI is so fast. It is shown that tree automata can be used as a general framework for fine grained XML query optimization. We define the "relevant nodes" of a query as those nodes that a minimal automaton must touch in order to answer the query. This notion allows to skip many subtrees during execution, and, with the help of particular tree indexes, even allows to skip internal nodes of the tree. We efficiently approximate runs over relevant nodes by means of on-the-fly removal of alternation and non-determinism of (alternating) tree automata. We also introduce many implementation techniques which allows us to efficiently evaluate tree automata, even in the absence of special indexes. Through extensive experiments, we demonstrate the impact of the different optimization techniques. Sebastian Maneth, Kim Nguyen 0001 |
Proc. VLDB Endow. | 2 |
| 2008 | Typed iterators for XMLabstractInternational audience Giuseppe Castagna, Kim Nguyen 0001 |
ICFP | 2 |
| 2006 | Type-Based XML Projection
Véronique Benzaken, Giuseppe Castagna, Dario Colazzo, Kim Nguyen 0001 |
VLDB | 4 |
| 2005 | Computation of Chromatic Polynomials Using Triangulations and Clique Trees
Pascal Berthomé, Sylvain Lebresne, Kim Nguyen 0001 |
WG | 3 |