Demo Data from EDBT 2026 / reviewers in the wild / expert
Huu Hai Nguyen
dblp:58/79
· DBLP profile ↗
12ranked-venue papers
4as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 10 · 4 first-authorArtificial intelligence and machine learning · 2Theory of computation · 2 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
3 papers |
Program verification · 65% Programming languages and type systems · 32% Program analysis · 3% |
Topics — the 8 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type systems › subtyping
behavioral subtyping |
0.1 | 1 | 2008 | Enhancing modular OO verification with separation logic · POPL 2008 |
Program verification
modular verification |
0.1 | 1 | 2008 | Enhancing modular OO verification with separation logic · POPL 2008 |
Program verification › code-level verification
object-oriented verification |
0.1 | 1 | 2008 | Enhancing modular OO verification with separation logic · POPL 2008 |
Program verification › program logic
separation logic |
0.1 | 1 | 2008 | Enhancing modular OO verification with separation logic · POPL 2008 |
Programming languages and type systems › type theory
dependent types |
0.1 | 1 | 2005 | Verifying safety policies with size properties and alias controls · ICSE 2005 |
Program verification
type-based verification |
0.1 | 1 | 2005 | Verifying safety policies with size properties and alias controls · ICSE 2005 |
Programming languages and type systems
type systems |
0.1 | 1 | 2005 | Verifying safety policies with size properties and alias controls · ICSE 2005 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2005 | Verifying safety policies with size properties and alias controls · ICSE 2005 |
Methods — techniques the papers use, named apart from their topics
predicate mechanism · 0.1class invariant · 0.1type checking · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Automated verification of shape, size and bag properties via user-defined predicates in separation logic
Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, Shengchao Qin |
Sci. Comput. Program. | 3 |
| 2008 | Enhancing Program Verification with Lemmas
Huu Hai Nguyen, Wei-Ngan Chin |
CAV | 1 |
| 2008 | Analysing memory resource bounds for low-level programsabstractEmbedded systems are becoming more widely used but these systems are often resource constrained. Programming models for these systems should take into formal consideration resources such as stack and heap. In this paper, we show how memory resource bounds can be inferred for assembly-level programs. Our inference process captures the memory needs of each method in terms of the symbolic values of its parameters. For better precision, we infer path-sensitive information through a novel guarded expression format. Our current proposal relies on a Presburger solver to capture memory requirements symbolically, and to perform fixpoint analysis for loops and recursion. Apart from safety in memory adequacy, our proposal can provide estimate on memory costs for embedded devices and improve performance via fewer runtime checks against memory bound. Wei-Ngan Chin, Huu Hai Nguyen, Corneliu Popeea, Shengchao Qin |
ISMM | 2 |
| 2008 | Enhancing modular OO verification with separation logicabstractConventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in support of class inheritance and method overriding. However, this requirement inherently weakens the specifications of overridden methods in superclasses, leading to imprecision during program reasoning. To address this, we advocate a fresh approach to OO verification that focuses on the distinction and relation between specifications that cater to calls with static dispatching from those for calls with dynamic dispatching. We formulate a novel specification subsumption that can avoid code re-verification, where possible. Using a predicate mechanism, we propose a flexible scheme for supporting class invariant and lossless casting. Our aim is to lay the foundation for a practical verification system that is precise, concise and modular for sequential OO programs. We exploit the separation logic formalism to achieve this. Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, Shengchao Qin |
POPL | 3 |
| 2008 | Runtime Checking for Separation Logic
Huu Hai Nguyen, Viktor Kuncak, Wei-Ngan Chin |
VMCAI | 1 |
| 2007 | Automated Verification of Shape, Size and Bag PropertiesabstractIn recent years, separation logic has emerged as a contender for formal reasoning of heap-manipulating imperative programs. Recent works have focused on specialised provers that are mostly based on fixed sets of predicates. To improve expressivity, we have proposed a prover that can automatically handle user-defined predicates. These shape predicates allow programmers to describe a wide range of data structures with their associated size properties. In the current work, we shall enhance this prover by providing support for a new type of constraints, namely bag (multi-set) constraints. With this extension, we can capture the reachable nodes (or values) inside a heap predicate as a bag constraint. Consequently, we are able to prove properties about the actual values stored inside a data structure. Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, Shengchao Qin |
ICECCS | 3 |
| 2007 | Detecting and eliminating memory leaks using cyclic memory allocationabstractWe present and evaluate a new technique for detecting and eliminating memory leaks in programs with dynamic memory allocation. This technique observes the execution of the program on a sequence oftraining inputs to find m-bounded allocation sites, which have the property that at any time during the execution of the program, the program accesses at most only the last m objects allocated at that site. If the difference between the number of allocated and deallocated objects from the site grows above m throughout the computation, there is a memory leak at that site. To eliminate the leak, the technique transforms the program to use cyclic memory allocation at that site: it preallocates a buffer containing m objects of the type allocated at that site, with each allocation returning the next object in the buffer. At the end of the buffer the allocations wrap back around to the first object. Cyclic allocationeliminates any memory leak at the allocation site -- the total amountof memory required to hold all of the objects ever allocated at the site is simply m times the object size. We evaluate our technique by applying it to several widely-used open source programs. Our results show that it is able to successfully detect and eliminate important memory leaks in these programs. Apotential concern is that the estimated bounds m may be too small, causing the program to overlay live objects in memory. Our results indicate that our bounds estimation technique is quite accurate in practice, providing incorrect results for only one of the 160 m-bounded sites that it identifies. To evaluate the potential impact of overlaying live objects, we artificially reduce the bounds at m-bounded sites and observe the resulting behavior. The resulting overlaying of live objects often does not affect the functionality ofthe program at all; even when it does impair part of the functionality, the program does not fail and is still able to acceptably deliver the remaining functionality. Huu Hai Nguyen, Martin C. Rinard |
ISMM | 1 |
| 2007 | Automated Verification of Shape and Size Properties Via Separation Logic
Huu Hai Nguyen, Cristina David, Shengchao Qin, Wei-Ngan Chin |
VMCAI | 1 |
| 2006 | Deciding Boolean Algebra with Presburger Arithmetic
Viktor Kuncak, Huu Hai Nguyen, Martin C. Rinard |
J. Autom. Reason. | 2 |
| 2005 | An Algorithm for Deciding BAPA: Boolean Algebra with Presburger Arithmetic
Viktor Kuncak, Huu Hai Nguyen, Martin C. Rinard |
CADE | 2 |
| 2005 | Verifying safety policies with size properties and alias controlsabstractMany software properties can be analysed through a relational size analysis on each function's inputs and outputs. Such relational analysis (through a form of dependent typing) has been successfully applied to declarative programs, and to restricted imperative programs; but it has been elusive for object-based programs. The main challenge is that objects may mutate and they may be aliased. In this paper, we show how safety policies of programs can be analysed by tracking size properties of objects and be enforced by objects' invariants and the preconditions of methods. We propose several new ideas to allow both mutability and sharing of objects, whilst aiming for precision in our analysis. We introduce the concept of size-immutability to facilitate sharing, and also a set of alias controls to track unaliased objects whose size properties may change. We formalise our results through a set of advanced type checking rules for an object-based imperative language. We re-affirm the utility of the proposed type system by showing how a variety of software properties can be automatically verified according to size-inspired safety policies. Wei-Ngan Chin, Siau-Cheng Khoo, Shengchao Qin, Corneliu Popeea, Huu Hai Nguyen |
ICSE | 5 |
| 2005 | Memory Usage Verification for OO Programs
Wei-Ngan Chin, Huu Hai Nguyen, Shengchao Qin, Martin C. Rinard |
SAS | 2 |