scispace - formally typeset
Search or ask a question

Showing papers by "Wei-Ngan Chin published in 2004"


Proceedings ArticleDOI
09 Jun 2004
TL;DR: This paper proposes an automatic region inference system for a core subset of Java that supports classes and methods that are region- polymorphic, with region-polymorphic recursion for methods.
Abstract: Region-based memory management offers several important potential advantages over garbage collection, including real-time performance, better data locality, and more efficient use of limited memory. Researchers have advocated the use of regions for functional, imperative, and object-oriented languages. Lexically scoped regions are now a core feature of the Real-Time Specification for Java (RTSJ)[5].Recent research in region-based programming for Java has focused on region checking, which requires manual effort to augment the program with region annotations. In this paper, we propose an automatic region inference system for a core subset of Java. To provide an inference method that is both precise and practical, we support classes and methods that are region-polymorphic, with region-polymorphic recursion for methods. One challenging aspect is to ensure region safety in the presence of features such as class subtyping, method overriding, and downcast operations. Our region inference rules can handle these object-oriented features safely without creating dangling references.

46 citations


Proceedings ArticleDOI
25 May 2004
TL;DR: This paper proposes an alternative where the verification of timing constraints can be done by counting the number of truth assignments instead of Boolean satisfiability, and shows how incremental satisfiability counting can be applied to a well-known rail-road crossing example.
Abstract: Testing constraints for real-time systems are usually verified through the satisfiability of propositional formulae. In this paper, we propose an alternative where the verification of timing constraints can be done by counting the number of truth assignments instead of Boolean satisfiability. This number can also tell us how "far away" a given specification is from satisfying its safety assertion. Furthermore, specifications and safety assertions are often modified in an incremental fashion, where problematic bugs are fixed one at a time. To support this development, we propose an incremental algorithm for counting satisfiability. Our proposed incremental algorithm is optimal as no unnecessary nodes are created during each counting. This works for the class of expressions, known as path RTL ([F. Jahanian et al. (1987), F. Wang et al. (1994)]). To illustrate this application, we show how incremental satisfiability counting can be applied to a well-known rail-road crossing example, particularly when its specification is still being refined.

16 citations


Proceedings ArticleDOI
24 Aug 2004
TL;DR: This work designs a simple language together with a type system that shows how resource protocol verification can be achieved and formalises an operational semantics for the language and provides a correctness proof which confirms that well-typed programs conform to the specified protocol of each resource type.
Abstract: We present a new method, based on a form of dependent typing, to verify the correct usage of resources in a program. Our approach allows complex resources to be specified, whose properties are captured by annotated types and conditions on invariance and final states. The protocol itself is specified through a set of pre-defined methods, whose pre-condition and post-condition together, enforce the correct temporal usage of each resource type. We design a simple language together with a type system that shows how resource protocol verification can be achieved. We formalise an operational semantics for the language and provide a correctness proof which confirms that well-typed programs conform to the specified protocol of each resource type.

12 citations


Journal ArticleDOI
TL;DR: Using systems of equations, a number of subclasses of grammars, with self-embeddedness terms, such as $X \alpha X$ and $\gamma X \gamma$, that can still have regular languages as solutions are highlighted.
Abstract: In general, it is undecidable if an arbitrary context-free grammar has a regular solution. Past work has focused on special cases, such as one-letter grammars, non self-embedded grammars and the finite-language grammars, for which regular counterparts have been proven to exist. However, little is known about grammars with the self-embedded property. Using systems of equations, we highlight a number of subclasses of grammars, with self-embeddedness terms, such as $X \alpha X$ and $\gamma X \gamma$, that can still have regular languages as solutions. Constructive proofs that allow these subclasses of context-free grammars to be transformed to regular expressions are provided. We also point out a subclass of context-free grammars that is inherently non-regular. Our latest results can help demarcate more precisely the known boundaries between the regular and non-regular languages, within the context-free domain.

10 citations


Book ChapterDOI
20 Sep 2004
TL;DR: This paper implements a semantics-preserving mapping from Graphical Statecharts to Verilog programs, which, to the best of the authors' knowledge, is the first algorithm to bridge the gap between State charts and Verilogs.
Abstract: Statecharts is a visual formalism suitable for high-level system specification, while Verilog is a hardware description language that can be used for both behavioural and structural specification of (hardware) systems This paper implements a semantics-preserving mapping from Graphical Statecharts to Verilog programs, which, to the best of our knowledge, is the first algorithm to bridge the gap between Statecharts and Verilog, and can be embedded into the hardware/software co-specification process [19] as a front-end

8 citations


01 Jan 2004
TL;DR: This paper proposes a region-based memory management system for a core subset of Java that can completely prevent dangling references and thus is ready to cater for the no-dangling requirement in RTSJ.
Abstract: Region-based memory management offers several important advantages over garbage-collected heap, including real-time performance, better data locality and efficient use of limited memory. The concept of regions was first introduced for a call-by-value functional language by Tofte and Talpin, and has since been advocated for imperative and object-oriented languages. Scope memory, a lexical variant of regions, is now a core feature in a recent proposal on Real-Time Specification for Java (RTSJ). In this paper, we propose a region-based memory management system for a core subset of Java. Our region type analysis can completely prevent dangling references and thus is ready to cater for the no-dangling requirement in RTSJ. Our system also supports modular compilation, which is an important feature for Java, but was missing in recent related work.

2 citations


Journal ArticleDOI
TL;DR: A new symbolic method is proposed for solving a class of higher-order equations with an unknown function over the complex domain that exploits the closure property of group structure (for functions) in order to allow an equivalent system of equations to be expressed and solved in the first-order setting.

2 citations


01 Jan 2004
TL;DR: This paper shows a new constructive method for transforming arbitrary one-letter cfg to an equivalent regular expression of star-height 0 or 1, and proposes a new normal form for a regular expression with single-star occurrence.
Abstract: Constructive methods for obtaining the regular grammar counterparts for some sub-classes of the context free grammars (cfg ) have been investigated by many researchers. An important class of grammars for which this is always possible is the one-lettercfg . We show in this paper a new constructive method for transforming arbitrary one-letter cfg to an equivalent regular expression of star-height 0 or 1. Our new result is considerably simpler than a previous construction by Leiss, and we also propose a new normal form for a regular expression with single-star occurrence. Through an alphabet factorization theorem, we show how to go beyond the one-letter cfg in a straight-forward way.