Location: 05D15
Time: Usually every Wednesday at 11:00.
We will read and discuss one paper per meeting. One participant (the discussion leader) will give a short summary and raise a few points for discussion, but every participant is expected to read the paper beforehand.
Guests are always welcome!
Please subscribe to our mailing
list to be notified about upcoming meetings!
Feel free to propose candidates for future meetings by email to Tillmann Rendel.
Next meeting
May 2, 2012
Decomposing Lambda --- The Kernel Programming Language. John N. Shutt. Technical Report WPI-CS-TR-03-04, Worcester Polytechnic Institute, Worcester, MA, USA (2003)
Discussion Leader: Yi
Candidates for future meetings
A Set of Postulates for the Foundation of Logic. Alonzo Church. The Annals of Mathematics 33(2): 346—366 (1932)
A Formulation of the Simple Theory of Types. Alonzo Church. Journal of Symbolic Logic 5: 56—68 (1940)
Computing Machinery and Intelligence. Alan Mathison Turing. Mind LIX(236): 433—460 (1950)
Dataless Programming. Robert M. Balzer. Proc. of AFIPS: 535—544 (1967)
The Semantics of Predicate Logic as a Programming Language. M. H. Van Emden and R. A. Kowalski. J. ACM 23: 733—742 (1976)
Algorithm = logic + control. Robert Kowalski. Commun. ACM 22: 424—436 (1979)
The Emperor's Old Clothes. Charles Antony Richard Hoare. Commun. ACM 24(2): 75—83 (1981)
The Modular Structure of Complex Systems. D. L. Parnas, P. C. Clements and D. M. Weiss. Proc. of ICSE: 408—417 (1984)
Reflections on Trusting Trust. Ken Thompson. Commun. ACM 27(8): 761—763 (1984)
Theorems for Free!. Philip Wadler. Proc. of FPCA: 347—359 (1989)
A Syntactic Approach to Type Soundness. Andrew K. Wright and Matthias Felleisen. Inf. Comput. 115(1): 38—94 (1994)
A Case Study of Open Source Software Development: The Apache Server. Audris Mockus, Roy T. Fielding and James Herbsleb. Proc. of ICSE: 263—272 (2000)
Full Abstraction for PCF. Samson Abramsky, Radha Jagadeesan and Pasquale Malacaria. Information and Computation 163(2): 409—470 (2000)
The Essence of Programming Languages. Niklaus Wirth. Proc. of JMLC: 1—11 (2003)
Aspect-oriented programming and modular reasoning. Gregor Kiczales and Mira Mezini. Proc. of ICSE: 49—58 (2005)
Let's Go to the Whiteboard: How and Why Software Developers Use Drawings. Mauro Cherubini, Gina Venolia, Rob DeLine and Andrew J. Ko. Proc. of CHI: 557—566 (2007)
Failure is a Four-Letter Word: A Parody in Empirical Research. Andreas Zeller, Thomas Zimmermann and Christian Bird. Proc. of Promise (2011)
Directed Incremental Symbolic Execution. Suzette Person, Guowei Yang, Neha Rungta and Sarfraz Khurshid. Proc. of PLDI: 504—515 (2011)
Previous meetings
April 25, 2012
Interview: The 'Art' of Being Donald Knuth. Len Shustek. Commun. ACM 51(7): 35—39 (2008)
Interview: Donald Knuth: A Life's Work Interrupted. Len Shustek. Commun. ACM 51(8): 31—35 (2008)
Discussion Leader: Paolo
April 18, 2012
The Humble Programmer. Edsger W. Dijkstra. Commun. ACM 15(10): 859—866 (1972)
Discussion Leader: Tillmann
April 4, 2012
Rx: Treating Bugs as Allergies---A Safe Method to Survive Software Failures. Feng Qin, Joseph Tucek, Jagadeesan Sundaresan and Yuanyuan Zhou. Proc. of SOSP: 235—248 (2005)
Discussion Leader: Christian
March 28, 2012
Producing Wrong Data Without Doing Anything Obviously Wrong!. Todd Mytkowicz, Amer Diwan, Matthias Hauswirth and Peter F. Sweeney. Proc. of ASPLOS: 265—276 (2009)
Discussion Leader: Felix
March 21, 2012
Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory. Frank Pfenning. Proc. of LICS: 221—230 (2001)
Discussion Leader: Yi
March 14, 2012
Run your Research: On the Effectiveness of Lightweight Mechanization. Casey Klein, John Clements, Christos Dimoulas, Carl Eastlund, Matthias Felleisen, Matthew Flatt, Jay A. McCarthy, Jon Rafkind, Sam Tobin-Hochstadt and Robert Bruce Findler. Proc. of POPL: 285—296 (2012)
Discussion Leader: Klaus
March 7, 2012
Model-driven Development of Complex Software: A Research Roadmap. Robert France and Bernhard Rumpe. Proc. of FOSE: 37—54 (2007)
Discussion Leader: Sebastian
February 29, 2012
Inventing on Principle. Bret Victor. Presented at CUSEC (2012)
Discussion Leader: Tillmann
February 22, 2012
Safeguarding Good Scientific Practice. DFG. Wiley-VCH, Weinheim (1998)
We discuss sections 1 and 2. You might want to skip the "Commentary" section of each recommendation according to your interests.
Discussion Leader: Christian
February 15, 2012
On the Expressive Power of Programming Languages. Matthias Felleisen. Proc. of ECOP / Science of Computer Programming (1990)
We read Section 1 to 3 from the conference
version and Section 5 to 7 from the journal
version.
Discussion Leader: Paolo
February 8, 2012
Classical Negation in Logic Programs and Disjunctive Databases. Michael Gelfond and Vladimir Lifschitz. New Generation Computing 9: 365—385 (1991)
Discussion Leader: Yi
February 1, 2012
Answer Set Programming at a Glance. Gerhard Brewka, Thomas Eiter and Miroslaw Truszczynski. Commun. ACM 54(12): 92—103 (2011)
Discussion Leader: Klaus
January 25, 2012
The Mechanical Evaluation of Expressions. Peter J. Landin. Computer Journal 6(4): 308—320 (1964)
Discussion Leader: Tillmann
January 18, 2012
Proof-Carrying Code. George C. Necula. Proc. of POPL: 106—119 (1997)
Discussion Leader: Sebastian
Please feel free to only read the first four paragraphs of subsection "safety proofs" on pages 111--113.
January 11, 2012
Finding and Understanding Bugs in C Compilers. Xuejun Yang, Yang Chen, Eric Eide and John Regehr. Proc. of PLDI: 283—294 (2011)
Discussion Leader: Christian
December 21, 2011
Declaratively Defining Domain-Specific Language Debuggers. Ricky T. Lindeman, Lennart C.L. Kats and Eelco Visser. Proc. of GPCE: 127—136 (2011)
Discussion Leader: Felix
December 14, 2011
Extensible Programming for the 21st Century. Gregory V. Wilson. ACM Queue 2(9): 48—57 (2004)
Discussion Leader: Yi
December 7, 2011
Reactive Imperative Programming with Dataflow Constraints. Camil Demetrescu, Irene Finocchi and Andrea Ribichini. Proc. of OOPSLA: 407—426 (2011)
Discussion Leader: Paolo
November 30, 2011
Predicate Dispatching: A Unified Theory of Dispatch. Michael D. Ernst, Craig S. Kaplan and Craig Chambers. Proc. of ECOOP: 186—211 (1998)
Discussion Leader: Klaus
November 23, 2011
Declaratively Programming the Mobile Web with Mobl. Zef Hemel and Eelco Visser. Proc. of OOPSLA: 695—712 (2011)
Discussion Leader: Tillmann
November 16, 2011
Trevis: A Context Tree Visualization & Analysis Framework and its Use for Classifying Performance Failure Reports. Andrea Adamoli and Matthias Hauswirth. Proc. of SOFTVIS: 73—82 (2010)
Discussion Leader: Sebastian
November 2, 2011
Five Misunderstandings About Case-Study Research. Bent Flyvbjerg. Qualitative Inquiry 12(2): 219—245 (2006)
Discussion Leader: Christian
October 19, 2011
SIMULA: an ALGOL-based Simulation Language. Ole-Johan Dahl and Kristen Nygaard. Commun. ACM 9: 671—678 (1966)
Discussion Leader: Paolo
September 28, 2011
A History of CLU. Barbara Liskov. Proc. of HOPL: 133—147 (1993)
Discussion Leader: Tillmann
September 21, 2011
Programming with Crosscutting Effective Views. Doug Janzen and Kris De Volder. Proc. of ECOOP: 275—306 (2004)
Discussion Leader: Christian
September 14, 2011
Praxeology as the Method of the Social Sciences. Murray N. Rothbard (1973)
Discussion Leader: Klaus
August 31, 2011
Matters of (Meta-)Modeling. Thomas Kuehne . Software and System Modeling 5(4): 369—385 (2006)
Discussion Leader: Sebastian
August 24, 2011
Compiling Embedded Languages. Conal Elliott, Sigbjorn Finne and Oege de Moor. JFP 13(2): 455—481 (2003)
Discussion Leader: Matteo
August 17, 2011
Towards Haskell in the Cloud. Jeff Epstein, Andrew Black and Simon Peyton-Jones (2011)
Discussion Leader: Kathi
August 10, 2011
Programming Language Description Languages. Peter D. Mosses. Formal Methods: State of the Art and New Directions: 249—273 (2010)
Discussion Leader: Tillmann
July 13, 2011
Proofs are Programs: 19th Century Logic and 21st Century Computing. Phil Wadler (2000)
Discussion Leader: Paolo
July 6, 2011A Co-Relational Model of Data for Large Shared Data Banks. Erik Meijer and Gavin Bierman. Commun. ACM 54: 49—58 (2011)
Discussion Leader: Klaus
June 29, 2011
True Modules for Java-like Languages. Davide Ancona and Elena Zucca. Proc. of ECOOP: 354—380 (2001)
Discussion Leader: Christian
If you like you can skip the technical section, especially in Sec. 4. The core idea is to talk about different facets of module systems and what we expect from them.
June 22, 2011
Code bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments. Andrew Bragdon, Steven P. Reiss, Robert Zeleznik, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra and Joseph J. LaViola, Jr.. Proc. of ICSE: 455—464 (2010)
Discussion Leader: Sebastian
June 15, 2011
No Silver Bullet -- Essence and Accidents of Software Engineering. Frederick P. Brooks, Jr.. Computer 20: 10—19 (1987)
Discussion Leader: Tillmann
May 4, 2011
Type Inference for Datalog with Complex Type Hierarchies. Max Schaefer and Oege de Moor. Proc. of POPL: 145—156 (2010)
Discussion Leader: Klaus
April 13, 2011
Scribble: Closing the Book on Ad Hoc Documentation Tools. Matthew Flatt, Eli Barzilay and Robert Bruce Findler. Proc. of ICFP: 109—120 (2009)
Discussion Leader: Sebastian
April 6, 2011
Composable Memory Transactions. Tim Harris, Simon Marlow, Simon Peyton-Jones and Maurice Herlihy. Proc. of PPoPP: 48—60 (2005)
Discussion Leader: Kathi
March 23, 2011
Embedded Software Development with Projectional Language Workbenches. Markus Voelter. Proc. of MODELS: 32—46 (2010)
Discussion Leader: Christian
We want to discuss about projectional IDEs. You can concentrate on Section 3 of the paper.
March 9, 2011
The Software Model Checker BLAST: Applications to Software Engineering. Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala and Rupak Majumdar. Int. J. Softw. Tools Technol. Transfer 9: 505—525 (2007)
Discussion Leader: Klaus
February 16, 2011
An Experiment About Static and Dynamic Type Systems: Doubts About the Positive Impact of Static Type Systems on Development Time. Stefan Hanenberg. Proc. of OOSPLA: 22—35 (2010)
Discussion Leader: Christian
February 9, 2011
Rethinking Supercompilation. Neil Mitchell. Proc. of ICFP: 309—320 (2010)
Discussion Leader: Paolo
February 2, 2011
Import is Not Inheritance - Why We Need Both: Modules and Classes. Clemens A. Szyperski. Proc. of ECOOP: 19—32 (1992)
Discussion Leader: Tillmann
January 26, 2011
Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. Tiark Rompf and Martin Odersky. Proc. of GPCE: 127—136 (2010)
Discussion Leader: Sebastian
December 15, 2010
Feature oriented refactoring of legacy applications. Jia Liu, Don Batory and Christian Lengauer. Proc. of ICSE: 112—121 (2006)
Discussion Leader: Christian
December 8, 2010
Lolliproc: To Concurrency from Classical Linear Logic via Curry-Howard and Control. Karl Mazurak and Steve Zdancewic. Proc. of ICFP: 39—50 (2010)
Discussion Leader: Tillmann
December 1, 2010
Remote Batch Invocation for Compositional Object Services. Ali Ibrahim, Yang Jiao, Eli Tilevich and William Cook. Proc. of ECOOP: 595—617 (2009)
Discussion Leader: Paolo
November 24, 2010
PINOCCHIO: Bringing Reflection to Life with First-Class Interpreters. Toon Verwaest, Camillo Bruni, David Gurtner, Adrian Lienhard and Oscar Niestrasz. Proc. of OOSPLA Onward!: 774—789 (2010)
Discussion Leader: Klaus
November 17, 2010
Exchanging Sources Between Clean and Haskell: A Double-Edged Front End for the Clean Compiler. John van Groningen, Thomas van Noort, Peter Achten, Pieter Koopman and Rinus Plasmeijer. Proc. of Haskell: 49—60 (2010)
Discussion Leader: Oleg
November 11, 2010
Species and Functors and Types, Oh My!. Brent A. Yorgey. Proc. of Functional Pearl at Haskell: 147—158 (2010)
Discussion Leader: Tillmann
November 4, 2010
A Theory of Communicating Sequential Processes. Stephen D. Brookes, Charles Antony Richard Hoare and A. W. Roscoe. J. ACM 31: 560—599 (1984)
Discussion Leader: Kathi
You can ignore the examples in part 5 and the appendix.
October 26, 2010
Incomputability. Charles Antony Richard Hoare and D. C. S. Allison. ACM Comput. Surv. 4: 169—178 (1972)
Discussion Leader: Sebastian
October 5, 2010
Expressive and safe static reflection with MorphJ. Shan Shan Huang and Yannis Smaragdakis. Proc. of PLDI: 79—89 (2008)
Discussion Leader: Christian
September 28, 2010
Confessions of a used programming language salesman. Erik Meijer. Proc. of OOPSLA: 677—694 (2007)
Discussion Leader: Sebastian
September 21, 2010
Automatically finding patches using genetic programming. Westley Weimer, ThanhVu Nguyen, Claire Le Goues and Stephanie Forrest. Proc. of ICSE: 364—374 (2009)
Discussion Leader: Klaus
September 7, 2010
Efficient implementation of the smalltalk-80 system. L. Peter Deutsch and Allan M. Schiffman. Proc. of POPL: 297—302 (1984)
Discussion Leader: Paolo
August 24, 2010
Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions. Martin Bravenboer and Eelco Visser. Proc. of OOPSLA: 365—383 (2004)
Discussion Leader: Sebastian
August 17, 2010
Normalization by Evaluation with Typed Abstract Syntax. Morten Danvy, Olivier, Rhiger and Kristoffer H Rose. Functional Pearl in the JFP 11(06): 673—680 (2001)
Discussion Leader: Tillmann
August 3, 2010
Scaling step-wise refinement. Don Batory, Jacob Neal Sarvela and Axel Rauschmayer. Proc. of ICSE: 187—197 (2003)
Discussion Leader: Christian
July 13, 2010
The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity. Atze Dijkstra, Jeroen Fokker and S. Doaitse Swierstra. Proc. of IFL: 57—74 (2008)
Discussion Leader: Oleg
June 29, 2010
Recursive functions of symbolic expressions and their computation by machine, Part I. John McCarthy. Commun. ACM 3(4): 184—195 (1960)
Discussion Leader: Richard
June 15, 2010
The causes of bloat, the limits of health. Nick Mitchell and Gary Sevitsky. Proc. of OOPSLA: 245—260 (2007)
Discussion Leader: Paolo
June 8, 2010
The Myths of Object-Orientation. James Noble. Proc. of ECOOP: 619—629 (2009)
Discussion Leader: Klaus
May 25, 2010
Scala Actors: Unifying thread-based and event-based programming. Philipp Haller and Martin Odersky . Theoretical Computer Science 410(2-3): 202—220 (2009)
Discussion Leader: Thomas
We discuss sections 1 to 5.
May 18, 2010
Measuring parallel processor performance. Alan H. Karp and Horace P. Flatt. Commun. ACM 33(5): 539—543 (1990)
Discussion Leader: Oleg
May 4, 2010
Quality of service profiling. Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann and Martin Rinard. Proc. of ICSE: 25—34 (2010)
Discussion Leader: Tillmann
April 27, 2010
Relational parametricity and units of measure. Andrew J. Kennedy. Proc. of POPL: 442—455 (1997)
Discussion Leader: Sebastian
April 20, 2010
SYNERGY: a new algorithm for property checking. Bhargav S. Gulavani, Thomas A. Henzinger, Yamini Kannan, Aditya V. Nori and Sriram K. Rajamani. Proc. of FSE: 117—127 (2006)
Discussion Leader: Egbert
April 13, 2010
The design of a task parallel library. Daan Leijen, Wolfram Schulte and Sebastian Burckhardt. SIGPLAN Not. 44(10): 227—242 (2009)
Discussion Leader: Klaus
March 25, 2010
Parallel coordination made explicit in a functional setting. Jost Berthold and Rita Loogen. Proc. of IFL: 73—90 (2007)
Discussion Leader: Mischa
March 3, 2010
The power of Pi. Nicolas Oury and Wouter Swierstra. SIGPLAN Not. 43(9): 39—50 (2008)
Discussion Leader: Oleg
February 24, 2010
An Ode to Arrows. Hai Liu and Paul Hudak . Proc. of PADL: 152—166 (2010)
Discussion Leader: Thomas
February 3, 2010
A theory of hygienic macros. David Herman and Mitchell Wand. Proc. of ESOP: 48—62 (2008)
Discussion Leader: Sebastian
January 27, 2010
"Type" is not a type. Albert R. Meyer and Mark B. Reinhold. Proc. of POPL: 287—295 (1986)
Discussion Leader: Tillmann
January 20, 2010
N degrees of separation: multi-dimensional separation of concerns. Peri Tarr, Harold Ossher, William Harrison and Stanley M. Sutton, Jr.. Proc. of ICSE: 107—119 (1999)
Discussion Leader: Klaus
January 13, 2010
Objects and classes, co-algebraically. Bart Jacobs. Proc. of Object orientation with parallelism and persistence: 83—103 (1996)
Discussion Leader: Egbert
December 9, 2009
An axiomatic basis for computer programming. C. A. R. Hoare. Commun. ACM 12(10): 576—580 (1969)
Discussion Leader: Oleg
December 2, 2009
Types, Abstraction and Parametric Polymorphism. John C. Reynolds . Proc. of IFIP Congress: 513—523 (1983)
Discussion Leader: Sebastian
November 25, 2009
The next 700 programming languages. Peter J. Landin. Commun. ACM 9(3): 157—166 (1966)
Discussion Leader: Tillmann
November 18, 2009
On understanding data abstraction, revisited. William R. Cook. Proc. of OOPSLA Onward: 557—572 (2009)
Discussion Leader: Klaus

