Jichang Tan
Department of Computer Science
and Information Engineering
National Taiwan University
Taipei, 10764, Taiwan
Phone: (02) 362-5336 Ext. 523 (Voice);
(02) 367-9533 (Fax)
Snail: Yung-Ho Taipei, 23433, Taiwan
Email: here or jctan@acm.org
Interests
- My research is largely about programming languages and logic programming.
Here are some results of my previous work:
- Abstract
WAM is a very efficient dataflow analyzer for Prolog programs based
on the compiling approach to dataflow analysis. In other words, the analysis
is executed by reinterpretation of the WAM (Warren Abstract Machine) over
the abstract domain of interests.
- Amanda
is a generic dataflow analyzer using the same implementation technique.
It is generic in the sense that the abstract domain incorporated can be
defined by users under some restrictions. In this package, we provide several
domains for analysis of mode and dererferencing information.
The archive also contains a technical summary for the idea of
recursive modes.
- Felix
is an efficient approach for type inference of logic programs.
It infers the types of general logic programs in O(N2) time
where N is the number of program variables. Given the mode information,
as in Prolog, it can infer more precise types and still has a
time complexity of O(N3). The paper appeared at JICSLP'96
and the experimental system (using Amanda) are both available in the archive.
The errata wrt the JICSLP'96 paper is in preparation.
- GatewayBuilder
1.0 is a CGI gateway application builder which generates ANSI C programs
by user scripts and templates. The script
is a textual description for (Visual Basic like) form input and the template
is a DBML-like HTML file describing the intended report from the gateway
application. There are extensive features to support structured
database (RDBMS) access via ODBC. It's also possible to integrate with
full-text database and other types of legacy
code.
- I am also working on a project about the next generation of GatewayBuilder.
Last modified Thu Dec 5 14:13:29 CST 1996