Peter Schachte
2 Ryan Street
Northcote, Victoria 3070
+61 3 9482-1765

Born 6 October 1958, Boston, USA. US and Australian (dual) Citizen.

Doctor of Philosophy, Computer Science, the University of Melbourne, Victoria, Australia, 1999. Thesis title: Precise and Efficient Static Analysis of Logic Programs.

Master of Science, Computer Science, Syracuse University, Syracuse, NY, USA, 1982

Bachelor of Science, Computer Science, Syracuse University, Syracuse, NY, USA, 1980

Professional Interests
Program Analysis, Programming Language Implementation, Logic Programming, Functional Programming, Object Oriented Programming, Implementation of Boolean Constraint Solvers, Declarative Software Engineering, and Programming Environments

Skills Summary
I have programmed in C, C++, Java, Prolog, Mercury, Lisp, Perl, FORTRAN, Bourne shell, awk, sed, PL/I, Pascal, APL, Basic, and have a passing knowledge of ML, Haskell/Miranda/Gofer, and COBOL. I have worked on PC, Sun, DEC Alpha, SGI Iris, Apollo, IBM mainframe, Xerox, DEC VAX, and Amiga computers, using various version of GNU/Linux, Unix, Windows NT, VMS, VM/CMS, Xerox Lisp, and Amiga OS. I have done graphics and GUI programming for the X Window System using Xlib, Xt (the X Toolkit), and OSF Motif, for the Java platform in Java, for Xerox workstations in Lisp, and for the Amiga in C. I have used the CVS, RCS, and SCCS source control systems, and have used the LaTeX, Scribe, Framemaker, and Star document preparation systems, and have written HTML documents (and have written several scripts to generate HTML).

Work History

Lecturer, January 1999 - Present
Department of Computer Science and Software Engineering, The University of Melbourne, Victoria, Australia.

PhD Student, July 1993 - December 1998
Department of Computer Science, The University of Melbourne, Victoria, Australia.

Senior Research Assistant, February 1997 - January 1998
Department of Computer Science, The University of Melbourne, Victoria, Australia. Participated in a research project to design and implement HAL, a new, very efficient constraint logic programming language. The language will compile to Mercury, using that language's compilation technology to achieve high speed. I implemented the first HAL to Mercury translator, extended the Mercury language to add controlled support for impure programming constructs, and used this impurity facility to implement both backtrackable and non-backtrackable destructively modifiable references in Mercury.

Senior Software Engineer, October 1985 - July 1993
Quintus Corporation, Mountain View, California, USA (began as a Software Engineer). Quintus, a small software development company, at that time developed and marketed Quintus Prolog, one of the most popular commercial Prolog systems. (From February through July 1992, when Quintus was wholly owned by Intergraph corporation, I was assigned to Dazix corporation, an electronic design automation corporation, also a wholly owned subsidiary of Intergraph.)

Member of Technical Staff, September 1984 - October 1985
ITT Advanced Technology Center, Shelton, Connecticut, USA.

Assoc. Member Professional Staff, October 1982 - September 1984
Schlumberger-Doll Research, Ridgefield, Connecticut, USA.

Other Experience
19 September - 12 October 1995: Guest lecturer for ``optimization'' part of 3rd year programming language implementation class based on Compilers: Principles, Techniques, and Tools by Aho, Sethi, and Ullman.

2000: Z. Somogyi, H. Søndergaard, P. Schachte. Making high-level programming practical. Australian Research Council small grant.

2001-2003: H. Søndergaard, P. Schachte, P. Stuckey, M. Sultzmann. Constraint-Based Program Analysis. Australian Research Council large grant.

2001: P. Schachte, M. Sultzmann. Security Analysis for Java. Melbourne Research Development Grants Scheme Early Career Researcher Program (application submitted).

Awards and Scholarships
January 1995 - July 1998: Australian Postgraduate Award Scholarship

July 1993 - December 1994: Melbourne University Postgraduate Scholarship

May 1980: cum laude graduate of Syracuse University

Journal Refereeing
Referee for: ACM Transactions on Programming Languages and Systems, Journal of Logic Programming, and Information Processing Letters.

Refereed Publications


Peter Schachte. Precise goal-independent abstract interpretation of constraint logic programs. In Colin Fidge, editor, Computing: The Australasian Theory Symposium (CATS 2001), number 42 in Electronic Notes in Theoretical Computer Science. Elsevier Science B. V., 2001. (to appear).

Roberto Bagnara and Peter Schachte. Factorizing equivalent variable pairs in ROBDD-based implementations of Pos. In A. M. Haeberer, editor, Proceedings of the ``Seventh International Conference on Algebraic Methodology and Software Technology (AMAST'98)'', volume 1548 of Lecture Notes in Computer Science, pages 471-485, Amazonia, Brazil, 1999. Springer, Berlin.

Tania Armstrong, Kim Marriott, Peter Schachte, and Harald Søndergaard. Two classes of Boolean functions for dependency analysis. Science of Computer Programming, 31(1):3-45, May 1998.

Peter Schachte. Global variables in logic programming. In Lee Naish, editor, Logic Programming: Proceedings of the Fourteenth International Conference on Logic Programming., pages 3-17, Cambridge, USA, July 1997. MIT Press.

Peter Schachte. Efficient ROBDD operations for program analysis. In Kotagiri Ramamohanarao, editor, ACSC'96: Proceedings of the 19 tex2html_wrap_inline321 Australasian Computer Science Conference, pages 347-356. Australian Computer Science Communications, 1996.

Peter Schachte and Georges Saab. Efficient object-oriented programming in Prolog. In Christoph Beierle and Lutz Plümer, editors, Logic Programming: Formal Methods and Practical Applications, number 11 in Studies in Computer Science and Artificial Intelligence, chapter 7, pages 205-243. Elsevier Science B.V./North-Holland, Amsterdam, 1995.

Available upon request.

Thu Nov 2 12:39:46 EST 2000