198:671 Seminar in Object-oriented Programming Languages:
Compilation and Code Optimization,
Tools for Testing, Debugging and Program Understanding

Fall 1999, Index 25500, Section 01
Prof Barbara G. Ryder
Fall 1999

Class Meeting Time Set

Class will meet from 1:30pm-4:30pm (with a short break) on Thursday afternoons in CoRE B (on the third floor).

Class Meeting Schedule


This seminar will explore modern object-oriented programming languages (OOPLs) to discover open research questions with regard to their compilation and optimization (especially C++ and Java). Also of interest will be software tools and techniques for building and maintaining OOPL systems, including testing, debugging, "smart" program browsers, etc. The key programming language properties which distinguish OOPLs from other paradigms are: type polymorphism through inheritance, dynamic dispatch of functions, data abstraction in objects with user-controlled visibility, standardized libraries and interfaces for program building from components, dynamic loading of classes, as well as concurrency (threads) and extensive use of exceptions. These features render analysis and optimization of these languages different from the imperative paradigm.

More details on topics

Specific topics to be studied will include:

The seminar format will be to meet one afternoon per week for a 3 hour period (with a break). Class will consist mostly of student presentations from the literature, although Prof Ryder will do some lecturing, too. Students will be expected to present at least 2 research papers in an area of their choice. Presentations will explain the material read and point out as yet unsolved problems. Student participation in class discussion will be part of the course grade.

The class webpage will contain an incomplete listing of topics/papers which will be augmented by student bibliographic search. Expected work will include these class presentations plus either a final paper posing research questions in a specific area, or a software project investigating a specific research question, (preferably for Java). For example, a project might be to use available tools to build a static browser for Java class files capable of some type analysis. Several Java tools will be available for class use including: Toba (a Java to C translator), Kaffe (a Java interpreter/JIT system), and EDG's Java front end.

It is expected that CS515 is a prerequisite for taking this seminar those students without CS515 will need permission of the instructor to signup. The first meeting of the course will be on Wednesday, September 1st 3pm in Core B. If you cannot attend this meeting but want to register for the seminar, please send email asap to ryder@cs.rutgers.edu. Note: Prof Ryder will be out of town at a conference from September 3-10th, 1999.

Important Notice

The organizational meeting of the seminar was held on Wednesday, September 1st, 3pm in Core B. Our next meeting, which will begin our actual studies, will be on Weds, September 15th in Core B (Note that the meeting day may change from Weds to Thursday afternoons, depending on enrollment.) If you want to register for the seminar, please send email asap to ryder@cs.rutgers.edu. Note: Prof Ryder will be out of town at the Foundations of Software Engineeing conference from September 3-10th, 1999.

Last updated by Barbara Ryder at 11:30am on September 15, 1999.