Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Yanhong Annie Liu
[go: Go Back, main page]

Yanhong Annie Liu

[ Research Interests | Selected Publications | Research Projects | Courses and Seminars | Pointers]

Y. Annie Liu, Assistant Professor
Computer Science Department
Indiana University
201E Lindley Hall
Bloomington, IN 47405-7104
U. S. A.
(812) 855-4373 (Office)
(812) 855-4829 (Fax)
(812) 337-0426 (Home)
liu@cs.indiana.edu
http://www.cs.indiana.edu/~liu/

Ph.D., Cornell University, 1996


Research Interests

My primary research interests are in the areas of programming languages, compilers, and software systems. I am particularly interested in general and systematic approaches to improving the efficiency of computations. This includes (1) program analysis and transformation techniques for incremental computation and parallel/concurrent computation, (2) applications in optimizing compilers, language-based interactive systems, real-time and reactive systems, algorithm design, program development, and software maintenance, and (3) supporting tools and user interfaces that allow convenient and efficient implementation of program analyses and transformations. My major research project, Incrementalization for Efficiency Improvement, together with a number of derived projects, encompasses all three aspects above.

I have strong other interests in database management, document processing, information management, and distributed computing. These include, in particular, database query optimization, incremental database view maintenance, efficient document processing techniques, and systematic approaches to improving system fault-tolerance. I have also worked on uncertainty reasoning methods and expert systems.


Selected Publications

  • Y. A. Liu. Efficiency by incrementalization: an introduction. Higher-Order and Symbolic Computation, 13(4), 2000. To appear. (ps)

  • Y. A. Liu and S. D. Stoller. From recursion to iteration: what are the optimizations? In Proceedings of the ACM SIGPLAN 2000 Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 73-82, Boston, Massachusetts, January 2000. (paper, ps)

  • Y. A. Liu and S. D. Stoller. Eliminating dead code on recursive data. In Proceedings of the 6th International Static Analysis Symposium, pages 211-231, Venice, Italy, September 1999. Springer-Verlag. (paper, abstract, ps)

  • Y. A. Liu and S. D. Stoller. Dynamic programming via static incrementalization. In Proceedings of the 8th European Symposium on Programming, pages 288-305, Amsterdam, The Netherlands, March 1999. Springer-Verlag. (abstract, ps)

  • Y. A. Liu and G. Gomez. Automatic accurate time-bound analysis for high-level languages. In Proceedings of the ACM SIGPLAN 1998 Workshop on Languages, Compilers, and Tools for Embedded Systems, pages 31-40, Montreal, Canada, June 1998. Springer-Verlag. (paper, ps)

  • S. D. Stoller and Y. A. Liu. Efficient symbolic detection of global properties in distributed systems. In Proceedings of the 10th International Conference on Computer-Aided Verification, pages 357-368, Vancouver, Canada, June-July 1998. Springer-Verlag. (ps)

  • Y. A. Liu, S. D. Stoller, and T. Teitelbaum. Static caching for incremental computation. ACM Transactions on Programming Languages and Systems, 20(3):546-585, May 1998. (paper, ps)

  • Y. A. Liu. Dependence analysis for recursive data. In Proceedings of the 1998 IEEE International Conference on Computer Languages, pages 206-215, Chicago, Illinois, May 1998. (paper, abstract, ps)

  • Y. A. Liu and S. D. Stoller. Loop optimization for aggregate array computations. In Proceedings of the 1998 IEEE International Conference on Computer Languages, pages 262-271, Chicago, Illinois, May 1998. (paper, abstract, ps)

  • Y. A. Liu. Principled strength reduction. In Proceedings of the IFIP TC2 Working Conference on Algorithmic Languages and Calculi, Le Bischenberg, Alsace, France, February 1997. Chapman & Hall. (ps)

  • Y. A. Liu, S. D. Stoller, and T. Teitelbaum. Discovering auxiliary information for incremental computation. In Proceedings of the 23rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 157-170, St. Petersburg Beach, Florida, January 1996. (paper, ps)

  • Y. A. Liu and T. Teitelbaum. Caching intermediate results for program improvement. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 190-201, La Jolla, California, June 1995. (paper, ps)

  • Y. A. Liu and T. Teitelbaum. Systematic derivation of incremental programs. Science of Computer Programming, 24(1):1-39, February 1995. (ps)

  • Y. A. Liu. CACHET: An interactive, incremental-attribution-based program transformation system for deriving incremental programs. In Proceedings of the 10th Knowledge-Based Software Engineering Conference, pages 19-26, Boston, Massachusetts, November 1995. IEEE Computer Society Press. (ps)

    Recent technical reports:
    Solving Regular Tree Grammar Based Constraints. Liu, Li, and Stoller, 7/00) (ps)
    Automatic accurate stack space and heap space analysis for high-level languages (Unnikrishnan, Stoller, and Liu, 2/00). (ps)
    Automatic time-bound analysis for a higher-order language (Gomez and Liu, 11/99). (ps)


    Project: Incrementalization for Efficiency Improvement

    Pervasive, intensive, and critical computations today require computer software to be highly efficient and reliable. Studies on this topic span almost all branches of computer science but have been isolated in each area. The goal of this work has been to bring all techniques together in order to develop general systematic approaches and supporting tools for improving the efficiency of computations. This has involved exploring program analysis and transformation techniques and domain-specific knowledge for incrementalization.

    Incrementalization transforms batch programs into efficient and correct incremental programs that exploit (1) the result of, (2) the intermediate results computed in, and (3) auxiliary information about a previous computation. Since every non-trivial computation proceeds by iteration (or recursion), the approach is used for achieving efficient computations in general by incrementalizing over iterations. This method has been applied to problems in list processing, graph algorithms, interactive systems, image processing, and VLSI design, which were previously solved in ad hoc and often error-prone ways. A prototype system for incrementalization is under development. A more detailed description can be found here.

    Work is in progress on refining the approach to provide compiler technologies and programming methods for drastic program optimizations. Based on techniques of the Synthesizer Generator, which was originally developed by the group of Professor Tim Teitelbaum at Cornell, we are also working on extending language-based interactive systems to support efficient complex program analyses and transformations. In addition, based on the study of Polya, a programming language being implemented at Cornell by the group of Professor David Gries, we are investigating the interplay between program optimization and modularity (or abstraction), which is crucial for generating efficient code in program refinement and object-oriented programming. Another goal of this research is to develop methods for parallel/concurrent computations by incrementalizing across processors and analyzing asynchronous computations.

    Specific projects within the last year include: Automating incrementalization, in a language-based programming environment; Dynamic programming via incrementalization, based on static analysis for caching; Transforming recursion into iteration, also via incrementalization; Loop optimization for aggregate array computations; Dependence analysis for recursive data, using regular tree grammars; Efficient algorithms for regular tree grammars; Eliminating dead code on recursive data, via constraints construction and simplification; Automatic time and space analysis, by combining static analysis, complexity analysis, and performance evaluation methods; and System performance monitoring survey. These projects are supported by Motorola, NSF, and ONR. Some of them are performed jointly with colleagues Scott Stoller, Bob Paige, and Jeffrey Tsai and Ph.D. students Gustavo Gomez, Leena Unnikrishnan, Ning Li, Yuchen Zhang, and Byron Long.


    Courses and Seminars

  • (Fall `96): Programming Languages Seminar

  • B629 (Spring `97): Program Transformation and Programming Environments

  • B403 (Spring `97): Introduction to Algorithm Design and Analysis

  • C212/A592 (Fall `97): Introduction to Software Systems (using Java)

  • B629 (Spring `98): Language-Based Performance Analysis and Improvement

  • C212/A592 (Fall `98): Introduction to Software Systems (using Java)

  • (Fall `98): Computer Science Department Colloquium

  • B629 (Spring `99): Program Analysis and Program Transformation

  • P523 (Spring `99): Programming Language Implementation

  • (Spring `99): Computer Science Department Colloquium

  • B629 (Fall `99): Language-Based Algorithm Design and Analysis

    Pointers

  • LCTES '99: ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems

  • ICYCS '99: The 5th International Conference for Young Computer Scientists

  • PASTE '99: ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering

  • CS Bib: The collection | Glimpse | Systems: Compiler Construction Tools | Dictionary: FOLDOC

  • Computing Societies: ACM SIGPLAN SIGSOFT | IEEE CS TC-RTS | IFIP TC2 WG2.1 | EAPLS | CRA

  • News: C-SPAN | New York Times | CNN Interactive | Intl. Strategic Studies Assoc.

  • Info Lookup: AnyWho | BigYellow | CityNet Excite Travel

  • Web Search Engines: MultiText | Google | Alta Vista | Yahoo | Inktomi | The WWW Virtual Library

  • Friday Faculty Lunch: I have scanned in menus for a number of restaurants in Bloomington that deliver.

  • My PGP Public Key

    Last updated December 1, 1999. liu@cs.indiana.edu

    I have moved in August 2000 to

    Computer Science Department
    SUNY Stony Brook
    Stony Brook, NY 11794-4400
    631-632-8463 (Office)
    631-632-8334 (Fax)
    631-476-4392 (Home)
    liu@cs.sunysb.edu
    http://www.cs.sunysb.edu/~liu