CS 6848 - Principles of Programming Languages

Paper presentation

The students will be divided into groups and each group has to a) choose a paper to lead, and b) present the paper. The list of papers to choose from can be found below. Each group can work together in reading 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, three of the non-lead groups will have ten minutes (at most 2-3 slides) each to summarize their own findings/understeanding or present a critical analysis of the paper. For each group, their lead presentation will count for fifty percent of the marks, the summary presentations will be count towards 2 * 20 = forty 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. Automatic predicate abstraction of C programs, by Thomas Ball, Rupak Majumdar, Todd Millstein, and Sriram K. Rajamani. In Proceedings ACM PLDi 2001.
  9. Type preserving Garbage Collectors, by Daniel Wang and Andrew W Appel. In proceedings of POPL 2001.
  10. Type safe method inling, by Neal Glew and Jens Palsberg, in proceedings of ECOOP 2002.
  11. Counterexample-guided abstraction refinement for symbolic model checking, by Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith. In Journal of the ACM 2003.
  12. Types for Atomicity: Static Checking and Inference for Java, by Cormac Flanagan, Stephen N. Freund, Marina Lifshin, and Shaz Qadeer. In ACM TOPLAS 2008.


We will have five groups, the slots for the lead presentation and non-lead presentations are:
April 15, 16 - CSP (Rahul, Shashi)
April 16, 17 - Eiffel (Manas + Niranjan)
April 21, 22 - Axiomatic basis for computer programming (Divya + Dennis)
April 23, 24 - PCC (Nizam + Jyothi)
April 28, 29 - Predicate Abstraction (Indu + Raghesh)