Michael G Burke



programming language optimization, program analysis, distributed object programming,
schema transformation and integration, compiling object-oriented languages, compiling
for parallelism


Thomas J. Watson Research Center Hawthorne, NY March 1983 - present Research Staff Member

  • Manager August 1987 - May 2000
  • Project Leader: XML Transformation project May 2000 - present

    Applications that exchange and share data use different definitions of the data, especially when integration was not anticipated. This project provides tools for semi-automatic matching of corresponding elements of data definitions that share common content, and reconciling differences between them. We have developed a general method, similarity analysis, for matching between a pair of graphs whose nodes are labelled with certain properties, which we applied to automatic support of matching between XML Schemas. We implemented similarity analysis in the Eclipse Modelling Framework, adding a generic similarity plugin to the Eclipse Mapping Framework, and a specialized similarity plugin to the XML Schema Mapping Editor. Our code is now being assimilated into the product version of the above Eclipse tools, which is part of the WebSphere Application Deveoper (WSAD) product.

  • Manager: Object-Oriented Optimization group April 1994 - May 2000
    Group developed compiler and run-time optimization techniques for C++ and Java. The technologies we developed included: reducing the cost of virtual dispatch; efficient memory layouts for implementing objects and classes; reducing the size of Java class files through program analysis; efficient locking in Java; concurrent garbage collection for Java; inter-class and interprocedural optimization in the presence of Java dynamic class loading. We developed prototypes and measured the effectiveness of these techniques, which were incorporated into IBM product compilers and tools. We authored numerous publications and patents. My own work focused on:
    • efficient memory layouts for C++, in particuar for implementing virtual dispatch, virtual inheritance, and the semantics of C++ object construction/destruction. The memory layout we recommended, based on our experimental results, was incorporated as the "Best of Breed" object model into IBM's Visual Age C++ V5 compiler.
    • extant analysis for Java, a technique that allows for inter-class optimizations such as devirtualizing method calls for known classes, and the safe and efficient disabling of these optimizations when required by further class loading. This technique has been incorporated into IBM's Jikes Research Virtual Machine.
  • Member of Parallel Translation (PTRAN) group March 1983 - April 1994 Group Manager August 1987 - April 1994
    We developed technology and an implementation for automatically restructuring FORTRAN programs for execution on shared-memory parallel architectures. We developed a representation of program control flow, the Progam Dependence Graph (PDG), and combined it with a representation of program data flow, Static Single Assignment (SSA), which we authored with others at Watson. The resulting SSA/PDG representation became the basis for modern industrial and academic optimizing compilers and program understanding tools such as for restructuring legacy code, testing, and debugging. My own work focused in particular on developing practical techniques for interprocedural analysis, including:
    • efficient flow-sensitive analysis;
    • pointer analysis;
    • array subscript analysis;
    • minimizing recompilation in the presence of interprocedural analysis.

    I managed our collaboration with IBM development sites (1989-1994) to incorporate our technologies into an IBM product Fortran compiler (the IBM XL FORTRAN compiler, which first shipped in 1996).

  • New York University, Courant Institute
    Adjunct Lecturer, teaching undergraduate and graduate courses. June 1979 - January 1983
    Research Assistant, September 1979 - August 1982
    • Member of NYUADA project, developing automatic syntactic error diagnosis and recovery component.

    Research and Teaching Assistant September 1977 - May 1979

    • Testing and debugging of CIMS PL/I compiler.

    Hunter College, City University of New York January - May 1979

    • Adjunct Lecturer, teaching undergraduate courses in programming and remedial mathematics.


Ph.D. in Computer Science February 1983 New York University
Thesis: "A Practical Method for LR and LL Syntactic Error Diagnosis and Recovery".
Advisor: Gerald A. Fisher, Jr.

Master of Science in Computer Science February 1980 New York University
Advisor: Paul Abrahams



  • Vice Chair of ACM SIGPLAN Executive Committee, two year elected position beginning July 2001. As vice chair I am responsible for approving and tracking all conferences and workshops sponsored or endorsed by SIGPLAN, including final budget review.
  • Member-at-Large of ACM SIGPLAN Executive Committee, July 1997- June 2001,
    twice elected to two-year position.
  • Chair of SIGPLAN Distinguished Services Award Committee, September 1999 - present.
  • General Chair, ACM SIGPLAN '01 Conference on Programming Language Design and Implementation (PLDI), Snowbird, Utah, June 18-22, 2001. The conference included a full-day tutorial program, three co-located workshops, a student poster session, and two Birds-of-a-Feather sessions. Conference attendance was more than 300, and a survey of attendees gave excellent marks for all aspects of the confernence.
  • Industrial Panel Chair, ACM SIGPLAN '96 Conference on PLDI, Atlanta, Georgia,
    May 1-4, 1999. Session title: "Trends in the Future of Industrial Computing."
  • Program Chair, ACM SIGPLAN '96 Conference on PLDI,Philadelphia, Pennsylvania, May 22-24, 1996.
  • Program Committee Member, ACM SIGPLAN '95 Conference on PLDI, LaJolla, California, June 18-21, 1995.
  • Program Committee Member, ACM SIGPLAN '90 Conference on PLDI, White Plains, New York, June 20-22, 1990.
  • Member, ACM Scholars' Advisory Group on electronic publication, 1994.
  • Steering Committee Memberships:
    SIGPLAN PLDI: July 2001 - present.
    SIGPLAN POPL (Principles of Programming Languages): July 2001 - present.
    SIGPLAN OOPSLA (Object-Oriented Programming Systems, Languages, and Applications):
    October 2001 - present.


  • ACM SIGPLAN (Special Interest Group on Programming Languages) Selection of 50 Most Influential Papers Published in Twenty Years of PLDI (1979-1999) included paper by Michael Burke and Ron Cytron: "Interprocedural Dependence Analysis and Parallelization," Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, Palo Alto, California, June 1986. Selection announced in September 2002.
  • IBM Research Division Award, "For Contributions to Gemstone Fortran Development", November 1993.
  • Janet Fabri Award for an Outstanding Thesis in Computer Science, NYU,1983