TutorialFest @ POPL'13The POPL 2013 TutorialFest contains no less than six tutorials, covering a variety of topics. The tutorials will be held on January 21, two days ahead of the main POPL conference and the day before the Programming Languages Mentoring Workshop (PLMW). Attending TutorialFest is free for all POPL and PLMW attendees. In the event of available spaces filling up, PLMW attendees will be prioritised. Registrants of POPL or PLMW may attend any of the tutorials offered throughout the day. (This allows following four tutorials in full.) To keep costs down, no meals are included. Link to registration here. All tutorials will be held twice during the day, giving attendees plenty of options for scheduling. As last year, POPL is favouring a "distilled tutorial format": each tutorial will be 90 minutes, rather than a half day. Questions may be directed to Tobias Wrigstad (tobias.wrigstad@it.uu.se). SpeakersSusmit Sarkar — Shared-Memory Concurrency in the Real World: Working with Relaxed Memory ConsistencyRoom: Sforza B. Times: 9:00-10:30 and 14:00-15:30.
Learning objectives: On completing the tutorial, the student will understand the memory consistency models of modern multiprocessors, a necessary ingredient for research in reasoning about shared-memory concurrent systems code. Bio: Susmit Sarkar is an EPSRC Research Fellow at the University of Cambridge. He has recently researched concurrency on modern hardware such as x86, ARM, and POWER, and the new concurrency model introduced in C11/C++11. Before that, his PhD from Carnegie Mellon studied programming languages for certified code systems. His research interests are in developing and using mathematically rigorous models of real-world systems, particularly high-performance low-level code. Alexey Gotsman — Consistency in Concurrent and Distributed SystemsRoom: Sforza C. Times: 9:00-10:30 and 11:00-12:30.
Learning objectives: After attending the tutorial, participants will know about common notions of data consistency and criteria defining their correctness. They will also get a flavour of how such notions can be defined for various programming models. Bio: Alexey Gotsman is an Assistant Research Professor at the IMDEA Software Software Institute in Madrid, Spain. Before joining IMDEA, he was a postdoctoral fellow at the University of Cambridge, UK, where he also got his Ph.D. His research interests are in software verfication, particularly, in developing reasoning techniques and automated verification tools for real-world systems software. Matthew Flatt — Building Languages in RacketRoom: Sforza B. Times: 11:00-12:30 and 16:00-17:30.
Learning objectives: Participants will learn to use Racket macros to implement the core of a programming language and use it directly as a new `#lang'-based language. Participants will also see how Racket and DrRacket can be adapted to non-parenthesized syntax through `#lang'. Bio: University of Utah. He is one of the developers of the Racket programming language and a co-author of the introductory programming textbook ``How to Design Programs''. He received his PhD in computer science from Rice University in 1999 and joined Utah in 1999. Adam Chlipala — A Taste of Effective Coq Proof AutomationRoom: Sforza C. Times: 14:00-15:30 and 16:00-17:30. Abstract: Many POPL folks are using computer proof assistants these days, and more or less all of them are feeling the pain of writing and maintaining detailed manual proof scripts. In this tutorial, I will give a taste of how to skip the pain by writing highly automated proof scripts in Coq. These scripts in a sense explain why a theorem is true at a high level rather than giving the nitty-gritty details, which often allows a single script to be used through multiple evolutions of a theorem. Examples will be drawn from semantics of programming languages and compiler verification. No prior Coq experience will be assumed, though familiarity with the basics of programming language semantics will be helpful. Learning objectives: Participants should come away able to write simple Coq proof scripts that adapt automatically as new cases are added to the syntax and semantics of programming languages. Bio: Adam Chlipala is an assistant professor in computer science at MIT. His research focus is applying mechanized logical reasoning to improve software development. Much of his work uses the Coq proof assistant, about which he has written a popular book, "Certified Programming with Dependent Types." Adam has worked in proof-carrying code, mechanized metatheory, compiler verification, proof automation for higher-order separation logic, and applying ideas from dependent type theory to the domain of Web programming (in the domain-specific language Ur/Web). Juergen Giesl — Automated Termination Analysis: From Term Rewriting to Programming LanguagesRoom: Sforza D. Times: 11:00-12:30 and 16:00-17:30.
Learning objectives: After attending the tutorial, a student will know about the basics of automated termination analysis, both for general models of computation (like term rewriting) and for actual programming languages (like Java). Moreover, the student will get an intuition how analysis techniques can be adapted from one programming paradigm to another. Bio: Jürgen Giesl is professor of computer science at RWTH Aachen University, Germany. His research interests are in automated program analysis and verification as well as in automated reasoning and term rewriting. In particular, he and his research group developed the AProVE tool for automated termination analysis of languages like Java, Haskell, Prolog, and term rewriting. Grigore Rosu — Design you own programming language with KRoom: Sforza D. Times: 9:00-10:30 and 14:00-15:30.
Learning objectives: The attendees will learn how to define a language or a type system in K in an executable manner, and then how to use that definition to get a useful model of the defined language or system which is amenable for analysis. In spite of being quite formal, K is easy to learn and use, and quite colorful and fun. Bio: Grigore Rosu is an associate professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign (UIUC), where he leads the Formal Systems Laboratory (FSL). His research interests encompass both theoretical foundations and system development in the areas of formal methods, software engineering and programming languages. Before joining UIUC in 2002, he was a research scientist at NASA Ames. ScheduleRoom names will be updated to the proper venue names soon.
Register for POPL tutorials now!Click here. This link will take you to a Google Docs Form where you will be instructed to provide contact information and choose what tutorials you will attend. |