CS 6848 - Principles of Programming Languages

Paper presentation

The students will be divided into groups of four/five and each group has to a) choose a paper to lead, b) write a two page summary, c) present the paper. The list of papers to choose from will be made public in the month of March. Each group can work together in reading, writing the summaries and preparing their presentations. One student from the lead group will be chosen at random to present their paper. They will get exactly 45 minutes to present the paper. After the main presentation, each of the non-lead groups will have ten minutes (at most 2-3 slides) each to summarize their own findings/understeanding. For each group, their lead presentation will count for sixty percent of the marks, the summary presentations will be count towards thiry percent of the marks, and ten percent of the mark for class participation.


List of papers to choose from. If you want to present a paper not in this list, then contact the instructor.

  1. An axiomatic basis for computer programming, by C. A. R. Hoare. In communications of the ACM, 12(10):576-580 and 583, October 1969.
  2. Towards a theory of type structure, by John C. Reynolds. In Colloque sur la Programmation, Paris, France, volume 19 of Lecture Notes in Computer Science, pages 408-425. Springer-Verlag, 1974.
  3. Communicating Sequential Processes, by C. A. R. Hoare. In CACM 1978.
  4. Eiffel: an Introduction, by Bertrnd Meyer. In proceedings of Object-Oriented Programming Systems, Tools and Applications, 1991.
  5. A semantics of multiple inheritance, by Luca Cardelli. In Information and Computation, 76(2/3):138-164, 1988.
  6. Proof Carrying code, by George C Necula, in proceedings of POPL 1997.
  7. Featherweight Java, by Athshushi Igarashi, Benjamin Pierce and Philip Wadler, in ACM TOPLAS 2002. An earlier version of the paper appeared in OOPSLA 1999.
  8. Type preserving Garbage Collectors, by Daniel Wang and Andrew W Appel. In proceedings of POPL 2001.
  9. Type safe method inling, by Neal Glew and Jens Palsberg, in proceedings of ECOOP 2002.
  10. Types for Atomicity: Static Checking and Inference for Java, by Cormac Flanagan, Stephen N. Freund, Marina Lifshin, and Shaz Qadeer. In ACM TOPLAS 2008.


Expecting that we will have four groups, the slots for presentation are:
April 10th - Communicating Sequential Processes (Aman, Arun, Dinesh, Ragesh)
April 17th - Eiffel : an Introduction (Pradeep, Vamshee, Vaibhav)
April 19th - Proof Carrying Code (Sarvana and Raja)
April 24th - Type safe method inlining (Amritendu, Dipankanr, Mahesh, Nitin)
April 26th - Type Preserving Garbage Collectors (Abhilash, Arkadeep, Priyabhashini, and Sakshi)