Graduate Student Handbook Department of Computer Science

Rice University 1997–1998

September 2, 1997

Contents

1 Introduction 1

2 Rice University 2 2.1 Financial Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Honor Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.3 Owlnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.4 Graduate Student Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.5 Athletics and Intramurals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.6 Health Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.7 Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Department of Computer Science 4 3.1 Student Representatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Colloquia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3 Fridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.4 Computer Systems Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.5 Alphabet Soup (STC, CRPC, CITI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.6 Summer Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.7 Conferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.8 Affiliates Meeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4 PhD Requirements 7 4.1 Mentors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Classes and Homework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3 Comprehensive (B) Exams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.4 Qualifying (C) Exams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.5 Thesis Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.6 Thesis Defense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5 MCS Requirements 9 5.1 Courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 Computer Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6 Research Groups 10 6.1 Artificial Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.2 Robotics and Physical Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.3 Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.4 Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.5 Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.6 Algorithms and Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.7 Scalar Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.8 PFC and ParaScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.9 Fortran D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.10 Electronic Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapter 1

Introduction

This document is intended to be a guide for graduate students in the Department of Computer Science. We hope it addresses most of the questions you may have about being a graduate student. Iva Jean Jorgensen (the department coordinator) handles many of the administrative activities involving graduate students. These include announcing and administering exams, providing the proper forms for PhD candidacy, intent to graduate, etc. If you have questions or comments about this handbook, please contact Phil Schielke.

The first thing to do when you arrive on campus is to see Iva Jean Jorgensen in the department office. She will give you your office assignment and a key; she will explain the process of getting an ID card and a parking sticker, and answer any questions you have about getting started. She will also give you a packet of materials to help you prepare for the Comprehensive Exams. The packet will include a syllabus and a set of exams from the previous years. In previous years, there were only four exams. The current system contains eight areas – most of which consist of a subset of the material covered on one of the old exams. You should review these materials to help you decide in which areas you need the most work. This will be very important when you decide which classes to take.

Graduate students register during the first week of classes. Obtain a registration form in the department office. Once you have decided upon a course schedule, a faculty member, usually the graduate committee chairman, must sign the form. You turn in the completed form to the Registrar’s Office.

Other helpful information on life as a graduate student can be found in the Graduate Student Association (GSA) yellow pages. You will also want to check out the library (Fondren Hall), and Valhalla, the graduate student pub.

The best way to get help is to hang out with other students and professors, and ask questions! Each new graduate student will have another student assigned as a mentor to answer questions and give advice (see Section 4.1). It is not a stupid question if you don’t know the answer. Much of the information you need is included in this handbook, but it is impossible to cover everything. Your professors, the department secretaries, labbies, and most fellow students will gladly answer your questions, but you have to ask.

Rice University

2.1 Financial Support

Many incoming PhD students are supported during the first year of studies by money from the University. This support includes a stipend and tuition waiver. At the beginning of each year, you will have to pay some money for fees, health insurance, and possibly parking, but this amounts to a few hundred dollars. If you have your own health insurance, you can have this portion of your fees waived.

In return for support, the department requires you to perform some service to the department. PhD students are required to serve four semesters as teaching assistants or “labbies”. Responsibilities include grading, designing homeworks, projects, etc. You will rarely be asked to lecture. Grading is an important responsibility and should not be taken lightly.

The stipend covers the academic year only, and does not continue into the summer. After your second semester, you must obtain support from a research grant. This means you will probably have to do some research in addition to labbying. However, this will give you exposure to research and will hopefully help you decide what research area interests you. There is no guarantee that after your first year you will find a professor willing and/or able to support you. If you are unable to find a professor willing to support you during your second year, the department will make some effort to find money from other sources. If by the beginning of your third year you still have not found a professor willing to support you, then support becomes a serious issue, and you should consult with members of the graduate committee. We cannot guarantee that you will always be supported throughout your graduate career. It is your responsibility to secure the agreement of a faculty member to advise and support you during the research phase of your graduate studies. You should begin planning for this step as soon after your arrival at Rice as possible.

Master of Computer Science (MCS) students are generally not supported. There are a few special fellowships for these students, but these are few and far between. The Financial Aid Office may be able to provide you with a list of external sources of funding.

2.2 Honor Code

Much of the academic work you do at Rice will be covered by the honor system. The amount of communication among students (proofreading, discussion of ideas, etc.) and the amount of reference materials allowed is at the discretion of the professor, who should state very precisely what is expected in this area. Copies of the Honor Code can be obtained in the Dean of Students’ office. The Honor Code at Rice is taken very seriously!

2.3 Owlnet

PhD students usually get two computer accounts, one on the CS network and one on Owlnet. Typically, students use the Owlnet account for course work and the CS account for email, news, and writing papers.

Doing coursework on the CS research network is prohibited. Most of the research groups have their own machines that should be used for computationally intensive jobs. A computing account is available through Owlnet, which is a network of workstations for students at Rice. To sign up for an Owlnet account, go to the help desk in the Mudd Building, and ask for directions on getting an account. They will also tell you where the Owlnet labs are located. Refer to section 3.4 for information on the CS network.

2.4 Graduate Student Association

All graduate students are part of the Rice Graduate Student Association (GSA). It sponsors picnics, dances, and other social events. The CS department representative to the GSA is currently Henrik Weimer.

2.5 Athletics and Intramurals

The computer science department is quite active athletically. The department fields intramural teams in basketball, volleyball, softball and soccer. There is a fee of $10 - 12 for participating in intramurals; if you pay within the first couple weeks of the academic year, you will save the $2. More information on intramural sports can be found at http://www.ruf.rice.edu/ ims. There are racquetball and tennis ladders, as well as groups of people who frequently go biking and jogging.

2.6 Health Services

The Student Health Service is an outpatient primary health care clinic located on campus in the north wing of Hanszen College. The clinic is staffed by two physicians and two nurses. Clinic hours are from 8:00 a.m. to 5:00 p.m. Monday through Friday during the academic year. The clinic is open part-time during the summer. To set up an appointment, call 527-4966.

2.7 Library

Students entering Fondren Library should insert their Rice ID into the card reader and then proceed through the turnstile. To borrow books from the library, your Rice ID must have a paid fee sticker on the back. Graduate students have three due dates: April 20, August 20, and December 20. They can also renew books by bringing them back to the circulation desk.

The primary way to find out what books the library has, is through the online catalog system. It can be accessed either via a text interface (telnet libris.rice.edu) or through the web (point your browser to http://www-library.rice.edu/)

Department of Computer Science

About forty-five people have received their PhD since the Rice Computer Science Department split off from the Math Science Department. Many people have stayed on in the department for one to two years as postdocs. Recent Rice graduates have accepted faculty positions at University of California at Santa Cruz, University of Utah, University of Massachusetts at Amherst, Michigan Tech and Caltech, along with research positions at Carnege-Mellon University, Stanford, St. Louis Univeristy, Ecole des Mines, Los Alamos, and industry positions at IBM, Tera, and Sun Microsystems.

3.1 Student Representatives

Student representatives participate in various faculty committees to the extent permitted. The current representatives are:

Affiliates  Matthew Flatt
Facilities  Mohit Aron
Faculty  Philip Schielke
Faculty Recruiting  Gaurav Banga
Graduate  Zoran Budimlic
Graduate Recruiting  Cristiana Amza
Undergraduate  Paul Graunke
Mentoring  Chen Ding

These representatives are the official means for graduate students to communicate information and opinions to the faculty. All of these positions require that you have passed all the B exams, and certain positions require passing the C exam. If you have questions about the requirements or responsibilities of a particular position, contact the current representative. Elections are usually held in September. Terms are for a single year. More information on the various positions can be found at http://www.cs.rice.edu/CS/CSGSA/DeptInfo/Guidelines/reps.html.

3.2 Colloquia

From time to time, the department invites researchers from other universities and industry to speak at a colloquium. Announcements for colloquia are posted on the department bulletin board and are distributed to each students mail box. Graduate students are expected to attend all colloquia.

3.3 Fridge

Duncan Hall has a student-managed cooperative known as the “fridge” that provides snacks and soft drinks. Apply to Mr. Fridge, Lin Ji (Duncan Hall 2107, x2866 jilin@caam.rice.edu), in order to obtain an account. Additional fridge information can be found by doing a “finger” of “fridge” from your CS account.

3.4 Computer Systems Information

All PhD students automatically receive accounts on the department Sun workstations. Undergraduates and graduate students can obtain accounts on Owlnet, the Rice University network. Your Owlnet account should be used for all course work. Accounts on other research machines such as the Intel iPSC/860, Thinking Machines CM-2, MasPar MP-1, and others are usually granted upon request. If you encounter computer problems, send mail to help@cs.rice.edu and Vicky Dean and her staff will assist you.

A great deal of important information is distributed electronically. You should keep up with the newsgroup rice.comp.general. This is where information about the CS computer system and other departmental information is posted. (The “msgs” Unix program can also be used to read these messages.) There are several other newsgroups used to convey information including rice.owlnews.general, and rice.general. Many classes in the department also have their own newsgroup.

There are a number of important mail aliases which can be used to send mail to specific groups of people in the department. Some of the more commonly used aliases are:

phd  reaches all PhD students
mcs  reaches all MCS students
cs-grad reaches all computer science graduate students
faculty reaches all faculty and post-docs, some staff
staff  reaches staff people (support, technical writers, etc)
stc  reaches all STC researchers and staff

In addition, there are numerous mailing lists specific to the various research groups around the department (ex: compiler, systems, etc). You should make sure your name is included in all of the appropriate mailing lists. The mailing list distribution files are kept in the directory

/home/maillist/lists/

For a description of all the various mailing lists, see the file “lists” in the directory above.

3.5 Alphabet Soup (STC, CRPC, CITI)

If you’ve been wondering what all those abbreviations mean, this should help.

• STC – The National Science Foundation (NSF) established the Science and Technology Centers (STC) Program in 1987. The objective, in response to rising global competition, was to mount an innovative, interdisciplinary attack in important areas of basic research. The first STCs were established in 1989, more were added in 1991, and in a few short years they have grown from a new idea into a vital network of programs.

• CRPC – The Center for Research on Parallel Computation (CRPC), a $22.9 million NSF Science and Technology Center, is a research consortium of seven participating institutions: Argonne National Laboratory, California Institute of Technology, Los Alamos National Laboratory, Syracuse University, the University of Tennessee, the University of Texas, and Rice University. CRPC resources are available to the research community at Rice. The goal of the CRPC is to make massively parallel computer systems truly usable for scientists and engineers–at least as usable as conventional supercomputer systems are today.

• CITI – The goal of the Computer and Information Technology Institute (CITI) is to foster interdisciplinary research in the creation, manipulation, transmission, and reception of information, concentrating on three specific areas of research: robotics, distributed computing, and parallel computation. CITI’s faculty are drawn from the Departments of Computer Science, Electrical and Computer Engineering, Computational and Applied Mathematics, Mechanical Engineering and Materials Science, Chemical Engineering, Geology/Geophysics, Space Physics, Linguistics and Semiotics, and Psychology. More than one hundred graduate students are advised by the approximately sixty faculty members who make up CITI.

3.6 Summer Research

Graduate students are funded differently during the summer based on the research group they belong to. Different research groups have different views. Some students are encouraged to remain at Rice, where they are asked to contribute to the ongoing research projects. Other students may be encouraged to gain experience in industry. Financial support during the summer is not always guaranteed.

3.7 Conferences

Most papers in computer science are published at various yearly conferences. There’s usually a flurry of activity in the department near paper submission deadlines as people write up and Federal Express papers to conference committees.

Some conferences where graduate students often attend and/or present papers are POPL, SIGPLAN

PLDI, ASPLOS, SIGGRAPH, SIGARCH ISCA, SOSP, ICS, PPoPP and Supercomputing. People also attend

occasional workshops. Research grants will usually cover costs for students presenting papers at conferences. Support can also be obtained from the Dean’s Office or the Department.

3.8 Affiliates Meeting

The department runs a Corporate Affiliates program, which is designed to allow companies to get easy access to research going on at Rice. Each corporate affiliate is given copies of all departmental tech reports, and is invited to send representatives to a yearly meeting at the end of the school year in which professors and students give presentations on current research. In return, the affiliate pays a yearly fee to the department.

PhD Requirements

Disclaimer: This chapter is intended to give an overview of the requirements for the PhD degree. You should obtain a copy of the official requirements from the department.

4.1 Mentors

Each new PhD student will be assigned an upper-level student to act as their mentor. The mentor will help the student select courses and a research area. The level of interaction between the mentor and the student is up to the individuals. Each person should have been assigned a mentor. Contact Chen Ding (cding@rice.edu) with questions or comments about the mentoring program.

4.2 Classes and Homework

The main reason for taking classes is to help prepare for the Comprehensive Exams (see section 4.3). You should obtain a copy of the old exams and study them to determine whether you need to take a course. Another idea is take the previous (latest) B exam in that subject and have it graded, then talk to the professor and show that you can handle the material as evidenced by the B exam. The table below lists the relevant classes for each exam. The classes are listed by number, with a letter indicating the semester (fall or spring) in which the class is taught. If you feel you are familiar with the material covered in a class, but you need to review for the Comprehensive Exam, you can audit or labby the class, but you should clear such arrangements with relevant faculty members, such as your advisor.

Exam  Course Semester
Algorithms  314  Fall
Architecture  425  Fall
Automata Theory  481  Fall
Compilers  412  Fall
Graphics  360  Fall
Logic  409  Spring
Programming Languages 311  Spring
Systems  421  Spring

4.3 Comprehensive (B) Exams

The comprehensive or ‘B’ exams are written tests given at the end of each semester, in January and May. There are eight exams, and they do not have to be taken together. Preparation for exams mostly consists of taking the appropriate courses. However, the exams may contain material not covered in any class. You should consult the syllabus and make sure you are familiar with all the material it covers.

Students are encouraged to take these exams seriously and pass them as quickly as possible. Students must pass at least five of the exams exams by the end of two semesters. Failure to do so is the most common reason students are ejected from the PhD program. A student may petition for an extension, but petitions will be approved only in extraordinary circumstances. Take your B exams very seriously!

Students who pass seven out of the eight exams will have no further obligations with regards to the B exams. Students who pass six out of eight exams will be required to take one additional course in each of the two areas that they did not pass and to get a grade of B or better in at least one of these two courses. Students who pass only five of the eight exams will be required to take one additional course in each of the three areas that they did not pass and to get an average grade of B or better in at least two out of the three courses. The courses students shall be required to take will be decided jointly by the Chairman of the Graduate Committee and the Chairman of the Examination Committee. Students must complete this course requirement by the end of their fourth semester.

Since the B exams are offered at the end of each semester, students with strong backgrounds are urged to come to Rice in May and take some or all of the exams before the start of the Fall semester. Each exam you pass means one less you’ll need to study for in the future.

4.4 Qualifying (C) Exams

The qualifying or ‘C’ exams are oral exams taken by appointment. The purpose of this exam is to test the student’s depth of knowledge in the area where they will do their thesis research. They require several months of independent reading, usually with a study group. Each research area provides a syllabus consisting mostly of research papers in the area, and each research group has a committee of faculty members that administer the exam. This exam must be taken within seven semesters of starting the PhD program. Most pass on their first try. Multiple attempts are allowed, depending on the committee.

4.5 Thesis Proposal

Historically, reaching this stage takes anywhere from two to four years. According to official university policy, however, the Department cannot support a student unless he/she has obtained candidacy (i.e. passed his/her proposal) by the completion of the seventh semester. There are two steps in the proposal process. The first step is to present the proposal to the thesis committee and any interested faculty. The second step is the public presentation of the proposal. Failing a public thesis proposal is rare. The department will grant a MS degree after passing the C exam or the thesis proposal, with the formation and approval of a thesis committee of at least three faculty, with two faculty from the Department.

4.6 Thesis Defense

Historically, reaching this stage takes anywhere from three to ten years. The defense must be completed within four years of reaching candidacy. Once you have successfully defended your thesis, you will be awarded a diploma the following May. In the past few years, the distribution of years to graduation is as follows:

3 years  1  8 years  3
4 years  0  8.5 years  1
5 years  9  9 years  3
6 years  9  10 years  1
7 years  4  11 years  0
7.5 years  1  12 years  2

The 7.5 and 8.5 years were students who began in January, rather than August. Fortunately, the number of years until graduation seems to be decreasing for newer students. No one in the department has ever failed a thesis defense. However, revision or addition to the thesis may be required.

MCS Requirements

Currently, Rice MCS’s occupy a middle ground, somewhere between undergrads and PhD’s: They have oncampus mailboxes, longer library checkout times, and something like an office, but they don’t get paid, take mostly undergrad classes to start, can’t get into Duncan Hall late at night, etc. In the past some MCS’s have complained about being “in the dark” as far as getting good advice about courses, requirements, etc. Hopefully, your stay will be a bit easier thanks to their efforts. The most important thing to do is make sure you have the current list of requirements for the MCS degree. If not, make sure you get it from the department. That counts more than any advice we could give here.

You are entitled to a department mailbox, where almost everything important (i.e. grades, library late notices) will be sent (NOT to your permanent address).

5.1 Courses

If you’re not coming from Rice or if your undergraduate background is not computer science, your advisor will probably have you take several undergraduate COMP classes. Be warned that the schedule for these courses is made up primarily for the convenience of the undergraduates and faculty. It is not designed to allow you to complete a couple of years of computer science prerequisite courses in only one year.

It can be done, but you may have to push for it, possibly by taking some courses at the same time as their nominal prerequisites. Usually 210/280, and 212/314 can be taken simultaneously, but unless you have had algorithms before, take 314 before 481.

Lay out your course plan, at least informally, as far as possible in advance. Don’t try to take two programming courses at the same time, at least not during the first semester. They can be heavy.

5.2 Computer Accounts

Get an Owlnet account immediately, and be sure you know how to read E-mail and UseNet newsgroups. Most instructors, the Grad Student Association, and the Owlnet administration, among others, use these channels to keep you informed. Ask Iva Jean (the department coordinator) to make sure that you are on the “mcs” mailing list.

Chapter 6

Research Groups

6.1 Artificial Intelligence

Examines decision making in adaptive resource-limited agents
Areas  applications in robotics, geometric design, scheduling, networks
Languages C, C++
Platform UNIX on Sun workstations

Faculty and Research Scientists:

Devika Subramanian design and analysis of adaptive, discrete limited-resource agents
Moshe Vardi  Multi-agent systems

6.2 Robotics and Physical Computing

Examines geometric computing in the physical world
Areas  robotics, applications in molecular biology, computational

chemistry (pharmaceutical drug design), and medicine

Languages C, C++
Platform Unix on various architectures with emphasis on SGI machines.

Faculty and Research Scientists:

Lydia Kavraki  robotics, computer assisted pharmaceutical drug design
Florent Lamiraux robotics

6.3 Programming Languages

Examines theoretical and implementational aspects of programming languages,

expecially advanced languages

Areas  semantics, expressibility, types, control, calculi, environments
Languages Scheme, ML, C++
Platform Unix on various architectures, Microsoft Windows 95 and Windows NT

Faculty and Research Scientists:

Corky Cartwright abstract programming and program semantics
Matthias Felleisen conceptual aspects of programming languages

Kathi Fisler

Graduate Students:

Shriram Krishnamurthi extensible systems, syntactic abstraction and programming environments
Matthew Flatt  programming environments

Robby Findler Paul Graunke Tim Miller

6.4 Systems

Examines issues in operating systems, networking, distributed systems
Areas  distributed shared memory, fault tolerance, debugging,

optimistic computations, system architecture, OS support for I/O-intensive applications

Languages C, C++
Platform Ultrix on DECstations, Mach, various others

Faculty and Research Scientists:

Willy Zwaenepoel distributed computations, fault tolerance
Alan Cox  NUMA shared-memory systems, DSMs
Peter Druschel  OS structure, OS support for I/O intensive applications

Graduate Students:

Weimin Yu  garbage collecting on the TreadMarks DSM system
Christiana Amza distributed shared memory, distributed systems, parallel database systems
Vivek Pai  high-performance I/O, WWW, operating systems
Johnny Chen  routing for large scale networks, file systems
Gaurav Banga  operating systems, networks
Zheng-Hua Li  distributed computing, operating systems
Mohit Aron  operating systems, networks

Paul Parker

6.5 Graphics

Examines geometric modeling, spline curves and surfaces, subdivision schemes, wavelets, animation
Platform SGI workstations

Faculty and Research Scientists:

Joe Warren  geometric modeling, computational geometry, subdivision schemes, wavelets
Ron Goldman geometric modeling, computational geometry, spline curves and surfaces
Doug Moore mesh generation, scientific visualization, computer graphics

Graduate Students:

Henrik Weimer geophysical modeling, scattered data approximation, subdivision

Ming Zhang

6.6 Algorithms and Complexity

Examines combinatorial algorithms, graph algorithms, copmuter-aided verification

Faculty and Research Scientists:

Moshe Vardi applications of logic to computer science
Lydia Kavraki geometric algorithms
Kathi Fisler  computer-aided verficiation

6.7 Scalar Compiler

Examines optimizing compilers for uniprocessor machines
Areas  intra/interprocedural analysis and optimization,

register allocation, instruction scheduling, memory hierarchy management

Platform UNIX on Sun workstations, AIX on IBM RS6000’s
Language C, C++

Faculty and Research Scientists:

Keith Cooper programming environments, compiler construction
Linda Torczon programming environments, compiler construction
Ken Kennedy compilers, programming languages and environments

Graduate Students:

Edmar Wienskoski software pipelining for superscalar machines
John Lu  pointer analysis for C programs
Philip Schielke  instruction scheduling, compiling for partitioned register set machines

Jingsong He

6.8 PFC and ParaScope

Examines incremental and interactive development, parallelization,

and debugging of whole scientific programs on

shared-memory multiprocessors

Areas  batch/incremental intra/interprocedural dependence analysis,

advanced program transformation techniques, user interfaces

Platforms CMS on IBM 3081, UNIX on Sun workstations,

AIX on IBM RS6000’s, Sequent

Languages C, PL/1

Faculty and Research Scientists:

Ken Kennedy  compilers, programming languages and environments
John Mellor-Crummey parallel processing, debugging parallel programs
Alan Carle  attribute grammars, automatic differentiation
Scott Warren  user interfaces

Graduate Students:

Gina Goff  symbolic dependence analysis and testing
Mike Paleczny supercomputer I/O, dependence analysis
Zoran Budimlic optimizing Java

Collin McCurdy

Arun Chauhan parallelizing compilers, compiling for scalable parallel I/O

6.9 Fortran D

Examines machine-independent parallel programming
Areas  compilation of regular and irregular scientific codes

for MIMD and SIMD distributed-memory machines

Platforms UNIX on Sun workstations, Intel iPSC/860, TMC CM-2, Cray T3D
Languages C, C++

Faculty and Research Scientists:

Ken Kennedy  compilers, programming languages and environments
John Mellor-Crummey parallel processing, debugging parallel programs
Chuck Koelbel  High Performance Fortran Forum

Vikram Adve Yoshiki Seo

Graduate Students:

Mark Anderson debugging parallel (Fortran D) programs
Dejan Mircevski code generation for advanced data-parallel language constructs

6.10 Electronic Studio

Examines collaborative applications in an educational setting
Areas  computer supported cooperative work, hypertext and information

retrieval, human-computer interaction

Platforms UNIX on Sun Workstations, SGI, ICM PCs and Macintosh
Languages C, C++

Faculty and Research Scientists:

Tony Gorry collaborative systems, information systems