198:674 Seminar in Large, Modern Object-oriented Applications:
Analyzing, Testing, Debugging, and Performance Understanding
Class Schedule


For students who need background in dataflow analysis, I suggest reading Chapter 10.5-10.6 of the Dragon book (A.V. Aho, R. Sethi, and J.D. Ullman, Compilers: Principles, Technique and Tools, Addison-Wesley, 1986). This introduces the classical dataflow problems which have been used in optimizing compilers for procedural and object-oriented languages. The following two lectures from CS516 may also be useful to peruse: Dataflow Analysis I and Dataflow Analysis II. The latter lecture is a more formal treatment of dataflow foundations (see Thomas J. Marlowe, Barbara G. Ryder, "Properties of Data Flow Frameworks: A Unified Model", Acta Informatica, Vol. 28, pp 121-163, 1990.).

January 20, 2005: Static Analysis of OOPLS (Prof Ryder)
References:

January 24, 2005: Points-to Analysis of Java References (Prof Ryder)
Reference: Ana Milanova, Atanas Rountev, Barbara G. Ryder, "Parameterized Object Sensitivity for Points-to and Side-Effect Analyses for Java", in the Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), pp 1-11, July 2002 (longer version in press for ACM TOSEM).

January 27, 2005: Points-to analysis using BDD's (Bruno Dufour)
Reference: M.Berndl, O.Lhotak, F.Qian, L.Hendren, N.Umanee, "Points-to Analysis using BBD's", PLDI 2003, pp 103-114.

January 31, 2005: Points-to Analysis with dynamic loading (Brian Russell)
Reference: M Hirzel, A. Diwan, M. Hind,"Pointer Analysis in the presence of Dynamic Class Loading", ECOOP2004.

February 3, 2005: Object roles (Xiaoxia Ren)
Reference: B. Demsky, M. Rinard "Role-based Exploration of OO programs", ICSE 2002 (may need to consult also F. Civello, "Roles for composite objects in OO analysis and design", OOPSLA 1993; V. Kuncak,P. Lam, M. Rinard, "Role Analysis", POPL 2002)

February 7, 2005: Escape Analysis (Chen Fu)
Reference: J. Whaley, M. Rinard, "Compositional Pointer and Escape Analysis for Java Programs", OOPSLA99.

February 10, 2005: Escape Analysis (Irantha Suwandarathna)
Reference: M.Beers,C. Stork,M. Franz, "Efficiently Verifiable Escape Analysis", ECOOP'04.

February 14,2005: Shared Object Usage (Andrew Tjang)
Reference: C. von Praun, T. Gross, "Static Conflict analysis for Multi-threaded object-oriented programs", PLDI03.

February 17, 2005: Ownership types (Weilei Zhang)
Reference: C. Boyapati, B. Liskov, L. Shrira, "Ownership types for object encapsulation", POPL 2003. May want to look at D. Clarke, S,. Drossopoulou, "Ownership, Encapsulation and the Disjointness of Type and Effect", OOPSLA'02.

February 21, 2005: Dynamic Analysis with Minimal Instrumentation (Ophelia Chesley)
Reference: T. Ball and J. Larus, "Efficient Path Profiling", MICRO-29, December 1996.

February 24, 2005: Delta Debugging (Brian Russell)
Reference: A. Zeller, "Isolating Cause-Effect Chains from Computer Programs", FSE'02.

February 28, 2005: IBM's WebSphere Application Server (Prof Ryder)
Reference: E.N. Herness, R.H.High, Jr., J.R.McGee, "WebSphere Application Server: A Foundation for On Demand Computing", IBM Systems Journal, Vol 43, No 2, 2004.

March 3, 2005: Dynamic Analysis of Java (Kiran Narajan)
Reference: B. Dufour, C. Verbrugge, L. Hendren, "Dynamic Metrics for Java", OOPSLA'03

March 7, 2005: Dynamic Analysis -- Recent Workshops
A day of workshop papers from WOSP'04 (Fourth International Workshop on Software and Performance, ACM SIGSOFT Newsletter, vol 29, No 1, 2004) and from Workshop on Dynamic Analysis held in conjunction with ICSE 2003, 2004): ACM SIGSOFT WODA'03, ACM SIGSOFT WODA'04. Note each presentation will be 15 minutes with 5 minutes for questions.
References:

March 10, 2005: Finding Memory Leaks by Dynamic Analysis (Nick Mitchell, IBM Research)
References:
G. Sevitsky, N. Mitchell, " LeakBot: An Automated and Lightweight Tool for Diagnosing Memory Leaks in Java Applications", ECOOP'03.
obtainable from here by following the Publications link.

March 14-18, 2005: Spring Break

March 21, 2005: Characteristics of Framework-based Systems (Prof Ryder)
Reference:ick.pdf". R.D. Johnson and D. Reimer, "Issues in the Development of Transactional Web Applications", IBM Systems Journal, Vol 43, No 2, 2004.
More on Delta Debugging (Prof Ryder)

March 24, 2005: Performance of Framework-based Codes I (Prof Ryder)
Reference: G. Ammons, J. Choi, M. Gupta, N. Swamy, "Finding and Removing Performance Bottlenecks in Large Systems", ECOOP'04

March 28, 2005: Performance and Scalability of Framework-based Codes II (Chen Fu)
Reference: E. Cecchet, J. Marguerite, W. Zwaenepoel, "Performance and Scalability of EJB Applications", OOPSLA'02.

March 31, 2005: Performance of Framework-based Codes III (Bruno Dufour)
Reference: A. Georges, D. Buytaert, L. Eeckhout, K. De Bosschere "Method Level Phase Behavior in Java Workloads", OOPSLA'04.

April 4, 2005: Class cancelled due to Ryder travel; makeup to be scheduled, so dates below may be tentative.

April 7, 2005: Performance of Framework-based Codes I (Ophelia Chesley)
Reference: M. Y. Chen, E. Kõcõman, E. Fratkin, A. Fox, E. Brewer, "Pinpoint: Problem Determination in Large, Dynamic Internet Services" Proceedings of International Conference on Dependable Systems, (International Performance and Dependability Track) 2002.

April 11, 2005: Understanding API Usage in Framework-based Codes (Andrew Tjang)
Reference: D. Mandelin, L. Xu, R. Bod«õk, D. Kimelman, "Mining Jungloids: Helping to Navigate the API Jungle", to appear in PLDI'05.

April 14, 2005: Adding Components to Java (Xiaoxia Ren)
Reference: S. McDirmid, Matthew Flatt, Wilson C. Hsieh M. Flatt, W. C. Hsieh, "Jiazzi: New-Age Components for Old-Fashioned Java", OOPSLA'01.

April 18, 2005: Understanding Performance of Java Framework-based Systems (Gary Sevitsky, IBM Research)
Reference: Sevitsky, DePaw, et al, "Visualizing the Execution of Java Programs", LNCS2269(2002).

April 21, 2005: Adding Modules to Java (Weilei Zhang)
Reference: J. Corwin, D. F. Bacon, D. Grove, C. Murthy, "MJ: A Rational Module System for Java and its Applications", OOPSLA'03.

April 25, 2005: Verification of Component-based Systems (Jaroslav Sevcik)
Reference: J. Hatcliff, X. Deng, M.B. Dwyer, G. Jung, V. P. Ranganath, "Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems", ICSE'03.

April 28, 2005: Dynamic Analysis (Irantha Suwandarathna)
References: M. Hauswirth, P.F. Sweeney, A. Diwan, M. Hind, "Vertical Profiling: Understanding the Behavior of Object-oriented Applications", OOPSLA'04

May 2, 2005: Components (Prof Ryder)
References: Elaine Weyuker, "Testing Component-based Software: a Cautionary Tale", IEEE Software, Sept/Oct 1998.
Jeffrey Voas, "Maintaining Component-based Systems", IEEE Software, July/August 1998
A. Brown, K. Wallnau, "The Current State of Component-based Sofware Engineering", IEEE Software, Sept/Oct/ 1998.

Last updated by Barbara Ryder on July, 2, 2005.