198:674 Seminar on Large, Modern Object-oriented Applications:
Tools for Analyzing, Testing, Debugging, and Performance Understanding

Prof Barbara G. Ryder

Spring 2005, Index 49804
Mondays, 1:30-3:00pm, Hill 428
Thursdays, 1:30-3:00pm, Core B

Presentation Schedule:


This seminar will focus on modern object-oriented, web-based applications that are built using frameworks and components; we will consider both systems and e-commerce software. Our goal is to examine the recent literature to discover open research questions, especially for Java systems.

The key programming language properties which distinguish object-oriented programming languages 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 building tools for analysis, understanding, testing and debugging these languages more difficult than in the imperative paradigm.

We will be looking at compile-time (static) and runtime (dynamic) analyses that support testing and understanding of these sorts of large applications, primarily written in Java. We will explore specific language constructs such as threads and exceptions, to understand how they increase the complexity of testing and maintaining such codes. There are specific software tools that we will explore, to better understanding their strengths and shortcomings. Other possible topics include analysis-based approaches to security and the use of model checking for debugging.

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. Normally we will cover 1 paper in depth per class, but there may be classes where we choose to read lots of short papers and do 20-30 minute presentations on each one, to get a broad overview of a topic. The following PDF file contains an updated (2/4/2005) list of readings from which we will select in the seminar. This list augments the older reading lists which appeared here before.

Course Requirements

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 Thursday, January 20 at 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.

Last updated by Barbara Ryder at 10:50pm, February 4, 2005