Saturday 8 February 2014

Attended SIGPLAN PLMW and POPL 2014

This year's "Programming Languages Mentoring Workshop" and POPL that took place in San Diego, had been a blast. This was my second time attending PLMW/POPL and I can say that anyone who will be able to attend this conference (and the mentoring workshop day) while being a PhD -or even undergrad- student will get a unique opportunity to explore the field of programming languages. So, go for it, the next time you hear about the PLMW scholarships!

This year's attendance had a little bit of structure in note taking for me, since I had a "battery-autonomy > 2 hours"d laptop this time. The format was in Latex and in the end I had a ten-page pdf-document of raw data with links, listings, citations, summaries of talks, to-do items that will help me or a colleague! Surprisingly, the interest some times doesn't come from the solution to a problem that a paper presents per se, but from the methodology that was followed. Some things/realizations/resolutions/advices to share listified are the following:
  • Invariants are calculated, are approximated, are broken, can be temporarily broken and then restored, dependent types are super-related to them, are definitely a key concept of parametricity, to abstraction safety and many more! 
  • Look for Peter O’Hearn's and Isil Dillig's talks for abstract interpretation 101 (this will help you a lot for past, current and future POPL papers).
  • Study about academic writing, presenting!
  • Separation Logic can provide solutions to reasoning of infinitely many problems (like type invariant that holds almost everywhere, like reasoning for C sequence points)
  • Study Software Foundations and Certified Programming with Dependent Types, Coq is must nowadays. Mechanically checked proof writing with Coq is already a top-class skill for POPL publishing.
Important papers as prerequisites of several talks I attended. This list features papers that I have either found to be a seminal paper, or a paper of a system that was used for evaluation purposes, or a previous paper of the same author, etc. [1] was mentioned from at least 3 distinct speakers; a Coq implementation of a verified Red Black Tree, [2] to understand a this direction in POR, [3] seminal paper on abstract interpretation, [4] interesting use as a case study from a paper but interesting in general for industrial-strength parser library, [5] for lambda calculus with effects, [6] for Symbolic Finite Automata cases and basics, [7] a super-tutorial for DT PL, [8] for parametricity and "on the point and purpose of types", [9-10] parametricity, [11] a guide/insight of Reynolds-papers.
  1. Appel, Andrew W. Efficient verified red-black trees, 2011.
  2. Flanagan, Cormac, and Patrice Godefroid. Dynamic partial-order reduction for model checking software, ACM Sigplan Notices. Vol. 40. No. 1. ACM, 2005.
  3. Patrick Cousot and Radhia Cousot. 1977. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, 1977.
  4. Leijen, Daan, and Erik Meijer. Parsec: Direct style monadic parser combinators for the real world, 2001.
  5. Felleisen, Matthias, and Daniel P. Friedman. Control Operators, the SECD-Machine, and the Lambda-Calculus, 1986
  6. Veanes, Margus. Applications of symbolic finite automata. Implementation and Application of Automata. Springer Berlin Heidelberg, 2013.
  7. Löh, Andres, Conor McBride, and Wouter Swierstra. A tutorial implementation of a  dependently typed lambda calculus. Fundamenta informaticae 102.2, 2010.
  8. Reynolds, John C. Types, abstraction and parametric polymorphism. (1983):513-523.
  9. Mitchell, John C. Representation independence and data abstraction. Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. ACM, 1986.
  10. Wadler, Philip. Theorems for free!. Proceedings of the fourth international conference on Functional programming languages and computer architecture. ACM, 1989.
  11. [metapaper] Brookes, Stephen, Peter W. O’Hearn, and Uday Reddy. The essence of Reynolds. Proceedings of the 41st annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages. ACM, 2014.






No comments:

Post a Comment