Table of contents for issues of ACM SIG{}PLAN Notices

Last update: Wed Nov 8 13:59:28 MST 2023                Valid HTML 3.2!

Volume 25, Number 6, June, 1990
Volume 35, Number 1, January, 2000
Volume 35, Number 2, February, 2000
Volume 35, Number 3, March, 2000
Volume 35, Number 4, April, 2000
Volume 35, Number 5, May, 2000
Volume 35, Number 6, June, 2000
Volume 35, Number 7, July, 2000
Volume 35, Number 8, August, 2000
Volume 35, Number 9, September, 2000
Volume 35, Number 10, October, 2000
Volume 35, Number 11, November, 2000
Volume 35, Number 12, December, 2000
Volume 36, Number 1, January, 2001
Volume 36, Number 2, February, 2001
Volume 36, Number 3, March, 2001
Volume 36, Number 4, April, 2001
Volume 36, Number 5, May, 2001
Volume 36, Number 6, June, 2001
Volume 36, Number 7, July, 2001
Volume 36, Number 8, August, 2001
Volume 36, Number 9, September, 2001
Volume 36, Number 10, October, 2001
Volume 36, Number 11, November, 2001
Volume 36, Number 12, December, 2001
Volume 37, Number 1, January, 2002
Volume 37, Number 2, February, 2002
Volume 37, Number 3, March, 2002
Volume 37, Number 4, April, 2002
Volume 37, Number 5, May, 2002
Volume 37, Number 6, June, 2002
Volume 37, Number 7, July, 2002
Volume 37, Number 8, August, 2002
Volume 37, Number 9, September, 2002
Volume 37, Number 10, October, 2002
Volume 37, Number 11, November, 2002
Volume 37, Number 12, December, 2002
Volume 38, Number 1, January, 2003
Volume 38, Number 2s, February, 2003
Volume 38, Number 2, February, 2003
Volume 38, Number 2s, February, 2003
Volume 38, Number 2, February, 2003
Volume 38, Number 2s, February, 2003
Volume 38, Number 2, February, 2003
Volume 38, Number 2s, February, 2003
Volume 38, Number 2, February, 2003
Volume 38, Number 2s, February, 2003
Volume 38, Number 2, February, 2003
Volume 38, Number 2s, February, 2003
Volume 38, Number 3, March, 2003
Volume 38, Number 4, April, 2003
Volume 38, Number 5, May, 2003
Volume 38, Number 6, June, 2003
Volume 38, Number 7, July, 2003
Volume 38, Number 8, August, 2003
Volume 38, Number 9, September, 2003
Volume 38, Number 10, October, 2003
Volume 38, Number 11, November, 2003
Volume 38, Number 12, December, 2003
Volume 39, Number 1, January, 2004
Volume 39, Number 2, February, 2004
Volume 39, Number 3, March, 2004
Volume 39, Number 4, April, 2004
Volume 39, Number 5, May, 2004
Volume 39, Number 6, May, 2004
Volume 39, Number 7, July, 2004
Volume 39, Number 8, August, 2004
Volume 39, Number 9, September, 2004
Volume 39, Number 10, October, 2004
Volume 39, Number 11, November, 2004
Volume 39, Number 12, December, 2004
Volume 40, Number 1, January, 2005
Volume 40, Number 2, February, 2005
Volume 40, Number 3, March, 2005
Volume 40, Number 4, April, 2005
Volume 40, Number 5, May, 2005
Volume 40, Number 6, June, 2005
Volume 40, Number 7, July, 2005
Volume 40, Number 8, August, 2005
Volume 40, Number 9, September, 2005
Volume 40, Number 10, October, 2005
Volume 40, Number 11, November, 2005
Volume 40, Number 12, December, 2005
Volume 41, Number 1, January, 2006
Volume 41, Number 2, February, 2006
Volume 41, Number 3, March, 2006
Volume 41, Number 4, April, 2006
Volume 41, Number 5, May, 2006
Volume 41, Number 6, June, 2006
Volume 41, Number 7, July, 2006
Volume 41, Number 8, August, 2006
Volume 41, Number 9, September, 2006
Volume 41, Number 10, October, 2006
Volume 41, Number 11, November, 2006
Volume 41, Number 12, December, 2006
Volume 42, Number 1, January, 2007
Volume 42, Number 2, February, 2007
Volume 42, Number 3, March, 2007
Volume 42, Number 4, April, 2007
Volume 42, Number 5, May, 2007
Volume 42, Number 6, June, 2007
Volume 42, Number 7, July, 2007
Volume 42, Number 8, August, 2007
Volume 42, Number 9, September, 2007
Volume 42, Number 10, October, 2007
Volume 42, Number 11, November, 2007
Volume 42, Number 12, December, 2007
Volume 43, Number 1, January, 2008
Volume 43, Number 2, February, 2008
Volume 43, Number 3, March, 2008
Volume 43, Number 4, April, 2008
Volume 43, Number 5, May, 2008
Volume 43, Number 6, June, 2008
Volume 43, Number 7, July, 2008
Volume 43, Number 8, August, 2008
Volume 43, Number 9, September, 2008
Volume 43, Number 10, September, 2008
Volume 43, Number 11, November, 2008
Volume 43, Number 12, December, 2008
Volume 44, Number 1, January, 2009
Volume 44, Number 2, February, 2009
Volume 44, Number 3, March, 2009
Volume 44, Number 4, April, 2009
Volume 44, Number 5, May, 2009
Volume 44, Number 6, June, 2009
Volume 44, Number 7, July, 2009
Volume 44, Number 8, August, 2009
Volume 44, Number 9, September, 2009
Volume 44, Number 10, October, 2009
Volume 44, Number 11, November, 2009
Volume 44, Number 12, December, 2009


ACM SIG{}PLAN Notices
Volume 25, Number 6, June, 1990

             William D. Clinger   How to Read Floating Point Numbers
                                  Accurately . . . . . . . . . . . . . . . 92--101
         Guy L. Steele, Jr. and   
                   Jon L. White   How to Print Floating-Point Numbers
                                  Accurately . . . . . . . . . . . . . . . 112--126


ACM SIG{}PLAN Notices
Volume 35, Number 1, January, 2000

        Emin Gün Sirer and   
               Brian N. Bershad   Using Production Grammars in Software
                                  Testing  . . . . . . . . . . . . . . . . 1--13
          Lloyd H. Nakatani and   
              Mark A. Ardis and   
            Robert G. Olsen and   
              Paul M. Pontrelli   Jargons for Domain Engineering . . . . . 15--24
            James Reichwein and   
            Gregg Rothermel and   
               Margaret Burnett   Slicing Spreadsheets: An Integrated
                                  Methodology for Spreadsheet Testing and
                                  Debugging  . . . . . . . . . . . . . . . 25--38
            Samuel Z. Guyer and   
                     Calvin Lin   An Annotation Language for Optimizing
                                  Software Libraries . . . . . . . . . . . 39--52
                Vijay Menon and   
                 Keshav Pingali   A Case for Source-Level Transformations
                                  in MATLAB  . . . . . . . . . . . . . . . 53--65
                 Dale E. Parson   Using Java Reflection to Automate
                                  Extension Language Parsing . . . . . . . 67--80
                 Tim Sheard and   
   Zine-el-abidine Benaissa and   
                   Emir Pasalic   DSL Implementation Using Staging and
                                  Monads . . . . . . . . . . . . . . . . . 81--94
              John Peterson and   
                     Greg Hager   Monadic Robotics . . . . . . . . . . . . 95--108
                Daan Leijen and   
                    Erik Meijer   Domain-Specific Embedded Compilers . . . 109--122
             James Jennings and   
                  Eric Beuscher   Verischemelog: Verilog Embedded in
                                  Scheme . . . . . . . . . . . . . . . . . 123--134
      Mary Fernández and   
                  Dan Suciu and   
                 Igor Tatarinov   Declarative Specification of
                                  Data-Intensive Web Sites . . . . . . . . 135--148
                      Du Li and   
               Richard R. Muntz   A Collaboration Specification Language   149--162
               Dan Bonachea and   
            Kathleen Fisher and   
                Anne Rogers and   
                Frederick Smith   Hancock: A Language for Processing Very
                                  Large-Scale Data . . . . . . . . . . . . 163--176

ACM SIG{}PLAN Notices
Volume 35, Number 2, February, 2000

               Barbara G. Ryder   Conference Corner: PLDI '99: Programming
                                  Language Design and Implementation
                                  (Report) . . . . . . . . . . . . . . . . 9--9
                  Barbara Ryder   PLDI '99: Programming language design
                                  and implementation . . . . . . . . . . . 9--10
                     Chis Clark   Practical Parsing Patterns: Uniform
                                  Abstract Syntax Trees  . . . . . . . . . 11--16
                    Chris Clark   Uniform abstract syntax trees  . . . . . 11--16
                   Paul Frenger   Forth: The Ultimate RISC: A
                                  Zero-Instruction Computer  . . . . . . . 17--23
                   Paul Frenger   The Ultimate RISC: A zero-instruction
                                  computer . . . . . . . . . . . . . . . . 17--24
                 Kirk Reinholtz   Java will be faster than C++ . . . . . . 25--28
                 Kirk Reinholtz   Technical Correspondence: Java will be
                                  faster than C++  . . . . . . . . . . . . 25--28
               Matthew S. Davis   An Object Oriented Approach to
                                  Constructing Recursive Descent Parsers   29--35
             Dragan Milicev and   
                Zoran Jovanovic   Sources of parallelism in software
                                  pipelining loops with conditional
                                  branches . . . . . . . . . . . . . . . . 36--45
             Dragan Milicev and   
                Zoran Jovanovic   Sources in Software Pipelining Loops
                                  with Conditions Branches . . . . . . . . 36--45
                 Volker Simonis   Adapters and Binders --- Overcoming
                                  Problems in the Design and
                                  Implementation of the C++-STL  . . . . . 46--53
                 Gaoyan Xie and   
                 Yongsen Xu and   
                      Yu Li and   
                        Qian Li   Codebugger: a software tool for
                                  cooperative debugging  . . . . . . . . . 54--60
                      Bing Swen   Object-Oriented Programming with
                                  Induction  . . . . . . . . . . . . . . . 61--67

ACM SIG{}PLAN Notices
Volume 35, Number 3, March, 2000

                      Anonymous   Important Information for ACM SIGPLAN
                                  Notices Authors  . . . . . . . . . . . . 1--1
                 Mary Lou Soffa   Executive Committee News: 1999 SIGPLAN
                                  Awards . . . . . . . . . . . . . . . . . 2--3
                  Seth Bergmann   Conference Corner: Calendar  . . . . . . 4--15
            Enrico Pontelli and   
             Vitor Santos Costa   Conference Corner: Conference Report:
                                  PADL '00: Workshop on Practical Aspects
                                  of Declarative Languages . . . . . . . . 16--17
                    Peter Chalk   Conference Corner: Conference Report:
                                  JICC4: Java in the Computing Curricula   18--19
                    Peter Chalk   JICC4: Java in the computing curricula   18--19
                      Anonymous   Call for Papers: 2000 International
                                  Symposium on Memory Management (ISMM),
                                  Minneapolis, Minnesota, October 15--16,
                                  2000 . . . . . . . . . . . . . . . . . . 20--20
           Brent W. Benson, Jr.   Java Reflections: Servlets: Web-Based
                                  Applications You Can Live With . . . . . 21--24
           Brent W. Benson, Jr.   Web-based applications you can live with 21--24
                   Paul Frenger   Forth Report: Learning Forth with
                                  Modular Forth  . . . . . . . . . . . . . 25--30
                   Paul Frenger   Learning Forth with Modular Forth  . . . 25--30
                     Tim Bergin   History of Programming Languages and
                                  Software Engineering: A Web-Based Tool   31--31
                David Padua and   
                     Ron Cytron   Compilers and Interpreters Archive . . . 32--32
            A. Michael Bergmann   Information for Authors  . . . . . . . . 33--33
                      Yu Li and   
                 Gaoyan Xie and   
                 Yongsen Xu and   
                        Yi Yang   The Security Problem of Nested Classes   34--38
                      Li Yu and   
                 Xie Gaoyan and   
                 Xu Yongsen and   
                        Yang Yi   The security problem of nested classes   34--38
                Jan Heering and   
                     Paul Klint   Semantics of Programming Languages: A
                                  Tool-Oriented Approach . . . . . . . . . 39--48
                 Mayur Naik and   
                   Rajeev Kumar   Efficient Message Dispatch in
                                  Object-Oriented Systems  . . . . . . . . 49--58
                Peter Kokol and   
                Vili Podgorelec   Ranking the Complexity of NIAM
                                  Conceptual Schemas by Alpha Metric . . . 59--64
                     Tao Li and   
                    XiaoJie Liu   An Intelligent Neural Network
                                  Programming System (NNPS)  . . . . . . . 65--72
              Norman Ramsey and   
                    Kevin Scott   The 1999 ICFP Programming Contest  . . . 73--83

ACM SIG{}PLAN Notices
Volume 35, Number 4, April, 2000

              A. Michael Berman   Letter from the Editor; Welcome ever
                                  smiles \slash And farewell goes out
                                  sighing  . . . . . . . . . . . . . . . . 1--1
              A. Michael Berman   Important Information for ACM SIGPLAN
                                  Notices Authors  . . . . . . . . . . . . 2--2
                  Seth Bergmann   Conference Corner: Calendar  . . . . . . 3--16
                      Anonymous   Call for Papers: The 28th Annual
                                  ACM-SIGACT Symposium Principles of
                                  Programming Languages, London, January
                                  17--19, 2001 (POPL'01) . . . . . . . . . 17--17
                    Chris Clark   Newlines and lexer states  . . . . . . . 18--24
                    Chris Clark   Practical Parsing Patterns: Newlines and
                                  Lexer States . . . . . . . . . . . . . . 18--24
                   Cindy Norris   Information for Authors  . . . . . . . . 25--25
                   Kim B. Bruce   Curriculum 2001 Draft Found Lacking in
                                  Programming Languages  . . . . . . . . . 26--28
                      Anonymous   Proposed knowledge units for programming
                                  languages for Curriculum 2001  . . . . . 29--43
Programming Language Knowledge Focus Group   Proposed Knowledge Units for Programming
                                  Languages for Curriculum 2001  . . . . . 29--43
           Geetha Manjunath and   
             Venkatesh Krishnan   A \em Small Hybrid JIT for Embedded
                                  Systems  . . . . . . . . . . . . . . . . 44--50
             Alexander Sakharov   A Hybrid State Machine Notation for
                                  Component Specification  . . . . . . . . 51--56

ACM SIG{}PLAN Notices
Volume 35, Number 5, May, 2000

               Vasanth Bala and   
         Evelyn Duesterwald and   
               Sanjeev Banerjia   Dynamo: a transparent dynamic
                                  optimization system  . . . . . . . . . . 1--12
           Micha\l Cierniak and   
             Guei-Yuan Lueh and   
             James M. Stichnoth   Practicing JUDO: Java under dynamic
                                  optimizations  . . . . . . . . . . . . . 13--26
                   Steven Lucco   Split-stream dictionary program
                                  compression  . . . . . . . . . . . . . . 27--34
                    Manuvir Das   Unification-based pointer analysis with
                                  directional assignments  . . . . . . . . 35--46
             Atanas Rountev and   
                 Satish Chandra   Off-line variable substitution for
                                  scaling points-to analysis . . . . . . . 47--56
            Ben-Chung Cheng and   
                 Wen-mei W. Hwu   Modular interprocedural pointer analysis
                                  using access paths: design,
                                  implementation, and evaluation . . . . . 57--69
                 Zhichen Xu and   
           Barton P. Miller and   
                    Thomas Reps   Safety checking of machine code  . . . . 70--82
               George C. Necula   Translation validation for an optimizing
                                  compiler . . . . . . . . . . . . . . . . 83--94
          Christopher Colby and   
                  Peter Lee and   
           George C. Necula and   
                  Fred Blau and   
                Mark Plesko and   
                  Kenneth Cline   A certifying compiler for Java . . . . . 95--107
            Mark Stephenson and   
              Jonathan Babb and   
              Saman Amarasinghe   Bidwidth analysis with application to
                                  silicon compilation  . . . . . . . . . . 108--120
                Kent Wilken and   
                   Jack Liu and   
                 Mark Heffernan   Optimal instruction scheduling using
                                  integer programming  . . . . . . . . . . 121--133
             Javier Zalamea and   
                Josep Llosa and   
      Eduard Ayguadé and   
                   Mateo Valero   Improved spill code generation for
                                  software pipelined loops . . . . . . . . 134--144
              Samuel Larsen and   
              Saman Amarasinghe   Exploiting superword level parallelism
                                  with multimedia instruction sets . . . . 145--156
                   Yuan Lin and   
                    David Padua   Compiler analysis of irregular memory
                                  accesses . . . . . . . . . . . . . . . . 157--168
                    Qing Yi and   
                Vikram Adve and   
                    Ken Kennedy   Transforming loops to recursion for
                                  multi-level memory hierarchies . . . . . 169--181
                Radu Rugina and   
                  Martin Rinard   Symbolic bounds analysis of pointers,
                                  array indices, and accessed memory
                                  regions  . . . . . . . . . . . . . . . . 182--195
       Vugranam C. Sreedhar and   
              Michael Burke and   
                 Jong-Deok Choi   A framework for interprocedural
                                  optimization in the presence of dynamic
                                  class loading  . . . . . . . . . . . . . 196--207
                       Erik Ruf   Effective synchronization removal for
                                  Java . . . . . . . . . . . . . . . . . . 208--218
            Cormac Flanagan and   
              Stephen N. Freund   Type-based race detection for Java . . . 219--232
                  G. Ramalingam   On loops, dominators, and dominance
                                  frontier . . . . . . . . . . . . . . . . 233--241
               Zhanyong Wan and   
                     Paul Hudak   Functional reactive programming from
                                  first principles . . . . . . . . . . . . 242--252
      Manuel Fähndrich and   
                Jakob Rehof and   
                    Manuvir Das   Scalable context-sensitive flow analysis
                                  using instantiation constraints  . . . . 253--263
        Dante J. Cannarozzi and   
        Michael P. Plezbert and   
                  Ron K. Cytron   Contaminated garbage collection  . . . . 264--273
               Tamar Domani and   
         Elliot K. Kolodner and   
                   Erez Petrank   A generational on-the-fly garbage
                                  collector for Java . . . . . . . . . . . 274--284
              Norman Ramsey and   
             Simon Peyton Jones   A single intermediate language that
                                  supports multiple implementations of
                                  exceptions . . . . . . . . . . . . . . . 285--298
                     Bob Boothe   Efficient algorithms for bidirectional
                                  debugging  . . . . . . . . . . . . . . . 299--310
               Allan Heydon and   
                  Roy Levin and   
                        Yuan Yu   Caching function calls using precise
                                  dependencies . . . . . . . . . . . . . . 311--320
     Rastislav Bodík and   
                Rajiv Gupta and   
                   Vivek Sarkar   ABCD: eliminating array bounds checks on
                                  demand . . . . . . . . . . . . . . . . . 321--333
            Sanjay Ghemawat and   
           Keith H. Randall and   
               Daniel J. Scales   Field analysis: getting useful and
                                  low-cost interprocedural information . . 334--344
               Julian Dolby and   
                   Andrew Chien   An automatic object inlining
                                  optimization and its evaluation  . . . . 345--357

ACM SIG{}PLAN Notices
Volume 35, Number 6, June, 2000

                     Ron Cytron   Letter from the Chair  . . . . . . . . . 1--1
                  Seth Bergmann   Conference Corner: Calendar  . . . . . . 2--14
                    Chris Clark   Practical Parsing Patterns: Off-and-On
                                  Tokens . . . . . . . . . . . . . . . . . 15--20
                    Chris Clark   Off-and-on tokens  . . . . . . . . . . . 15--20
                   Paul Frenger   Forth Report: The GOTO Machine . . . . . 21--24
                   Paul Frenger   GOTO machine . . . . . . . . . . . . . . 21--24
                Jan Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 25--25
           Arie van Deursen and   
                 Paul Klint and   
                   Joost Visser   Domain-Specific Languages: An Annotated
                                  Bibliography . . . . . . . . . . . . . . 26--36
              Y. N. Srikant and   
                 D. V. Ravindra   Effective Parametrization of
                                  Architectural Registers for Register
                                  Allocation Algorithms  . . . . . . . . . 37--46
                 Sibylle Schupp   Lazy Lists in C++  . . . . . . . . . . . 47--54

ACM SIG{}PLAN Notices
Volume 35, Number 7, July, 2000

               Michael D. Smith   Overcoming the challenges to
                                  feedback-directed optimization (Keynote
                                  Talk)  . . . . . . . . . . . . . . . . . 1--11
           Dawson R. Engler and   
                Wilson C. Hsieh   Derive: a tool that automatically
                                  reverse-engineers instruction encodings  12--22
             Erik Johansson and   
         Sven-olof Nyström   Profile-Guided Optimization Across
                                  Process Boundaries . . . . . . . . . . . 23--31
            Michael J. Voss and   
               Rudolf Eigenmann   A Framework for Remote Dynamic Program
                                  Optimization . . . . . . . . . . . . . . 32--40
                  David Ung and   
             Cristina Cifuentes   Machine-Adaptable Dynamic Binary
                                  Translation  . . . . . . . . . . . . . . 41--51
             Matthew Arnold and   
               Stephen Fink and   
               Vivek Sarkar and   
               Peter F. Sweeney   A Comparative Study of Static and
                                  Profile-Based Heuristics for Inlining    52--64
             Eduard Mehofer and   
                Bernhard Scholz   Probabilistic Data Flow System with
                                  Two-Edge Profiling . . . . . . . . . . . 65--72
                 Craig Chambers   DyC  . . . . . . . . . . . . . . . . . . 73--74
                 Craig Chambers   DyC (Panel Session)  . . . . . . . . . . 73--74
                   Vasanth Bala   Dynamo: A Transparent, Dynamic, Native
                                  Binary Optimizer . . . . . . . . . . . . 75--75
                 Ron Cytron and   
                   Vasanth Bala   Dynamo (Panel Session): a transparent,
                                  dynamic, native binary optimizer . . . . 75--75
                 Ron Cytron and   
                  Renaud Marlet   Tempo, a program specializer for C
                                  (Panel Session)  . . . . . . . . . . . . 76--77
                  Renaud Marlet   Tempo, a program specializer for C . . . 76--77
                 Ron Cytron and   
                   Vivek Sarkar   Dynamic compilation in Jalapeño (Panel
                                  Session) . . . . . . . . . . . . . . . . 78--78
                   Vivek Sarkar   Dynamic Compilation in Jalapeño . . . . . 78--78
               Yoo C. Chung and   
                Michael J. Voss   Summary of the Dynamo '00 Panel
                                  Discussion . . . . . . . . . . . . . . . 79--81
                 Ron Cytron and   
               Yoo C. Chung and   
                Michael J. Voss   Summary of the Dynamo '00 panel
                                  discussion (Panel Session) . . . . . . . 79--81

ACM SIG{}PLAN Notices
Volume 35, Number 8, August, 2000

                     Ron Cytron   Executive Committee News: SIGPLAN Awards 1--2
                  Seth Bergmann   Conference Corner: Calendar  . . . . . . 3--14
                   Paul Frenger   Forth and the FreeBSD bootloader . . . . 15--17
                   Paul Frenger   Forth Report: Forth and the FreeBSD
                                  Bootloader . . . . . . . . . . . . . . . 15--17
                Jan Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 18--18
                Jan Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 19--19
                Ulisses Fereira   uu for Programming Languages . . . . . . 20--30
               Ulisses Ferreira   uu for programming languages . . . . . . 20--30
            Matjaz B. Juric and   
                Ivan Rozman and   
                     Simon Nash   Java 2 Distributed Object Middleware
                                  Performance Analysis and Optimization    31--40

ACM SIG{}PLAN Notices
Volume 35, Number 9, September, 2000

                   Limsoon Wong   The functional guts of the Kleisli query
                                  system . . . . . . . . . . . . . . . . . 1--10
               Haruo Hosoya and   
Jérôme Vouillon and   
             Benjamin C. Pierce   Regular expression types for XML . . . . 11--22
             Christian Queinnec   The influence of browsers on evaluators
                                  or, continuations to program Web servers 23--33
           Christian Skalka and   
                    Scott Smith   Static enforcement of security with
                                  types  . . . . . . . . . . . . . . . . . 34--45
    François Pottier and   
                Sylvain Conchon   Information flow inference for free  . . 46--57
              Stephanie Weirich   Type-safe cast: (functional pearl) . . . 58--67
                     Karl Crary   Typed compilation of inclusive subtyping 68--81
            Valery Trifonov and   
                Bratin Saha and   
                     Zhong Shao   Fully reflexive intensional type
                                  analysis . . . . . . . . . . . . . . . . 82--93
   Manuel M. T. Chakravarty and   
                Gabriele Keller   More types for nested data parallel
                                  programming  . . . . . . . . . . . . . . 94--105
                    Meurig Sage   FranTk --- a declarative GUI language
                                  for Haskell  . . . . . . . . . . . . . . 106--117
             Brian McNamara and   
             Yannis Smaragdakis   Functional programming in C++  . . . . . 118--129
              Robert Harper and   
             Benjamin C. Pierce   Advanced module systems (invited talk):
                                  a guide for the perplexed  . . . . . . . 130--130
                  Chris Okasaki   Breadth-first numbering: lessons from a
                                  small exercise in algorithm design . . . 131--136
                Isao Sasano and   
               Zhenjiang Hu and   
            Masato Takeichi and   
                 Mizuhito Ogawa   Make it practical: a generic linear-time
                                  algorithm for solving maximum-weightsum
                                  problems . . . . . . . . . . . . . . . . 137--149
        Karl-Filip Faxén   Cheap eagerness: speculative evaluation
                                  in a lazy functional language  . . . . . 150--161
           Clem Baker-Finch and   
              David J. King and   
                   Phil Trinder   An operational semantics for parallel
                                  lazy evaluation  . . . . . . . . . . . . 162--173
          Levent Erkök and   
                John Launchbury   Recursive monadic bindings . . . . . . . 174--185
                     Ralf Hinze   Deriving backtracking monad transformers 186--197
               Rowan Davies and   
                 Frank Pfenning   Intersection types and computational
                                  effects  . . . . . . . . . . . . . . . . 198--208
              Daniel Damian and   
                  Olivier Danvy   Syntactic accidents in program analysis:
                                  on the impact of the CPS transformation  209--220
           Vladimir Gapeyev and   
           Michael Y. Levin and   
             Benjamin C. Pierce   Recursive subtyping revealed:
                                  (functional pearl) . . . . . . . . . . . 221--231
        Pierre-Louis Curien and   
                  Hugo Herbelin   The duality of computation . . . . . . . 233--243
                     Carl Seger   Combining functional programming and
                                  hardware verification (invited talk) . . 244--244
             Manuel Serrano and   
                  Hans-J. Boehm   Understanding memory allocation of
                                  scheme programs  . . . . . . . . . . . . 245--256
              A. M. Cheadle and   
                A. J. Field and   
                  S. Marlow and   
         S. L. Peyton Jones and   
                    R. L. While   Non-stop Haskell . . . . . . . . . . . . 257--267
              Koen Claessen and   
                    John Hughes   QuickCheck: a lightweight tool for
                                  random testing of Haskell programs . . . 268--279
         Simon Peyton Jones and   
             Jean-Marc Eber and   
                  Julian Seward   Composing contracts: an adventure in
                                  financial engineering (functional pearl) 280--292

ACM SIG{}PLAN Notices
Volume 35, Number 10, October, 2000

         Jan-Willem Maessen and   
                   Xiaowei Shen   Improving the Java memory model using
                                  CRF  . . . . . . . . . . . . . . . . . . 1--12
                James Noble and   
               David Holmes and   
                    John Potter   Exclusion for composite objects  . . . . 13--28
              Peter A. Buhr and   
             Ashif S. Harji and   
             Philipp E. Lim and   
                Jiongxiong Chen   Object-oriented real-time concurrency    29--46
             Matthew Arnold and   
               Stephen Fink and   
                David Grove and   
               Michael Hind and   
               Peter F. Sweeney   Adaptive optimization in the Jalapeño JVM 47--65
           Mauricio Serrano and   
          Rajesh Bordawekar and   
                Sam Midkiff and   
                   Manish Gupta   Quicksilver: a quasi-static compiler for
                                  Java . . . . . . . . . . . . . . . . . . 66--82
                  Ayal Zaks and   
             Vitaly Feldman and   
                Nava Aizikowitz   Sealed calls in Java packages  . . . . . 83--92
                  Ji Y. Lee and   
                 Hye J. Kim and   
                    Kyo C. Kang   A real world object modeling method for
                                  creating simulation environment of
                                  real-time systems  . . . . . . . . . . . 93--104
        Rémi Bastide and   
          Philippe Palanque and   
                 Ousmane Sy and   
                  David Navarre   Formal specification of CORBA services:
                                  experience and lessons learned . . . . . 105--117
              Jerry Kiernan and   
               Michael J. Carey   Middleware object query processing with
                                  deferred updates and autonomous sources  118--129
             Curtis Clifton and   
            Gary T. Leavens and   
             Craig Chambers and   
                 Todd Millstein   MultiJava: modular open classes and
                                  symmetric multiple dispatch for Java . . 130--145
               Mirko Viroli and   
                 Antonio Natali   Parametric polymorphism in Java: an
                                  approach to translation based on
                                  reflective features  . . . . . . . . . . 146--165
              Serge Demeyer and   
    Stéphane Ducasse and   
               Oscar Nierstrasz   Finding refactorings via change metrics  166--177
           William Harrison and   
             Charles Barton and   
            Mukund Raghavachari   Mapping UML designs to Java  . . . . . . 178--187
           Stephan Herrmann and   
                    Mira Mezini   PIROL: a case study for multidimensional
                                  separation of concerns in software
                                  engineering environments . . . . . . . . 188--207
                 Clyde Ruby and   
                Gary T. Leavens   Safely creating correct subclasses
                                  without seeing superclass code . . . . . 208--228
         Mikel Luján and   
              T. L. Freeman and   
                   John R. Gurd   OoLALA: an object oriented analysis and
                                  design of numerical linear algebra . . . 229--252
            Alvaro Ortigosa and   
              Marcelo Campo and   
         Roberto Moriyón   Towards agent-oriented assistance for
                                  framework instantiation  . . . . . . . . 253--263
           Vijay Sundaresan and   
             Laurie Hendren and   
     Chrislain Razafimahefa and   
     Raja Vallée-Rai and   
                Patrick Lam and   
             Etienne Gagnon and   
                  Charles Godin   Practical virtual method call resolution
                                  for Java . . . . . . . . . . . . . . . . 264--280
                  Frank Tip and   
                  Jens Palsberg   Scalable propagation-based call graph
                                  construction algorithms  . . . . . . . . 281--293
           Kazuaki Ishizaki and   
          Motohiro Kawahito and   
             Toshiaki Yasue and   
            Hideaki Komatsu and   
                Toshio Nakatani   A study of devirtualization techniques
                                  for a Java$^{TM}$ Just-In-Time compiler  294--310
                      Neal Glew   An efficient class and object encoding   311--324
                Zhenyu Qian and   
             Allen Goldberg and   
              Alessandro Coglio   A formal specification of Java$^{TM}$
                                  class loading  . . . . . . . . . . . . . 325--336
              Derek Rayside and   
             Gerard T. Campbell   An Aristotelian understanding of
                                  object-oriented programming  . . . . . . 337--353
            Grzegorz Czajkowski   Application isolation in the Java$^{TM}$
                                  Virtual Machine  . . . . . . . . . . . . 354--366
        Ciarán Bryce and   
         Chrislain Razafimahefa   An approach to safe object sharing . . . 367--381
             David F. Bacon and   
            Robert E. Strom and   
                 Ashis Tarafdar   Guava: a dialect of Java without data
                                  races  . . . . . . . . . . . . . . . . . 382--400

ACM SIG{}PLAN Notices
Volume 35, Number 11, November, 2000

                David Nagle and   
           Steven Schlosser and   
       John Linwood Griffin and   
                 Gregory Ganger   Designing Computer Systems with
                                  MEMS-based Storage . . . . . . . . . . . 1--12
        Steven W. Schlosser and   
       John Linwood Griffin and   
             David F. Nagle and   
              Gregory R. Ganger   Designing computer systems with
                                  MEMS-based storage . . . . . . . . . . . 1--12
       Kourosh Gharachorloo and   
               Madhu Sharma and   
               Simon Steely and   
              Stephen Van Doren   Architecture and Design of AlphaServer
                                  GS320  . . . . . . . . . . . . . . . . . 13--24
          Milo M. K. Martin and   
            Daniel J. Sorin and   
        Anastassia Ailamaki and   
         Alaa R. Alameldeen and   
            Ross M. Dickson and   
              Carl J. Mauer and   
             Kevin E. Moore and   
               Manoj Plakal and   
               Mark D. Hill and   
                  David A. Wood   Timestamp Snooping: An Approach for
                                  Extending SMPs . . . . . . . . . . . . . 25--36
              Ashwini Nanda and   
               Kwok-Ken Mak and   
         Krishnan Sugavanam and   
          Ramendra K. Sahoo and   
Vijayaraghavan Soundararajan and   
                 T. Basil Smith   MemorIES: A Programmable, Real-Time
                                  Hardware Emulation Tool for
                                  Multiprocessor Server Design . . . . . . 37--48
                Jeff Gibson and   
                Robert Kunz and   
                David Ofelt and   
              Mark Horowitz and   
              John Hennessy and   
                  Mark Heinrich   FLASH vs. (simulated) FLASH: closing the
                                  simulation loop  . . . . . . . . . . . . 49--58
              Mark Heinrich and   
                Jeff Givson and   
                Robert Kunz and   
                David Ofelt and   
              Mark Horowitz and   
                  John Hennessy   FLASH vs. (Simulated) FLASH: Closing the
                                  Simulation Loop  . . . . . . . . . . . . 49--58
                  Andy Chou and   
             Benjamin Chelf and   
              Dawson Engler and   
                  Mark Heinrich   Using Meta-level Compilation to Check
                                  FLASH Protocol Code  . . . . . . . . . . 59--70
      Raoul A. F. Bhoedjang and   
              Kees Verstoep and   
              Tim Rühl and   
               Henri E. Bal and   
            Rutger F. H. Hofman   Evaluating Design Alternatives for
                                  Reliable Communication on High-Speed
                                  Networks . . . . . . . . . . . . . . . . 71--81
              Peter Mattson and   
           William J. Dally and   
            Scott W. Rixner and   
            Ujval J. Kapasi and   
                  John D. Owens   Communication Scheduling . . . . . . . . 82--92
                 Jason Hill and   
            Robert Szewczyk and   
                   Alec Woo and   
                Seth Hollar and   
               David Culler and   
               Kristofer Pister   System Architecture Directions for
                                  Networked Sensors  . . . . . . . . . . . 93--104
            Alvin R. Lebeck and   
                 Xiaobo Fan and   
                  Heng Zeng and   
                    Carla Ellis   Power Aware Page Allocation  . . . . . . 105--116
            Emery D. Berger and   
        Kathryn S. McKinley and   
          Robert D. Blumofe and   
                 Paul R. Wilson   Hoard: A Scalable Memory Allocator for
                                  Multithreaded Applications . . . . . . . 117--128
  Krisztián Flautner and   
                 Rich Uhlig and   
            Steve Reinhardt and   
                   Trevor Mudge   Thread Level Parallelism and Interactive
                                  Performance of Desktop Applications  . . 129--138
          Motohiro Kawahito and   
            Hideaki Komatsu and   
                Toshio Nakatani   Effective Null Pointer Check Elimination
                                  Utilizing Hardware Trap  . . . . . . . . 139--149
               Youtao Zhang and   
                   Jun Yang and   
                    Rajiv Gupta   Frequent Value Locality and
                                  Value-Centric Data Cache Design  . . . . 150--159
            Michael Burrows and   
            Ulfar Erlingson and   
             Shun-Tak Leung and   
           Mark Vandevoorde and   
           Carl Waldspurger and   
                 Kip Walker and   
                     Bill Weihl   Efficient and Flexible Value Sampling    160--167
                  David Lie and   
      Chandramohan Thekkath and   
              Mark Mitchell and   
            Patrick Lincoln and   
                  Dan Boneh and   
              John Mitchell and   
                  Mark Horowitz   Architectural Support for Copy and
                                  Tamper Resistant Software  . . . . . . . 168--177
                Todd Austin and   
               Jerome Burke and   
                  John McDonald   Architectural Support for Fast
                                  Symmetric-Key Cryptography . . . . . . . 178--189
               Jerome Burke and   
              John McDonald and   
                    Todd Austin   Architectural support for fast
                                  symmetric-key cryptography . . . . . . . 178--189
           John Kubiatowicz and   
               David Bindel and   
                   Yan Chen and   
          Steven Czerwinski and   
              Patrick Eaton and   
               Dennis Geels and   
        Ramakrishan Gummadi and   
                  Sean Rhea and   
         Hakim Weatherspoon and   
             Westley Weimer and   
                Chris Wells and   
                       Ben Zhao   OceanStore: An Architecture for
                                  Global-Scale Persistent Storage  . . . . 190--201
         Evelyn Duesterwald and   
                   Vasanth Bala   Software Profiling for Hot Path
                                  Prediction: Less is More . . . . . . . . 202--211
                 Rumi Zahir and   
              Jonathan Ross and   
                Dale Morris and   
                      Drew Hess   OS and Compiler Considerations in the
                                  Design of the IA-64 Architecture . . . . 212--221
          Daniel A. Connors and   
          Hillery C. Hunter and   
            Ben-Chung Cheng and   
                 Wen-Mei W. Hwu   Hardware Support for Dynamic Activation
                                  of Compiler-Directed Computation Reuse   222--233
              Allan Snavely and   
                Dean M. Tullsen   Symbiotic Jobscheduling for a
                                  Simultaneous Multithreading Processor    234--244
         Joshua A. Redstone and   
            Susan J. Eggers and   
                  Henry M. Levy   An Analysis of Operating System Behavior
                                  on a Simultaneous Multithreaded
                                  Architecture . . . . . . . . . . . . . . 245--256
     Karthik Sundaramoorthy and   
             Zachary Purser and   
                 Eric Rotenberg   Slipstream Processors: Improving both
                                  Performance and Fault Tolerance  . . . . 257--268
                      Anonymous   Author Index . . . . . . . . . . . . . . 269--271

ACM SIG{}PLAN Notices
Volume 35, Number 12, December, 2000

                  Seth Bergmann   Conference Corner: Calendar  . . . . . . 1--12
                      Anonymous   Conference Corner: LCTES '01 Call for
                                  Papers . . . . . . . . . . . . . . . . . 13--13
           Brent W. Benson, Jr.   Java reflections . . . . . . . . . . . . 14--18
           Brent W. Benson, Jr.   Java Reflections: Java Server Pages:
                                  Servlets, Inside Out . . . . . . . . . . 14--18
                  Chris Jakeman   Forth report . . . . . . . . . . . . . . 19--21
                  Chris Jakeman   Forth in the UK  . . . . . . . . . . . . 19--21
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 22--22
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 23--23
           Rafael Corchuelo and   
José A. Pérez and   
                    Miguel Toro   A Multiparty Coordination Aspect
                                  Language . . . . . . . . . . . . . . . . 24--32
            Bernd Kühl and   
          Axel-Tobias Schreiner   An object-oriented LL(1) parser
                                  generator  . . . . . . . . . . . . . . . 33--40
David Basanta Gutiérrez and   
Cándida Luengo Díez and   
   Raul Izquierdo Castanedo and   
     Jose Emilio Labra Gayo and   
      Juan Manuel Cueva Lovelle   Improving the quality of compiler
                                  construction with object-oriented
                                  techniques . . . . . . . . . . . . . . . 41--50
         Charles D. Knutson and   
            Timothy A. Budd and   
                     Hugh Vidos   Multiparadigm Design of a Simple
                                  Relational Database  . . . . . . . . . . 51--61


ACM SIG{}PLAN Notices
Volume 36, Number 1, January, 2001

              Martin Hirzel and   
                     Amer Diwan   On the Type Accuracy of Garbage
                                  Collection . . . . . . . . . . . . . . . 1--11
                 Ran Shaham and   
         Elliot K. Kolodner and   
                    Mooly Sagiv   On the Effectiveness of GC in Java . . . 12--17
             Bjarne Steensgaard   Thread-Specific Heaps for Multi-Threaded
                                  Programs . . . . . . . . . . . . . . . . 18--24
                Henning Makholm   A Region-Based Memory Manager for Prolog 25--34
           Trishul Chilimbi and   
              Richard Jones and   
                  Benjamin Zorn   Designing a Trace Format for Heap
                                  Allocation Events  . . . . . . . . . . . 35--49
                  David Tarditi   Compact Garbage Collection Tables  . . . 50--58
                  Hans-J. Boehm   Reducing Garbage Collector Cache Misses  59--64
               Yoo C. Chung and   
                  Soo-Mook Moon   Memory Allocation with Lazy Fits . . . . 65--70
   Gustavo Rodriguez-Rivera and   
               Mike Spertus and   
               Charles Fiterman   Conservative Garbage Collection for
                                  General Memory Allocators  . . . . . . . 71--79
            Timothy H. Heil and   
                 James E. Smith   Concurrent Garbage Collection Using
                                  Hardware-Assisted Profiling  . . . . . . 80--93
               Manoj Plakal and   
             Charles N. Fischer   Concurrent Garbage Collection Using
                                  Program Slices on Multithreaded
                                  Processors . . . . . . . . . . . . . . . 94--100
          Richard L. Hudson and   
           J. Eliot B. Moss and   
       Sreenivas Subramoney and   
                Weldon Washburn   Cycles to Recycle: Garbage Collection on
                                  the IA-64  . . . . . . . . . . . . . . . 101--110
          Robert Fitzgerald and   
                  David Tarditi   The Case for Profile-Directed Selection
                                  of Garbage Collectors  . . . . . . . . . 111--120
                 Ole Agesen and   
                Alex Garthwaite   Efficient Object Sampling via Weak
                                  References . . . . . . . . . . . . . . . 121--126
              Timothy L. Harris   Dynamic Adaptive Pre-Tenuring  . . . . . 127--136
         Darko Stefanovi\'c and   
        Kathryn S. McKinley and   
               J. Eliot B. Moss   On models for object lifetime
                                  distributions  . . . . . . . . . . . . . 137--142
             Tony Printezis and   
                  David Detlefs   A Generational Mostly-Concurrent Garbage
                                  Collector  . . . . . . . . . . . . . . . 143--154
               Tamar Domani and   
         Elliot K. Kolodner and   
                Ethan Lewis and   
            Eliot E. Salant and   
         Katherine Barabash and   
                 Itai Lahan and   
             Yossi Levanoni and   
               Erez Petrank and   
                   Igor Yanorer   Implementing an On-the-Fly Garbage
                                  Collector for Java . . . . . . . . . . . 155--166
                  Peter Dickman   Diffusion Tree Restructuring for
                                  Indirect Reference Counting  . . . . . . 167--177

ACM SIG{}PLAN Notices
Volume 36, Number 2, February, 2001

                   Paul Frenger   Forth: Extreme Forth . . . . . . . . . . 20--23
                   Rajeev Kumar   A neural net compiler system for
                                  hierarchical organization  . . . . . . . 26--36
                    Boris Sunik   Definition of open language  . . . . . . 37--46
               Yukong Zhang and   
             Young-Jun Kwon and   
                   Hyuk Jae Lee   A systematic generation of initial
                                  register-reuse chains for dependence
                                  minimization . . . . . . . . . . . . . . 47--54

ACM SIG{}PLAN Notices
Volume 36, Number 3, March, 2001

               John C. Mitchell   Programming language methods in computer
                                  security . . . . . . . . . . . . . . . . 1--3
               Davide Sangiorgi   Extensionality and Intensionality of the
                                  Ambient Logics . . . . . . . . . . . . . 4--13
           Samin S. Ishtiaq and   
               Peter W. O'Hearn   BI as an Assertion Language for Mutable
                                  Data Structures  . . . . . . . . . . . . 14--26
                     Eran Yahav   Verifying safety properties of
                                  concurrent Java programs using
                                  $3$-valued logic . . . . . . . . . . . . 27--40
             Martin Odersky and   
           Christoph Zenger and   
                Matthias Zenger   Colored local type inference . . . . . . 41--53
                Jakob Rehof and   
          Manuel Fähndrich   Type-base flow analysis: from
                                  polymorphic subtyping to
                                  CFL-reachability . . . . . . . . . . . . 54--66
               Haruo Hosoya and   
                Benjamin Pierce   Regular expression pattern matching for
                                  XML  . . . . . . . . . . . . . . . . . . 67--80
              Chin Soon Lee and   
              Neil D. Jones and   
              Amir M. Ben-Amram   The size-change principle for program
                                  termination  . . . . . . . . . . . . . . 81--92
                 David Monniaux   An abstract Monte-Carlo method for the
                                  analysis of probabilistic programs . . . 93--101
               Harald Ganzinger   Efficient deductive methods for program
                                  analysis . . . . . . . . . . . . . . . . 102--103
        Martín Abadi and   
          Cédric Fournet   Mobile values, new names, and secure
                                  communication  . . . . . . . . . . . . . 104--115
              Asis Unyapoth and   
                   Peter Sewell   Nomadic pict: correct communication
                                  infrastructure for mobile computation    116--127
           Atsushi Igarashi and   
                Naoki Kobayashi   A generic type system for the
                                  Pi-calculus  . . . . . . . . . . . . . . 128--141
           George C. Necula and   
                    S. P. Rahul   Oracle-based checking of untrusted
                                  software . . . . . . . . . . . . . . . . 142--154
             Cristiano Calcagno   Stratified operational semantics for
                                  safety and correctness of the region
                                  calculus . . . . . . . . . . . . . . . . 155--165
             Daniel C. Wang and   
                Andrew W. Appel   Type-preserving garbage collectors . . . 166--178
         Mahmut Taylan Kandemir   A compiler technique for improving
                                  whole-program locality . . . . . . . . . 179--192
            Cormac Flanagan and   
                  James B. Saxe   Avoiding exponential explosion:
                                  generating compact verification
                                  conditions . . . . . . . . . . . . . . . 193--205
      Karthikeyan Bhargavan and   
             Satish Chandra and   
            Peter J. McCann and   
                 Carl A. Gunter   What packets may come: automata for
                                  network monitoring . . . . . . . . . . . 206--219
                   Robin Milner   Computational flux . . . . . . . . . . . 220--221
           Michele Bugliesi and   
              Giuseppe Castagna   Secure safe ambients . . . . . . . . . . 222--235
                   Peter Sewell   Modules, abstract types, and distributed
                                  versioning . . . . . . . . . . . . . . . 236--247
           Andrew D. Gordon and   
                       Don Syme   Typing a multi-language intermediate
                                  code . . . . . . . . . . . . . . . . . . 248--260
               Mark Shields and   
                    Erik Meijer   Type-indexed rows  . . . . . . . . . . . 261--275
             Joseph (Yossi) Gil   Subtyping arithmetical types . . . . . . 276--289
   Jérôme Vouillon   Combining subsumption and binary
                                  methods: an object calculus with views   290--303

ACM SIG{}PLAN Notices
Volume 36, Number 4, April, 2001

                Thomas Ball and   
                     Hans Boehm   A modest proposal for SIGPLAN in the
                                  21st Century . . . . . . . . . . . . . . 1--2
                Thomas Ball and   
                     Hans Boehm   SIGPLANet  . . . . . . . . . . . . . . . 1--2
                 Ron Cytron and   
             Matthias Felleisen   Computing Curricula 2001 Draft: SIGPLAN
                                  Response to the Ironman Draft of the
                                  Computing Curricula 2001 . . . . . . . . 3--4
                Jay Fenwick and   
               Cindy Norris and   
                 Ron Cytron and   
             Matthias Felleisen   Computing Curricula 2001 draft . . . . . 3--4
                  Seth Bergmann   Conference Corner: Calendar  . . . . . . 5--20
                   Paul Frenger   Close encounters of the Forth kind . . . 21--24
             Brian McNamara and   
             Yannis Smaragdakis   Functional programming in C++ using the
                                  FC++ library . . . . . . . . . . . . . . 25--30
             Brian McNamara and   
             Yannis Smaragdakis   Functional Programming in C++ using the
                                  FC++ Library . . . . . . . . . . . . . . 25--30
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 31--31
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 32--32
             Zhenqiang Chen and   
                      Baowen Xu   Slicing Object-Oriented Java Programs    33--40
             Zhenqiang Chen and   
                      Baowen Xu   Slicing Concurrent Java Programs . . . . 41--47
              Wang Shaofeng and   
               Yang Fuquing and   
                   Sun Jiaguang   Some issues on the translator of
                                  Smalltalk to C++ . . . . . . . . . . . . 48--55
              Shaofeng Wang and   
                Fuqing Yang and   
                   Jiaguang Sun   Some issues on the translator of
                                  Smalltalk to C++ . . . . . . . . . . . . 48--55

ACM SIG{}PLAN Notices
Volume 36, Number 5, May, 2001

             Andrew Kennedy and   
                       Don Syme   Design and Implementation of Generics
                                  for the .NET Common Language Runtime . . 1--12
              Michael Hicks and   
          Jonathan T. Moore and   
                  Scott Nettles   Dynamic Software Updating  . . . . . . . 13--23
              Nevin Heintze and   
                Olivier Tardieu   Demand-Driven Pointer Analysis . . . . . 24--34
Frédéric Vivien and   
                  Martin Rinard   Incrementalized pointer and escape
                                  analysis . . . . . . . . . . . . . . . . 35--46
           Frederic Vivient and   
                  Martin Rinard   Incrementalized Pointer and Escape
                                  Analysis . . . . . . . . . . . . . . . . 35--46
               Rakesh Ghiya and   
              Daniel Lavery and   
                     David Sehr   On the Importance of Points-to Analysis
                                  and Other Memory Disambiguation Methods
                                  for C Programs . . . . . . . . . . . . . 47--58
              Robert DeLine and   
          Manuel Fähndrich   Enforcing High-Level Protocols in
                                  Low-Level Software . . . . . . . . . . . 59--69
                  David Gay and   
                     Alex Aiken   Language Support for Regions . . . . . . 70--80
             Stefan Monnier and   
                Bratin Saha and   
                     Zhong Shao   Principled Scavenging  . . . . . . . . . 81--91
             David F. Bacon and   
       Clement R. Attanasio and   
                 Han B. Lee and   
                V. T. Rajan and   
                  Stephen Smith   Java without the coffee breaks: a
                                  nonintrusive multiprocessor garbage
                                  collector  . . . . . . . . . . . . . . . 92--103
                 Ran Shaham and   
         Elliot K. Kolodner and   
                    Mooly Sagiv   Heap Profiling for Space-Efficient Java  104--113
            Emery D. Berger and   
           Benjamin G. Zorn and   
            Kathryn S. McKinley   Composing High-Performance Memory
                                  Allocators . . . . . . . . . . . . . . . 114--124
                Perry Cheng and   
                Guy E. Blelloch   A Parallel, Real-Time Garbage Collector  125--136
               Wolfram Amme and   
               Niall Dalton and   
          Jeffery von Ronne and   
                  Michael Franz   SafeTSA: A Type Safe and Referentially
                                  Secure Mobile-Code Representation Based
                                  on Static Single Assignment Form . . . . 137--147
           William S. Evans and   
          Christopher W. Fraser   Bytecode Compression via Profiled
                                  Grammar Rewriting  . . . . . . . . . . . 148--155
             Chandra Krintz and   
                    Brad Calder   Using annotations to reduce dynamic
                                  optimization time  . . . . . . . . . . . 156--167
             Matthew Arnold and   
               Barbara G. Ryder   A Framework for Reducing the Cost of
                                  Instrumented Code  . . . . . . . . . . . 168--179
               Youtao Zhang and   
                    Rajiv Gupta   Timestamped Whole Program Path
                                  Representation and its Applications  . . 180--190
            Trishul M. Chilimbi   Efficient Representations and
                                  Abstractions for Quantifying and
                                  Exploiting Data Reference Locality . . . 191--202
                Thomas Ball and   
             Rupak Majumdar and   
             Todd Millstein and   
             Sriram K. Rajamani   Automatic Predicate Abstraction of C
                                  Programs . . . . . . . . . . . . . . . . 203--213
            Aneesh Aggarwal and   
               Keith H. Randall   Related Field Analysis . . . . . . . . . 214--220
       Anders Mòller and   
        Michael I. Schwartzbach   The Pointer Assertion Logic Engine . . . 221--231
              William Thies and   
Frédéric Vivien and   
            Jeffrey Sheldon and   
              Saman Amarasinghe   A Unified Framework for Schedule and
                                  Storage Optimization . . . . . . . . . . 232--242
            Andrew W. Appel and   
                     Lal George   Optimal Spilling for CISC Machines with
                                  Few Registers  . . . . . . . . . . . . . 243--253
              Nevin Heintze and   
                Olivier Tardieu   Ultra-fast Aliasing Analysis using CLA:
                                  A Million Lines of C Code in a Second    254--263
            David R. Hanson and   
             Todd A. Proebsting   Dynamic Variables  . . . . . . . . . . . 264--273
               Simon Marlow and   
         Simon Peyton Jones and   
               Andrew Moran and   
                     John Reppy   Asynchronous Exceptions in Haskell . . . 274--285
      Siddhartha Chatterjee and   
                Erin Parker and   
           Philip J. Hanlon and   
                Alvin R. Lebeck   Exact Analysis of the Cache Behavior of
                                  Nested Loops . . . . . . . . . . . . . . 286--297
              Jianxin Xiong and   
             Jeremy Johnson and   
             Robert Johnson and   
                    David Padua   SPL: A Language and Compiler for DSP
                                  algorithms . . . . . . . . . . . . . . . 298--308
              Sanjeev Kumar and   
         Yitzhak Mandelbaum and   
                   Xiang Yu and   
                         Kai Li   ESP: A Language for Programmable Devices 309--320
            Eric C. Schnarr and   
               Mark D. Hill and   
                 James R. Larus   Facile: A Language and Compiler for
                                  High-Performance Processor Simulators    321--331
                      Anonymous   Author Index . . . . . . . . . . . . . . 333--333

ACM SIG{}PLAN Notices
Volume 36, Number 6, June, 2001

             Kathleen Knobe and   
               Wilson Hsieh and   
                     Uli Kremer   Executive Committee News: SIGPLAN's
                                  Professional Activities Committee  . . . 1--2
                      Anonymous   Conference Corner: Calendar  . . . . . . 3--18
                Pieter Thiemann   Call for Papers --- PEPM'02: 2002 ACM
                                  Sigplan Workshop on Partial Evaluation
                                  and Semantics-Based Program
                                  Manipulation, Portland, Oregon, USA,
                                  January 14--15, 2002, Preceding POPL'02  19--19
                     Joe Bergin   Curricular Patterns: The Undergraduate
                                  Language Course: What To Do? . . . . . . 20--22
                     Joe Bergin   The undergraduate language course: what
                                  to do? . . . . . . . . . . . . . . . . . 20--22
                   Paul Frenger   Is Forth dead? . . . . . . . . . . . . . 23--25
                   Paul Frenger   Forth Report: Is Forth Dead? . . . . . . 23--25
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 26--26
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 27--27
                     Tao Li and   
                    XiaoJie Liu   The Denotational Semantics of NIPL . . . 28--37
                Alexander Gofen   From Pascal to Delphi to Object
                                  Pascal-2000  . . . . . . . . . . . . . . 38--49
                       Sheng Yu   Class-is-type is inadequate for object
                                  reuse  . . . . . . . . . . . . . . . . . 50--59

ACM SIG{}PLAN Notices
Volume 36, Number 7, July, 2001

                     Ian Foster   Parallel computing in 2010:
                                  opportunities and challenges in a
                                  networked world  . . . . . . . . . . . . 1--1
              Seon Wook Kim and   
            Chong-liang Ooi and   
           Rudolf Eigenmann and   
              Babak Falsafi and   
               T. N. Vijaykumar   Reference idempotency analysis: a
                                  framework for optimizing speculative
                                  execution  . . . . . . . . . . . . . . . 2--11
         Alexandru Salcianu and   
                  Martin Rinard   Pointer and escape analysis for
                                  multithreaded programs . . . . . . . . . 12--23
              David S. Wise and   
            Jeremy D. Frens and   
                  Yuhong Gu and   
           Gregory A. Alexander   Language support for Morton-order
                                  matrices . . . . . . . . . . . . . . . . 24--33
      Rob V. van Nieuwpoort and   
             Thilo Kielmann and   
                   Henri E. Bal   Efficient load balancing for wide-area
                                  divide-and-conquer applications  . . . . 34--43
           Michael L. Scott and   
             William N. Scherer   Scalable queue-based spin locks with
                                  timeout  . . . . . . . . . . . . . . . . 44--52
                 Honghui Lu and   
                Alan L. Cox and   
               Willy Zwaenepoel   Contention elimination by replication of
                                  sequential sections in distributed
                                  shared memory programs . . . . . . . . . 53--61
           Donald G. Morris and   
             David K. Lowenthal   Accurate data redistribution cost
                                  estimation in software distributed
                                  shared memory systems  . . . . . . . . . 62--71
        Umit Rencuzogullari and   
              Sandhya Dwardadas   Dynamic adaptation to available
                                  resources for parallel computing in an
                                  autonomous network of workstations . . . 72--81
                Andrew A. Chien   Parallel programming challenges for
                                  Internet-scale computing (entropia)  . . 82--82
                 R. Veldema and   
            R. F. H. Hofman and   
         R. A. F. Bhoedjang and   
            C. J. H. Jacobs and   
                      H. E. Bal   Source-level global optimizations for
                                  fine-grain distributed shared memory
                                  systems  . . . . . . . . . . . . . . . . 83--92
            Michael J. Voss and   
                Rudolf Eigemann   High-level adaptive program optimization
                                  with ADAPT . . . . . . . . . . . . . . . 93--102
                 Amy W. Lim and   
              Shih-Wei Liao and   
                  Monica S. Lam   Blocking and array contraction across
                                  arbitrarily nested loops using affine
                                  partitioning . . . . . . . . . . . . . . 103--112
         Enrique V. Carrera and   
              Ricardo Bianchini   Efficiency vs. portability in
                                  cluster-based network servers  . . . . . 113--122
          Jeffrey S. Vetter and   
           Michael O. McCracken   Statistical scalability analysis of
                                  communication operations in distributed
                                  applications . . . . . . . . . . . . . . 123--132
               Fumihiko Ino and   
          Noriyuki Fujimoto and   
               Kenichi Hagihara   LogGPS: a parallel computational model
                                  for synchronization analysis . . . . . . 133--142
                     David Kuck   Peer to peer and distributed computing   143--143

ACM SIG{}PLAN Notices
Volume 36, Number 8, August, 2001

                Sheayun Lee and   
           Andreas Ermedahl and   
              Sang Lyul Min and   
                 Naehyuck Chang   An Accurate Instruction-Level Energy
                                  Consumption Model for Embedded RISC
                                  Processors . . . . . . . . . . . . . . . 1--10
               Minyoung Kim and   
                     Soonhoi Ha   Hybrid Run-time Power Management
                                  Technique for Real-time Embedded System
                                  with Voltage Scalable Processor  . . . . 11--19
               Dong-In Kang and   
              Stephen Crago and   
                     Jinwoo Suh   Power-Aware Design Synthesis Techniques
                                  for Distributed Real-Time Systems  . . . 20--28
            Bjorn De Sutter and   
               Bruno De Bus and   
          Koen De Bosschere and   
                  Saumya Debray   Combining Global Code and Data
                                  Compaction . . . . . . . . . . . . . . . 29--38
                Jinpyo Park and   
               Je-Hyung Lee and   
                  Soo-Mook Moon   Register Allocation for Banked Register
                                  File . . . . . . . . . . . . . . . . . . 39--47
            Xianglong Huang and   
                 Steve Carr and   
                  Philip Sweany   Loop Transformations for Architectures
                                  with Partitioned Register Banks  . . . . 48--55
               Sidney Cadot and   
             Frits Kuijlman and   
            Koen Langendoen and   
          Kees van Reeuwijk and   
                      Henk Sips   ENSEMBLE: A Communication Layer for
                                  Embedded Multi-Processor Systems . . . . 56--63
        Thomas A. Henzinger and   
          Benjamin Horowitz and   
         Christoph Meyer Kirsch   Embedded Control Systems Development
                                  with Giotto  . . . . . . . . . . . . . . 64--72
             Luigi Palopoli and   
            Giuseppe Lipari and   
                 Luca Abeni and   
            Marco Di Natale and   
            Paolo Ancilotti and   
               Fabio Conticelli   A tool for simulation and fast
                                  prototyping of embedded control systems  73--81
                  A. Bakshi and   
             V. K. Prasanna and   
                     A. Ledeczi   MILAN: A Model Based Integrated
                                  Simulation Framework for Design of
                                  Embedded Systems . . . . . . . . . . . . 82--87
            Emilio Vivancos and   
          Christopher Healy and   
              Frank Mueller and   
                  David Whalley   Parametric Timing Analysis . . . . . . . 88--93
            Dirk Ziegenbein and   
                Fabian Wolf and   
                Kai Richter and   
               Marek Jersak and   
                     Rolf Ernst   Interval-Based Analysis of Software
                                  Processes  . . . . . . . . . . . . . . . 94--101
         Leena Unnikrishnan and   
           Scott D. Stoller and   
                 Yanhong A. Liu   Automatic Accurate Live Memory Analysis
                                  for Garbage-Collected Languages  . . . . 102--111
                Henrik Theiling   Generating Decision Trees for Decoding
                                  Binaries . . . . . . . . . . . . . . . . 112--120
   Fabrice Mérillion and   
                  Gilles Muller   Dealing with Hardware in Embedded
                                  Software: A General Framework Based on
                                  the Devil Language . . . . . . . . . . . 121--127
           Fabrice Merillon and   
                  Gilles Muller   Dealing with Hardware in Embedded
                                  Software: A General Framework Based on
                                  the Devil Language . . . . . . . . . . . 121--127
             Ismail Kadayif and   
     Mahmut Taylan Kandemir and   
    Narayanan Vijaykrishnan and   
            Mary Jane Irwin and   
          Jagannathan Ramanujam   Morphable Cache Architectures: Potential
                                  Benefits . . . . . . . . . . . . . . . . 128--137
             Elana Granston and   
               Eric Stotzer and   
                    Joe Zbiciak   Software Pipelining Irregular Loops On
                                  the TMS320C6000 VLIW DSP Architecture    138--144
        Daniel Kästner and   
               Sebastian Winkel   ILP-based Instruction Scheduling for
                                  IA-64  . . . . . . . . . . . . . . . . . 145--154
                Jens Wagner and   
                 Rainer Leupers   C Compiler Design for an Industrial
                                  Network Processor  . . . . . . . . . . . 155--164
     Christoph Keßler and   
              Andrzej Bednarski   A Dynamic Programming Approach to
                                  Optimal Integrated Code Generation . . . 165--174
               Daniel M. Yellin   Stuck in the Middle: Challenges and
                                  Trends in Optimizing Middleware  . . . . 175--180
        Karin Högstedt and   
              Doug Kimelman and   
                       Nan Wang   Optimizing Component Interaction . . . . 181--181
                    Mark Wegman   Optimizing Component Interaction . . . . 181--181
             James R. Larus and   
                 Michael Parkes   Using Cohort Scheduling to Enhance
                                  Server Performance (Extended Abstract)   182--187
              Sanjai Narain and   
   Ravichander Vaidyanathan and   
              Stanley Moyer and   
           William Stephens and   
       Kirthika Parmeswaran and   
            Abdul Rahim Shareef   Middleware for Building Adaptive Systems
                                  via Configuration  . . . . . . . . . . . 188--195
               Pradeep Gore and   
                 Ron Cytron and   
            Douglas Schmidt and   
                  Carlos O'Ryan   Designing and Optimizing a Scalable
                                  CORBA Notification Service . . . . . . . 196--204
              Ossama Othman and   
             Douglas C. Schmidt   Issues in the Design of Adaptive
                                  Middleware Load Balancing  . . . . . . . 205--213
              Irfan Pyarali and   
              Marina Spivak and   
                 Ron Cytron and   
             Douglas C. Schmidt   Evaluating and Optimizing Thread Pool
                                  Strategies for Real-Time CORBA . . . . . 214--222
            Darrell Brunsch and   
              Carlos O'Ryan and   
             Douglas C. Schmidt   Designing an Efficient and Scalable
                                  Server-side Asynchrony Model for CORBA   223--229
       Yamuna Krishnamurthy and   
             Vishal Kachroo and   
              David A. Karr and   
            Craig Rodrigues and   
           Joseph P. Loyall and   
            Richard Schantz and   
             Douglas C. Schmidt   Integration of QoS-Enabled Distributed
                                  Object Computing Middleware for
                                  Developing Next-Generation Distributed
                                  Applications . . . . . . . . . . . . . . 230--237
                Vikram Adve and   
                Vinh Vi Lam and   
                   Brian Ensink   Language and Compiler Support for
                                  Adaptive Distributed Applications  . . . 238--246
                  Edward A. Lee   Embedded Software from Concurrent
                                  Component Models . . . . . . . . . . . . ??
               Krishna V. Palem   What is a compiler when the architecture
                                  is not hard? . . . . . . . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 36, Number 9, September, 2001

                     Hans Boehm   Letter from the Newly Elected Chair  . . 1--2
                   Dave Whalley   Letter from the LCTES Steering Committee 3--3
                      Anonymous   Calendar . . . . . . . . . . . . . . . . 4--16
                      Anonymous   In parallel  . . . . . . . . . . . . . . 17--17
                      Anonymous   LCTES'02 and SCOPES'02 . . . . . . . . . 18--18
                       Rex Page   Functional programming, and where you
                                  can put it . . . . . . . . . . . . . . . 19--24
                      Anonymous   ASTs for optimizing compilers  . . . . . 25--30
                    Chris Clark   ASTs for Optimizing Compilers  . . . . . 25--30
          Thomas W. Christopher   Test Programs to Observe Parallelism . . 31--36
                      Anonymous   Information for Authors  . . . . . . . . 37--37
                      Anonymous   Information for Past Authors . . . . . . 38--38
                  Ming-Yuan Zhu   Denotational Semantics of Programming
                                  Languages and Compiler Generation in
                                  PowerEpsilon . . . . . . . . . . . . . . 39--53
                  Ming-Yuan Zhu   Formal specifications of debuggers . . . 54--63
               Holger M. Kienle   Using \tt smgn for Rapid Prototyping of
                                  Small Domain-Specific Languages  . . . . 64--73
                 David L. Moore   \tt smgn: Some historical remarks  . . . 74--76
          Michael L. Gassanenko   About Code Layout for Lisp . . . . . . . 77--80
                      Lunjin Lu   On Dart-Zobel Algorithm for Testing
                                  Regular Type Inclusion . . . . . . . . . 81--85
              Wang Shaofeng and   
                   Sun Jiaguang   A framework design of workflow
                                  management system with Java RMI  . . . . 86--93
              Shaofeng Wang and   
                   Jiaguang Sun   A Framework Design for Workflow
                                  Management System with Java RMI  . . . . 86--93
                      Anonymous   Functional programming . . . . . . . . . ??
                      Anonymous   Practical parsing patterns . . . . . . . ??
                      Anonymous   Technical correspondence . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 36, Number 10, October, 2001

                Andrew M. Pitts   A Fresh Approach to Representing Syntax
                                  with Static Binders in Functional
                                  Programming  . . . . . . . . . . . . . . 1--1
              Matthew Fluet and   
                  Stephen Weeks   Contification using Dominators . . . . . 2--13
               Allyn Dimock and   
             Ian Westmacott and   
              Robert Muller and   
            Franklyn Turbak and   
                    J. B. Wells   Functioning without Closure: Type-Safe
                                  Customized Function Representations for
                                  Standard ML  . . . . . . . . . . . . . . 14--25
         Fabrice Le Fessant and   
                   Luc Maranget   Optimizing Pattern Matching  . . . . . . 26--37
          Matthias Neubauer and   
                Michael Sperber   Down with Emacs Lisp: Dynamic Scope
                                  Analysis . . . . . . . . . . . . . . . . 38--49
               Claudio V. Russo   Recursive Structures for Standard ML . . 50--61
                 Dominic Duggan   Type-based hot swapping of running
                                  modules (extended abstract)  . . . . . . 62--73
             Steven E. Ganz and   
                  Amr Sabry and   
                     Walid Taha   Macros as Multi-Stage Computations:
                                  Type-Safe, Generative, Binding Macros in
                                  MacroML  . . . . . . . . . . . . . . . . 74--85
                     Tim Sheard   Generic Unification via Two-Level Types
                                  and Parameterized Modules  . . . . . . . 86--97
               Tyng-Ruey Chuang   Generic Validation of Structural Content
                                  with Parametric Modules  . . . . . . . . 98--109
                     Ralf Hinze   A Simple Implementation Technique for
                                  Priority Search Queues . . . . . . . . . 110--121
                Michael Sperber   Developing a Stage Lighting System from
                                  Scratch  . . . . . . . . . . . . . . . . 122--133
               Saswat Anand and   
              Wei-Ngan Chin and   
                Siau-Cheng Khoo   Charting Patterns on Price History . . . 134--145
               Zhanyong Wan and   
                 Walid Taha and   
                     Paul Hudak   Real-time FRP  . . . . . . . . . . . . . 146--156
                 George Russell   Events in Haskell, and How to Implement
                                  Them . . . . . . . . . . . . . . . . . . 157--168
                 Hongwei Xi and   
                  Robert Harper   A Dependently Typed Assembly Language    169--180
                 Hongwei Xi and   
                  Robert Harper   A dependently typed assembly language    169--180
               David Walker and   
                  Kevin Watkins   On regions and linear types (extended
                                  abstract)  . . . . . . . . . . . . . . . 181--192
                    Olaf Chitil   Compositional Explanation of Types and
                                  Algorithmic Debugging of Type Errors . . 193--204
   Manuel M. T. Chakravarty and   
                Gabriele Keller   Functional Array Fusion  . . . . . . . . 205--216
        Aleksandar Nanevski and   
               Guy Blelloch and   
                  Robert Harper   Automatic Generation of Staged Geometric
                                  Predicates . . . . . . . . . . . . . . . 217--228
                  Ross Paterson   A New Notation for Arrows  . . . . . . . 229--240
            Matthias Zenger and   
                 Martin Odersky   Extensible Algebraic Datatypes with
                                  Defaults . . . . . . . . . . . . . . . . 241--252
                 Bernd Grobauer   Cost Recurrences for DML Programs  . . . 253--264
     Jörgen Gustavsson and   
                    David Sands   Possibilities and Limitations of
                                  Call-by-Need Space Improvement . . . . . 265--276
                      Anonymous   Author Index . . . . . . . . . . . . . . 277--277
                      Anonymous   Invited talk 1 . . . . . . . . . . . . . ??
                      Anonymous   Session 1  . . . . . . . . . . . . . . . ??
                      Anonymous   Session 2  . . . . . . . . . . . . . . . ??
                      Anonymous   Session 3  . . . . . . . . . . . . . . . ??
                      Anonymous   Session 4  . . . . . . . . . . . . . . . ??
                      Anonymous   Session 5  . . . . . . . . . . . . . . . ??
                      Anonymous   Session 6  . . . . . . . . . . . . . . . ??
                      Anonymous   Session 7  . . . . . . . . . . . . . . . ??
             Lennart Augustsson   Bluespec --- a hardware description
                                  language . . . . . . . . . . . . . . . . ??
                   Matteo Frigo   The Fastest Fourier Transform in the
                                  West . . . . . . . . . . . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 36, Number 11, November, 2001

       Robert Bruce Findler and   
             Matthias Felleisen   Contract soundness for object-oriented
                                  languages  . . . . . . . . . . . . . . . 1--15
                  D. Ancona and   
                 G. Lagorio and   
                       E. Zucca   A core calculus for Java exceptions  . . 16--30
           Jonthan Bachrach and   
                 Keith Playford   The Java Syntactic Extender (JSE)  . . . 31--42
             Atanas Rountev and   
               Ana Milanova and   
               Barbara G. Ryder   Points-to analysis for Java using
                                  annotated constraints  . . . . . . . . . 43--55
     Chandrasekhar Boyapati and   
                  Martin Rinard   A parameterized type system for
                                  race-free Java programs  . . . . . . . . 56--69
        Christoph von Praun and   
                Thomas R. Gross   Object race detection  . . . . . . . . . 70--82
          Takeshi Ogasawara and   
            Hideaki Komatsu and   
                Toshio Nakatani   A study of exception handling and its
                                  dynamic optimization in Java . . . . . . 83--95
                 Yoav Zibin and   
               Joseph Yossi Gil   Efficient subtyping tests with
                                  PQ-encoding  . . . . . . . . . . . . . . 96--107
               Bowen Alpern and   
             Anthony Cocchi and   
               Stephen Fink and   
                    David Grove   Efficient implementation of Java
                                  interfaces: Invokeinterface considered
                                  harmless . . . . . . . . . . . . . . . . 108--124
        Grzegorz Czajkowski and   
          Laurent Daynés   Multitasking without compromise: a
                                  virtual machine evolution  . . . . . . . 125--138
              Walter Binder and   
             Jane G. Hulaas and   
           Alex Villazón   Portable resource control in Java  . . . 139--155
               Hiroaki Nakamura   Incremental computation of complex
                                  object queries . . . . . . . . . . . . . 156--165
                    John Whaley   Partial method compilation using dynamic
                                  profile information  . . . . . . . . . . 166--179
            Toshio Suganuma and   
             Toshiaki Yasue and   
          Motohiro Kawahito and   
            Hideaki Komatsu and   
                Toshio Nakatani   A dynamic optimization framework for a
                                  Java just-in-time compiler . . . . . . . 180--195
          Igor Pechtchanski and   
                   Vivek Sarkar   Dynamic optimistic interprocedural
                                  analysis: a framework and an application 195--210
              Sean McDirmid and   
              Matthew Flatt and   
                Wilson C. Hsieh   Jiazzi: new-age components for
                                  old-fashioned Java . . . . . . . . . . . 211--222
             Dominic Duggan and   
          Ching-Ching Techaubol   Modular mixin-based inheritance for
                                  application frameworks . . . . . . . . . 223--240
         Christian Grothoff and   
              Jens Palsberg and   
                      Jan Vitek   Encapsulating objects with confined
                                  types  . . . . . . . . . . . . . . . . . 241--253
        Patrick Th. Eugster and   
           Rachid Guerraoui and   
           Christian Heide Damm   On objects and events  . . . . . . . . . 254--269
                   Joost Visser   Visitor combination and traversal
                                  control  . . . . . . . . . . . . . . . . 270--282
            Klaus Ostermann and   
                    Mira Mezini   Object-oriented composition untangled    283--299
              Michele Lanza and   
        Stéphane Ducasse   A categorization of classes based on the
                                  visualization of their internal
                                  structure: the class blueprint . . . . . 300--311
          Mary Jean Harrold and   
             James A. Jones and   
                  Tongyu Li and   
              Donglin Liang and   
               Ashish Gujarathi   Regression test selection for Java
                                  software . . . . . . . . . . . . . . . . 312--326
                Dirk Riehle and   
            Steven Fraleigh and   
          Dirk Bucka-Lassen and   
                  Nosa Omorogbe   The architecture of a UML virtual
                                  machine  . . . . . . . . . . . . . . . . 327--341
       Stephen M. Blackburn and   
             Sharad Singhai and   
              Matthew Hertz and   
        Kathryn S. McKinely and   
               J. Eliot B. Moss   Pretenuring for Java . . . . . . . . . . 342--352
                 Tim Brecht and   
           Eshrat Arjomandi and   
                   Chang Li and   
                      Hang Pham   Controlling garbage collection and heap
                                  growth to reduce the execution time of
                                  Java applications  . . . . . . . . . . . 353--366
             Yossi Levanoni and   
                   Erez Petrank   An on-the-fly reference counting garbage
                                  collector for Java . . . . . . . . . . . 367--380

ACM SIG{}PLAN Notices
Volume 36, Number 12, December, 2001

             John Vlissides and   
                       Doug Lea   Introduction to this issue's special
                                  section on Intriguing Technology from
                                  OOPSLA . . . . . . . . . . . . . . . . . 1--1
                      Anonymous   Conference Corner: Calendar  . . . . . . 2--11
                      Anonymous   Conference Corner: International Corner
                                  on Software Engineering (ICSE) . . . . . 12--12
                      Anonymous   Conference Corner: Foundations of
                                  Software Engineering (FSE) . . . . . . . 13--13
                      Anonymous   Conference Corner: Program Analysis for
                                  System Tools and Engineering (PASTE) . . 14--14
                      Anonymous   Conference Corner: International
                                  Symposium on Memory Management (ISMM)    15--15
                   Paul Frenger   Forth mindstorms . . . . . . . . . . . . 16--19
              Carlos Varela and   
                       Gul Agha   Programming Dynamically Reconfigurable
                                  Open Systems with SALSA  . . . . . . . . 20--34
            Jörg Nolte and   
            Yutaka Ishikawa and   
                 Mitsuhisa Sato   TACO --- Prototyping High-Level
                                  Object-Oriented Programming Constructs
                                  by Means of Template Based Programming
                                  Techniques . . . . . . . . . . . . . . . 35--49
            Joseph W. Yoder and   
          Federico Balaguer and   
                  Ralph Johnson   Architecture and Design of Adaptive
                                  Object-Models  . . . . . . . . . . . . . 50--60
             Richard Pawson and   
                Robert Matthews   Naked objects: a technique for designing
                                  more expressive systems  . . . . . . . . 61--67
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 68--68
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 69--69
                  Baowen Xu and   
                 Zhenqiang Chen   Dependence Analysis for Recursive Java
                                  Programs . . . . . . . . . . . . . . . . 70--76
                Peter Dolog and   
         Valentino Vrani\'c and   
  Mária Bieliková   Representing Change By Aspect  . . . . . 77--83
    Enis Avdi\vcau\vsevi\'c and   
              Mitja Leni\vc and   
              Marjan Mernik and   
                 Viljem \vZumer   AspectCOOL: An experiment in design and
                                  implementation of aspect-oriented
                                  language . . . . . . . . . . . . . . . . 84--94
                      Anonymous   Forth  . . . . . . . . . . . . . . . . . ??
                      Anonymous   Intriguing technology from OOPSLA  . . . ??
                      Anonymous   Technical correspondence . . . . . . . . ??


ACM SIG{}PLAN Notices
Volume 37, Number 1, January, 2002

                Thomas Ball and   
             Sriram K. Rajamani   The \sc Slam project: debugging system
                                  software via static analysis . . . . . . 1--3
               Glenn Ammons and   
     Rastislav Bodík and   
                 James R. Larus   Mining specifications  . . . . . . . . . 4--16
              Viktor Kuncak and   
                Patrick Lam and   
                  Martin Rinard   Role analysis  . . . . . . . . . . . . . 17--32
        Martín Abadi and   
                 Bruno Blanchet   Analyzing security protocols with
                                  secrecy types and logic programs . . . . 33--44
                Sagar Chaki and   
         Sriram K. Rajamani and   
                    Jakob Rehof   Types as models: model checking
                                  message-passing programs . . . . . . . . 45--57
        Thomas A. Henzinger and   
               Ranjit Jhala and   
             Rupak Majumdar and   
          Grégoire Sutre   Lazy abstraction . . . . . . . . . . . . 58--70
              Massimo Merro and   
               Matthew Hennessy   Bisimulation congruences in safe
                                  ambients . . . . . . . . . . . . . . . . 71--80
                Kohei Honda and   
                 Nobuko Yoshida   A uniform type structure for secure
                                  information flow . . . . . . . . . . . . 81--92
                  Hans-J. Boehm   Bounding space usage of conservative
                                  garbage collectors . . . . . . . . . . . 93--100
               Erez Petrank and   
                    Dror Rawitz   The hardness of cache conscious data
                                  placement  . . . . . . . . . . . . . . . 101--112
          Matthai Philipose and   
             Craig Chambers and   
                Susan J. Eggers   Towards automatic construction of staged
                                  compilers  . . . . . . . . . . . . . . . 113--125
             Matthias Felleisen   From POPL to the classroom and back  . . 126--127
           George C. Necula and   
               Scott McPeak and   
                 Westley Weimer   CCured: type-safe retrofitting of legacy
                                  code . . . . . . . . . . . . . . . . . . 128--139
                 Shai Rubin and   
     Rastislav Bodík and   
               Trishul Chilimbi   An efficient profile-analysis framework
                                  for data-layout optimizations  . . . . . 140--153
              Norman Ramsey and   
                    Avi Pfeffer   Stochastic lambda calculus and monads of
                                  probability distributions  . . . . . . . 154--165
           Anindya Banerjee and   
               David A. Naumann   Representation independence, confinement
                                  and access control [extended abstract]   166--177
             Patrick Cousot and   
                  Radhia Cousot   Systematic design of program
                                  transformation frameworks by abstract
                                  interpretation . . . . . . . . . . . . . 178--190
            Cormac Flanagan and   
                    Shaz Qadeer   Predicate abstraction for software
                                  verification . . . . . . . . . . . . . . 191--202
                Zhendong Su and   
            Alexander Aiken and   
            Joachim Niehren and   
              Tim Priesnitz and   
                   Ralf Treinen   The first-order theory of subtyping
                                  constraints  . . . . . . . . . . . . . . 203--216
                 Zhong Shao and   
                Bratin Saha and   
            Valery Trifonov and   
            Nikolaos Papaspyrou   A type system for certified binaries . . 217--232
          Matthias Neubauer and   
             Peter Thiemann and   
          Martin Gasbichler and   
                Michael Sperber   Functional logic overloading . . . . . . 233--244
                  Rajit Manohar   Scalable formal design methods for
                                  asynchronous VLSI  . . . . . . . . . . . 245--246
               Umut A. Acar and   
            Guy E. Blelloch and   
                  Robert Harper   Adaptive functional programming  . . . . 247--259
                 Martin Hofmann   The strength of non-size increasing
                                  computation  . . . . . . . . . . . . . . 260--269
               Sorin Lerner and   
                David Grove and   
                 Craig Chambers   Composing dataflow analyses and
                                  transformations  . . . . . . . . . . . . 270--282
                David Lacey and   
              Neil D. Jones and   
               Eric Van Wyk and   
     Carl Christian Frederiksen   Proving correctness of compiler
                                  optimizations by temporal logic  . . . . 283--294
                 Yefim Shuf and   
               Manish Gupta and   
          Rajesh Bordawekar and   
            Jaswinder Pal Singh   Exploiting prolific types for memory
                                  management and optimizations . . . . . . 295--306
      Cédric Fournet and   
               Andrew D. Gordon   Stack inspection: theory and variants    307--318
    François Pottier and   
                Vincent Simonet   Information flow inference for ML  . . . 319--330
           Atsushi Igarashi and   
                Naoki Kobayashi   Resource usage analysis  . . . . . . . . 331--342

ACM SIG{}PLAN Notices
Volume 37, Number 2, February, 2002

                Julian V. Noble   Forth report: jump tables and state
                                  machines . . . . . . . . . . . . . . . . 14--19
          Thomas W. Christopher   In parallel: Facilities for parallelism:
                                  what should be in a parallel library . . 20--22
                     Alan Creak   How things were: Programming lessons
                                  from days gone by: backward ran
                                  sentences until reeled the mind  . . . . 23--26
           Prabhat K. Singh and   
                  Arun Lakhotia   Analysis and detection of computer
                                  viruses and worms: an annotated
                                  bibliography . . . . . . . . . . . . . . 29--35
                   Awais Rashid   Weaving aspects in a persistent
                                  environment  . . . . . . . . . . . . . . 36--44
            Bernd Kühl and   
          Axel-Tobias Schreiner   Objects for lexical analysis . . . . . . 45--52
            Robert M. Siegfried   A scripting language to help the blind
                                  to program visually  . . . . . . . . . . 53--56
               Nadia Nedjah and   
       Luiza de Macedo Mourelle   Efficient concise deterministic
                                  pattern-matching automata for ambiguous
                                  patterns . . . . . . . . . . . . . . . . 57--67
                    Qiu Zongyan   Bit-vector encoding of $n$-queen problem 68--70

ACM SIG{}PLAN Notices
Volume 37, Number 3, March, 2002

                 Craig Chambers   Staged compilation (invited talk)  . . . 1--8
Anne-Françoise Le Meur and   
            Julia L. Lawall and   
                 Charles Consel   Towards bridging the gap between
                                  programming languages and partial
                                  evaluation . . . . . . . . . . . . . . . 9--18
                   Kenichi Asai   Online partial evaluation for shift and
                                  reset  . . . . . . . . . . . . . . . . . 19--30
             Claus Brabrand and   
        Michael I. Schwartzbach   Growing languages with metamorphic
                                  syntax macros  . . . . . . . . . . . . . 31--40
          Jens Peter Secher and   
   Morten Heine Sòrensen   From checking to inference via driving
                                  and dag grammars . . . . . . . . . . . . 41--51
            Germán Vidal   Cost-augmented narrowing-driven
                                  specialization . . . . . . . . . . . . . 52--62
                      Lunjin Lu   Path dependent analysis of logic
                                  programs . . . . . . . . . . . . . . . . 63--74
       Gustavo Gómez and   
                 Yanhong A. Liu   Automatic time-bound analysis for a
                                  higher-order language  . . . . . . . . . 75--86
         Roberto Giacobazzi and   
             Isabella Mastroeni   Compositionality in the puzzle of
                                  semantics  . . . . . . . . . . . . . . . 87--97
       Christian H. Bischof and   
            Paul D. Hovland and   
                  Boyana Norris   Implementation of automatic
                                  differentiation tools (invited talk) . . 98--107
             Yanhong A. Liu and   
               Scott D. Stoller   Program optimization using indexed and
                                  recursive data structures  . . . . . . . 108--118
         Naren Ramakrishnan and   
               Robert Capra and   
Manuel A. Pérez-Quiñones   Mixed-initiative interaction = mixed
                                  computation  . . . . . . . . . . . . . . 119--130
              Gilles Barthe and   
                  Tarmo Uustalu   CPS translating inductive and
                                  coinductive types  . . . . . . . . . . . 131--142

ACM SIG{}PLAN Notices
Volume 37, Number 4, April, 2002

                  Normal Ramsey   \LaTeX Support for Proceedings . . . . . 1--3
                     Ron Cytron   SIGPLAN Awards: The 2001 Award Winners   4--4
                    Jay Fenwick   Conference Corner: Calendar  . . . . . . 5--14
                      Anonymous   Call for Participation: First
                                  International IFIP/ACM Working
                                  Conference on Component Deployment, June
                                  20--21, 2002, Berlin Germany . . . . . . 15--15
                      Anonymous   Call for Participation: ISSTA 2002:
                                  International Symposium on Software
                                  Testing and Analysis . . . . . . . . . . 16--16
                   Paul Frenger   Forth Report: Strap-On Forth . . . . . . 17--20
                     Alan Creak   How things were: Programming lessons
                                  from days gone by: Cobol, stewed for
                                  students . . . . . . . . . . . . . . . . 21--26
          Thomas W. Christopher   In Parallel: Communicating Reactive
                                  Objects: Message-Driven Parallelism  . . 27--28
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 29--29
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 30--30
                 Conrad Weisert   If your only tool is a hammer,
                                  everything looks like a nail: Pseudo
                                  Object-Oriented Programming Considered
                                  Harmful  . . . . . . . . . . . . . . . . 31--31
                  Karen Zee and   
                  Martin Rinard   Write Barrier Removal by Static Analysis 32--41
                Yumin Zhang and   
         Xiaobo (Sharon) Hu and   
                  Danny Z. Chen   Efficient Global Register Allocation for
                                  Minimizing Energy Consumption  . . . . . 42--53
             Diomidis Spinellis   A Modest Proposal for Curing the Public
                                  Field Phobia . . . . . . . . . . . . . . 54--56
                   Pascal Ledru   Smart Proxies for Jini Services  . . . . 57--61
     César F. Acebal and   
Raúl Izquierdo Castanedo and   
          Juan M. Cueva Lovelle   Good Design Principles in a Compiler
                                  University Course  . . . . . . . . . . . 62--73
              Paul Damian Wells   The HSSM macro-architecture, Virtual
                                  Machine and H languages  . . . . . . . . 74--82

ACM SIG{}PLAN Notices
Volume 37, Number 5, May, 2002

          Jeffrey S. Foster and   
            Tachio Terauchi and   
                     Alex Aiken   Flow-sensitive type qualifiers . . . . . 1--12
           Manuel Fahndrich and   
                  Robert DeLine   Adoption and focus: practical linear
                                  types for imperative programming . . . . 13--24
             Zoran Budimlic and   
            Keith D. Cooper and   
          Timothy J. Harvey and   
                Ken Kennedy and   
           Timothy S. Oberg and   
               Steven W. Reeves   Fast copy coalescing and live-range
                                  identification . . . . . . . . . . . . . 25--32
               Akira Koseki and   
            Hideaki Komatsu and   
                Toshio Nakatani   Preference-directed graph coloring . . . 33--44
                  Karthik Gargi   A sparse algorithm for predicated global
                                  value numbering  . . . . . . . . . . . . 45--56
                Manuvir Das and   
               Sorin Lerner and   
                    Mark Seigle   ESP: path-sensitive program verification
                                  in polynomial time . . . . . . . . . . . 57--68
                Seth Hallem and   
             Benjamin Chelf and   
                 Yichen Xie and   
                  Dawson Engler   A system and language for building
                                  system-specific, static analyses . . . . 69--82
              G. Ramalingam and   
            Alex Warshavsky and   
                 John Field and   
               Deepak Goyal and   
                    Mooly Sagiv   Deriving specialized program analyses
                                  for certifying component-client
                                  conformance  . . . . . . . . . . . . . . 83--94
              Saumya Debray and   
                  William Evans   Profile-guided code compression  . . . . 95--105
          Mohan Rajagopalan and   
           Saumya K. Debray and   
          Matti A. Hiltunen and   
         Richard D. Schlichting   Profile-directed optimization of
                                  event-based programs . . . . . . . . . . 106--116
           Steve S. W. Liao and   
              Perry H. Wang and   
                  Hong Wang and   
           Gerolf Hoflehner and   
              Daniel Lavery and   
                   John P. Shen   Post-pass binary adaptation for
                                  software-based speculative
                                  precomputation . . . . . . . . . . . . . 117--128
                 Yoav Ossia and   
            Ori Ben-Yitzhak and   
                  Irit Goft and   
         Elliot K. Kolodner and   
           Victor Leikehman and   
                   Avi Owshanko   A parallel, incremental and concurrent
                                  GC for servers . . . . . . . . . . . . . 129--140
           Niels Hallenberg and   
              Martin Elsman and   
                     Mads Tofte   Combining region inference and garbage
                                  collection . . . . . . . . . . . . . . . 141--152
       Stephen M. Blackburn and   
              Richard Jones and   
        Kathryn S. McKinley and   
               J. Eliot B. Moss   Beltway: getting around garbage
                                  collection gridlock  . . . . . . . . . . 153--164
                Byoungro So and   
               Mary W. Hall and   
                 Pedro C. Diniz   A compiler approach to fast hardware
                                  design space exploration in FPGA-based
                                  systems  . . . . . . . . . . . . . . . . 165--176
            Daniel Cociorva and   
         Gerald Baumgartner and   
              Chi-Chung Lam and   
              P. Sadayappan and   
               J. Ramanujam and   
             Marcel Nooijen and   
         David E. Bernholdt and   
                Robert Harrison   Space-time trade-off optimization for a
                                  class of electronic structure
                                  calculations . . . . . . . . . . . . . . 177--186
          Motohiro Kawahito and   
            Hideaki Komatsu and   
                Toshio Nakatani   Effective sign extension elimination . . 187--198
        Trishul M. Chilimbi and   
                  Martin Hirzel   Dynamic hot data stream prefetching for
                                  general-purpose programs . . . . . . . . 199--209
                     Youfeng Wu   Efficient discovery of regular stride
                                  patterns in irregular programs and its
                                  use in compiler prefetching  . . . . . . 210--221
           Martin Burtscher and   
                 Amer Diwan and   
             Matthias Hauswirth   Static load classification for improving
                                  the value predictability of data-cache
                                  misses . . . . . . . . . . . . . . . . . 222--233
            Cormac Flanagan and   
         K. Rustan M. Leino and   
           Mark Lillibridge and   
                Greg Nelson and   
              James B. Saxe and   
                   Raymie Stata   Extended static checking for Java  . . . 234--245
         K. Rustan M. Leino and   
      Arnd Poetzsch-Heffter and   
                   Yunhong Zhou   Using data groups to specify and check
                                  side effects . . . . . . . . . . . . . . 246--257
             Jong-Deok Choi and   
                Keunwoo Lee and   
             Alexey Loginov and   
          Robert O'Callahan and   
               Vivek Sarkar and   
                 Manu Sridharan   Efficient and precise datarace detection
                                  for multithreaded object-oriented
                                  programs . . . . . . . . . . . . . . . . 258--269
                Jason Baker and   
                Wilson C. Hsieh   Maya: multiple-dispatch syntax extension
                                  in Java  . . . . . . . . . . . . . . . . 270--281
               Dan Grossman and   
             Greg Morrisett and   
                 Trevor Jim and   
              Michael Hicks and   
               Yanling Wang and   
                   James Cheney   Region-based memory management in
                                  cyclone  . . . . . . . . . . . . . . . . 282--293
       George Almási and   
                    David Padua   MaJIC: compiling MATLAB for speed and
                                  responsiveness . . . . . . . . . . . . . 294--303
               Rajeev Joshi and   
                Greg Nelson and   
                  Keith Randall   Denali: a goal-directed superoptimizer   304--314
        Thomas A. Henzinger and   
            Christoph M. Kirsch   The embedded machine: predictable,
                                  portable real-time code  . . . . . . . . 315--326

ACM SIG{}PLAN Notices
Volume 37, Number 6, June, 2002

                   Paul Frenger   Forth report: Forth's DOOM . . . . . . . 14--17
              Joseph Bergin and   
                  Russel Winder   Understanding object-oriented
                                  programming  . . . . . . . . . . . . . . 18--25
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 26--26
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 27--27
               Haiming Chen and   
                    Yunmei Dong   Yet another meta-language for
                                  programming language processing  . . . . 28--37
                 Dai Guilan and   
                Tian Jinlan and   
                Zhang Suqin and   
                Jiang Weidu and   
                        Dai Jun   Retargetable cross compilation
                                  techniques: comparison and analysis of
                                  GCC and Zephyr . . . . . . . . . . . . . 38--44
                 Dai Guilan and   
               Zhang Suqing and   
                Tian Jinlan and   
                    Jiang Weidu   A study of compiler techniques for
                                  multiple targets in compiler
                                  infrastructures  . . . . . . . . . . . . 45--51
                  Oleg Kiselyov   SXML specification . . . . . . . . . . . 52--58
                 Paul Cockshott   Vector Pascal reference manual . . . . . 59--81
                Ji-Hyun Lee and   
             Cheol-Jung Yoo and   
                   Ok-Bae Chang   Analysis of object interaction during
                                  the enterprise JavaBeans lifecycle using
                                  formal specification technique . . . . . 82--92

ACM SIG{}PLAN Notices
Volume 37, Number 7, July, 2002

            Philippe Magarshack   Systems-on-chip needs for embedded
                                  software development: an industrial
                                  perspective  . . . . . . . . . . . . . . 1--1
                 H. Saputra and   
                M. Kandemir and   
           N. Vijaykrishnan and   
                M. J. Irwin and   
                   J. S. Hu and   
                   C-H. Hsu and   
                      U. Kremer   Energy-conscious compilation based on
                                  voltage scaling  . . . . . . . . . . . . 2--11
                  Hyunok Oh and   
                     Soonhoi Ha   Fractional rate dataflow model and
                                  efficient code synthesis for multimedia
                                  applications . . . . . . . . . . . . . . 12--17
                 S. Mohanty and   
             V. K. Prasanna and   
                   S. Neema and   
                       J. Davis   Rapid design space exploration of
                                  heterogeneous embedded systems using
                                  symbolic search and multi-granular
                                  simulation . . . . . . . . . . . . . . . 18--27
           Krishna V. Palem and   
           Rodric M. Rabbah and   
      Vincent J. Mooney III and   
              Pinar Korkmaz and   
               Kiran Puttaswamy   Design space optimization of embedded
                                  memory systems via data remapping  . . . 28--37
              Frank Hunleth and   
                  Ron K. Cytron   Footprint and feature management using
                                  aspect-oriented programming techniques   38--45
        Daniel Kästner and   
                Stephan Wilhelm   Generic control flow reconstruction from
                                  assembly code  . . . . . . . . . . . . . 46--55
        Arvind Krishnaswamy and   
                    Rajiv Gupta   Profile guided selection of ARM and
                                  thumb instructions . . . . . . . . . . . 56--64
       Takayuki Wakabayashi and   
                 Hiroaki Takada   Standardization approach of ITRON
                                  debugging interface specification and
                                  evaluation of its adaptability . . . . . 65--74
              Arshad Jhumka and   
              Martin Hiller and   
            Vilgot Claesson and   
                    Neeraj Suri   On systematic design of globally
                                  consistent executable assertions in
                                  embedded software  . . . . . . . . . . . 75--84
               Xiushan Feng and   
                     Alan J. Hu   Automatic formal verification for
                                  scheduled VLIW code  . . . . . . . . . . 85--92
               Gerhard Fettweis   DSPs: why don't they just go away! . . . 93--93
              Markus Lorenz and   
              Lars Wehmeyer and   
           Thorsten Dräger   Energy aware compilation for DSPs with
                                  SIMD instructions  . . . . . . . . . . . 94--101
          Christoph Kessler and   
              Andrzej Bednarski   Optimal integrated code generation for
                                  clustered VLIW architectures . . . . . . 102--111
                    Yi Qian and   
                 Steve Carr and   
                  Philip Sweany   Loop fusion for clustered VLIW
                                  architectures  . . . . . . . . . . . . . 112--119
                 Mayur Naik and   
                  Jens Palsberg   Compiling with code-size constraints . . 120--129
               Jeonghun Cho and   
              Yunheung Paek and   
                  David Whalley   Efficient register and memory assignment
                                  for non-orthogonal architectures via
                                  graph coloring and MST algorithms  . . . 130--138
            Bernhard Scholz and   
                  Erik Eckstein   Register allocation for irregular
                                  architectures  . . . . . . . . . . . . . 139--148
             Volker Barthelmann   Inter-task register-allocation for
                                  static operating systems . . . . . . . . 149--154
               Wankang Zhao and   
               Baosheng Cai and   
              David Whalley and   
             Mark W. Bailey and   
         Robert van Engelen and   
                   Xin Yuan and   
             Jason D. Hiser and   
           Jack W. Davidson and   
              Kyle Gallivan and   
               Douglas L. Jones   VISTA: a system for interactive code
                                  improvement  . . . . . . . . . . . . . . 155--164
                   J. S. Hu and   
                M. Kandemir and   
           N. Vijaykrishnan and   
                M. J. Irwin and   
                 H. Saputra and   
                       W. Zhang   Compiler-directed cache polymorphism . . 165--174
      Christopher W. Milner and   
               Jack W. Davidson   Quick piping: a fast, high-level model
                                  for describing processor pipelines . . . 175--184
              Oliver Wahlen and   
        Tilman Glökler and   
                 Achim Nohl and   
           Andreas Hoffmann and   
             Rainer Leupers and   
                  Heinrich Meyr   Application specific
                                  compiler/architecture codesign: a case
                                  study  . . . . . . . . . . . . . . . . . 185--193
               Jeffrey Palm and   
                    Han Lee and   
                 Amer Diwan and   
               J. Eliot B. Moss   When to use a compilation service? . . . 194--203
               Matt Newsome and   
                     Des Watson   Proxy compilation of dynamically loaded
                                  Java classes with MoJo . . . . . . . . . 204--212
                Ajay Dudani and   
              Frank Mueller and   
                      Yifan Zhu   Energy-conserving feedback EDF
                                  scheduling for embedded systems with
                                  real-time constraints  . . . . . . . . . 213--222
                 Saehwa Kim and   
              Seongsoo Hong and   
                  Tae-Hyung Kim   Perfecting preemption threshold
                                  scheduling for object-oriented real-time
                                  system design: from the perspective of
                                  real-time synchronization  . . . . . . . 223--232

ACM SIG{}PLAN Notices
Volume 37, Number 8, August, 2002

                   Paul Frenger   Forth report: Quartus Forth for the Palm
                                  Pilot  . . . . . . . . . . . . . . . . . 6--8
                    Chris Clark   Practical parsing patterns: Conflicts    9--14
          Thomas W. Christopher   In parallel: HPC is a strange land . . . 15--16
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 17--17
                Jay Fenwick and   
                   Cindy Norris   Information for Past Authors . . . . . . 18--18
                 Elliott Hughes   How many trivial getter methods does
                                  Java have? . . . . . . . . . . . . . . . 19--24
              Taewoong Jeon and   
             Hyon Woo Seung and   
                  Sungyoung Lee   Embedding built-in tests in hot spots of
                                  an object-oriented framework . . . . . . 25--34
     Francisco Ortín and   
              Juan Manuel Cueva   Implementing a real
                                  computational-environment jump in order
                                  to develop a runtime-adaptable
                                  reflective platform  . . . . . . . . . . 35--44
             Zhenqiang Chen and   
                  Baowen Xu and   
                   Jianjun Zhao   An overview of methods for dependence
                                  analysis of concurrent programs  . . . . 45--52
         Dhananjay M. Dhamdhere   E-path\_PRE: partial redundancy
                                  elimination made easy  . . . . . . . . . 53--65
              Kyung Goo Doh and   
               Seung Cheol Shin   Detection of information leak by data
                                  flow analysis  . . . . . . . . . . . . . 66--71

ACM SIG{}PLAN Notices
Volume 37, Number 9, September, 2002

                  Brad A. Myers   Towards more natural functional
                                  programming languages  . . . . . . . . . 1--1
                     Ralf Hinze   Bootstrapping one-sided flexible arrays  2--13
         Janis Voigtländer   Concatenate, reverse and map vanish for
                                  free . . . . . . . . . . . . . . . . . . 14--25
                Magnus Carlsson   Monads for incremental computing . . . . 26--35
                     Bryan Ford   Packrat parsing: simple, powerful, lazy,
                                  linear time, functional pearl  . . . . . 36--47
       Robert Bruce Findler and   
             Matthias Felleisen   Contracts for higher-order functions . . 48--59
              Atsushi Ohori and   
             Kiyoshi Yamatodani   An interoperable calculus for external
                                  object access  . . . . . . . . . . . . . 60--71
                  Matthew Flatt   Composable and compilable macros: you
                                  want it when?  . . . . . . . . . . . . . 72--83
          Danny Dubé and   
                    Marc Feeley   A demand-driven adaptive type analysis   84--97
                Kevin Glynn and   
           Peter J. Stuckey and   
            Martin Sulzmann and   
      Harald Sòndergaard   Exception analysis for non-strict
                                  languages  . . . . . . . . . . . . . . . 98--109
             Todd Millstein and   
             Colin Bleckner and   
                 Craig Chambers   Modular typechecking for hierarchically
                                  extensible datatypes and functions . . . 110--122
              J. Strother Moore   Functional formal methods  . . . . . . . 123--123
             Josef Svenningsson   Shortcut fusion for accumulating
                                  parameters & zip-like functions . . . . . 124--132
        Christoph Lüth and   
                     Neil Ghani   Composing monads using coproducts  . . . 133--144
                    Keith Hanna   Interactive visual functional
                                  programming  . . . . . . . . . . . . . . 145--156
            Arthur I. Baars and   
           S. Doaitse Swierstra   Typing dynamic typing  . . . . . . . . . 157--166
           Peter J. Stuckey and   
                Martin Sulzmann   A theory of overloading  . . . . . . . . 167--178
          Matthias Neubauer and   
                 Peter Thiemann   Type classes with more higher-order
                                  polymorphism . . . . . . . . . . . . . . 179--190
                 Karl Crary and   
          Joseph C. Vanderwaart   An expressive, scalable type theory for
                                  certified code . . . . . . . . . . . . . 191--205
            Aleksandar Nanevski   Meta-programming with names and
                                  necessity  . . . . . . . . . . . . . . . 206--217
           Emir Pa\vsali\'c and   
                 Walid Taha and   
                     Tim Sheard   Tagless staged interpreters for typed
                                  languages  . . . . . . . . . . . . . . . 218--229
              Olivier Danvy and   
                 Mayer Goldberg   There and back again . . . . . . . . . . 230--234
   Benjamin Grégoire and   
                   Xavier Leroy   A compiled implementation of strong
                                  reduction  . . . . . . . . . . . . . . . 235--246
             Lars T. Hansen and   
             William D. Clinger   An experimental study of
                                  renewal-older-first garbage collection   247--258
      Bernard Paul Serpette and   
                 Manuel Serrano   Compiling scheme to JVM bytecode: a
                                  performance study  . . . . . . . . . . . 259--270
          Martin Gasbichler and   
                Michael Sperber   Final shift for call/cc: direct
                                  implementation of shift and reset  . . . 271--282
              Neil D. Jones and   
              Arne J. Glenstrup   Program generation, termination, and
                                  binding-time analysis  . . . . . . . . . 283--283

ACM SIG{}PLAN Notices
Volume 37, Number 10, October, 2002

                 Deborah Estrin   Sensor Network Research: Emerging
                                  Challenges for Architecture, Systems,
                                  and Languages  . . . . . . . . . . . . . 1--1
                Ravi Rajwar and   
               James R. Goodman   Transactional lock-free execution of
                                  lock-based programs  . . . . . . . . . . 5--17
José F. Martínez and   
                Josep Torrellas   Speculative synchronization: applying
                                  thread-level speculation to explicitly
                                  parallel applications  . . . . . . . . . 18--29
             Kevin M. Lepak and   
               Mikko H. Lipasti   Temporally silent stores . . . . . . . . 30--41
           Timothy Sherwood and   
              Erez Perelman and   
               Greg Hamerly and   
                    Brad Calder   Automatically characterizing large scale
                                  program behavior . . . . . . . . . . . . 45--57
             Kazunori Ogata and   
            Hideaki Komatsu and   
                Toshio Nakatani   Bytecode fetch optimization for a Java
                                  interpreter  . . . . . . . . . . . . . . 58--67
                     Tao Li and   
           Lizy Kurian John and   
      Anand Sivasubramaniam and   
           N. Vijaykrishnan and   
                     Juan Rubio   Understanding and improving operating
                                  system effects in control flow
                                  prediction . . . . . . . . . . . . . . . 68--80
               Philip Levis and   
                   David Culler   Maté: a tiny virtual machine for sensor
                                  networks . . . . . . . . . . . . . . . . 85--95
                Philo Juang and   
               Hidekazu Oki and   
                  Yong Wang and   
         Margaret Martonosi and   
              Li Shiuan Peh and   
              Daniel Rubenstein   Energy-efficient computing for wildlife
                                  tracking: design tradeoffs and early
                                  experiences with ZebraNet  . . . . . . . 96--107
             Darko Kirovski and   
           Milenko Drini\'c and   
              Miodrag Potkonjak   Enabling trusted software integrity  . . 108--120
                  Heng Zeng and   
             Carla S. Ellis and   
            Alvin R. Lebeck and   
                    Amin Vahdat   ECOSystem: managing energy as a first
                                  class operating system resource  . . . . 123--132
               Raksit Ashok and   
             Saurabh Chheda and   
            Csaba Andras Moritz   Cool-Mem: combining statically
                                  speculative memory accessing with
                                  selective address translation for energy
                                  efficiency . . . . . . . . . . . . . . . 133--143
            Ruchira Sasanka and   
      Christopher J. Hughes and   
                 Sarita V. Adve   Joint local and global hardware
                                  adaptations for energy . . . . . . . . . 144--155
               Dongkeun Kim and   
                   Donald Yeung   Design and evaluation of compiler
                                  algorithms for pre-execution . . . . . . 159--170
               Antonia Zhai and   
     Christopher B. Colohan and   
         J. Gregory Steffan and   
                  Todd C. Mowry   Compiler optimization of scalar value
                                  communication between speculative
                                  threads  . . . . . . . . . . . . . . . . 171--183
           Jeffrey Oplinger and   
                  Monica S. Lam   Enhancing software reliability with
                                  speculative threads  . . . . . . . . . . 184--196
              J. Adam Butts and   
                      Guri Sohi   Dynamic dead-instruction detection and
                                  elimination  . . . . . . . . . . . . . . 199--210
               Changkyu Kim and   
                Doug Burger and   
             Stephen W. Keckler   An adaptive, non-uniform cache structure
                                  for wire-delay dominated on-chip caches  211--222
     Shubhendu S. Mukherjee and   
             Federico Silla and   
               Peter Bannon and   
                  Joel Emer and   
                 Steve Lang and   
                     David Webb   A comparative study of arbitration
                                  algorithms for the Alpha 21364 pipelined
                                  router . . . . . . . . . . . . . . . . . 223--234
             Hyong-youb Kim and   
               Vijay S. Pai and   
                   Scott Rixner   Increasing Web server throughput with
                                  network interface data caching . . . . . 239--250
               Eddie Kohler and   
              Robert Morris and   
                    Benjie Chen   Programming language optimizations for
                                  modular router configurations  . . . . . 251--263
          Muthian Sivathanu and   
   Andrea C. Arpaci-Dusseau and   
        Remzi H. Arpaci-Dusseau   Evolving RPC for active storage  . . . . 264--276
             Robert Cooksey and   
            Stephan Jourdan and   
                  Dirk Grunwald   A stateless, content-directed data
                                  prefetching mechanism  . . . . . . . . . 279--290
          Michael I. Gordon and   
              William Thies and   
          Michal Karczmarek and   
                 Jasper Lin and   
                Ali S. Meli and   
             Andrew A. Lamb and   
                Chris Leger and   
                Jeremy Wong and   
             Henry Hoffmann and   
                 David Maze and   
              Saman Amarasinghe   A stream compiler for
                                  communication-exposed architectures  . . 291--303
             Emmett Witchel and   
                 Josh Cates and   
               Krste Asanovi\'c   Mondrian memory protection . . . . . . . 304--316

ACM SIG{}PLAN Notices
Volume 37, Number 11, November, 2002

            Emery D. Berger and   
           Benjamin G. Zorn and   
            Kathryn S. McKinley   Reconsidering custom memory allocation   1--12
                 Yefim Shuf and   
               Manish Gupta and   
            Hubertus Franke and   
               Andrew Appel and   
            Jaswinder Pal Singh   Creating and preserving locality of Java
                                  applications at allocation and garbage
                                  collection times . . . . . . . . . . . . 13--25
        Magnus E. Bjornsson and   
                   Liuba Shrira   BuddyCache: high-performance object
                                  storage for collaborative
                                  strong-consistency applications in a WAN 26--39
            Dragos A. Manolescu   Workflow enactment with continuation and
                                  future objects . . . . . . . . . . . . . 40--51
                Mira Mezini and   
                Klaus Ostermann   Integrating independent components with
                                  on-demand remodularization . . . . . . . 52--67
     Marc-Olivier Killijian and   
           Juan-Carlos Ruiz and   
             Jean-Charles Fabre   Portable serialization of CORBA objects:
                                  a reflective approach  . . . . . . . . . 68--82
               Rami Marelly and   
                David Harel and   
                  Hillel Kugler   Multiple instances and symbolic
                                  variables in executable sequence charts  83--100
             Laurent Michel and   
          Pascal Van Hentenryck   A constraint-based architecture for
                                  local search . . . . . . . . . . . . . . 101--110
             Matthew Arnold and   
               Michael Hind and   
               Barbara G. Ryder   Online feedback-directed optimization of
                                  Java . . . . . . . . . . . . . . . . . . 111--129
         Kiyokuni Kawachiya and   
               Akira Koseki and   
                 Tamiya Onodera   Lock reservation: Java locks can mostly
                                  do without atomic operations . . . . . . 130--141
                 Yoav Zibin and   
               Joseph Yossi Gil   Fast algorithm for creating space
                                  efficient dispatching tables with
                                  application to multi-dispatching . . . . 142--160
              Jan Hannemann and   
                Gregor Kiczales   Design pattern implementation in Java
                                  and aspectJ  . . . . . . . . . . . . . . 161--173
              Sergio Soares and   
           Eduardo Laureano and   
                    Paulo Borba   Implementing distribution and
                                  persistence aspects with aspectJ . . . . 174--190
                  Karen Zee and   
                  Martin Rinard   Write barrier removal by static analysis 191--210
     Chandrasekhar Boyapati and   
                 Robert Lee and   
                  Martin Rinard   Ownership types for safe programming:
                                  preventing data races and deadlocks  . . 211--230
           Sarfraz Khurshid and   
              Darko Marinov and   
                 Daniel Jackson   An analyzable annotation language  . . . 231--245
           Emmanuel Cecchet and   
           Julie Marguerite and   
               Willy Zwaenepoel   Performance and scalability of EJB
                                  applications . . . . . . . . . . . . . . 246--261
           Krzysztof Palacz and   
                  Jan Vitek and   
        Grzegorz Czajkowski and   
                 Laurent Daynas   Incommunicado: efficient communication
                                  for isolates . . . . . . . . . . . . . . 262--274
            Bjorn De Sutter and   
               Bruno De Bus and   
              Koen De Bosschere   Sifting out the mud: low level C++ code
                                  reuse  . . . . . . . . . . . . . . . . . 275--291
                Dave Clarke and   
            Sophia Drossopoulou   Ownership, encapsulation and the
                                  disjointness of type and effect  . . . . 292--310
           Jonathan Aldrich and   
        Valentin Kostadinov and   
                 Craig Chambers   Alias annotations for program
                                  understanding  . . . . . . . . . . . . . 311--330
               Riccardo Pucella   Towards a formalization for COM. Part I:
                                  The primitive calculus . . . . . . . . . 331--342
             Tony Printezis and   
                  Richard Jones   GCspy: an adaptable heap visualisation
                                  framework  . . . . . . . . . . . . . . . 343--358
                Larry Koved and   
              Marco Pistoia and   
              Aaron Kershenbaum   Access rights analysis for Java  . . . . 359--372
               Mikhail Dmitriev   Language-specific make technology for
                                  the Java programming language  . . . . . 373--385

ACM SIG{}PLAN Notices
Volume 37, Number 12, December, 2002

                   Paul Frenger   Forth report: Going APE.FORTH to Mars    9--13
                     Alan Creak   How things were: Edsger W. Dijkstra  . . 14--16
                   Cindy Norris   Introduction to special issue  . . . . . 17--17
                Thomas Arts and   
        Lars-Åke Fredlund   Trace analysis of Erlang programs  . . . 18--24
                  Ulf Wiger and   
             Gösta Ask and   
                    Kent Boortz   World-class product certification using
                                  Erlang . . . . . . . . . . . . . . . . . 25--34
              Koen Claessen and   
                 Gordon J. Pace   An embedded language approach to
                                  teaching hardware compilation  . . . . . 35--46
              Koen Claessen and   
                    John Hughes   Testing monadic code with QuickCheck . . 47--59
                 Tim Sheard and   
             Simon Peyton Jones   Template meta-programming for Haskell    60--75
        Jean-Louis Giavitto and   
             Olivier Michel and   
                   Julien Cohen   Pattern-matching and rewriting rules for
                                  group indexed data structures  . . . . . 76--87
               Martin Erwig and   
                      Delin Ren   A rule-based language for programming
                                  software updates . . . . . . . . . . . . 88--97
           Jan Friso Groote and   
                    Bert Lisser   Computer assisted manipulation of
                                  algebraic process specifications . . . . 98--107
           Miguel J. Hornos and   
                Manuel I. Capel   On-the-fly model checking from interval
                                  logic specifications . . . . . . . . . . 108--119


ACM SIG{}PLAN Notices
Volume 38, Number 1, January, 2003

Jérôme Siméon and   
                  Philip Wadler   The essence of XML . . . . . . . . . . . 1--13
            Umut A. A. Acar and   
            Guy E. Blelloch and   
                  Robert Harper   Selective memoization  . . . . . . . . . 14--25
                 Walid Taha and   
      Michael Florentin Nielsen   Environment classifiers  . . . . . . . . 26--37
     Ole Hògh Jensen and   
                   Robin Milner   Bigraphs and transitions . . . . . . . . 38--49
               Alan Schmitt and   
           Jean-Bernard Stefani   The $m$-calculus: a higher-order
                                  distributed process calculus . . . . . . 50--61
            Ahmed Bouajjani and   
             Javier Esparza and   
                 Tayssir Touili   A generic approach to the static
                                  analysis of concurrent programs with
                                  procedures . . . . . . . . . . . . . . . 62--73
              Sumit Gulwani and   
               George C. Necula   Discovering affine equalities using
                                  random interpretation  . . . . . . . . . 74--84
            Sriraman Tallam and   
                    Rajiv Gupta   Bitwidth aware global register
                                  allocation . . . . . . . . . . . . . . . 85--96
                Thomas Ball and   
                 Mayur Naik and   
             Sriram K. Rajamani   From symptom to cause: localizing errors
                                  in counterexample traces . . . . . . . . 97--105
               Larry Carter and   
            Jeanne Ferrante and   
               Clark Thomborson   Folklore confirmed: reducible flow
                                  graphs are exponentially larger  . . . . 106--114
    Venkatesan T. Chakaravarthy   New results on the computability and
                                  complexity of points--to analysis  . . . 115--125
                 Yoav Zibin and   
             Joseph (Yossi) Gil   Incremental algorithms for dispatching
                                  in dynamically typed languages . . . . . 126--138
                 Hayo Thielecke   From control effects to typed
                                  continuation passing . . . . . . . . . . 139--149
                      Gang Chen   Coercive subtyping for the calculus of
                                  constructions  . . . . . . . . . . . . . 150--159
                 Yoav Zibin and   
         Joseph (Yossi) Gil and   
              Jeffrey Considine   Efficient algorithms for isomorphisms of
                                  simple types . . . . . . . . . . . . . . 160--171
              Leaf Petersen and   
              Robert Harper and   
                 Karl Crary and   
                 Frank Pfenning   A type theory for memory allocation and
                                  data layout  . . . . . . . . . . . . . . 172--184
             Martin Hofmann and   
                   Steffen Jost   Static prediction of heap space usage
                                  for first-order functional programs  . . 185--197
                     Karl Crary   Toward a foundational typed assembly
                                  language . . . . . . . . . . . . . . . . 198--212
     Chandrasekhar Boyapati and   
             Barbara Liskov and   
                   Liuba Shrira   Ownership types for object encapsulation 213--223
                 Hongwei Xi and   
                Chiyan Chen and   
                      Gang Chen   Guarded recursive datatype constructors  224--235
               Derek Dreyer and   
                 Karl Crary and   
                  Robert Harper   A type system for higher-order modules   236--249
              Gilles Barthe and   
            Horatiu Cirstea and   
            Claude Kirchner and   
                  Luigi Liquori   Pure patterns type systems . . . . . . . 250--261
                  Hans-J. Boehm   Destructors, finalizers, and
                                  synchronization  . . . . . . . . . . . . 262--272
         Ovidiu Gheorghioiu and   
         Alexandru Salcianu and   
                  Martin Rinard   Interprocedural compatibility analysis
                                  for static object preallocation  . . . . 273--284
             David F. Bacon and   
                Perry Cheng and   
                    V. T. Rajan   A real-time garbage collector with low
                                  overhead and consistent utilization  . . 285--298

ACM SIG{}PLAN Notices
Volume 38, Number 2s, February, 2003

                  Chen Ding and   
                    Yutao Zhong   Compiler-directed run-time monitoring of
                                  program data access  . . . . . . . . . . 1--12

ACM SIG{}PLAN Notices
Volume 38, Number 2, February, 2003

                 Dai Guilan and   
                Tian Jinlan and   
               Zhang Suqing and   
                    Jiang Weidu   An abstract intermediate representation
                                  in compilation systems . . . . . . . . . 12--18

ACM SIG{}PLAN Notices
Volume 38, Number 2s, February, 2003

              Chris Lattner and   
                    Vikram Adve   Automatic pool allocation for disjoint
                                  data structures  . . . . . . . . . . . . 13--24

ACM SIG{}PLAN Notices
Volume 38, Number 2, February, 2003

              Jennifer Hamilton   Language integration in the common
                                  language runtime . . . . . . . . . . . . 19--28

ACM SIG{}PLAN Notices
Volume 38, Number 2s, February, 2003

         Darko Stefanovi\'c and   
              Matthew Hertz and   
       Stephen M. Blackburn and   
        Kathryn S. McKinley and   
               J. Eliot B. Moss   Older-first garbage collection in
                                  practice: evaluation in a Java Virtual
                                  Machine  . . . . . . . . . . . . . . . . 25--36

ACM SIG{}PLAN Notices
Volume 38, Number 2, February, 2003

            Quinn Tyler Jackson   Efficient formalism-only parsing of
                                  XML/HTML using the \S-calculus . . . . . 29--35
          Jonathan L. Schilling   The simplest heuristics may be the best
                                  in Java JIT compilers  . . . . . . . . . 36--46

ACM SIG{}PLAN Notices
Volume 38, Number 2s, February, 2003

       George Almási and   
         C\ualin Ca\cscaval and   
                 David A. Padua   Calculating stack distances efficiently  37--43
        Nicholas Nethercote and   
                   Alan Mycroft   The cache behaviour of large lazy
                                  functional programs on stock hardware    44--55

ACM SIG{}PLAN Notices
Volume 38, Number 2, February, 2003

                Robert Sinclair   Interactive mathematics textbooks  . . . 47--56

ACM SIG{}PLAN Notices
Volume 38, Number 2s, February, 2003

              Ricardo Lopes and   
Luís Fernando Castro and   
      Vítor Santos Costa   From simulation to practice: cache
                                  performance study of a Prolog system . . 56--64

ACM SIG{}PLAN Notices
Volume 38, Number 2, February, 2003

             Christian Queinnec   Inverting back the inversion of control
                                  or, continuations versus page-centric
                                  programming  . . . . . . . . . . . . . . 57--64

ACM SIG{}PLAN Notices
Volume 38, Number 2s, February, 2003

         Ch. Ykman-Couvreur and   
               J. Lambrecht and   
            A. van der Togt and   
                    F. Catthoor   Multi-objective abstract data type
                                  refinement for mapping tables in
                                  telecom network applications . . . . . . 65--75
              Martin Schulz and   
                    Jie Tao and   
        Jürgen Jeitner and   
                  Wolfgang Karl   A proposal for a new hardware cache
                                  monitoring architecture  . . . . . . . . 76--85
         Nihar R. Mahapatra and   
             Jiangjiang Liu and   
            Krishnan Sundaresan   The performance advantage of applying
                                  compression to the memory system . . . . 86--96
            Keith D. Cooper and   
                          Li Xu   An efficient static analysis algorithm
                                  to detect redundant memory operations    97--107
                Sven G. Robertz   Applying priorities to memory allocation 108--118
                Toshio Endo and   
                  Kenjiro Taura   Reducing pause time of conservative
                                  collectors . . . . . . . . . . . . . . . 119--131
              Morgan Deters and   
                  Ron K. Cytron   Automated discovery of scoped memory
                                  regions for real-time Java . . . . . . . 132--142
              Martin Hirzel and   
            Johannes Henkel and   
                 Amer Diwan and   
                   Michael Hind   Understanding the connectivity of heap
                                  objects  . . . . . . . . . . . . . . . . 143--156
             Tony Printezis and   
                Alex Garthwaite   Visualising the train garbage collector  157--170
                 Ran Shaham and   
         Elliot K. Kolodner and   
                    Mooly Sagiv   Estimating the impact of heap liveness
                                  information on space consumption in Java 171--182
               Tamar Domani and   
             Gal Goldshtein and   
         Elliot K. Kolodner and   
                Ethan Lewis and   
               Erez Petrank and   
                Dafna Sheinwald   Thread-local heaps for Java  . . . . . . 183--194
             Erik Johansson and   
       Konstantinos Sagonas and   
             Jesper Wilhelmsson   Heap architectures for concurrent
                                  languages using message passing  . . . . 195--206
            Ori Ben-Yitzhak and   
                  Irit Goft and   
         Elliot K. Kolodner and   
                Kean Kuiper and   
               Victor Leikehman   An algorithm for parallel incremental
                                  compaction . . . . . . . . . . . . . . . 207--212
              Abhay Vardhan and   
                       Gul Agha   Using passive object garbage collection
                                  algorithms for garbage collection of
                                  active objects . . . . . . . . . . . . . 213--220
            Scott F. Kaplan and   
            Lyle A. McGeoch and   
                  Megan F. Cole   Adaptive caching for demand prepaging    221--232
                  Feng Qian and   
                 Laurie Hendren   An adaptive, region-based allocator for
                                  Java . . . . . . . . . . . . . . . . . . 233--244
              Sanjeev Kumar and   
                         Kai Li   Dynamic memory management for
                                  programmable devices . . . . . . . . . . 245--255
               Fergus Henderson   Accurate garbage collection in an
                                  uncooperative environment  . . . . . . . 256--262
                Aneesh Aggarwal   Software caching vs. prefetching . . . . 263--268
                  Dave Dice and   
                Alex Garthwaite   Mostly lock-free malloc  . . . . . . . . 269--280
       Stephen M. Blackburn and   
            Kathryn S. McKinley   In or out?: putting write barriers in
                                  their place  . . . . . . . . . . . . . . 281--290

ACM SIG{}PLAN Notices
Volume 38, Number 3, March, 2003

            Cormac Flanagan and   
                    Shaz Qadeer   Types for atomicity  . . . . . . . . . . 1--12
                   Dan Grossman   Type-safe multithreading in cyclone  . . 13--25
           Ralf Lämmel and   
             Simon Peyton Jones   Scrap your boilerplate: a practical
                                  design pattern for generic programming   26--37
                   Sungwoo Park   A calculus for probabilistic languages   38--49
                Naoki Kobayashi   Time regions and effects for resource
                                  usage analysis . . . . . . . . . . . . . 50--61
         Cristiano Calcagno and   
              Luca Cardelli and   
               Andrew D. Gordon   Deciding validity in a spatial logic for
                                  trees  . . . . . . . . . . . . . . . . . 62--73
                 Amal Ahmed and   
                   David Walker   The logical approach to stack typing . . 74--85
              Torben Amtoft and   
                  Robert Muller   Inferring annotated types for
                                  inter-procedural register allocation
                                  with constructor flattening  . . . . . . 86--97
      Joseph C. Vanderwaart and   
               Derek Dreyer and   
              Leaf Petersen and   
                 Karl Crary and   
              Robert Harper and   
                    Perry Cheng   Typed compilation of recursive datatypes 98--108
      Joseph C. Vanderwaart and   
                     Karl Crary   A typed interface for garbage collection 109--122
                  Martin Elsman   Garbage collection safety for
                                  region-based memory management . . . . . 123--134

ACM SIG{}PLAN Notices
Volume 38, Number 4, April, 2003

                     Alan Creak   Everything is Fortran, in its own way    7--12
                   Paul Frenger   Evaluating Forth in the Windows
                                  environment  . . . . . . . . . . . . . . 13--15
                   Dibyendu Das   Function inlining versus function
                                  cloning  . . . . . . . . . . . . . . . . 18--24
José de Oliveira Guimarães   Experiences in building a compiler for
                                  an object-oriented language  . . . . . . 25--33
                 Jagun Kwon and   
              Andy Wellings and   
                     Steve King   Assessment of the Java programming
                                  language for use in high integrity
                                  systems  . . . . . . . . . . . . . . . . 34--46
                    Lei Luo and   
              Ming-Yuan Zhu and   
                  Qing-Li Zhang   A formal semantic definition of DEVIL    47--56
                  Hai Zhuge and   
                        Jie Liu   KGOL: a Knowledge Grid operating
                                  language . . . . . . . . . . . . . . . . 57--66

ACM SIG{}PLAN Notices
Volume 38, Number 5, May, 2003

                  David Gay and   
               Philip Levis and   
          Robert von Behren and   
                 Matt Welsh and   
                Eric Brewer and   
                   David Culler   The \em nesC language: A holistic
                                  approach to networked embedded systems   1--11
             Andrew A. Lamb and   
              William Thies and   
              Saman Amarasinghe   Linear analysis and optimization of
                                  stream programs  . . . . . . . . . . . . 12--25
                 Lal George and   
                 Matthias Blume   Taming the IXP network processor . . . . 26--37
            Chung-Hsing Hsu and   
                  Ulrich Kremer   The design, implementation, and
                                  evaluation of a compiler algorithm for
                                  CPU energy reduction . . . . . . . . . . 38--48
                    Fen Xie and   
         Margaret Martonosi and   
                   Sharad Malik   Compile-time dynamic voltage scaling
                                  settings: opportunities and limits . . . 49--62
                Kamen Yotov and   
                Xiaoming Li and   
                   Gang Ren and   
          Michael Cibulskis and   
              Gerald DeJong and   
             Maria Garzaran and   
                David Padua and   
             Keshav Pingali and   
             Paul Stodghill and   
                        Peng Wu   A comparison of empirical and
                                  model-driven optimization  . . . . . . . 63--76
            Mark Stephenson and   
          Saman Amarasinghe and   
              Martin Martin and   
               Una-May O'Reilly   Meta optimization: improving compiler
                                  heuristics with machine learning . . . . 77--90
      Michelle Mills Strout and   
               Larry Carter and   
                Jeanne Ferrante   Compile-time composition of run-time
                                  data and iteration reorderings . . . . . 91--102
                Marc Berndl and   
       Ondrej Lhoták and   
                  Feng Qian and   
             Laurie Hendren and   
                Navindra Umanee   Points-to analysis using BDDs  . . . . . 103--114
        Christoph von Praun and   
                Thomas R. Gross   Static conflict analysis for
                                  multi-threaded object-oriented programs  115--128
                 Alex Aiken and   
          Jeffrey S. Foster and   
               John Kodumal and   
                Tachio Terauchi   Checking and inferring local
                                  non-aliasing . . . . . . . . . . . . . . 129--140
                 Ben Liblit and   
                 Alex Aiken and   
             Alice X. Zheng and   
              Michael I. Jordan   Bug isolation via remote program
                                  sampling . . . . . . . . . . . . . . . . 141--154
                  Nurit Dor and   
              Michael Rodeh and   
                    Mooly Sagiv   CSSV: towards a realistic tool for
                                  statically detecting all buffer
                                  overflows in C . . . . . . . . . . . . . 155--167
             David L. Heine and   
                  Monica S. Lam   A practical flow-sensitive and
                                  context-sensitive C and C++ memory leak
                                  detector . . . . . . . . . . . . . . . . 168--181
               Glenn Ammons and   
             David Mandelin and   
     Rastislav Bodík and   
                 James R. Larus   Debugging temporal specifications with
                                  concept analysis . . . . . . . . . . . . 182--195
             Bruno Blanchet and   
             Patrick Cousot and   
              Radhia Cousot and   
        Jérome Feret and   
          Laurent Mauborgne and   
        Antoine Miné and   
             David Monniaux and   
                   Xavier Rival   A static analyzer for large
                                  safety-critical software . . . . . . . . 196--207
                  Juan Chen and   
                 Dinghao Wu and   
            Andrew W. Appel and   
                       Hai Fang   A provably sound TAL for back-end
                                  optimization . . . . . . . . . . . . . . 208--219
               Sorin Lerner and   
             Todd Millstein and   
                 Craig Chambers   Automatically proving the correctness of
                                  compiler optimizations . . . . . . . . . 220--231
              Jeremy Condit and   
             Matthew Harren and   
               Scott McPeak and   
           George C. Necula and   
                 Westley Weimer   CCured in the real world . . . . . . . . 232--244
                  Chen Ding and   
                    Yutao Zhong   Predicting whole-program locality
                                  through reuse distance analysis  . . . . 245--257
           Pramod G. Joisha and   
            Prithviraj Banerjee   Static array storage optimization in
                                  MATLAB . . . . . . . . . . . . . . . . . 258--268
           Tatsushi Inagaki and   
             Tamiya Onodera and   
            Hideaki Komatsu and   
                Toshio Nakatani   Stride prefetching by dynamically
                                  inspecting objects . . . . . . . . . . . 269--277
              M. Anton Ertl and   
                    David Gregg   Optimizing indirect branch prediction
                                  accuracy in virtual machine interpreters 278--288
                    Jin Lin and   
                  Tong Chen and   
              Wei-Chung Hsu and   
              Pen-Chung Yew and   
            Roy Dz-Ching Ju and   
              Tin-Fook Ngai and   
                       Sun Chan   A compiler framework for speculative
                                  analysis and optimizations . . . . . . . 289--299
                Michael Chu and   
                  Kevin Fan and   
                   Scott Mahlke   Region-based hierarchical operation
                                  partitioning for multicluster processors 300--311
            Toshio Suganuma and   
             Toshiaki Yasue and   
                Toshio Nakatani   A region-based compilation technique for
                                  a Java just-in-time compiler . . . . . . 312--323
     Chandrasekhar Boyapati and   
         Alexandru Salcianu and   
        William Beebee, Jr. and   
                  Martin Rinard   Ownership types for safe region-based
                                  memory management in real-time Java  . . 324--337
            Cormac Flanagan and   
                    Shaz Qadeer   A type and effect system for atomicity   338--349

ACM SIG{}PLAN Notices
Volume 38, Number 6, June, 2003

          Thomas W. Christopher   A simple parallel system . . . . . . . . 6--8
                 Joe Bergin and   
              Achla Agarwal and   
                Krishna Agarwal   Some deficiencies of C++ in teaching CS1
                                  and CS2  . . . . . . . . . . . . . . . . 9--13
           Barbara G. Ryder and   
                 Mary Lou Soffa   Influences on the design of exception
                                  handling: ACM SIGSOFT project on the
                                  impact of software engineering research
                                  on programming language design . . . . . 16--22
                   Dibyendu Das   Function inlining versus function
                                  cloning  . . . . . . . . . . . . . . . . 23--29
                 Yu ChunYan and   
                 Wu Minghui and   
                 Liu Nairuo and   
             Zhuang Yueting and   
                      Pan Yunhe   Translating EXPRESS language model into
                                  C language model . . . . . . . . . . . . 30--39
            Francisco Ortin and   
          Juan Manuel Cueva and   
             Ana Belen Martinez   The reflective nitrO abstract machine    40--49
                    Boris Sunik   The paradigm of open C++ . . . . . . . . 50--59
              Qing-Li Zhang and   
              Ming-Yuan Zhu and   
                 Shuo-Ying Chen   Automatic generation of device drivers   60--69

ACM SIG{}PLAN Notices
Volume 38, Number 7, July, 2003

                   Min Zhao and   
             Bruce Childers and   
                 Mary Lou Soffa   Predicting the impact of optimizations
                                  for embedded systems . . . . . . . . . . 1--11
            Prasad Kulkarni and   
               Wankang Zhao and   
               Hwashin Moon and   
              Kyunghwan Cho and   
              David Whalley and   
              Jack Davidson and   
                Mark Bailey and   
              Yunheung Paek and   
                  Kyle Gallivan   Finding effective optimization phase
                                  sequences  . . . . . . . . . . . . . . . 12--23
        Peter Vanbroekhoven and   
             Gerda Janssens and   
         Maurice Bruynooghe and   
             Henk Corporaal and   
               Francky Catthoor   Advanced copy propagation for arrays . . 24--33
                Nik Shaylor and   
           Douglas N. Simon and   
                William R. Bush   A Java Virtual Machine architecture for
                                  very small devices . . . . . . . . . . . 34--41
         Ulrik Pagh Schultz and   
               Kim Burgaard and   
  Flemming Gram Christensen and   
 Jòrgen Lindskov Knudsen   Compiling Java for low-end embedded
                                  systems  . . . . . . . . . . . . . . . . 42--50
             Angelo Corsaro and   
                  Ron K. Cytron   Efficient memory-reference checks for
                                  real-time Java . . . . . . . . . . . . . 51--58
           C. Scott Ananian and   
                  Martin Rinard   Data size optimizations for Java
                                  programs . . . . . . . . . . . . . . . . 59--68
           Dinakar Dhurjati and   
             Sumant Kowshik and   
                Vikram Adve and   
                  Chris Lattner   Memory safety without runtime checks or
                                  garbage collection . . . . . . . . . . . 69--80
             David F. Bacon and   
                Perry Cheng and   
                    V. T. Rajan   Controlling fragmentation and space
                                  consumption in the metronome, a
                                  real-time garbage collector for Java . . 81--92
     Sven Gestegard Robertz and   
               Roger Henriksson   Time-triggered garbage collection:
                                  robust and adaptive real-time GC
                                  scheduling for embedded systems  . . . . 93--102
          Michal Karczmarek and   
              William Thies and   
              Saman Amarasinghe   Phased scheduling of stream programs . . 103--112
                   Paul Pop and   
                 Petru Eles and   
                      Zebo Peng   Schedulability-driven frame packing for
                                  multi-cluster distributed embedded
                                  systems  . . . . . . . . . . . . . . . . 113--122
               Y. Ait-Ameur and   
                     G. Bel and   
                  F. Boniol and   
                S. Pairault and   
                       V. Wiels   Robustness analysis of avionics embedded
                                  systems  . . . . . . . . . . . . . . . . 123--132
            Dionisio de Niz and   
                   Raj Rajkumar   Time weaver: a software-through-models
                                  framework for embedded real-time systems 133--143
             Ravi Pratap M. and   
              Ron K. Cytron and   
                David Sharp and   
                     Edward Pla   Transport layer abstraction in event
                                  channels for embedded systems  . . . . . 144--152
                 Paul Caspi and   
               Adrian Curic and   
               Aude Maignan and   
          Christos Sofronis and   
           Stavros Tripakis and   
                  Peter Niebert   From Simulink to SCADE/lustre to TTA: a
                                  layered approach for distributed
                                  embedded applications  . . . . . . . . . 153--162
               Andrzej Wasowski   On efficient program synthesis from
                                  statecharts  . . . . . . . . . . . . . . 163--170
                Rajeev Alur and   
             Franjo Ivancic and   
                 Jesung Kim and   
                  Insup Lee and   
                  Oleg Sokolsky   Generating embedded software from
                                  hierarchical hybrid models . . . . . . . 171--182
               Jong-eun Lee and   
               Kiyoung Choi and   
                  Nikil D. Dutt   An algorithm for mapping loops onto
                                  coarse-grained reconfigurable
                                  architectures  . . . . . . . . . . . . . 183--188
           Dinesh C. Suresh and   
            Walid A. Najjar and   
                Frank Vahid and   
        Jason R. Villarreal and   
                     Greg Stitt   Profiling tools for hardware/software
                                  partitioning of embedded applications    189--198
               Yuanqing Guo and   
          Gerard J. M. Smit and   
              Hajo Broersma and   
               Paul M. Heysters   A graph covering algorithm for a coarse
                                  grain reconfigurable system  . . . . . . 199--208
                  Tao Zhang and   
              Santosh Pande and   
               Antonio Valverde   Tamper-resistant whole program
                                  partitioning . . . . . . . . . . . . . . 209--219
            Xiaotong Zhuang and   
              ChokSheak Lau and   
                  Santosh Pande   Storage assignment optimizations through
                                  variable coalescence for embedded
                                  processors . . . . . . . . . . . . . . . 220--231
            Marc L. Corliss and   
       E. Christopher Lewis and   
                      Amir Roth   A DISE implementation of dynamic code
                                  decompression  . . . . . . . . . . . . . 232--243
            Bjorn De Sutter and   
        Hans Vandierendonck and   
               Bruno De Bus and   
              Koen De Bosschere   On the side-effects of code abstraction  244--253
            Arvind Krishnaswamy   Enhancing the performance of 16-bit code
                                  using augmenting instructions  . . . . . 254--264
                    Yang Yu and   
             Viktor K. Prasanna   Energy-balanced task allocation for
                                  collaborative processing in networked
                                  embedded systems . . . . . . . . . . . . 265--274
                  H. S. Kim and   
           N. Vijaykrishnan and   
                M. Kandemir and   
                    M. J. Irwin   Adapting instruction level parallelism
                                  for optimizing leakage in VLIW
                                  architectures  . . . . . . . . . . . . . 275--283
        Nevine AbouGhazaleh and   
             Bruce Childers and   
               Daniel Mosse and   
                Rami Melhem and   
                 Matthew Craven   Energy management for real-time embedded
                                  applications with compiler support . . . 284--293

ACM SIG{}PLAN Notices
Volume 38, Number 8, August, 2003

          Thomas W. Christopher   Details on a simple parallel system  . . 12--14
                   Paul Frenger   The JOY of Forth . . . . . . . . . . . . 15--17
                   C. Pronk and   
            M. Schönhacker   Formal definition of programming
                                  language standards . . . . . . . . . . . 20--21
                  Baomin Xu and   
                Weimin Lian and   
                      Qiang Gao   Migration of enterprise JavaBeans with
                                  ProActive Interposition Objects  . . . . 22--28
                Pascal Costanza   Dynamically scoped functions as the
                                  essence of AOP . . . . . . . . . . . . . 29--36
                   Alex Iliasov   Templates-based portable just-in-time
                                  compiler . . . . . . . . . . . . . . . . 37--43
             Marjan Hericko and   
            Matjaz B. Juric and   
                Ivan Rozman and   
           Simon Beloglavec and   
                  Ales Zivkovic   Object serialization analysis and
                                  comparison in Java and .NET  . . . . . . 44--54
                  Kurt Stephens   XVF: C++ introspection by extensible
                                  visitation . . . . . . . . . . . . . . . 55--59
              K. V. Seshu Kumar   Value reuse optimization: reuse of
                                  evaluated math library function calls
                                  through compiler generated cache . . . . 60--66

ACM SIG{}PLAN Notices
Volume 38, Number 9, September, 2003

             Thomas Knight, Jr.   Conservation of information:
                                  applications in functional, reversible,
                                  and quantum computing  . . . . . . . . . 1--1
            Bastiaan Heeren and   
              Jurriaan Hage and   
           S. Doaitse Swierstra   Scripting the type inference process . . 3--13
          Matthias Neubauer and   
                 Peter Thiemann   Discriminative sum types locate the
                                  source of type errors  . . . . . . . . . 15--26
           Didier Le Botlan and   
             Didier Rémy   ML$^{F}$: raising ML to the power of
                                  system F . . . . . . . . . . . . . . . . 27--38
                Vincent Simonet   An extension of HM(X) with bounded
                                  existential and universal data-types . . 39--50
  Véronique Benzaken and   
          Giuseppe Castagna and   
                   Alain Frisch   CDuce: an XML-centric general-purpose
                                  language . . . . . . . . . . . . . . . . 51--63
               Michael Y. Levin   Compiling regular patterns . . . . . . . 65--77
                    Rex L. Page   Software is discrete mathematics . . . . 79--86
            James J. Leifer and   
             Gilles Peskine and   
               Peter Sewell and   
               Keith Wansbrough   Global abstraction-safe marshalling with
                                  hash types . . . . . . . . . . . . . . . 87--98
              Gavin Bierman and   
              Michael Hicks and   
               Peter Sewell and   
              Gareth Stoyle and   
               Keith Wansbrough   Dynamic Rebinding for Marshalling and
                                  Update, with Destruct-time $\lambda$ . . 99--110
             Mizuhito Ogawa and   
               Zhenjiang Hu and   
                    Isao Sasano   Iterative-free program analysis  . . . . 111--123
               Harry G. Mairson   From Hilbert space to Dilbert space:
                                  context semantics as a language for
                                  games and flow analysis  . . . . . . . . 125--125
               David Walker and   
            Steve Zdancewic and   
                    Jay Ligatti   A theory of aspects  . . . . . . . . . . 127--139
            Andres Löh and   
                Dave Clarke and   
                  Johan Jeuring   Dependency-style generic Haskell . . . . 141--152
                 Henrik Nilsson   Functional automatic differentiation
                                  with Dirac impulses  . . . . . . . . . . 153--164
         Simon Peyton Jones and   
             Alan Blackwell and   
               Margaret Burnett   A user-centred approach to functions in
                                  Excel  . . . . . . . . . . . . . . . . . 165--176
         Yukiyoshi Kameyama and   
              Masahito Hasegawa   A sound and complete axiomatization of
                                  delimited continuations  . . . . . . . . 177--188
                  Philip Wadler   Call-by-value is dual to call-by-name    189--201
           Emmanuel Beffara and   
                  Vincent Danos   Disjunctive normal forms and local
                                  exceptions . . . . . . . . . . . . . . . 203--211
         Yitzhak Mandelbaum and   
               David Walker and   
                  Robert Harper   An effective theory of type refinements  213--225
           Tomoyuki Higuchi and   
                  Atsushi Ohori   A static type system for JVM access
                                  control  . . . . . . . . . . . . . . . . 227--237
          R. John M. Hughes and   
           S. Doaitse Swierstra   Polish parsers, step by step . . . . . . 239--248
          Geoffrey Washburn and   
              Stephanie Weirich   Boxes go bananas: encoding higher-order
                                  abstract syntax with parametric
                                  polymorphism . . . . . . . . . . . . . . 249--262
           Mark R. Shinwell and   
            Andrew M. Pitts and   
              Murdoch J. Gabbay   FreshML: programming with binders made
                                  simple . . . . . . . . . . . . . . . . . 263--274
                Chiyan Chen and   
                     Hongwei Xi   Meta-programming through typeful code
                                  representation . . . . . . . . . . . . . 275--286
              Robert Ennals and   
             Simon Peyton Jones   Optimistic evaluation: an adaptive
                                  evaluation strategy for non-strict
                                  programs . . . . . . . . . . . . . . . . 287--298
                  Mitchell Wand   Understanding aspects: extended abstract 299--300

ACM SIG{}PLAN Notices
Volume 38, Number 10, October, 2003

                    Baris Kazar   High performance spatial data mining for
                                  very large data-sets (citation only) . . 1--1
                   Diego Puppin   Adapting convergent scheduling using
                                  machine learning (citation only) . . . . 1--1
          Manohar K. Prabhu and   
                 Kunle Olukotun   Using thread-level speculation to
                                  simplify manual parallelization  . . . . 1--12
            Cristian Coarfa and   
                  Yuri Dotsenko   An emerging co-array Fortran compiler
                                  (citation only)  . . . . . . . . . . . . 2--2
             Jeffrey M. Squyres   A component architecture for LAM/MPI
                                  (citation only)  . . . . . . . . . . . . 2--2
                     Jaejin Lee   The Pensieve Project: automatic
                                  implementation of programming language
                                  consistency models (citation only) . . . 3--3
             Piotr Nienaltowski   SCOOP It up! (citation only) . . . . . . 3--3
             Marcelo Cintra and   
                Diego R. Llanos   Toward efficient and robust software
                                  speculative parallelization on
                                  multiprocessors  . . . . . . . . . . . . 13--24
            Peng-Sheng Chen and   
               Ming-Yu Hung and   
            Yuan-Shin Hwang and   
            Roy Dz-Ching Ju and   
                  Jenq Kuen Lee   Compiler support for speculative
                                  multithreading architecture with
                                  probabilistic points-to analysis . . . . 25--36
           Luke K. McDowell and   
            Susan J. Eggers and   
              Steven D. Gribble   Improving server software support for
                                  simultaneous multithreaded processors    37--48
        Basilio B. Fraguela and   
                 Jose Renau and   
             Paul Feautrier and   
                David Padua and   
                Josep Torrellas   Programming the FlexRAM parallel
                                  intelligent memory system  . . . . . . . 49--60
             Hyong-youb Kim and   
               Vijay S. Pai and   
                   Scott Rixner   Exploiting task-level concurrency in a
                                  programmable network interface . . . . . 61--72
             Collin McCurdy and   
                Charles Fischer   User-controllable coherence for high
                                  performance shared memory
                                  multiprocessors  . . . . . . . . . . . . 73--82
           Greg Bronevetsky and   
             Daniel Marques and   
             Keshav Pingali and   
                 Paul Stodghill   Automated application-level
                                  checkpointing of MPI programs  . . . . . 84--94
              Amit Karwande and   
                   Xin Yuan and   
             David K. Lowenthal   CC--MPI: a compiled communication
                                  capable MPI prototype for Ethernet
                                  switched clusters  . . . . . . . . . . . 95--106
                   Ting Liu and   
             Margaret Martonosi   Impala: a middleware system for managing
                                  autonomic, parallel sensor systems . . . 107--118
                Lingkun Chu and   
                  Hong Tang and   
                   Tao Yang and   
                       Kai Shen   Optimizing data aggregation for
                                  cluster-based Internet services  . . . . 119--130
                DeQing Chen and   
             Chunqiang Tang and   
            Brandon Sanders and   
          Sandhya Dwarkadas and   
               Michael L. Scott   Exploiting high-level coherence
                                  information to optimize distributed
                                  shared state . . . . . . . . . . . . . . 131--142
            Jeremy D. Frens and   
                  David S. Wise   Factorization with Morton-ordered
                                  quadtree matrices for memory re-use and
                                  parallelism  . . . . . . . . . . . . . . 144--154
            Jeremy D. Frens and   
                  David S. Wise   QR factorization with Morton-ordered
                                  quadtree matrices for memory re-use and
                                  parallelism  . . . . . . . . . . . . . . 144--154
            Steven J. Deitz and   
    Bradford L. Chamberlain and   
              Sung-Eun Choi and   
                Lawrence Snyder   The design and implementation of a
                                  parallel array operator for the
                                  arbitrary remapping of data  . . . . . . 155--166
          Robert O'Callahan and   
                 Jong-Deok Choi   Hybrid dynamic data race detection . . . 167--178
             Eli Pozniansky and   
                 Assaf Schuster   Efficient on-the-fly data race detection
                                  in multithreaded C++ programs  . . . . . 179--190
                 Ankit Goel and   
         Abhik Roychoudhury and   
                   Tulika Mitra   Compactly representing parallel program
                                  executions . . . . . . . . . . . . . . . 191--202
                    Kai Tan and   
              Duane Szafron and   
         Jonathan Schaeffer and   
                 John Anvik and   
                Steve MacDonald   Using generative design patterns to
                                  generate parallel code for a distributed
                                  memory environment . . . . . . . . . . . 203--215
              Kenjiro Taura and   
               Kenji Kaneda and   
                Toshio Endo and   
               Akinori Yonezawa   Phoenix: a parallel programming model
                                  for accommodating dynamically
                                  joining/leaving resources  . . . . . . . 216--229
            Steven Saunders and   
           Lawrence Rauchwerger   ARMI: an adaptive, platform independent
                                  communication library  . . . . . . . . . 230--240
              John Hatcliff and   
               William Deng and   
           Matthew B. Dwyer and   
                 Georg Jung and   
        Venkatesh Ranganath and   
                          Robby   Slicing and partial evaluation of CORBA
                                  component model designs for avionics
                                  system . . . . . . . . . . . . . . . . . 241--242
              Mads Sig Ager and   
              Olivier Danvy and   
         Henning Korsholm Rohde   Fast partial evaluation of pattern
                                  matching in strings  . . . . . . . . . . 243--249
          Robert Glück and   
              Youhei Kawada and   
               Takuya Hashimoto   Transforming interpreters into inverse
                                  interpreters by partial evaluation . . . 250--259
                Chiyan Chen and   
                     Hongwei Xi   Implementing typeful program
                                  transformations  . . . . . . . . . . . . 260--268
       Germán Puebla and   
            Manuel Hermenegildo   Abstract specialization and its
                                  applications . . . . . . . . . . . . . . 269--283
              Matthew Allen and   
                  Susan Horwitz   Slicing Java programs that throw and
                                  catch exceptions . . . . . . . . . . . . 284--294
               Marius Bozga and   
                 Radu Iosif and   
                Yassine Laknech   Storeless semantics and alias logic  . . 295--305
           Giuseppe Attardi and   
         Antonio Cisternino and   
                 Andrew Kennedy   CodeBricks: code fragments as building
                                  blocks . . . . . . . . . . . . . . . . . 306--314
              Wei-Ngan Chin and   
            Siau-Cheng Khoo and   
                     Dana N. Xu   Extending sized type with collection
                                  analysis . . . . . . . . . . . . . . . . 315--324
             Yanhong A. Liu and   
               Scott D. Stoller   Optimizing Ackermann's function by
                                  incrementalization . . . . . . . . . . . 325--331

ACM SIG{}PLAN Notices
Volume 38, Number 11, November, 2003

             Donal Lafferty and   
                   Vinny Cahill   Language-independent aspect-oriented
                                  programming  . . . . . . . . . . . . . . 1--12
                  Frank Tip and   
                Adam Kiezun and   
               Dirk Bäumer   Refactoring for generalization using
                                  type constraints . . . . . . . . . . . . 13--26
         Éric Tanter and   
        Jacques Noyé and   
              Denis Caromel and   
                  Pierre Cointe   Partial behavioral reflection: spatial
                                  and temporal selection of reification    27--46
            Andrew P. Black and   
     Nathanael Schärli and   
        Stéphane Ducasse   Applying traits to the Smalltalk
                                  collection classes . . . . . . . . . . . 47--64
            Philippe Mougin and   
        Stéphane Ducasse   OOPAL: integrating array programming in
                                  object-oriented programming  . . . . . . 65--77
               Brian Demsky and   
                  Martin Rinard   Automatic detection and repair of errors
                                  in data structures . . . . . . . . . . . 78--95
                 Eric Allen and   
            Jonathan Bannet and   
              Robert Cartwright   A first-class approach to genericity . . 96--114
              Ronald Garcia and   
               Jaakko Jarvi and   
           Andrew Lumsdaine and   
                Jeremy Siek and   
              Jeremiah Willcock   A comparative study of language support
                                  for generic programming  . . . . . . . . 115--134
                  Tian Zhao and   
               Jens Palsber and   
                       Jan Vite   Lightweight confinement for
                                  featherweight Java . . . . . . . . . . . 135--148
               Bruno Dufour and   
              Karel Driesen and   
             Laurie Hendren and   
                Clark Verbrugge   Dynamic metrics for Java . . . . . . . . 149--168
            Lieven Eeckhout and   
               Andy Georges and   
              Koen De Bosschere   How Java programs interact with virtual
                                  machines at the microarchitectural level 169--186
           Kazuaki Ishizaki and   
             Mikio Takeuchi and   
         Kiyokuni Kawachiya and   
            Toshio Suganuma and   
                Osamu Gohda and   
           Tatsushi Inagaki and   
               Akira Koseki and   
             Kazunori Ogata and   
          Motohiro Kawahito and   
             Toshiaki Yasue and   
          Takeshi Ogasawara and   
             Tamiya Onodera and   
            Hideaki Komatsu and   
                Toshio Nakatani   Effectiveness of cross-platform
                                  optimizations for a Java just-in-time
                                  compiler . . . . . . . . . . . . . . . . 187--204
                Keunwoo Lee and   
            Anthony LaMarca and   
                 Craig Chambers   HydroJ: object-oriented pattern matching
                                  for evolvable distributed systems  . . . 205--223
             Todd Millstein and   
                  Mark Reay and   
                 Craig Chambers   Relaxed MultiJava: balancing
                                  extensibility and modular typechecking   224--240
                John Corwin and   
             David F. Bacon and   
                David Grove and   
                    Chet Murthy   MJ: a rational module system for Java
                                  and its applications . . . . . . . . . . 241--254
         Katherine Barabash and   
                 Yoav Ossia and   
                   Erez Petrank   Mostly concurrent garbage collection
                                  revisited  . . . . . . . . . . . . . . . 255--268
               Hezi Azatchi and   
             Yossi Levanoni and   
                  Harel Paz and   
                   Erez Petrank   An on-the-fly mark and sweep garbage
                                  collector based on sliding views . . . . 269--281
                    G. Chen and   
                M. Kandemir and   
           N. Vijaykrishnan and   
                M. J. Irwin and   
                B. Mathiske and   
                     M. Wolczko   Heap compression for memory-constrained
                                  Java environments  . . . . . . . . . . . 282--301
      Manuel Fähndrich and   
             K. Rustan M. Leino   Declaring and checking non-null types in
                                  an object-oriented language  . . . . . . 302--312
              Darko Marinov and   
              Robert O'Callahan   Object equality profiling  . . . . . . . 313--325
       Narendran Sachindran and   
                   J. Eliot and   
                        B. Moss   Mark-copy: fast copying GC with less
                                  space overhead . . . . . . . . . . . . . 326--343
       Stephen M. Blackburn and   
            Kathryn S. McKinley   Ulterior reference counting: fast
                                  garbage collection without a long wait   344--358
              Martin Hirzel and   
                 Amer Diwan and   
                  Matthew Hertz   Connectivity-based garbage collection    359--373
                Dave Clarke and   
           Michael Richmond and   
                    James Noble   Saving the world from bad beans:
                                  deployment-time confinement checking . . 374--387
                 Tim Harris and   
                    Keir Fraser   Language support for lightweight
                                  transactions . . . . . . . . . . . . . . 388--402
     Chandrasekhar Boyapati and   
             Barbara Liskov and   
               Liuba Shrira and   
             Chuang-Hue Moh and   
                 Steven Richman   Lazy modular upgrades in persistent
                                  object stores  . . . . . . . . . . . . . 403--417

ACM SIG{}PLAN Notices
Volume 38, Number 12, December, 2003

               Michael G. Burke   Executive Committee October 2003 Meeting
                                  Report . . . . . . . . . . . . . . . . . 1--1
                Jay Fenwick and   
                   Cindy Norris   Letters from the Editors . . . . . . . . 2--2
              Philip Wadler and   
           Krzysztof R. Apt and   
             Matthias Felleisen   Reminiscences on Influential Papers
                                  [Definitional interpreters for
                                  higher-order programming languages;
                                  Structured Programming; Call-by-name,
                                  Call-by-value, and the
                                  $\lambda$-calculus]  . . . . . . . . . . 2--2
                     Alan Creak   Programming lessons from days gone by:
                                  extreme design . . . . . . . . . . . . . 11--16
                Jay Fenwick and   
                   Cindy Norris   Information for Authors  . . . . . . . . 17--17
     Walter L. (Larry) Griffith   Letter to the Editor: Some Deficiencies
                                  of C++ in Teaching CS1 and CS2 . . . . . 18--19
             Marco Avvenuti and   
        Cinzia Bernardeschi and   
         Nicoletta De Francesco   Java bytecode verification for secure
                                  information flow . . . . . . . . . . . . 20--27
                    John Aycock   The ART of compiler construction
                                  projects . . . . . . . . . . . . . . . . 28--32
     Cristina Videira Lopes and   
               Paul Dourish and   
            David H. Lorenz and   
                Karl Lieberherr   Beyond AOP: toward naturalistic
                                  programming  . . . . . . . . . . . . . . 34--43
                      Sam Kamin   Routine run-time code generation . . . . 44--56
                  Martin Rinard   Acceptability-oriented computing . . . . 57--75
              Robert Biddle and   
              Angela Martin and   
                    James Noble   No name: just notes on software reuse    76--96


ACM SIG{}PLAN Notices
Volume 39, Number 1, January, 2004

                   Xavier Rival   Symbolic transfer function-based
                                  approaches to certified compilation  . . 1--13
                    Nick Benton   Simple relational correctness proofs for
                                  static analyses and program
                                  transformations  . . . . . . . . . . . . 14--25
         Ganesh Sittampalam and   
               Oege de Moor and   
               Ken Friis Larsen   Incremental execution of transformation
                                  specifications . . . . . . . . . . . . . 26--38
                 Dachuan Yu and   
             Andrew Kennedy and   
                       Don Syme   Formalization of generics for the .NET
                                  common language runtime  . . . . . . . . 39--51
            Jerome Vouillon and   
    Paul-André Melli\`es   Semantic types: a fresh look at the
                                  ideal model for types  . . . . . . . . . 52--63
              Vincent Balat and   
           Roberto Di Cosmo and   
                  Marcelo Fiore   Extensional normalisation and
                                  type-directed partial evaluation for
                                  typed lambda calculus with sums  . . . . 64--76
                  Marcelo Fiore   Isomorphisms of generic recursive
                                  polynomial types . . . . . . . . . . . . 77--88
    François Pottier and   
                 Nadji Gauthier   Polymorphic typed defunctionalization    89--98
            Patricia Johann and   
         Janis Voigtländer   Free theorems in the presence of seq . . 99--110
                     Bryan Ford   Parsing expression grammars: a
                                  recognition-based syntactic foundation   111--122
              Denis Caromel and   
             Ludovic Henrio and   
          Bernard Paul Serpette   Asynchronous and deterministic objects   123--134
          Silvano Dal Zilio and   
               Denis Lugiez and   
            Charles Meyssonnier   A logic you can count on . . . . . . . . 135--146
                 Nobuko Yoshida   Channel dependent types for higher-order
                                  mobile processes . . . . . . . . . . . . 147--160
               Eijiro Sumii and   
             Benjamin C. Pierce   A bisimulation for dynamic sealing . . . 161--172
             Patrick Cousot and   
                  Radhia Cousot   An abstract interpretation-based
                                  framework for software watermarking  . . 173--185
         Roberto Giacobazzi and   
             Isabella Mastroeni   Abstract non-interference:
                                  parameterizing non-interference by
                                  abstract interpretation  . . . . . . . . 186--197
      Karthikeyan Bhargavan and   
      Cédric Fournet and   
               Andrew D. Gordon   A semantics for Web services
                                  authentication . . . . . . . . . . . . . 198--209
                  Hans-J. Boehm   The space cost of lazy reference
                                  counting . . . . . . . . . . . . . . . . 210--219
              Lars Birkedal and   
            Noah Torp-Smith and   
               John C. Reynolds   Local reasoning about a copying garbage
                                  collector  . . . . . . . . . . . . . . . 220--231
        Thomas A. Henzinger and   
               Ranjit Jhala and   
             Rupak Majumdar and   
            Kenneth L. McMillan   Abstractions from proofs . . . . . . . . 232--244
                Shaz Qadeer and   
         Sriram K. Rajamani and   
                    Jakob Rehof   Summarizing procedures in concurrent
                                  programs . . . . . . . . . . . . . . . . 245--255
            Cormac Flanagan and   
              Stephen N. Freund   Atomizer: a dynamic atomicity checker
                                  for multithreaded programs . . . . . . . 256--267
           Peter W. O'Hearn and   
              Hongseok Yang and   
               John C. Reynolds   Separation and information hiding  . . . 268--280
            Joshua Dunfield and   
                 Frank Pfenning   Tridirectional typechecking  . . . . . . 281--292
                   Derek Dreyer   A type system for well-founded recursion 293--305
              Davide Ancona and   
                    Elena Zucca   Principal typings for Java-like
                                  languages  . . . . . . . . . . . . . . . 306--317
    Sriram Sankaranarayanan and   
             Henny B. Sipma and   
                    Zohar Manna   Non-linear loop invariant generation
                                  using Gröbner bases . . . . . . . . . . . 318--329
     Markus Müller-Olm and   
                   Helmut Seidl   Precise interprocedural analysis through
                                  linear algebra . . . . . . . . . . . . . 330--341
              Sumit Gulwani and   
               George C. Necula   Global value numbering using random
                                  interpretation . . . . . . . . . . . . . 342--352

ACM SIG{}PLAN Notices
Volume 39, Number 2, February, 2004

                   Paul Frenger   Dutch treat  . . . . . . . . . . . . . . 7--10
       Awadhesh Kumar Singh and   
       Anup Kumar Bandyopadhyay   Adding the leads-to operator to
                                  Dijkstra's calculus  . . . . . . . . . . 12--17
                 Hongmin Lu and   
                Yuming Zhou and   
                Jiangtao Lu and   
                      Baowen Xu   A compile-time optimization framework
                                  for Ada rendezvous . . . . . . . . . . . 18--25
                Litong Song and   
                   Krishna Kavi   What can we gain by unfolding loops? . . 26--33
                   Yuan Liu and   
                      Baowen Xu   Process algebra model of Ada protected
                                  objects  . . . . . . . . . . . . . . . . 34--39

ACM SIG{}PLAN Notices
Volume 39, Number 3, March, 2004

                   Paul Frenger   Deus Ex Macintosh  . . . . . . . . . . . 7--11
             Yingzhou Zhang and   
                      Baowen Xu   A survey of semantic description
                                  frameworks for programming languages . . 14--30
                Jonathan Yavner   Back-propagation of knowledge from
                                  syntax tree to C source code . . . . . . 31--37
              K. V. Seshu Kumar   When and what to compile/optimize in a
                                  virtual machine? . . . . . . . . . . . . 38--45
                Patrick Lam and   
              Viktor Kuncak and   
                  Martin Rinard   Generalized typestate checking using set
                                  interfaces and pluggable analyses  . . . 46--55
                      Anonymous   Forth report . . . . . . . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 39, Number 4, April, 2004

           R. G. G. Cattell and   
         Joseph M. Newcomer and   
              Bruce W. Leverett   Code generation in a machine-independent
                                  compiler . . . . . . . . . . . . . . . . 1--13
         Thomas J. Pennello and   
                  Frank DeRemer   Efficient computation of LALR(1)
                                  look-ahead sets  . . . . . . . . . . . . 14--27
               Manfred Minimair   MR: Macaulay Resultant package for Maple 26--29
           Frances E. Allen and   
                    Janet Fabri   Automatic storage optimization . . . . . 28--37
             Marc Auslander and   
                 Martin Hopkins   An overview of the PL.8 compiler . . . . 38--48
            Susan L. Graham and   
           Peter B. Kessler and   
           Marshall K. McKusick   gprof: a call graph execution profiler   49--57
         Victoria Markstein and   
            Peter Markstein and   
                     John Cocke   Optimization of range checking . . . . . 58--65
                Gregory Chaitin   Register allocation and spilling via
                                  graph coloring . . . . . . . . . . . . . 66--74
                Randy Allen and   
                    Ken Kennedy   Automatic loop interchange . . . . . . . 75--90
                  Fred Chow and   
                  John Hennessy   Register allocation by priority-based
                                  coloring . . . . . . . . . . . . . . . . 91--103
           Jack W. Davidson and   
          Christopher W. Fraser   Automatic generation of peephole
                                  optimizations  . . . . . . . . . . . . . 104--111
           Joseph A. Fisher and   
              John R. Ellis and   
         John C. Ruttenberg and   
              Alexandru Nicolau   Parallel processing: a smart compiler
                                  and a dumb machine . . . . . . . . . . . 112--124
                Thomas Johnsson   Efficient compilation of lazy evaluation 125--138
           Michael G. Burke and   
                  Ron K. Cytron   Interprocedural dependence analysis and
                                  parallelization  . . . . . . . . . . . . 139--154
             David Callahan and   
            Keith D. Cooper and   
                Ken Kennedy and   
                  Linda Torczon   Interprocedural constant propagation . . 155--166
         Steven S. Muchnick and   
             Phillip B. Gibbons   Efficient instruction scheduling for a
                                  pipelined architecture . . . . . . . . . 167--174
                David Kranz and   
             Richard Kelsey and   
              Jonathan Rees and   
                 Paul Hudak and   
              James Philbin and   
                   Norman Adams   Orbit: an optimizing compiler for Scheme 175--191
                  David W. Wall   Global register allocation at link time  192--204
                Andrew W. Appel   Real-time concurrent collection on stock
                                  multiprocessors  . . . . . . . . . . . . 205--216
            Keith D. Cooper and   
                    Ken Kennedy   Interprocedural side-effect analysis in
                                  linear time  . . . . . . . . . . . . . . 217--228
              Susan Horwitz and   
                Thomas Reps and   
                  David Binkley   Interprocedural slicing using dependence
                                  graphs . . . . . . . . . . . . . . . . . 229--243
                  Monica S. Lam   Software pipelining: an effective
                                  scheduling technique for VLIW machines   244--256
                   Olin Shivers   Higher-order control-flow analysis in
                                  retrospect: lessons learned, lessons
                                  abandoned  . . . . . . . . . . . . . . . 257--269
                  David W. Wall   Register windows vs. register allocation 270--282
             Preston Briggs and   
            Keith D. Cooper and   
                Ken Kennedy and   
                  Linda Torczon   Coloring heuristics for register
                                  allocation . . . . . . . . . . . . . . . 283--294
             Craig Chambers and   
                    David Ungar   A retrospective on: ``Customization:
                                  Optimizing Compiler Technology for Self,
                                  a Dynamically-Typed Object-Oriented
                                  Programming Language'' . . . . . . . . . 295--312
                Edith Schonberg   On-the-fly detection of access anomalies 313--327
             David Callahan and   
                 Steve Carr and   
                    Ken Kennedy   Improving register allocation for
                                  subscripted variables  . . . . . . . . . 328--342
                David Chase and   
                Mark Wegman and   
                  F. Ken Zadeck   Analysis of pointers and structures  . . 343--359
             William D. Clinger   How to read floating point numbers
                                  accurately . . . . . . . . . . . . . . . 360--371
             William D. Clinger   Retrospective: How to read floating
                                  point numbers accurately . . . . . . . . 360--371
          Guy L. Steele Jr. and   
                   Jon L. White   Retrospective: How to Print
                                  Floating-Point Numbers Accurately  . . . 372--389
               Peter B. Kessler   Fast breakpoints: design and
                                  implementation . . . . . . . . . . . . . 390--397
                Karl Pettis and   
           Robert C. Hansen and   
               Jack W. Davidson   Profile guided code positioning  . . . . 398--411
          Robert Cartwright and   
                     Mike Fagan   Soft typing  . . . . . . . . . . . . . . 412--428
                  David W. Wall   Predicting program behavior using real
                                  or estimated profiles  . . . . . . . . . 429--441
              Monica S. Lam and   
                Michael E. Wolf   A data locality optimizing algorithm . . 442--459
                 Jens Knoop and   
        Oliver Rüthing and   
               Bernhard Steffen   Lazy code motion . . . . . . . . . . . . 460--472
              William Landi and   
               Barbara G. Ryder   A safe approximate algorithm for
                                  interprocedural pointer aliasing . . . . 473--489
                  Hans J. Boehm   Space efficient conservative garbage
                                  collection . . . . . . . . . . . . . . . 490--501
            Cormac Flanagan and   
                  Amr Sabry and   
              Bruce F. Duba and   
             Matthias Felleisen   The essence of compiling with
                                  continuations  . . . . . . . . . . . . . 502--514
            Daniel R. Kerns and   
                Susan J. Eggers   Balanced scheduling: instruction
                                  scheduling when memory latency is
                                  uncertain  . . . . . . . . . . . . . . . 515--527
         Amitabh Srivastava and   
                   Alan Eustace   ATOM: a system for building customized
                                  program analysis tools . . . . . . . . . 528--539
                  Peter Lee and   
                     Mark Leone   Optimizing ML with run-time code
                                  generation . . . . . . . . . . . . . . . 540--553
              David Tarditi and   
             Greg Morrisett and   
                Perry Cheng and   
                Chris Stone and   
              Robert Harper and   
                      Peter Lee   TIL: a type-directed, optimizing
                                  compiler for ML  . . . . . . . . . . . . 554--567
               Glenn Ammons and   
                 James R. Larus   Improving data-flow analysis with path
                                  profiles . . . . . . . . . . . . . . . . 568--582
             David F. Bacon and   
                Ravi Konuru and   
                Chet Murthy and   
            Mauricio J. Serrano   Thin locks: featherweight
                                  synchronization for Java . . . . . . . . 583--595
     Rastislav Bodík and   
                Rajiv Gupta and   
                 Mary Lou Soffa   Complete removal of redundant
                                  expressions  . . . . . . . . . . . . . . 596--611
           George C. Necula and   
                      Peter Lee   The design and implementation of a
                                  certifying compiler  . . . . . . . . . . 612--625
            Guy E. Blelloch and   
                    Perry Cheng   On bounding time and space for
                                  multiprocessor garbage collection  . . . 626--641
                   Matteo Frigo   A fast Fourier transform compiler  . . . 642--655
                Brian Grant and   
          Matthai Philipose and   
                Markus Mock and   
             Craig Chambers and   
                Susan J. Eggers   A retrospective on: ``an evaluation of
                                  staged run-time optimizations in DyC''   656--669

ACM SIG{}PLAN Notices
Volume 39, Number 5, May, 2004

               Chung-chieh Shan   Sexy types in action . . . . . . . . . . 15--22
                 Debasish Ghosh   Generics in Java and C++: a comparative
                                  model  . . . . . . . . . . . . . . . . . 40--47
              Paul Damian Wells   A universal intermediate representation
                                  for massively parallel software
                                  development  . . . . . . . . . . . . . . 48--57
            Matjaz B. Juric and   
             Bostjan Kezmah and   
             Marjan Hericko and   
                Ivan Rozman and   
                  Ivan Vezocnik   Java RMI, RMI tunneling and Web services
                                  comparison and performance analysis  . . 58--65
     Isaiah Pinchas Kantorovitz   Lexical analysis tool  . . . . . . . . . 66--74

ACM SIG{}PLAN Notices
Volume 39, Number 6, May, 2004

        Thomas A. Henzinger and   
               Ranjit Jhala and   
                 Rupak Majumdar   Race checking by context inference . . . 1--13
                Shaz Qadeer and   
                     Dinghao Wu   KISS: keep it simple and sequential  . . 14--24
                 Eran Yahav and   
                  G. Ramalingam   Verifying safety properties using
                                  separation and heterogeneous
                                  abstractions . . . . . . . . . . . . . . 25--34
               Maged M. Michael   Scalable lock-free dynamic memory
                                  allocation . . . . . . . . . . . . . . . 35--46
              Matthew Flatt and   
           Robert Bruce Findler   Kill-safe synchronization abstractions   47--58
            Troy A. Johnson and   
           Rudolf Eigenmann and   
               T. N. Vijaykumar   Min-cut program decomposition for
                                  thread-level speculation . . . . . . . . 59--70
                Zhao-Hui Du and   
              Chu-Cheow Lim and   
               Xiao-Feng Li and   
                  Chen Yang and   
                Qingyu Zhao and   
                  Tin-Fook Ngai   A cost-driven compilation framework for
                                  speculative parallelization of
                                  sequential programs  . . . . . . . . . . 71--81
  Alexandre E. Eichenberger and   
                    Peng Wu and   
                  Kevin O'Brien   Vectorization for SIMD architectures
                                  with alignment constraints . . . . . . . 82--93
              Xiangyu Zhang and   
                    Rajiv Gupta   Cost effective dynamic program slicing   94--106
                C. Collberg and   
                  E. Carter and   
                  S. Debray and   
                A. Huntwork and   
              J. Kececioglu and   
                    C. Linn and   
                       M. Stepp   Dynamic path-based software watermarking 107--118
                 Cheng Wang and   
                     Zhiyuan Li   Parametric analysis for adaptive
                                  computation offloading . . . . . . . . . 119--130
                John Whaley and   
                  Monica S. Lam   Cloning-based context-sensitive pointer
                                  alias analysis using binary decision
                                  diagrams . . . . . . . . . . . . . . . . 131--144
                Jianwen Zhu and   
                 Silvian Calman   Symbolic pointer analysis revisited  . . 145--157
     Ond\vrej Lhoták and   
                 Laurie Hendren   Jedd: a BDD-based relational extension
                                  of Java  . . . . . . . . . . . . . . . . 158--169
            Prasad Kulkarni and   
              Stephen Hines and   
                Jason Hiser and   
              David Whalley and   
              Jack Davidson and   
                  Douglas Jones   Fast searches for effective optimization
                                  phase sequences  . . . . . . . . . . . . 171--182
               John Cavazos and   
                   J. Eliot and   
                        B. Moss   Inducing heuristics to decide whether to
                                  schedule . . . . . . . . . . . . . . . . 183--194
        Manish Vachharajani and   
          Neil Vachharajani and   
                David I. August   The liberty structural specification
                                  language: a high-level modeling language
                                  for component reuse  . . . . . . . . . . 195--206
               John Kodumal and   
                     Alex Aiken   The set constraint/CFL reachability
                                  connection in practice . . . . . . . . . 207--218
             Yanhong A. Liu and   
               Tom Rothamel and   
                 Fuxiang Yu and   
           Scott D. Stoller and   
                      Nanjun Hu   Parametric regular path queries  . . . . 219--230
               Arnaud Venet and   
                 Guillaume Brat   Precise and efficient static array bound
                                  checking for large embedded C programs   231--242
              Wei-Ngan Chin and   
             Florin Craciun and   
              Shengchao Qin and   
                  Martin Rinard   Region inference for an object-oriented
                                  language . . . . . . . . . . . . . . . . 243--254
                Yutao Zhong and   
            Maksim Orlovich and   
                Xipeng Shen and   
                      Chen Ding   Array regrouping and structure splitting
                                  using whole-program reference affinity   255--266
     Ali-Reza Adl-Tabatabai and   
          Richard L. Hudson and   
        Mauricio J. Serrano and   
           Sreenivas Subramoney   Prefetch inection based on hardware
                                  monitoring and object metadata . . . . . 267--276
           Michael D. Smith and   
              Norman Ramsey and   
                 Glenn Holloway   A generalized algorithm for
                                  graph-coloring register allocation . . . 277--288
            Xiaotong Zhuang and   
                  Santosh Pande   Balancing register allocation across
                                  threads for a multithreaded network
                                  processor  . . . . . . . . . . . . . . . 289--300

ACM SIG{}PLAN Notices
Volume 39, Number 7, July, 2004

              Iosif Antochi and   
               Ben Juurlink and   
       Stamatis Vassiliadis and   
                    Petri Liuha   GraalBench: a $3$D graphics benchmark
                                  suite for mobile phones  . . . . . . . . 1--9
              Thomas Martin and   
                 Mark Jones and   
             Joshua Edmison and   
              Tanwir Sheikh and   
                     Zahi Nakad   Modeling and simulating electronic
                                  textile applications . . . . . . . . . . 10--19
              Paul Willmann and   
           Michael Brogioli and   
                   Vijay S. Pai   Spinach: a liberty-based simulator for
                                  programmable network interface
                                  architectures  . . . . . . . . . . . . . 20--29
      Christopher L. Conway and   
             Stephen A. Edwards   NDL: a domain-specific language for
                                  device drivers . . . . . . . . . . . . . 30--36
          Nagendra J. Kumar and   
     Siddhartha Shivshankar and   
              Alexander G. Dean   Asynchronous software thread integration
                                  for efficient software . . . . . . . . . 37--46
                    Wei Qin and   
    Subramanian Rajagopalan and   
                   Sharad Malik   A formal concurrency model based
                                  architecture description language for
                                  synthesis of software development tools  47--56
         Ravindra Jejurikar and   
                   Rajesh Gupta   Procrastination scheduling in fixed
                                  priority real-time systems . . . . . . . 57--66
            Xiaotong Zhuang and   
                  Santosh Pande   Power-efficient prefetching via
                                  bit-differential offset assignment on
                                  embedded processors  . . . . . . . . . . 67--77
               Gilles Pokam and   
        Olivier Rochecouste and   
        André Seznec and   
          François Bodin   Speculative software management of
                                  datapath-width for energy optimization   78--87
                Chaeseok Im and   
                     Soonhoi Ha   Dynamic voltage scaling for real-time
                                  multi-task scheduling using buffers  . . 88--94
                    Lian Li and   
                   Jingling Xue   A trace-based binary compilation
                                  framework for energy-aware computing . . 95--106
                 J. Lapalme and   
           E. M. Aboulhamid and   
               G. Nicolescu and   
                 L. Charest and   
                F. R. Boyer and   
                J. P. David and   
                        G. Bois   ESys.Net: a new solution for embedded
                                  systems modeling and simulation  . . . . 107--114
         Gilberto Contreras and   
         Margaret Martonosi and   
               Jinzhan Peng and   
                     Roy Ju and   
                 Guei-Yuan Lueh   XTREM: a power simulator for the Intel
                                  XScale\TM; core  . . . . . . . . . . . . 115--125
                Uwe Kastens and   
               Dinh Khoi Le and   
              Adrian Slowik and   
                  Michael Thies   Feedback driven instruction-set
                                  extension  . . . . . . . . . . . . . . . 126--135
             Kaustubh Patil and   
                 Kiran Seth and   
                  Frank Mueller   Compositional static instruction cache
                                  simulation . . . . . . . . . . . . . . . 136--145
         Johan Stärner and   
                   Lars Asplund   Measuring the cache interference cost in
                                  preemptive real-time systems . . . . . . 146--154
               Lingli Zhang and   
                 Chandra Krintz   Adaptive code unloading for
                                  resource-constrained JVMs  . . . . . . . 155--164
                    Peng Li and   
                Steve Zdancewic   Advanced control flow in Java card
                                  programming  . . . . . . . . . . . . . . 165--174
                   Jia Zeng and   
           Cristian Soviani and   
             Stephen A. Edwards   Generating fast code from concurrent
                                  program dependence graphs  . . . . . . . 175--181
             Jason D. Hiser and   
               Jack W. Davidson   EMBARC: an efficient memory bank
                                  assignment algorithm for retargetable
                                  compilers  . . . . . . . . . . . . . . . 182--191
            Xiaotong Zhuang and   
                  Tao Zhang and   
                  Santosh Pande   Hardware-managed register allocation for
                                  embedded processors  . . . . . . . . . . 192--201
           Jean-Marc Daveau and   
               Thomas Thery and   
             Thierry Lepley and   
                 Miguel Santana   A retargetable register allocation
                                  framework for embedded processors  . . . 202--210
               Bruno De Bus and   
            Bjorn De Sutter and   
               Ludo Van Put and   
           Dominique Chanet and   
              Koen De Bosschere   Link-time optimization of ARM binaries   211--220
            Bernhard Scholz and   
             Nigel Horspool and   
                     Jens Knoop   Optimizing for space and time usage with
                                  speculative partial redundancy
                                  elimination  . . . . . . . . . . . . . . 221--230
                 L. Almagor and   
            Keith D. Cooper and   
           Alexander Grosul and   
          Timothy J. Harvey and   
           Steven W. Reeves and   
         Devika Subramanian and   
              Linda Torczon and   
                  Todd Waterman   Finding effective compilation sequences  231--239
                 H. Saputra and   
                    G. Chen and   
                  R. Brooks and   
           N. Vijaykrishnan and   
                M. Kandemir and   
                    M. J. Irwin   Code protection for resource-constrained
                                  embedded devices . . . . . . . . . . . . 240--248
                    Zhi Guo and   
            Betul Buyukkurt and   
                   Walid Najjar   Input data reuse in compiling window
                                  operations onto reconfigurable hardware  249--256
               Andrzej Wasowski   Flattening statecharts without
                                  explosions . . . . . . . . . . . . . . . 257--266

ACM SIG{}PLAN Notices
Volume 39, Number 8, August, 2004

                   Paul Frenger   Embed with Forth . . . . . . . . . . . . 8--11
                     Alan Creak   Parsing by numbers and asparagus . . . . 12--19
                      John Reid   An overview of Fortran 2003  . . . . . . 31--38
                 Fangjun Wu and   
                        Tong Yi   Slicing Z specifications . . . . . . . . 39--48
               Dmitri Bronnikov   A practical adoption of partial
                                  redundancy elimination . . . . . . . . . 49--53
José de Oliveira Guimarães   Closures for statically-typed
                                  object-oriented languages  . . . . . . . 54--60
                Chitra Babu and   
                   D. Janakiram   Method driven model: a unified model for
                                  an object composition language . . . . . 61--71
                   S. M. Sandya   Jazzing up JVMs with off-line profile
                                  data: does it pay? . . . . . . . . . . . 72--80

ACM SIG{}PLAN Notices
Volume 39, Number 9, September, 2004

              Norman Ramsey and   
          Simon L. Peyton Jones   The C--compiler infrastructure . . . . . 1--1
                John Launchbury   Galois: high assurance software  . . . . 3--3
               Simon Marlow and   
             Simon Peyton Jones   Making a fast curry: push/enter vs.
                                  eval/apply for higher-order languages    4--15
               David Herman and   
               Philippe Meunier   Improving the static analysis of
                                  embedded languages via partial
                                  evaluation . . . . . . . . . . . . . . . 16--27
           Jan Christiansen and   
                     Frank Huch   Searching for deadlocks while debugging
                                  Concurrent Haskell programs  . . . . . . 28--39
             Zena M. Ariola and   
              Hugo Herbelin and   
                      Amr Sabry   A type-theoretic foundation of
                                  continuations and prompts  . . . . . . . 40--53
              Mitchell Wand and   
              Dale Vaillancourt   Relating models of backtracking  . . . . 54--65
                    Paul Graham   Don't make the wrong mistakes:
                                  programming as debugging . . . . . . . . 66--66
             Niklas Broberg and   
              Andreas Farre and   
             Josef Svenningsson   Regular expression patterns  . . . . . . 67--78
               Olin Shivers and   
                   David Fisher   Multi-return function call . . . . . . . 79--89
             Andrew Tolmach and   
               Sergio Antoy and   
                    Marius Nita   Implementing functional logic languages
                                  using multiple threads and stores  . . . 90--102
              Matthew Fluet and   
                 Greg Morrisett   Monadic regions  . . . . . . . . . . . . 103--114
                Stephen Tse and   
                Steve Zdancewic   Translating dependency into
                                  parametricity  . . . . . . . . . . . . . 115--125
              Dario Colazzo and   
             Giorgio Ghelli and   
               Paolo Manghi and   
                 Carlo Sartiani   Types for path correctness of XML
                                  queries  . . . . . . . . . . . . . . . . 126--137
Peter Mòller Neergaard and   
               Harry G. Mairson   Types, potency, and idempotency: why
                                  nonlinearity and amnesia make a type
                                  system work  . . . . . . . . . . . . . . 138--149
             Nadji Gauthier and   
        François Pottier   Numbering matters: first-order canonical
                                  forms for second-order recursive types   150--161
                      Ulf Wiger   20 years of industrial functional
                                  programming  . . . . . . . . . . . . . . 162--162
                    Kohei Honda   From process logic to program logic  . . 163--174
                 Dachuan Yu and   
                     Zhong Shao   Verification of safety properties for
                                  concurrent assembly code . . . . . . . . 175--188
             Matthias Blume and   
               David McAllester   A sound (and complete) model of
                                  contracts  . . . . . . . . . . . . . . . 189--200
           Dipanwita Sarkar and   
              Oscar Waddell and   
                 R. Kent Dybvig   A nanopass infrastructure for compiler
                                  education  . . . . . . . . . . . . . . . 201--212
            Markus Forsberg and   
                    Aarne Ranta   Functional morphology  . . . . . . . . . 213--223
       Robert Bruce Findler and   
                  Matthew Flatt   Slideshow: functional presentations  . . 224--235
                     Ralf Hinze   Generics for the masses  . . . . . . . . 236--243
           Ralf Lämmel and   
             Simon Peyton Jones   Scrap more boilerplate: reflection,
                                  zips, and generalised casts  . . . . . . 244--255

ACM SIG{}PLAN Notices
Volume 39, Number 10, October, 2004

                    Roly Perera   Refactoring: to the Rubicon\ldots and
                                  beyond!  . . . . . . . . . . . . . . . . 2--3
              Steve Freeman and   
              Tim Mackinnon and   
                  Nat Pryce and   
                     Joe Walnes   jMock: supporting responsibility-based
                                  design with mock objects . . . . . . . . 4--5
           Jonathan Aldrich and   
               David Garlan and   
            Bradley Schmerl and   
                     Tony Tseng   Modeling and implementing software
                                  architecture with acme and archJava  . . 6--7
              Robert Fuhrer and   
                  Frank Tip and   
                  Adam Kie\.zun   Advanced refactorings in eclipse . . . . 8--8
           Edward McCormick and   
                 Kris De Volder   JQuery: finding your way through tangled
                                  code . . . . . . . . . . . . . . . . . . 9--10
           Murali Kaundinya and   
                       Ali Syed   Modeling event driven applications with
                                  a specification language (MEDASL)  . . . 11--12
              Vibha Sazawal and   
                   David Notkin   Design snippets: partial design
                                  representations extracted from source
                                  code . . . . . . . . . . . . . . . . . . 13--14
             Matthew Fowler and   
              Brahm van Niekerk   Meta-programming for the real world  . . 15--15
Helena Åberg Östlund   JRA: offline analysis of runtime
                                  behaviour  . . . . . . . . . . . . . . . 16--17
              Olaf Spinczyk and   
                  Danilo Beuche   Modeling and building software product
                                  lines with eclipse . . . . . . . . . . . 18--19
              Charles Zhang and   
             Hans-Arno Jacobsen   PRISM is research in aSpect mining . . . 20--21
        Arnab Bhattacharrya and   
                  Robert Fuhrer   Smell detection for eclipse  . . . . . . 22--22
                 Martin Lippert   AJEER: an aspectJ-enabled eclipse
                                  runtime  . . . . . . . . . . . . . . . . 23--24
            Robert L. Akers and   
              Ira D. Baxter and   
                Michael Mehlich   Program transformations for
                                  re-engineering C++ components
                                  [OOPSLA/GPCE]  . . . . . . . . . . . . . 25--26
                  Jeff Gray and   
                 Jing Zhang and   
         Suman Roychoudhury and   
                     Ira Baxter   C-SAW and genAWeave: a two-level aspect
                                  weaving toolsuite  . . . . . . . . . . . 27--28
                  Peri Tarr and   
              William Chung and   
           William Harrison and   
            Vincent Kruskal and   
              Harold Ossher and   
     Stanley M. Sutton, Jr. and   
             Andrew Clement and   
            Matthew Chapman and   
              Helen Hawkins and   
                   Sian January   The concern manipulation environment
                                  [OOPSLA/GPCE]  . . . . . . . . . . . . . 29--30
         Matthias Hauswirth and   
           Peter F. Sweeney and   
                     Amer Diwan   Performance explorer: understanding Java
                                  application behavior . . . . . . . . . . 31--32
              Donald Gordon and   
                James Noble and   
                  Robert Biddle   ConstrainedJava  . . . . . . . . . . . . 33--34
             Tien N. Nguyen and   
            Ethan V. Munson and   
                John T. Boyland   Object-oriented, structural software
                                  configuration management . . . . . . . . 35--36
                 Didier Parigot   Towards domain-driven development: the
                                  smartTools software factory  . . . . . . 37--38
            Juha-Pekka Tolvanen   MetaEdit+: domain-specific modeling for
                                  full code generation demonstrated [GPCE] 39--40
            Miguel Guerrero and   
               Edward Pizzi and   
           Robert Rosenbaum and   
                Kedar Swadi and   
                     Walid Taha   Implementing DSLs in metaOCaml . . . . . 41--42
           Michael Eichberg and   
          Thorsten Schäfer   XIRC: cross-artifact information
                                  retrieval [GPCE] . . . . . . . . . . . . 43--44
                        Lan Cao   Modeling dynamics of agile software
                                  development  . . . . . . . . . . . . . . 46--47
              Paul V. Gestwicki   Interactive visualization of
                                  object-oriented programs . . . . . . . . 48--49
               Alex Potanin and   
                James Noble and   
                  Robert Biddle   Generic ownership: practical ownership
                                  control in programming languages . . . . 50--51
             Suman Roychoudhury   A language-independent approach to
                                  software maintenance using grammar
                                  adapters . . . . . . . . . . . . . . . . 52--53
                    Jeremy Siek   Modular generics . . . . . . . . . . . . 54--55
             Piotr Nienaltowski   Efficient data race and deadlock
                                  prevention in concurrent object-oriented
                                  programs . . . . . . . . . . . . . . . . 56--57
                  Mircea Trofin   A framework for removing redundant
                                  context management services in
                                  Enterprise JavaBeans application servers 58--59
                   Raul Silaghi   Refining designs along
                                  middleware-specific concern-dimensions
                                  at different MDA-levels of abstraction   60--62
               Axel Schmolitzky   ``Objects first, interfaces next'' or
                                  interfaces before inheritance  . . . . . 64--67
               Phil Ventura and   
          Christopher Egert and   
                Adrienne Decker   Ancestor worship in CS1: on the primacy
                                  of arrays  . . . . . . . . . . . . . . . 68--72
             Poul Henriksen and   
           Michael Kölling   greenfoot: combining object
                                  visualisation with interaction . . . . . 73--82
            Katherine Malan and   
                    Ken Halland   Examples that can do harm in learning
                                  programming  . . . . . . . . . . . . . . 83--87
          Kurt D. Fenstermacher   If I had a model, I'd model in the
                                  mornin'  . . . . . . . . . . . . . . . . 88--95
               Kim B. Bruce and   
                 Andrea Danyluk   Event-driven programming facilitates
                                  learning standard programming concepts   96--100
                 Eric Cheng and   
           Dung Zung Nguyen and   
             Mathias Ricken and   
                   Stephen Wong   Abstract factories and the shape
                                  calculator . . . . . . . . . . . . . . . 101--102
                Michael R. Wick   Using the game of life to introduce
                                  freshman students to the power and
                                  elegance of design patterns  . . . . . . 103--105
         Christopher H. Nevison   From concrete to abstract: the power of
                                  generalization . . . . . . . . . . . . . 106--108
                 Eric Cheng and   
           Dung Zung Nguyen and   
             Mathias Ricken and   
                   Stephen Wong   Marine biology simulation  . . . . . . . 109--110
                James Noble and   
                  Robert Biddle   Notes on notes on postmodern
                                  programming: radio edit  . . . . . . . . 112--115
                     Tim Sheard   Languages of the future  . . . . . . . . 116--119
          Munindar P. Singh and   
             Amit K. Chopra and   
            Nirmit V. Desai and   
                Ashok U. Mallya   Protocols for processes: programming in
                                  the large for open systems (extended
                                  abstract)  . . . . . . . . . . . . . . . 120--123
               Jonathan Edwards   Example centric programming  . . . . . . 124--124
                   Brian Marick   Methodology work is ontology work  . . . 125--125
                     David West   Looking for love: (in all the wrong
                                  places)  . . . . . . . . . . . . . . . . 126--127
                  Yinliang Zhao   Granule-oriented programming (extended
                                  abstract)  . . . . . . . . . . . . . . . 128--131
            David Hovemeyer and   
                   William Pugh   Finding bugs is easy . . . . . . . . . . 132--136
           Granville Miller and   
               Scott Ambler and   
                 Steve Cook and   
             Stephen Mellor and   
                 Karl Frank and   
                       Jon Kern   Model driven architecture: the
                                  realities, a year later  . . . . . . . . 138--140
                 Jim Haungs and   
              Martin Fowler and   
              Ralph Johnson and   
            Steve McConnell and   
                Richard Gabriel   Software development: arts & crafts or
                                  math & science? . . . . . . . . . . . . . 141--142
              Martin Fowler and   
                    Don Box and   
           Anders Hejlsberg and   
                Alan Knight and   
                   Rob High and   
                     John Crupi   The great J2EE vs. Microsoft .NET
                                  shootout . . . . . . . . . . . . . . . . 143--144
              Steven Fraser and   
            Lougie Anderson and   
                Ron Crocker and   
            Richard Gabriel and   
              Martin Fowler and   
              Ricardo Lopez and   
                    Dave Thomas   Challenges in outsourcing and global
                                  development: how will your job change?   145--147
              Steven Fraser and   
              Angela Martin and   
              Robert Biddle and   
              David Hussman and   
           Granville Miller and   
           Mary Poppendieck and   
               Linda Rising and   
                 Mark Striebeck   The role of the customer in software
                                  development: the XP customer --- fad or
                                  fashion? . . . . . . . . . . . . . . . . 148--150
        Nicolai M. Josuttis and   
             Jutta Eckstein and   
               Linda Rising and   
             Lise B. Hvatum and   
            Mary Lynn Manns and   
            Rebecca Wirfs-Brock   The view: the ultimate IT chat . . . . . 151--152
             Frank Eliassen and   
            Richard Staehli and   
               Gordon Blair and   
      Jan Òyvind Aagedal   QuA: building with reusable QoS-aware
                                  components . . . . . . . . . . . . . . . 154--155
           Jonathan Aldrich and   
               David Garlan and   
            Bradley Schmerl and   
                     Tony Tseng   Modeling and implementing software
                                  architecture with acme and archJava  . . 156--157
              Lawrence Carleton   An invitation to the dance of progress   158--159
             Virginia Niculescu   OOLACA: an object oriented library for
                                  abstract and computational algebra . . . 160--161
             Geoff Sobering and   
                  Levi Cook and   
                 Steve Anderson   Pseudo-classes: very simple and
                                  lightweight mockObject-like classes for
                                  unit-testing . . . . . . . . . . . . . . 162--163
                Joey Paquet and   
                   Aihua Wu and   
                  Peter Grogono   Towards a framework for the general
                                  intensional programming compiler in the
                                  GIPSY  . . . . . . . . . . . . . . . . . 164--165
        Uirá Kulesza and   
          Alessandro Garcia and   
                  Carlos Lucena   An aspect-oriented generative approach   166--167
           Murali Kaundinya and   
                       Ali Syed   Modeling event driven applications with
                                  a specification language (MEDASL)  . . . 168--169
            Tauqeer Hussain and   
             Shafay Shamail and   
                  Mian M. Awais   Improving quality in conceptual modeling 170--171
             Dries Buytaert and   
               Andy Georges and   
            Lieven Eeckhout and   
              Koen De Bosschere   Bottleneck analysis in Java applications
                                  using hardware performance monitors  . . 172--173
          Pekka Abrahamsson and   
            Antti Hanhineva and   
               Hanna Hulkko and   
                Tuomas Ihme and   
   Juho Jäälinoja and   
              Mikko Korkala and   
               Juha Koskela and   
        Pekka Kyllönen and   
                      Outi Salo   Mobile-D: an agile approach for mobile
                                  application development  . . . . . . . . 174--175
                    A. Szep and   
                 R. Smeikal and   
                   M. Jandl and   
                 K. M. Goeschka   Dependable distributed systems . . . . . 176--177
               Rilla Khaled and   
          Anna Maria Luxton and   
                James Noble and   
                 Leo Ferres and   
                 Judy Brown and   
                  Robert Biddle   Visualisation for learning OOP, using
                                  AOP and eclipse  . . . . . . . . . . . . 178--179
                 Martin Lippert   AJEER: an aspectJ-enabled eclipse
                                  runtime  . . . . . . . . . . . . . . . . 180--181
        Gabriel Vögler and   
                Thomas Flor and   
               Hajo Eichler and   
            Matthias Kasprowicz   An open model infrastructure for
                                  automotive software  . . . . . . . . . . 182--183
       Somsak Phattarasukol and   
                     Daisy Sang   Design pattern integrated tool . . . . . 184--185
             Ben Stephenson and   
                     Wade Holst   Advancements in multicode optimization   186--187
            Maurizio Lancia and   
            Paola Garzenini and   
         Roberto Puccinelli and   
              Alessio Marchetti   J2EE for the public administration: a
                                  success story  . . . . . . . . . . . . . 188--189
                     Wade Holst   Meta: extending and unifying languages   190--191
                 Rafik Amir and   
                      Amir Zeid   A UML profile for service oriented
                                  architectures  . . . . . . . . . . . . . 192--193
                   Hoi Chan and   
                 Trieu C. Chieu   An approach and tools to automate
                                  externalization of application logic . . 194--195
       Therapon Skotiniotis and   
                David H. Lorenz   Cona: aspects for contracts and
                                  contracts for aspects  . . . . . . . . . 196--197
               Russ Freeman and   
                      Phil Webb   $<$CTRL$>$ + $<$ALT$>$ + $<$TOOL PARADIGM
                                  SHIFT$>$? . . . . . . . . . . . . . . . . 198--199
         Hironori Washizaki and   
              Yoshiaki Fukazawa   A search system for Java programs by
                                  using extracted JavaBeans components . . 200--201
              Leonardo Cole and   
                    Paulo Borba   Deriving refactorings for aspectJ  . . . 202--203
                  Bill Pugh and   
                   Jaime Spacco   RUBiS revisited: why J2EE benchmarking
                                  is hard  . . . . . . . . . . . . . . . . 204--205
          Leo Kazuhiro Ueda and   
                      Fabio Kon   Mobile musical agents: the andante
                                  project  . . . . . . . . . . . . . . . . 206--207
            Lorenzo Bettini and   
               Viviana Bono and   
                 Silvia Likavec   A core calculus of mixins and incomplete
                                  objects  . . . . . . . . . . . . . . . . 208--209
               Bruno Cabral and   
              Paulo Marques and   
              Luís Silva   RAIL: code instrumentation for .NET  . . 210--211
         Marat Boshernitsan and   
                Susan L. Graham   iXj: interactive source-to-source
                                  transformations for Java . . . . . . . . 212--213
     Leticia R. Rheinheimer and   
          Junior M. Martins and   
Sérgio Crespo C. S. Pinto   WSAgent: an agent based on Web services
                                  to promote interoperability between
                                  heterogeneous systems in the health
                                  domain . . . . . . . . . . . . . . . . . 214--215
            Sergei Kojarski and   
                David H. Lorenz   AOP as a first class reflective
                                  mechanism  . . . . . . . . . . . . . . . 216--217
          Aniruddha Gokhale and   
Krishnakumar Balasubramanian and   
                         Tao Lu   CoSMIC: addressing crosscutting
                                  deployment and configuration concerns of
                                  distributed real-time and embedded
                                  systems  . . . . . . . . . . . . . . . . 218--219
               Haitham S. Hamza   SODA: a stability-oriented domain
                                  analysis method  . . . . . . . . . . . . 220--221
               Igor Ivkovic and   
            Kostas Kontogiannis   Model synchronization as a problem of
                                  maximizing model dependencies  . . . . . 222--223
                  Simon Holland   Reflective composition: the declarative
                                  composition of roles to unify objects,
                                  roles, and aspects . . . . . . . . . . . 224--225
          Paul V. Gestwicki and   
               Bharat Jayaraman   JIVE: Java interactive visualization
                                  environment  . . . . . . . . . . . . . . 226--228
             Matthew R. McBride   The software architect: essence,
                                  intuition, and guiding principles  . . . 230--235
              Steve Freeman and   
              Tim Mackinnon and   
                  Nat Pryce and   
                     Joe Walnes   Mock roles, objects  . . . . . . . . . . 236--246
             Brian A. Berenbach   Comparison of UML and text based
                                  requirements engineering . . . . . . . . 247--252
              Joseph A. Blotner   PIP: a product planning strategy for the
                                  whole family or\ldots how we became the
                                  brady bunch  . . . . . . . . . . . . . . 253--259
                Aki Namioka and   
                      Cary Bran   eXtreme ISO ?!?  . . . . . . . . . . . . 260--263
                  Daniel Antion   Why reuse matters: ANI's digital archive
                                  system . . . . . . . . . . . . . . . . . 264--267
           Daniel L. Dvorak and   
           William K. Reinholtz   Hard real-time: C++ versus RTSJ  . . . . 268--274
     Emerson R. Murphy-Hill and   
                Andrew P. Black   Traits: experience with a language
                                  feature  . . . . . . . . . . . . . . . . 275--282
            Olaf Zimmermann and   
              Sven Milinski and   
              Michael Craes and   
               Frank Oellermann   Second generation Web services-oriented
                                  architecture in production in the
                                  finance industry . . . . . . . . . . . . 283--289
               Joachim F. Kainz   Migrating to simpler distributed
                                  applications . . . . . . . . . . . . . . 290--293
             Darrell Reimer and   
            Edith Schonberg and   
           Kavitha Srinivas and   
          Harini Srinivasan and   
               Julian Dolby and   
          Aaron Kershenbaum and   
                    Larry Koved   Validating structural properties of
                                  nested objects . . . . . . . . . . . . . 294--304
                    Eric Bodden   A lightweight LTL runtime verification
                                  tool for Java  . . . . . . . . . . . . . 306--307
                    Hadi Salimi   NGMF: a generic framework for
                                  constructing graph-based systems . . . . 308--309
                     Jing Zhang   Supporting software evolution through
                                  model-driven program transformation  . . 310--311
                  Mircea Trofin   A framework for removing redundant
                                  context management services in
                                  enterprise JavaBeans application servers 312--313
             Suman Roychoudhury   A language-independent approach to
                                  software maintenance using grammar
                                  adapters . . . . . . . . . . . . . . . . 314--315
                 Trevor Parsons   A framework for detecting, assessing and
                                  visualizing performance antipatterns in
                                  component based systems  . . . . . . . . 316--317
                   Raul Silaghi   Refining designs along
                                  middleware-specific concern-dimensions
                                  at different MDA-levels of abstraction   318--319
              Arvind S. Krishna   Enhancing distributed object middleware
                                  qualities  . . . . . . . . . . . . . . . 320--321
                 Spiros Xanthos   Identification of reusable components
                                  within an object-oriented software
                                  system using algebraic graph theory  . . 322--323
                        Tao Xie   Automatic identification of common and
                                  special object-oriented unit tests . . . 324--325
               Martin Keschenau   Reverse engineering of UML
                                  specifications from Java programs  . . . 326--327
                   Lucas Layman   Empirical investigation of the impact of
                                  extreme programming practices on
                                  software projects  . . . . . . . . . . . 328--329

ACM SIG{}PLAN Notices
Volume 39, Number 11, November, 2004

              Lance Hammond and   
         Brian D. Carlstrom and   
                 Vicky Wong and   
              Ben Hertzberg and   
                  Mike Chen and   
         Christos Kozyrakis and   
                 Kunle Olukotun   Programming with transactional coherence
                                  and consistency (TCC)  . . . . . . . . . 1--13
                Mihai Budiu and   
       Girish Venkataramani and   
            Tiberiu Chelcea and   
           Seth Copen Goldstein   Spatial computation  . . . . . . . . . . 14--26
         Virantha Ekanayake and   
           Clinton Kelly IV and   
                  Rajit Manohar   An ultra low-power processor for sensor
                                  networks . . . . . . . . . . . . . . . . 27--36
        Christopher R. Lumb and   
                Richard Golding   D-SPTF: decentralized request
                                  distribution in brick-based storage
                                  systems  . . . . . . . . . . . . . . . . 37--47
              Yasushi Saito and   
       Svend Fròlund and   
            Alistair Veitch and   
              Arif Merchant and   
                   Susan Spence   FAB: building distributed enterprise
                                  disk arrays from commodity components    48--58
          Timothy E. Denehy and   
                  John Bent and   
     Florentina I. Popovici and   
   Andrea C. Arpaci-Dusseau and   
        Remzi H. Arpaci-Dusseau   Deconstructing storage arrays  . . . . . 59--71
            Xiaotong Zhuang and   
                  Tao Zhang and   
                  Santosh Pande   HIDE: an infrastructure for efficiently
                                  protecting information leakage on the
                                  address bus  . . . . . . . . . . . . . . 72--84
              G. Edward Suh and   
                 Jae W. Lee and   
                David Zhang and   
               Srinivas Devadas   Secure program execution via dynamic
                                  information flow tracking  . . . . . . . 85--96
                Jaehyuk Huh and   
              Jichuan Chang and   
                Doug Burger and   
               Gurindar S. Sohi   Coherence decoupling: making use of
                                  incoherence  . . . . . . . . . . . . . . 97--106
     Srikanth T. Srinivasan and   
                Ravi Rajwar and   
             Haitham Akkary and   
                Amit Gandhi and   
                     Mike Upton   Continual flow pipelines . . . . . . . . 107--119
        Rajagopalan Desikan and   
        Simha Sethumadhavan and   
                Doug Burger and   
             Stephen W. Keckler   Scalable selective re-execution for EDGE
                                  architectures  . . . . . . . . . . . . . 120--132
                John Regehr and   
                  Alastair Reid   HOIST: a system for automatically
                                  deriving static analyzers for embedded
                                  systems  . . . . . . . . . . . . . . . . 133--143
              Perry H. Wang and   
         Jamison D. Collins and   
                  Hong Wang and   
               Dongkeun Kim and   
                Bill Greene and   
              Kai-Ming Chan and   
             Aamir B. Yunus and   
                 Terry Sych and   
           Stephen F. Moore and   
                   John P. Shen   Helper threads via virtual
                                  multithreading on an experimental
                                  Itanium-2 processor-based platform . . . 144--155
         Matthias Hauswirth and   
            Trishul M. Chilimbi   Low-overhead memory leak detection using
                                  adaptive statistical profiling . . . . . 156--164
                Xipeng Shen and   
                Yutao Zhong and   
                      Chen Ding   Locality phase prediction  . . . . . . . 165--176
                   Pin Zhou and   
               Vivek Pandey and   
      Jagadeesan Sundaresan and   
           Anand Raghuraman and   
              Yuanyuan Zhou and   
                  Sanjeev Kumar   Dynamic tracking of page miss ratio
                                  curve for memory management  . . . . . . 177--188
           Rodric M. Rabbah and   
  Hariharan Sandanagobalane and   
        Mongkol Ekpanyapong and   
                  Weng-Fai Wong   Compiler orchestrated prefetching via
                                  speculation and predication  . . . . . . 189--198
             Chen-Yong Cher and   
          Antony L. Hosking and   
               T. N. Vijaykumar   Software prefetching for mark-sweep
                                  garbage collection: hardware analysis
                                  and software redesign  . . . . . . . . . 199--210
            David E. Lowell and   
              Yasushi Saito and   
              Eileen J. Samberg   Devirtualizable virtual machines
                                  enabling general, single-node, online
                                  maintenance  . . . . . . . . . . . . . . 211--223
           Jared C. Smolens and   
              Brian T. Gold and   
                Jangwoo Kim and   
              Babak Falsafi and   
               James C. Hoe and   
            Andreas G. Nowatzyk   Fingerprinting: bounding soft-error
                                  detection latency and bandwidth  . . . . 224--234
           Greg Bronevetsky and   
             Daniel Marques and   
             Keshav Pingali and   
                Peter Szwed and   
                  Martin Schulz   Application-level checkpointing for
                                  shared memory programs . . . . . . . . . 235--247
                   Qiang Wu and   
                Philo Juang and   
         Margaret Martonosi and   
               Douglas W. Clark   Formal online methods for
                                  voltage/frequency control in multiple
                                  clock domain microprocessors . . . . . . 248--259
              Mohamed Gomaa and   
          Michael D. Powell and   
               T. N. Vijaykumar   Heat-and-run: leveraging SMT and CMP to
                                  manage power density through the
                                  operating system . . . . . . . . . . . . 260--270
                Xiaodong Li and   
                 Zhenmin Li and   
              Francis David and   
                   Pin Zhou and   
              Yuanyuan Zhou and   
                Sarita Adve and   
                  Sanjeev Kumar   Performance directed energy management
                                  for main memory and disks  . . . . . . . 271--283
                      Anonymous   Architecture . . . . . . . . . . . . . . ??
                      Anonymous   Memory system analysis and optimization  ??
                      Anonymous   New models and architectures . . . . . . ??
                      Anonymous   Potpourri  . . . . . . . . . . . . . . . ??
                      Anonymous   Power  . . . . . . . . . . . . . . . . . ??
                      Anonymous   Reliability  . . . . . . . . . . . . . . ??
                      Anonymous   Storage  . . . . . . . . . . . . . . . . ??
                      Anonymous   Security . . . . . . . . . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 39, Number 12, December, 2004

                   Paul Frenger   Forth and AI revisited: BRAIN.FORTH  . . 11--16
               Brian Cabana and   
              Suad Alagi\'c and   
                  Jeff Faulkner   Parametric polymorphism for Java: is
                                  there any hope in sight? . . . . . . . . 22--31
                 Elliott Hughes   Checking spelling in source code . . . . 32--38
                James Noble and   
                  Robert Biddle   Notes on notes on postmodern programming 40--56
                     David West   Looking for love (in all the wrong
                                  places)  . . . . . . . . . . . . . . . . 57--63
                   Brian Marick   Methodology work is ontology work  . . . 64--72
          Munindar P. Singh and   
             Amit K. Chopra and   
               Nirmit Desai and   
                Ashok U. Mallya   Protocols for processes: programming in
                                  the large for open systems . . . . . . . 73--83
               Jonathan Edwards   Example centric programming  . . . . . . 84--91
            David Hovemeyer and   
                   William Pugh   Finding bugs is easy . . . . . . . . . . 92--106
                  Yinliang Zhao   Granule-oriented programming . . . . . . 107--118
                     Tim Sheard   Languages of the future  . . . . . . . . 119--132
                      Anonymous   Forth report . . . . . . . . . . . . . . ??
                      Anonymous   OOPSLA onward! . . . . . . . . . . . . . ??


ACM SIG{}PLAN Notices
Volume 40, Number 1, January, 2005

   Manuel M. T. Chakravarty and   
            Gabriele Keller and   
         Simon Peyton Jones and   
                   Simon Marlow   Associated types with class  . . . . . . 1--13
              Richard Cobbe and   
             Matthias Felleisen   Environmental acquisition revisited  . . 14--25
              Davide Ancona and   
          Ferruccio Damiani and   
        Sophia Drossopoulou and   
                    Elena Zucca   Polymorphic bytecode: compositional
                                  compilation for Java-like languages  . . 26--37
                  Juan Chen and   
                  David Tarditi   A simple typed intermediate language for
                                  object-oriented languages  . . . . . . . 38--49
               Haruo Hosoya and   
               Alain Frisch and   
              Giuseppe Castagna   Parametric polymorphism for XML  . . . . 50--62
               Eijiro Sumii and   
             Benjamin C. Pierce   A bisimulation for type abstraction and
                                  recursion  . . . . . . . . . . . . . . . 63--74
               Healfdene Goguen   A syntactic approach to eta equality in
                                  type theory  . . . . . . . . . . . . . . 75--84
                   Dan R. Ghica   Slot games: a quantitative model of
                                  computation  . . . . . . . . . . . . . . 85--97
                Rajeev Alur and   
       Pavol \vCerný and   
              P. Madhusudan and   
                    Wonhong Nam   Synthesis of interface specifications
                                  for Java classes . . . . . . . . . . . . 98--109
            Cormac Flanagan and   
              Patrice Godefroid   Dynamic partial-order reduction for
                                  model checking software  . . . . . . . . 110--121
              Orna Grumberg and   
               Flavio Lerda and   
             Ofer Strichman and   
               Michael Theobald   Proof-guided underapproximation-widening
                                  for multi-process systems  . . . . . . . 122--131
           Andreas Podelski and   
             Andrey Rybalchenko   Transition predicate abstraction and
                                  fair termination . . . . . . . . . . . . 132--144
               Simon J. Gay and   
            Rajagopal Nagarajan   Communicating quantum processes  . . . . 145--157
                    Peng Li and   
                Steve Zdancewic   Downgrading policies and relaxed
                                  noninterference  . . . . . . . . . . . . 158--170
               Sungwoo Park and   
             Frank Pfenning and   
                Sebastian Thrun   A probabilistic language based upon
                                  sampling functions . . . . . . . . . . . 171--182
              Gareth Stoyle and   
              Michael Hicks and   
              Gavin Bierman and   
               Peter Sewell and   
                 Iulian Neamtiu   Mutatis mutandis: safe and predictable
                                  dynamic software updating  . . . . . . . 183--194
                 John Field and   
               Carlos A. Varela   Transactors: a programming model for
                                  maintaining globally consistent
                                  distributed state in unreliable
                                  environments . . . . . . . . . . . . . . 195--208
              Roberto Bruni and   
    Hernán Melgratti and   
                  Ugo Montanari   Theoretical foundations for
                                  compensations in flow composition
                                  languages  . . . . . . . . . . . . . . . 209--220
          Matthias Neubauer and   
                 Peter Thiemann   From sequential programs to multi-tier
                                  applications by program transformation   221--232
           J. Nathan Foster and   
       Michael B. Greenwald and   
          Jonathan T. Moore and   
         Benjamin C. Pierce and   
                   Alan Schmitt   Combinators for bi-directional tree
                                  transformations: a linguistic approach
                                  to the view update problem . . . . . . . 233--246
          Matthew Parkinson and   
                  Gavin Bierman   Separation logic and abstraction . . . . 247--258
             Richard Bornat and   
         Cristiano Calcagno and   
              Peter O'Hearn and   
              Matthew Parkinson   Permission accounting in separation
                                  logic  . . . . . . . . . . . . . . . . . 259--270
         Cristiano Calcagno and   
           Philippa Gardner and   
                    Uri Zarfaty   Context logic and tree update  . . . . . 271--282
          John Tang Boyland and   
                 William Retert   Connecting effects and uniqueness with
                                  adoption . . . . . . . . . . . . . . . . 283--295
              Noam Rinetzky and   
            Jörg Bauer and   
                Thomas Reps and   
                Mooly Sagiv and   
               Reinhard Wilhelm   A semantics for procedure local heaps
                                  and its abstractions . . . . . . . . . . 296--309
              Brian Hackett and   
                    Radu Rugina   Region-based shape analysis with tracked
                                  locations  . . . . . . . . . . . . . . . 310--323
              Sumit Gulwani and   
               George C. Necula   Precise interprocedural analysis using
                                  random interpretation  . . . . . . . . . 324--337
                Denis Gopan and   
                Thomas Reps and   
                    Mooly Sagiv   A framework for numeric analysis of
                                  array operations . . . . . . . . . . . . 338--350
                 Yichen Xie and   
                     Alex Aiken   Scalable error detection using boolean
                                  satisfiability . . . . . . . . . . . . . 351--363
               Sorin Lerner and   
             Todd Millstein and   
                 Erika Rice and   
                 Craig Chambers   Automated soundness proofs for dataflow
                                  analyses and transformations via local
                                  rules  . . . . . . . . . . . . . . . . . 364--377
              Jeremy Manson and   
               William Pugh and   
                 Sarita V. Adve   The Java memory model  . . . . . . . . . 378--391

ACM SIG{}PLAN Notices
Volume 40, Number 2, February, 2005

                   Paul Frenger   Tina: an improbable $3$-pin
                                  microcontroller  . . . . . . . . . . . . 5--10
            Mihal Badjonski and   
           Mirjana Ivanovic and   
                  Zoran Budimac   Adaptable Java Agents (AJA): a tool for
                                  programming of multi-agent systems . . . 17--26
              Shujuan Jiang and   
                      Baowen Xu   An efficient and reliable
                                  object-oriented exception handling
                                  mechanism  . . . . . . . . . . . . . . . 27--32
                Sachin Shaw and   
                    Pawan Kumar   Loop-dead optimization . . . . . . . . . 33--40
              A. Zerzelidis and   
                 A. J. Wellings   Requirements for a real-time .NET
                                  framework  . . . . . . . . . . . . . . . 41--50
                      Anonymous   Forth  . . . . . . . . . . . . . . . . . ??
                      Anonymous   Technical correspondence . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 40, Number 3, March, 2005

            Viera K. Proulx and   
                Tanya Cashorali   Calculator problem and the design recipe 4--11
                 Conrad Mueller   Axiomatic computational model  . . . . . 29--39
               Yuqiang Xian and   
                  Guangze Xiong   Minimizing memory requirement of
                                  real-time systems with concurrent
                                  garbage collector  . . . . . . . . . . . 40--48
                      Anonymous   Circular patterns  . . . . . . . . . . . ??

ACM SIG{}PLAN Notices
Volume 40, Number 4, April, 2005

                   Paul Frenger   Tired by Forth?: you should be!  . . . . 5--8
              Tetsuo Saitou and   
             Mitsugu Suzuki and   
                   Tan Watanabe   Dominance analysis of irreducible CFGs
                                  by reduction . . . . . . . . . . . . . . 10--19
           Simon Beloglavec and   
           Marjan Heri\vcko and   
        Matja\vz B. Juri\vc and   
                    Ivan Rozman   Analysis of the limitations of multiple
                                  client handling in a Java server
                                  environment  . . . . . . . . . . . . . . 20--28
        Matej \vCrepin\vsek and   
              Marjan Mernik and   
                 Viljem \vZumer   Extracting grammar from programs: brute
                                  force approach . . . . . . . . . . . . . 29--38
        Matej \vCrepin\vsek and   
              Marjan Mernik and   
               Faizan Javed and   
          Barrett R. Bryant and   
                   Alan Sprague   Extracting grammar from programs:
                                  evolutionary approach  . . . . . . . . . 39--46
            P. van der Spek and   
                    N. Plat and   
                       C. Pronk   Syntax error repair for a Java-based
                                  parser generator . . . . . . . . . . . . 47--50
           Patricio Buli\'c and   
               Veselko Gu\vstin   An efficient way to filter out data
                                  dependences with a sufficiently large
                                  distance between memory references . . . 51--60

ACM SIG{}PLAN Notices
Volume 40, Number 5, May, 2005

          Robert Glück and   
                Masahiko Kawabe   Revisiting an automatic program inverter
                                  for Lisp . . . . . . . . . . . . . . . . 8--17
               Rajeev Kumar and   
             Vikram Agrawal and   
                  Anil Mangolia   Realization of multimethods in single
                                  dispatch object oriented languages . . . 18--27
                    Boris Sunik   The specification language $T$ . . . . . 28--38
                     M. D. Derk   Towards a simpler method of operational
                                  semantics for language definition  . . . 39--44
             Manuel Barbosa and   
               Alcino Cunha and   
              Jorge Sousa Pinto   Recursion patterns and time-analysis . . 45--54

ACM SIG{}PLAN Notices
Volume 40, Number 6, June, 2005

                     Min Xu and   
     Rastislav Bodík and   
                   Mark D. Hill   A serializability violation detector for
                                  shared-memory server programs  . . . . . 1--14
                 Ben Liblit and   
                 Mayur Naik and   
             Alice X. Zheng and   
                 Alex Aiken and   
              Michael I. Jordan   Scalable statistical bug isolation . . . 15--26
               Tayfun Elmas and   
             Serdar Tasiran and   
                    Shaz Qadeer   VYRD: VerifYing concurrent programs by
                                  runtime Refinement-violation Detection   27--37
               Ranjit Jhala and   
                 Rupak Majumdar   Path slicing . . . . . . . . . . . . . . 38--47
             David Mandelin and   
                     Lin Xu and   
     Rastislav Bodík and   
                  Doug Kimelman   Jungloid mining: helping to navigate the
                                  API jungle . . . . . . . . . . . . . . . 48--61
               Michael Furr and   
              Jeffrey S. Foster   Checking type safety of foreign function
                                  calls  . . . . . . . . . . . . . . . . . 62--72
                Jeremy Siek and   
               Andrew Lumsdaine   Essential language support for generic
                                  programming  . . . . . . . . . . . . . . 73--84
                 Brian Chin and   
            Shane Markstrum and   
                 Todd Millstein   Semantic type qualifiers . . . . . . . . 85--95
          Neel Krishnaswami and   
               Jonathan Aldrich   Permission-based ownership:
                                  encapsulating state in higher-order
                                  typed languages  . . . . . . . . . . . . 96--106
       Daniel A. Jiménez   Code placement for improving dynamic
                                  branch prediction accuracy . . . . . . . 107--116
           Pavel Avgustinov and   
     Aske Simon Christensen and   
             Laurie Hendren and   
              Sascha Kuzins and   
     Jennifer Lhoták and   
     Ond\vrej Lhoták and   
               Oege de Moor and   
              Damien Sereni and   
         Ganesh Sittampalam and   
                  Julian Tibble   Optimising aspectJ . . . . . . . . . . . 117--128
              Chris Lattner and   
                    Vikram Adve   Automatic pool allocation: improving
                                  performance by controlling data
                                  structure layout in the heap . . . . . . 129--142
              Matthew Hertz and   
                    Yi Feng and   
                Emery D. Berger   Garbage collection without paging  . . . 143--153
                Hongbo Rong and   
             Alban Douillet and   
                   Guang R. Gao   Register allocation for software
                                  pipelined multi-dimensional loops  . . . 154--167
            Xiaotong Zhuang and   
                  Santosh Pande   Differential register allocation . . . . 168--179
               Alex Alet\`a and   
            Josep M. Codina and   
         Antonio Gonz\`alez and   
                    David Kaeli   Demystifying on-the-fly spill code . . . 180--189
              Chi-Keung Luk and   
                Robert Cohn and   
                Robert Muth and   
               Harish Patil and   
              Artur Klauser and   
               Geoff Lowney and   
             Steven Wallace and   
         Vijay Janapa Reddi and   
                  Kim Hazelwood   Pin: building customized program
                                  analysis tools with dynamic
                                  instrumentation  . . . . . . . . . . . . 190--200
               Andrew Ayers and   
           Richard Schooler and   
              Chris Metcalf and   
              Anant Agarwal and   
              Junghwan Rhee and   
                 Emmett Witchel   TraceBack: first fault diagnosis by
                                  reconstruction of distributed control
                                  flow . . . . . . . . . . . . . . . . . . 201--212
          Patrice Godefroid and   
              Nils Klarlund and   
                    Koushik Sen   DART: directed automated random testing  213--223
            Michael K. Chen and   
               Xiao Feng Li and   
                 Ruiqi Lian and   
               Jason H. Lin and   
                  Lixia Liu and   
                    Tao Liu and   
                         Roy Ju   Shangri-La: achieving high performance
                                  from compiled network applications while
                                  enabling ease of programming . . . . . . 224--236
                Jinquan Dai and   
                   Bo Huang and   
                    Long Li and   
                 Luddy Harrison   Automatically partitioning packet
                                  processing applications for pipelined
                                  architectures  . . . . . . . . . . . . . 237--248
                    Yang Ni and   
              Ulrich Kremer and   
               Adrian Stere and   
                   Liviu Iftode   Programming ad-hoc networks of mobile
                                  and resource-constrained devices . . . . 249--260
                  Hans-J. Boehm   Threads cannot be implemented as a
                                  library  . . . . . . . . . . . . . . . . 261--268
Carlos García Quiñones and   
            Carlos Madriles and   
Jesús Sánchez and   
            Pedro Marcuello and   
    Antonio González and   
                Dean M. Tullsen   Mitosis compiler: an infrastructure for
                                  speculative threading based on
                                  pre-computation slices . . . . . . . . . 269--279
       Armando Solar-Lezama and   
              Rodric Rabbah and   
     Rastislav Bodík and   
               Kemal Ebcio\uglu   Programming by sketching for
                                  bit-streaming programs . . . . . . . . . 281--294
            Kathleen Fisher and   
                  Robert Gruber   PADS: a domain-specific language for
                                  processing ad hoc data . . . . . . . . . 295--304
                 Lujo Bauer and   
                Jay Ligatti and   
                   David Walker   Composing security policies with polymer 305--314
           Franz Franchetti and   
           Yevgen Voronenko and   
            Markus Püschel   Formal loop merging for signal
                                  transforms . . . . . . . . . . . . . . . 315--326

ACM SIG{}PLAN Notices
Volume 40, Number 7, July, 2005

                  Ruibin Xu and   
                  Dakai Zhu and   
                Cosmin Rusu and   
                Rami Melhem and   
            Daniel Mossé   Energy-efficient policies for embedded
                                  clusters . . . . . . . . . . . . . . . . 1--10
                  Kun Zhang and   
                  Santosh Pande   Efficient application migration under
                                  compiler guidance  . . . . . . . . . . . 10--20
        Thomas A. Henzinger and   
        Christoph M. Kirsch and   
                 Slobodan Matic   Composable code generation for
                                  distributed giotto . . . . . . . . . . . 21--30
              Emilia Farcas and   
             Claudiu Farcas and   
              Wolfgang Pree and   
                    Josef Templ   Transparent distribution of real-time
                                  components based on logical execution
                                  time . . . . . . . . . . . . . . . . . . 31--39
                  David Gay and   
                 Phil Levis and   
                   David Culler   Software design patterns for TinyOS  . . 40--49
                John Regehr and   
                  Usit Duongsaa   Preventing interrupt overload  . . . . . 50--58
              Ben L. Titzer and   
                  Jens Palsberg   Nonintrusive precision instrumentation
                                  of microcontroller software  . . . . . . 59--68
            Keith D. Cooper and   
           Alexander Grosul and   
          Timothy J. Harvey and   
              Steven Reeves and   
         Devika Subramanian and   
              Linda Torczon and   
                  Todd Waterman   ACME: adaptive compilation made
                                  efficient  . . . . . . . . . . . . . . . 69--77
          Björn Franke and   
            Michael O'Boyle and   
               John Thomson and   
                 Grigori Fursin   Probabilistic source-level optimisation
                                  of embedded programs . . . . . . . . . . 78--86
                     Hitoshi Oi   On the design of the local variable
                                  cache in a hardware translation-based
                                  Java Virtual Machine . . . . . . . . . . 87--94
           Dominique Chanet and   
            Bjorn De Sutter and   
               Bruno De Bus and   
               Ludo Van Put and   
              Koen De Bosschere   System-wide compaction and
                                  specialization of the Linux kernel . . . 95--104
               Philip Brisk and   
              Jamie Macbeth and   
             Ani Nahapetian and   
              Majid Sarrafzadeh   A dictionary construction technique for
                                  code compression systems with echo
                                  instructions . . . . . . . . . . . . . . 105--114
            Janis Sermulins and   
              William Thies and   
              Rodric Rabbah and   
              Saman Amarasinghe   Cache aware optimization of stream
                                  programs . . . . . . . . . . . . . . . . 115--126
           Peter G. Sassone and   
             D. Scott Wills and   
                 Gabriel H. Loh   Static strands: safely collapsing
                                  dependence chains for increasing
                                  embedded power efficiency  . . . . . . . 127--136
                     Won So and   
              Alexander G. Dean   Complementing software pipelining with
                                  software thread integration  . . . . . . 137--146
         Alexei Kudriavtsev and   
                    Peter Kogge   Generation of permutations for SIMD
                                  processors . . . . . . . . . . . . . . . 147--156
             Jan Staschulat and   
                     Rolf Ernst   Scalable precision cache analysis for
                                  preemptive scheduling  . . . . . . . . . 157--165
                    Rong Xu and   
                     Zhiyuan Li   A sample-based cache mapping scheme  . . 166--174
                 Yudong Tan and   
          Vincent J. Mooney III   WCRT analysis for a uniprocessor with a
                                  unified prioritized cache  . . . . . . . 175--182
             David F. Bacon and   
                Perry Cheng and   
                David Grove and   
               Martin T. Vechev   Syncopation: generational real-time
                                  garbage collection in the metronome  . . 183--192
                Tobias Mann and   
              Morgan Deters and   
                Rob LeGrand and   
                  Ron K. Cytron   Static determination of allocation rates
                                  to support real-time garbage collection  193--202
                  Yifan Zhu and   
                  Frank Mueller   Feedback EDF scheduling exploiting
                                  hardware-assisted asynchronous dynamic
                                  voltage scaling  . . . . . . . . . . . . 203--212
            Mahmut Kandemir and   
               Guangyu Chen and   
                 Ismail Kadayif   Compiling for memory emergency . . . . . 213--221
            Delvin C. Defoe and   
        Sharath R. Cholleti and   
                  Ron K. Cytron   Upper bound for defragmenting buddy
                                  heaps  . . . . . . . . . . . . . . . . . 222--229
               Paul Griffin and   
           Witawas Srisa-an and   
                J. Morris Chang   An energy efficient garbage collector
                                  for Java embedded devices  . . . . . . . 230--238

ACM SIG{}PLAN Notices
Volume 40, Number 8, August, 2005

                   Paul Frenger   Forth sorts fruit down under . . . . . . 7--10
               Jeff Furlong and   
                Atanas Radenski   Handling the subclassing anomaly with
                                  Object Teams . . . . . . . . . . . . . . 12--18
               Saso Greiner and   
           Damijan Rebernak and   
                Janez Brest and   
                   Viljem Zumer   Z0 --- a tiny experimental language  . . 19--28
               Dirk Draheim and   
         Christof Lutteroth and   
                   Gerald Weber   Generative programming for C#  . . . . . 29--33
              Shujuan Jiang and   
             Yongping Zhang and   
                 Dashun Yan and   
                 Yuanpeng Jiang   An approach to automatic testing
                                  exception handling . . . . . . . . . . . 34--39

ACM SIG{}PLAN Notices
Volume 40, Number 9, September, 2005

        François Pottier   From ML type inference to stratified
                                  type inference . . . . . . . . . . . . . 1--1
                   Olin Shivers   The anatomy of a loop: a story of scope
                                  and control  . . . . . . . . . . . . . . 2--14
               Peter Sewell and   
            James J. Leifer and   
           Keith Wansbrough and   
   Francesco Zappa Nardelli and   
        Mair Allen-Williams and   
            Pierre Habouzit and   
               Viktor Vafeiadis   Acute: high-level programming language
                                  design for distributed computation . . . 15--26
              Norman Ramsey and   
            Kathleen Fisher and   
                  Paul Govereau   An expressive language of signatures . . 27--40
                   Derek Dreyer   Recursive type generativity  . . . . . . 41--53
                 Henrik Nilsson   Dynamic optimization for functional
                                  reactive programming using generalized
                                  algebraic data types . . . . . . . . . . 54--65
                Chiyan Chen and   
                     Hongwei Xi   Combining programming with theorem
                                  proving  . . . . . . . . . . . . . . . . 66--77
                 Amal Ahmed and   
              Matthew Fluet and   
                 Greg Morrisett   A step-indexed model of substructural
                                  state  . . . . . . . . . . . . . . . . . 78--91
      Michael F. Ringenburg and   
                   Dan Grossman   AtomCaml: first-class atomicity via
                                  rollback . . . . . . . . . . . . . . . . 92--104
            Tachio Terauchi and   
                     Alex Aiken   Witnessing side-effects  . . . . . . . . 105--115
            Thomas Hallgren and   
              Mark P. Jones and   
             Rebekah Leslie and   
                 Andrew Tolmach   A principled approach to operating
                                  system construction in Haskell . . . . . 116--128
                   Brendan Eich   JavaScript at ten years  . . . . . . . . 129--129
             Didier Rémy   Simple, partial type-inference for
                                  System F based on type-containment . . . 130--143
                Daan Leijen and   
                Andres Löh   Qualified types for MLF  . . . . . . . . 144--155
            Henning Makholm and   
                    J. B. Wells   Type inference, principal typings, and
                                  let-polymorphism for first-class mixin
                                  modules  . . . . . . . . . . . . . . . . 156--167
          Iavor S. Diatchki and   
              Mark P. Jones and   
                 Rebekah Leslie   High-level views on low-level
                                  representations  . . . . . . . . . . . . 168--179
                   James Cheney   Scrap your nameplate: (functional pearl) 180--191
              Oleg Kiselyov and   
           Chung-chieh Shan and   
         Daniel P. Friedman and   
                      Amr Sabry   Backtracking, interleaving, and
                                  terminating monad transformers:
                                  (functional pearl) . . . . . . . . . . . 192--203
           Ralf Lämmel and   
             Simon Peyton Jones   Scrap your boilerplate with class:
                                  extensible generic functions . . . . . . 204--215
             Greg Pettyjohn and   
              John Clements and   
               Joe Marshall and   
      Shriram Krishnamurthi and   
             Matthias Felleisen   Continuations from generalized stack
                                  inspection . . . . . . . . . . . . . . . 216--227
         J. Guadalupe Ramos and   
                Josep Silva and   
            Germán Vidal   Fast narrowing-driven partial evaluation
                                  for inductively sequential programs  . . 228--239
                  Robert Harper   Mechanizing the meta-theory of
                                  programming languages  . . . . . . . . . 240--240
   Manuel M. T. Chakravarty and   
            Gabriele Keller and   
             Simon Peyton Jones   Associated type synonyms . . . . . . . . 241--253
                 Xinyu Feng and   
                     Zhong Shao   Modular verification of concurrent
                                  assembly code with dynamic thread
                                  creation and termination . . . . . . . . 254--267
            Edwin Westbrook and   
                Aaron Stump and   
                    Ian Wehrman   A language-based approach to
                                  functionally correct imperative
                                  programming  . . . . . . . . . . . . . . 268--279
              Martin Berger and   
                Kohei Honda and   
                 Nobuko Yoshida   A logical analysis of aliasing in
                                  imperative higher-order functions  . . . 280--293
                 Neil Ghani and   
            Patricia Johann and   
              Tarmo Uustalu and   
                     Varmo Vene   Monadic augment and generalised short
                                  cut fusion . . . . . . . . . . . . . . . 294--305
           Daniel S. Dantas and   
               David Walker and   
          Geoffrey Washburn and   
              Stephanie Weirich   PolyAML: a polymorphic aspect-oriented
                                  functional programming language  . . . . 306--319
          Hidehiko Masuhara and   
          Hideaki Tatsuzawa and   
               Akinori Yonezawa   Aspectual Caml: an aspect-oriented
                                  functional language  . . . . . . . . . . 320--330

ACM SIG{}PLAN Notices
Volume 40, Number 10, October, 2005

          Jaakko Järvi and   
          Jeremiah Willcock and   
               Andrew Lumsdaine   Associated types and constraint
                                  propagation for mainstream
                                  object-oriented generics . . . . . . . . 1--19
             Andrew Kennedy and   
               Claudio V. Russo   Generalized algebraic data types and
                                  object-oriented programming  . . . . . . 21--40
             Martin Odersky and   
                Matthias Zenger   Scalable component abstractions  . . . . 41--57
             Manu Sridharan and   
                Denis Gopan and   
                 Lexin Shan and   
         Rastislav Bodík   Demand-driven points-to analysis for
                                  Java . . . . . . . . . . . . . . . . . . 59--76
        Mangala Gowri Nanda and   
         Christian Grothoff and   
                 Satish Chandra   Deriving object typestates in the
                                  presence of inter-object references  . . 77--96
         Joseph (Yossi) Gil and   
                     Itay Maman   Micro patterns in Java code  . . . . . . 97--116
J. Andrés Díaz-Pace and   
               Marcelo R. Campo   ArchMatE: from architectural styles to
                                  object-oriented models through
                                  exploratory tool support . . . . . . . . 117--132
                   Uwe Zdun and   
                 Paris Avgeriou   Modeling architectural patterns using
                                  architectural primitives . . . . . . . . 133--146
           Cosmin E. Oancea and   
                Stephen M. Watt   Parametric polymorphism for software
                                  component architectures  . . . . . . . . 147--166
              Neeraj Sangal and   
                  Ev Jordan and   
               Vineet Sinha and   
                 Daniel Jackson   Using dependency models to manage
                                  complex software architecture  . . . . . 167--176
           Alexandre Bergel and   
    Stéphane Ducasse and   
               Oscar Nierstrasz   Classbox/J: controlling the scope of
                                  change in Java . . . . . . . . . . . . . 177--189
               Yu David Liu and   
                 Scott F. Smith   Interaction-based programming with
                                  classages  . . . . . . . . . . . . . . . 191--209
        Matthew S. Tschantz and   
               Michael D. Ernst   Javari: adding reference immutability to
                                  Java . . . . . . . . . . . . . . . . . . 211--230
            Kathryn E. Gray and   
       Robert Bruce Findler and   
                  Matthew Flatt   Fine-grained interoperability through
                                  mirrors and contracts  . . . . . . . . . 231--245
            Sergei Kojarski and   
                David H. Lorenz   Pluggable AOP: designing aspect
                                  mechanisms for third-party composition   247--263
              Ittai Balaban and   
                  Frank Tip and   
                  Robert Fuhrer   Refactoring support for class library
                                  migration  . . . . . . . . . . . . . . . 265--279
         Matthias Hauswirth and   
                 Amer Diwan and   
           Peter F. Sweeney and   
               Michael C. Mozer   Automating vertical profiling  . . . . . 281--296
             Matthew Arnold and   
                  Adam Welc and   
                    V. T. Rajan   Improving virtual machine performance
                                  using a cross-run profile repository . . 297--311
              Matthew Hertz and   
                Emery D. Berger   Quantifying the performance of garbage
                                  collection vs. explicit memory
                                  management . . . . . . . . . . . . . . . 313--326
              Ajeet Shankar and   
       S. Subramanya Sastry and   
     Rastislav Bodík and   
                 James E. Smith   Runtime specialization with optimistic
                                  heap analysis  . . . . . . . . . . . . . 327--343
                Chris Allan and   
           Pavel Avgustinov and   
     Aske Simon Christensen and   
             Laurie Hendren and   
              Sascha Kuzins and   
     Ond\vrej Lhoták and   
               Oege de Moor and   
              Damien Sereni and   
         Ganesh Sittampalam and   
                  Julian Tibble   Adding trace matching with free
                                  variables to AspectJ . . . . . . . . . . 345--364
             Michael Martin and   
          Benjamin Livshits and   
                  Monica S. Lam   Finding application errors and security
                                  flaws using PQL: a program query
                                  language . . . . . . . . . . . . . . . . 365--383
            Simon Goldsmith and   
          Robert O'Callahan and   
                     Alex Aiken   Relational queries over program traces   385--402
            Alexander Ahern and   
                 Nobuko Yoshida   Formalising Java RMI with explicit code
                                  mobility . . . . . . . . . . . . . . . . 403--422
             Douglas Gregor and   
               Andrew Lumsdaine   Lifting sequential graph algorithms for
                                  distributed-memory parallel computation  423--437
                  Adam Welc and   
         Suresh Jagannathan and   
                 Antony Hosking   Safe futures for Java  . . . . . . . . . 439--453
           Marko van Dooren and   
                 Eric Steegmans   Combining the robustness of checked
                                  exceptions with the flexibility of
                                  unchecked exceptions using anchored
                                  exception declarations . . . . . . . . . 455--471
             Yanhong A. Liu and   
           Scott D. Stoller and   
        Michael Gorbovitski and   
               Tom Rothamel and   
                Yanni Ellen Liu   Incrementalization across object
                                  abstraction  . . . . . . . . . . . . . . 473--486
              Antonio Cunei and   
                      Jan Vitek   PolyD: a flexible dispatching framework  487--503
               Jonathan Edwards   Subtext: uncovering the simplicity of
                                  programming  . . . . . . . . . . . . . . 505--518
           Philippe Charles and   
         Christian Grothoff and   
             Vijay Saraswat and   
         Christopher Donawa and   
             Allan Kielstra and   
             Kemal Ebcioglu and   
        Christoph von Praun and   
                   Vivek Sarkar   X10: an object-oriented approach to
                                  non-uniform cluster computing  . . . . . 519--538
               Glenn Vanderburg   A simple model of agile software
                                  processes --- or --- extreme programming
                                  annealed . . . . . . . . . . . . . . . . 539--545

ACM SIG{}PLAN Notices
Volume 40, Number 11, November, 2005

                   Paul Frenger   Forth report: Ten years of Forth in ACM
                                  Sigplan Notices: part 1  . . . . . . . . 4--16
       Chandan Kumar Behera and   
                    Pawan Kumar   An improved algorithm for loop dead
                                  optimization . . . . . . . . . . . . . . 18--28
                   Bixin Li and   
                  Ying Zhou and   
              Yancheng Wang and   
                      Junhui Mo   Matrix-based component dependence
                                  representation and its applications in
                                  software quality assurance . . . . . . . 29--36
        Robert M. Siegfried and   
        Denis Diakoniarakis and   
      Kenneth G. Franqueiro and   
                      Amol Jain   Extending a scripting language for
                                  Visual Basic forms . . . . . . . . . . . 37--40

ACM SIG{}PLAN Notices
Volume 40, Number 12, December, 2005

                     A. Savidis   More dynamic imperative languages  . . . 6--13
               Rajeev Kumar and   
                 Amit Gupta and   
               B. S. Pankaj and   
              Mrinmoy Ghosh and   
              P. P. Chakrabarti   Post-compilation optimization for
                                  multiple gains with pattern matching . . 14--23
           Raghavendra Rao Loka   Hybrid compilation: a case study . . . . 24--27
      José L. Sierra and   
            Antonio Navarro and   
Baltasar Fernández-Manjón and   
Alfredo Fernández-Valmayor   Incremental definition and
                                  operationalization of domain-specific
                                  markup languages in ADDS . . . . . . . . 28--37


ACM SIG{}PLAN Notices
Volume 41, Number 1, January, 2006

                  James McKinna   Why dependent types matter . . . . . . . 1--1
            Kathleen Fisher and   
         Yitzhak Mandelbaum and   
                   David Walker   The next 700 data description languages  2--15
           Chengliang Zhang and   
                  Chen Ding and   
          Mitsunori Ogihara and   
                Yutao Zhong and   
                     Youfeng Wu   A hierarchical model of data locality    16--29
                     Gautam and   
                  S. Rajopadhye   Simplifying reductions . . . . . . . . . 30--41
                   Xavier Leroy   Formal certification of a compiler
                                  back-end or: programming a compiler with
                                  a proof assistant  . . . . . . . . . . . 42--54
               Steve Bishop and   
          Matthew Fairbairn and   
            Michael Norrish and   
               Peter Sewell and   
              Michael Smith and   
               Keith Wansbrough   Engineering with logic: HOL
                                  specification and symbolic-evaluation
                                  testing for TCP implementations  . . . . 55--66
                       Mads Dam   Decidability and proof systems for
                                  language-based noninterference relations 67--78
             Sebastian Hunt and   
                    David Sands   On flow-sensitive security types . . . . 79--90
              Torben Amtoft and   
          Sruthi Bandhakavi and   
               Anindya Banerjee   A logic for information flow in
                                  object-oriented programs . . . . . . . . 91--102
   Jérôme Vouillon   Polymorphic regular tree types and
                                  patterns . . . . . . . . . . . . . . . . 103--114
         Shuvendu K. Lahiri and   
                    Shaz Qadeer   Verifying properties of well-founded
                                  linked lists . . . . . . . . . . . . . . 115--126
              Matthew Might and   
                   Olin Shivers   Environment analysis via $\Delta$CFA . . 127--140
         Vasileios Koutavas and   
                  Mitchell Wand   Small bisimulations for reasoning about
                                  higher-order imperative programs . . . . 141--152
                Rajeev Alur and   
           Swarat Chaudhuri and   
                  P. Madhusudan   A fixpoint calculus for local and global
                                  program flows  . . . . . . . . . . . . . 153--165
                 Martin Odersky   The Scala experiment: can we provide
                                  better language support for component
                                  systems? . . . . . . . . . . . . . . . . 166--167
              Norman Danner and   
                 James S. Royer   Adventures in time and space . . . . . . 168--179
               Albert Cohen and   
              Marc Duranton and   
        Christine Eisenbeis and   
             Claire Pagetti and   
           Florence Plateau and   
                    Marc Pouzet   $N$-synchronous Kahn networks: a relaxed
                                  model of synchrony for real-time systems 180--193
               Guangyu Chen and   
                  Feihui Li and   
                Mahmut Kandemir   Compiler-directed channel allocation for
                                  saving power in on-chip networks . . . . 194--205
     Nils Anders Danielsson and   
                John Hughes and   
             Patrik Jansson and   
                 Jeremy Gibbons   Fast and loose reasoning is morally  . . 206--217
           Philippe Meunier and   
       Robert Bruce Findler and   
             Matthias Felleisen   Modular set-based analysis from
                                  contracts  . . . . . . . . . . . . . . . 218--231
    François Pottier and   
       Yann Régis-Gianas   Stratified type inference for
                                  generalized algebraic data types . . . . 232--244
                Cormac Flanagan   Hybrid type checking . . . . . . . . . . 245--256
                Ik-Soon Kim and   
               Kwangkeun Yi and   
             Cristiano Calcagno   A polymorphic modal type system for
                                  Lisp-like multi-staged languages . . . . 257--268
                    Tim Sweeney   The next mainstream programming
                                  language: a game developer's perspective 269--269
                 Erik Ernst and   
            Klaus Ostermann and   
                William R. Cook   A virtual class calculus . . . . . . . . 270--282
                    Jed Liu and   
              Aaron Kimball and   
                Andrew C. Myers   Interruptible iterators  . . . . . . . . 283--294
           Gabriel Dos Reis and   
              Bjarne Stroustrup   Specifying C++ concepts  . . . . . . . . 295--308
                 Hayo Thielecke   Frame rules from answer types for code
                                  pointers . . . . . . . . . . . . . . . . 309--319
               Zhaozhong Ni and   
                     Zhong Shao   Certified assembly programming with
                                  embedded code pointers . . . . . . . . . 320--333
             Mandana Vaziri and   
                  Frank Tip and   
                   Julian Dolby   Associating synchronization constraints
                                  with data in an object-oriented language 334--345
             Bill McCloskey and   
                  Feng Zhou and   
                  David Gay and   
                    Eric Brewer   Autolocker: synchronization inference
                                  for atomic sections  . . . . . . . . . . 346--358
                      Yi Lu and   
                    John Potter   Protecting representation with effect
                                  encapsulation  . . . . . . . . . . . . . 359--371
                Zhendong Su and   
                Gary Wassermann   The essence of command injection attacks
                                  in Web applications  . . . . . . . . . . 372--382
               Daniel S. Dantas   Harmless advice  . . . . . . . . . . . . 383--396
             Vijay S. Menon and   
                  Neal Glew and   
            Brian R. Murphy and   
           Andrew McCreight and   
          Tatiana Shpeisman and   
     Ali-Reza Adl-Tabatabai and   
                  Leaf Petersen   A verifiable SSA program representation
                                  for aggressive compiler optimization . . 397--408
             Reuben Olinsky and   
           Christian Lindig and   
                  Norman Ramsey   Staged allocation: a compositional
                                  technique for specifying and
                                  implementing procedure calling
                                  conventions  . . . . . . . . . . . . . . 409--421

ACM SIG{}PLAN Notices
Volume 41, Number 2, February, 2006

                       Deyi Xue   Developing a superset language of
                                  Smalltalk for modeling distributed
                                  mechanical design systems  . . . . . . . 8--17
                   Kallol Borah   Indus: an object oriented language for
                                  Ubiquitous computing . . . . . . . . . . 18--24
                      Anonymous   MxYacc: parser generator for mixed
                                  languages  . . . . . . . . . . . . . . . 25--28
                    Mike Murphy   Some suggestions for the use of tables
                                  in compilers . . . . . . . . . . . . . . 29--33

ACM SIG{}PLAN Notices
Volume 41, Number 3, March, 2006

             Mark W. Bailey and   
              John Hatcliff and   
                      Frank Tip   PEPM 2006 paper abstracts  . . . . . . . 4--8
               D. Janakiram and   
           R. Venkateswarlu and   
          A. Vijay Srinivas and   
                  A. Uday Kumar   Soma: a compositional language for
                                  distributed systems  . . . . . . . . . . 10--19
                 Zhang Ning and   
                  Guangze Xiong   Minimizing GC work by analysis of live
                                  objects  . . . . . . . . . . . . . . . . 20--29
              Anthony H. Dekker   Lazy functional programming in Java  . . 30--39
                Byeong-Mo Chang   Static check analysis for Java stack
                                  inspection . . . . . . . . . . . . . . . 40--48

ACM SIG{}PLAN Notices
Volume 41, Number 4, April, 2006

                   Paul Frenger   Ten years of Forth in ACM Sigplan
                                  Notices: part 2  . . . . . . . . . . . . 3--14
                   Paul B. Mann   A translational BNF grammar notation
                                  (TBNF) . . . . . . . . . . . . . . . . . 16--23
         Dillip Kumar Lenka and   
                    Pawan Kumar   States merging in LR parser  . . . . . . 24--29
              Shujuan Jiang and   
                  Baowen Xu and   
                      Liang Shi   An approach to analyzing recursive
                                  programs with exception handling
                                  constructs . . . . . . . . . . . . . . . 30--35
                Javier Tuya and   
M. José Suárez-Cabal and   
             Claudio de la Riva   A practical guide to SQL white-box
                                  testing  . . . . . . . . . . . . . . . . 36--41
           Raghavendra Rao Loka   Compilation reuse and hybrid
                                  compilation: an experiment . . . . . . . 42--49

ACM SIG{}PLAN Notices
Volume 41, Number 5, May, 2006

       Chandan Kumar Behera and   
                    Pawan Kumar   An improved algorithm for loop dead
                                  optimization . . . . . . . . . . . . . . 11--20
                 Sewon Moon and   
                Byeong-Mo Chang   A thread monitoring system for
                                  multithreaded Java programs  . . . . . . 21--29
             Yingzhou Zhang and   
     Jose Emilio Labra Gayo and   
Agustín Cernuda del Río   A monadic program slicer . . . . . . . . 30--38
           Michael D. Adams and   
                  David S. Wise   Fast additions on masked integers  . . . 39--45
           Richard A. Frost and   
              Rahmatullah Hafiz   A new top-down parsing algorithm to
                                  accommodate ambiguity and left recursion
                                  in polynomial time . . . . . . . . . . . 46--54

ACM SIG{}PLAN Notices
Volume 41, Number 6, June, 2006

         Brian D. Carlstrom and   
            Austen McDonald and   
               Hassan Chafi and   
             JaeWoong Chung and   
               Chi Cao Minh and   
         Christos Kozyrakis and   
                 Kunle Olukotun   The ATOMOS transactional programming
                                  language . . . . . . . . . . . . . . . . 1--13
                 Tim Harris and   
                Mark Plesko and   
            Avraham Shinnar and   
                  David Tarditi   Optimizing memory transactions . . . . . 14--25
     Ali-Reza Adl-Tabatabai and   
             Brian T. Lewis and   
                Vijay Menon and   
            Brian R. Murphy and   
                Bratin Saha and   
              Tatiana Shpeisman   Compiler and runtime support for
                                  efficient software transactional memory  26--37
                   Robert Grimm   Better extensibility through modular
                                  syntax . . . . . . . . . . . . . . . . . 38--51
              M. Anton Ertl and   
                Kevin Casey and   
                    David Gregg   Fast and flexible instruction selection
                                  with on-demand tree-parsing automata . . 52--60
     Spyridon Triantafyllis and   
         Matthew J. Bridges and   
             Easwaran Raman and   
           Guilherme Ottoni and   
                David I. August   A framework for unrestricted
                                  whole-program optimization . . . . . . . 61--71
             Iulian Neamtiu and   
              Michael Hicks and   
              Gareth Stoyle and   
                   Manuel Oriol   Practical dynamic software updating for
                                  C  . . . . . . . . . . . . . . . . . . . 72--83
                   Long Fei and   
              Samuel P. Midkiff   Artemis: practical runtime monitoring of
                                  applications for execution anomalies . . 84--95
               Umut A. Acar and   
            Guy E. Blelloch and   
             Matthias Blume and   
              Kanat Tangwongsan   An experimental analysis of
                                  self-adjusting computation . . . . . . . 96--107
         Christopher Barton and   
    C\ualin Casçaval and   
       George Almási and   
                 Yili Zheng and   
            Montse Farreras and   
       Siddhartha Chatterje and   
      José Nelson Amaral   Shared memory programming for large
                                  scale machines . . . . . . . . . . . . . 108--117
                   Gang Ren and   
                    Peng Wu and   
                    David Padua   Optimizing data permutations for SIMD
                                  devices  . . . . . . . . . . . . . . . . 118--131
               Dorit Nuzman and   
                  Ira Rosen and   
                      Ayal Zaks   Auto-vectorization of interleaved data
                                  for SIMD . . . . . . . . . . . . . . . . 132--143
           Dinakar Dhurjati and   
             Sumant Kowshik and   
                    Vikram Adve   SAFECode: enforcing alias analysis for
                                  weakly typed languages . . . . . . . . . 144--157
            Emery D. Berger and   
               Benjamin G. Zorn   DieHard: probabilistic memory safety for
                                  unsafe languages . . . . . . . . . . . . 158--168
              Xiangyu Zhang and   
               Neelam Gupta and   
                    Rajiv Gupta   Pruning dynamic slices with confidence   169--180
            Troy A. Johnson and   
               Rudolf Eigenmann   Context-sensitive domain-independent
                                  algorithm composition and selection  . . 181--192
               Guangyu Chen and   
                  Feihui Li and   
            Mahmut Kandemir and   
                Mary Jane Irwin   Reducing NoC energy consumption through
                                  compiler-directed channel voltage
                                  scaling  . . . . . . . . . . . . . . . . 193--203
            David Ryan Koes and   
           Seth Copen Goldstein   A global progressive register allocator  204--215
             Takuya Nakaike and   
           Tatsushi Inagaki and   
            Hideaki Komatsu and   
                Toshio Nakatani   Profile-based global live-range
                                  splitting  . . . . . . . . . . . . . . . 216--227
         Matthew J. Bridges and   
          Neil Vachharajani and   
           Guilherme Ottoni and   
                David I. August   Automatic instruction scheduler
                                  retargeting by reverse-engineering . . . 228--238
                 Jeremy Lau and   
             Matthew Arnold and   
               Michael Hind and   
                    Brad Calder   Online performance auditing: using hot
                                  optimizations without getting burned . . 239--251
        Trishul M. Chilimbi and   
                     Ran Shaham   Cache-conscious coallocation of hot data
                                  streams  . . . . . . . . . . . . . . . . 252--262
            Xiaotong Zhuang and   
        Mauricio J. Serrano and   
             Harold W. Cain and   
                 Jong-Deok Choi   Accurate, efficient, and adaptive
                                  calling context profiling  . . . . . . . 263--271
          Jaakko Järvi and   
             Douglas Gregor and   
          Jeremiah Willcock and   
           Andrew Lumsdaine and   
                    Jeremy Siek   Algorithm specialization in generic
                                  programming: challenges of constrained
                                  generics in C++  . . . . . . . . . . . . 272--282
          Daniel Spoonhower and   
            Joshua Auerbach and   
             David F. Bacon and   
                Perry Cheng and   
                    David Grove   Eventrons: a safe programming construct
                                  for high-frequency hard real-time
                                  applications . . . . . . . . . . . . . . 283--294
               Olin Shivers and   
                  Matthew Might   Continuations and transducer composition 295--307
                 Mayur Naik and   
                 Alex Aiken and   
                    John Whaley   Effective static race detection for Java 308--319
        Polyvios Pratikakis and   
          Jeffrey S. Foster and   
                  Michael Hicks   LOCKSMITH: context-sensitive correlation
                                  analysis for race detection  . . . . . . 320--331
                Wen-ke Chen and   
            Sanjay Bhansali and   
           Trishul Chilimbi and   
               Xiaofeng Gao and   
                  Weihaw Chuang   Profile-guided proactive garbage
                                  collection for locality optimization . . 332--340
           Martin T. Vechev and   
                 Eran Yahav and   
                 David F. Bacon   Correctness-preserving derivation of
                                  concurrent garbage collection algorithms 341--353
               Haim Kermany and   
                   Erez Petrank   The Compressor: concurrent, incremental,
                                  and parallel compaction  . . . . . . . . 354--363
            Samuel Z. Guyer and   
        Kathryn S. McKinley and   
                Daniel Frampton   Free-Me: a static analysis for automatic
                                  individual object reclamation  . . . . . 364--375
              Sumit Gulwani and   
                  Ashish Tiwari   Combining abstract interpreters  . . . . 376--386
             Manu Sridharan and   
         Rastislav Bodík   Refinement-based context-sensitive
                                  points-to analysis for Java  . . . . . . 387--400
                 Xinyu Feng and   
                 Zhong Shao and   
         Alexander Vaynberg and   
                  Sen Xiang and   
                   Zhaozhong Ni   Modular verification of assembly code
                                  with stack-based control abstractions    401--414
                 Byron Cook and   
           Andreas Podelski and   
             Andrey Rybalchenko   Termination proofs for systems code  . . 415--426

ACM SIG{}PLAN Notices
Volume 41, Number 7, July, 2006

             Margaret Martonosi   Embedded systems in the wild: ZebraNet
                                  software, hardware, and deployment
                                  experiences  . . . . . . . . . . . . . . 1--1
            Carl von Platen and   
                     Johan Eker   Feedback linking: optimizing object code
                                  layout for updates . . . . . . . . . . . 2--11
                  Kun Zhang and   
                  Santosh Pande   Minimizing downtime in seamless
                                  migrations of mobile applications  . . . 12--21
              Michal Spivak and   
                   Sivan Toledo   Storing a persistent transactional
                                  object heap on flash memory  . . . . . . 22--33
                John Regehr and   
                  Usit Duongsaa   Deriving abstract transfer functions for
                                  analyzing embedded software  . . . . . . 34--43
           Nathan Cooprider and   
                    John Regehr   Pluggable abstract domains for analyzing
                                  embedded software  . . . . . . . . . . . 44--53
            Antoine Miné   Field-sensitive value analysis of
                                  embedded C programs with union types and
                                  pointer arithmetics  . . . . . . . . . . 54--63
          William Kreahling and   
              Stephen Hines and   
              David Whalley and   
                     Gary Tyson   Reducing the cost of conditional
                                  transfers of control by using comparison
                                  specifications . . . . . . . . . . . . . 64--71
            Xiaotong Zhuang and   
                  Santosh Pande   Effective thread management on network
                                  processors with compiler analysis  . . . 72--82
         Prasad A. Kulkarni and   
           David B. Whalley and   
              Gary S. Tyson and   
               Jack W. Davidson   In search of near-optimal optimization
                                  phase orderings  . . . . . . . . . . . . 83--92
                Klaus Danne and   
                 Marco Platzner   An EDF schedulability test for periodic
                                  tasks on reconfigurable hardware devices 93--102
          Christer Sandberg and   
           Andreas Ermedahl and   
             Jan Gustafsson and   
              Björn Lisper   Faster WCET flow analysis by program
                                  slicing  . . . . . . . . . . . . . . . . 103--112
           Steffen Prochnow and   
             Claus Traulsen and   
         Reinhard von Hanxleden   Synthesizing safe state machines from
                                  Esterel  . . . . . . . . . . . . . . . . 113--124
         Stephen A. Edwards and   
                Olivier Tardieu   Efficient code generation from SHIM
                                  models . . . . . . . . . . . . . . . . . 125--134
               Tom Rothamel and   
             Yanhong A. Liu and   
     Constance L. Heitmeyer and   
           Elizabeth I. Leonard   Generating optimized code from SCR
                                  specifications . . . . . . . . . . . . . 135--144
          Stefan Farfeleder and   
              Andreas Krall and   
              Edwin Steiner and   
               Florian Brandner   Effective compiler generation by
                                  architecture description . . . . . . . . 145--152
              Jian-Jia Chen and   
                    Tei-Wei Kuo   Procrastination for leakage-aware
                                  rate-monotonic scheduling on a dynamic
                                  voltage scaling processor  . . . . . . . 153--162
               Madhu Mutyam and   
                  Feihui Li and   
    Vijaykrishnan Narayanan and   
            Mahmut Kandemir and   
                Mary Jane Irwin   Compiler-directed thermal management for
                                  VLIW functional units  . . . . . . . . . 163--172
              Sanghyun Park and   
         Aviral Shrivastava and   
                 Nikil Dutt and   
               Alex Nicolau and   
              Yunheung Paek and   
                  Eugene Earlie   Bypass aware instruction scheduling for
                                  register file power reduction  . . . . . 173--181
                  Leipo Yan and   
    Thambipillai Srikanthan and   
                       Niu Gang   Area and delay estimation for FPGA
                                  implementation of coarse-grained
                                  reconfigurable architectures . . . . . . 182--188
                Raju Pandey and   
                     Jeffrey Wu   BOTS: a constraint-based component
                                  system for synthesizing scalable
                                  software systems . . . . . . . . . . . . 189--198
               Weihua Zhang and   
              Xinglong Qian and   
                    Ye Wang and   
                 Binyu Zang and   
                    Chuanqi Zhu   Optimizing compiler for shared-memory
                                  multiple SIMD architecture . . . . . . . 199--208

ACM SIG{}PLAN Notices
Volume 41, Number 8, August, 2006

           Robert Bruce Findler   Scheme and Functional Programming 2006:
                                  paper abstracts  . . . . . . . . . . . . 6--9
                   Paul Frenger   Book review: Designing Embedded Hardware 10--14
                    Ben Denckla   Many cyclic block diagrams do not need
                                  parallel semantics . . . . . . . . . . . 16--20
                   Dibyendu Das   Optimizing subroutines with optional
                                  parameters in F90 via function cloning   21--28
               Fuh-Gwo Chen and   
                   Ting-Wei Hou   Instruction-coated translation: an
                                  approach to restructure directly
                                  threaded interpreters with low cohesion  29--33
J. Ángel Velázquez-Iturbide   Principled design of logical fisheye
                                  views of functional expressions  . . . . 34--43

ACM SIG{}PLAN Notices
Volume 41, Number 9, September, 2006

                 R. Kent Dybvig   The development of Chez Scheme . . . . . 1--12
              Matthew Might and   
                   Olin Shivers   Improving flow analyses via $\Gamma$CFA:
                                  abstract garbage collection and counting 13--25
              Oleg Kiselyov and   
           Chung-chieh Shan and   
                      Amr Sabry   Delimited dynamic binding  . . . . . . . 26--37
               David Walker and   
              Lester Mackey and   
                Jay Ligatti and   
             George A. Reis and   
                David I. August   Static typing for a faulty lambda
                                  calculus . . . . . . . . . . . . . . . . 38--49
         Simon Peyton Jones and   
       Dimitrios Vytiniotis and   
          Stephanie Weirich and   
              Geoffrey Washburn   Simple unification-based type inference
                                  for GADTs  . . . . . . . . . . . . . . . 50--61
        Aleksandar Nanevski and   
             Greg Morrisett and   
                  Lars Birkedal   Polymorphism and separation in Hoare
                                  type theory  . . . . . . . . . . . . . . 62--73
               Keiko Nakata and   
               Jacques Garrigue   Recursive modules for programming  . . . 74--86
                Scott Owens and   
                  Matthew Flatt   From structures and functors to modules
                                  and units  . . . . . . . . . . . . . . . 87--98
               Andreas Rossberg   The missing link: dynamic components for
                                  ML . . . . . . . . . . . . . . . . . . . 99--110
               David Fisher and   
                   Olin Shivers   Static analysis for syntax objects . . . 111--121
                   Marc Shapiro   Practical proofs of concurrent programs  123--123
             Kevin Donnelly and   
                  Matthew Fluet   Transactional events . . . . . . . . . . 124--135
              Lukasz Ziarek and   
              Philip Schatz and   
             Suresh Jagannathan   Stabilizers: a modular checkpointing
                                  abstraction for concurrent functional
                                  programs . . . . . . . . . . . . . . . . 136--147
              Malcolm Dowse and   
             Andrew Butterfield   Modelling deterministic concurrent I/O   148--159
                  Adam Chlipala   Modular development of certified program
                                  verifiers with a proof assistant . . . . 160--171
               Jason Hickey and   
              Aleksey Nogin and   
                     Xin Yu and   
                 Alexei Kopylov   Mechanized meta-reasoning using a hybrid
                                  HOAS/de Bruijn representation and
                                  reflection . . . . . . . . . . . . . . . 172--183
                 Grigore Ro\csu   Equality of streams is a $\Pi 0$ over
                                  $2$-complete problem . . . . . . . . . . 184--191
                   Alain Frisch   OCaml + XDuce  . . . . . . . . . . . . . 192--200
            Shinya Kawanaka and   
                   Haruo Hosoya   biXid: a bidirectional transformation
                                  language for XML . . . . . . . . . . . . 201--214
                Richard S. Bird   Fifteen years of functional pearls . . . 215--215
        Björn Bringert and   
                    Aarne Ranta   A pattern for almost compositional
                                  functions  . . . . . . . . . . . . . . . 216--226
          Shin-ya Katsumata and   
               Susumu Nishimura   Algebraic fusion of functions with an
                                  accumulating parameter and its
                                  improvement  . . . . . . . . . . . . . . 227--238
             Matthias Blume and   
               Umut A. Acar and   
                   Wonseok Chae   Extensible programming with first-class
                                  cases  . . . . . . . . . . . . . . . . . 239--250
       Dimitrios Vytiniotis and   
          Stephanie Weirich and   
             Simon Peyton Jones   Boxy types: inference for higher-rank
                                  types and impredicativity  . . . . . . . 251--262
            Martín Abadi   Access control in a core calculus of
                                  dependency . . . . . . . . . . . . . . . 263--273
                  Chuan-kai Lin   Programming monads operationally with
                                  Unimo  . . . . . . . . . . . . . . . . . 274--285
Pierre-Malo Deniélou and   
                James J. Leifer   Abstraction preservation and subtyping
                                  in distributed languages . . . . . . . . 286--297

ACM SIG{}PLAN Notices
Volume 41, Number 10, October, 2006

              DeLesley Hutchins   Eliminating distinctions of class: using
                                  prototypes to model virtual classes  . . 1--20
          Nathaniel Nystrom and   
                     Xin Qi and   
                Andrew C. Myers   J&: nested intersection for scalable
                                  software composition . . . . . . . . . . 21--36
           Alessandro Warth and   
         Milan Stanojevi\'c and   
                 Todd Millstein   Statically scoped object adaptation with
                                  expanders  . . . . . . . . . . . . . . . 37--56
              Chris Andreae and   
                James Noble and   
            Shane Markstrum and   
                 Todd Millstein   A framework for implementing pluggable
                                  type systems . . . . . . . . . . . . . . 57--74
           George Fairbanks and   
               David Garlan and   
               William Scherlis   Design fragments make using frameworks
                                  easier . . . . . . . . . . . . . . . . . 75--88
                  Tal Cohen and   
         Joseph (Yossi) Gil and   
                     Itay Maman   JTL: the Java tools language . . . . . . 89--108
         Christoph Bockisch and   
             Matthew Arnold and   
             Tom Dinkelaker and   
                    Mira Mezini   Adapting virtual machine techniques for
                                  seamless aspect support  . . . . . . . . 109--124
         Christoph Bockisch and   
          Sebastian Kanthak and   
              Michael Haupt and   
             Matthew Arnold and   
                    Mira Mezini   Efficient control flow quantification    125--138
                Patrick Eugster   Uniform proxies for Java . . . . . . . . 139--152
                Jonas Maebe and   
             Dries Buytaert and   
            Lieven Eeckhout and   
              Koen De Bosschere   Javana: a system for building customized
                                  Java program analysis tools  . . . . . . 153--168
       Stephen M. Blackburn and   
               Robin Garner and   
             Chris Hoffmann and   
             Asjad M. Khang and   
        Kathryn S. McKinley and   
              Rotem Bentzur and   
                 Amer Diwan and   
            Daniel Feinberg and   
            Daniel Frampton and   
            Samuel Z. Guyer and   
              Martin Hirzel and   
             Antony Hosking and   
                 Maria Jump and   
                    Han Lee and   
           J. Eliot B. Moss and   
                    B. Moss and   
         Aashish Phansalkar and   
         Darko Stefanovi\'c and   
           Thomas VanDrunen and   
       Daniel von Dincklage and   
                 Ben Wiedermann   The DaCapo benchmarks: Java benchmarking
                                  development and analysis . . . . . . . . 169--190
                  Ben L. Titzer   Virgil: objects on the head of a pin . . 191--208
          Martin Bravenboer and   
         Éric Tanter and   
                   Eelco Visser   Declarative, formal, and extensible
                                  syntax definition for aspectJ  . . . . . 209--228
               John Cavazos and   
          Michael F. P. O'Boyle   Method-specific dynamic compilation
                                  using logistic regression  . . . . . . . 229--240
             Kazunori Ogata and   
             Tamiya Onodera and   
         Kiyokuni Kawachiya and   
            Hideaki Komatsu and   
                Toshio Nakatani   Replay compilation: improving
                                  debuggability of a just-in-time compiler 241--252
            Maurice Herlihy and   
           Victor Luchangco and   
                      Mark Moir   A flexible framework for implementing
                                  software transactional memory  . . . . . 253--262
            Kenneth Russell and   
                  David Detlefs   Eliminating synchronization-related
                                  atomic operations with biased locking
                                  and bulk rebiasing . . . . . . . . . . . 263--272
              Wei-Ngan Chin and   
             Florin Craciun and   
            Siau-Cheng Khoo and   
                Corneliu Popeea   A flow-based approach for variant
                                  parametric types . . . . . . . . . . . . 273--290
             Douglas Gregor and   
          Jaakko Järvi and   
                Jeremy Siek and   
          Bjarne Stroustrup and   
           Gabriel Dos Reis and   
               Andrew Lumsdaine   Concepts: linguistic support for generic
                                  programming in C++ . . . . . . . . . . . 291--310
               Alex Potanin and   
                James Noble and   
                Dave Clarke and   
                  Robert Biddle   Generic ownership for generic Java . . . 311--324
               Yu David Liu and   
                 Scott F. Smith   A formal framework for component
                                  deployment . . . . . . . . . . . . . . . 325--344
           Daniel Wasserrab and   
              Tobias Nipkow and   
            Gregor Snelting and   
                      Frank Tip   An operational semantics and type safety
                                  proof for multiple inheritance in C++    345--362
              Paul T. Darga and   
         Chandrasekhar Boyapati   Efficient software model checking of
                                  data structure properties  . . . . . . . 363--382
                Lo Kwun Kit and   
              Chan Kwun Man and   
                Elisa Baniassad   Isolating and relating concerns in
                                  requirements using latent semantic
                                  analysis . . . . . . . . . . . . . . . . 383--396
              Gareth Baxter and   
               Marcus Frean and   
                James Noble and   
              Mark Rickerby and   
               Hayden Smith and   
                Matt Visser and   
              Hayden Melton and   
                   Ewan Tempero   Understanding the shape of Java software 397--412
      Naiyana Sahavechaphan and   
                 Kajal Claypool   XSnippet: mining For sample code . . . . 413--430
         Richard P. Gabriel and   
                    Ron Goldman   Conscientious software . . . . . . . . . 433--450
            Charles Simonyi and   
         Magnus Christerson and   
                 Shane Clifford   Intentional software . . . . . . . . . . 451--464
                      Jim Waldo   On system design . . . . . . . . . . . . 467--480
             Friedrich Steimann   The paradoxical success of
                                  aspect-oriented programming  . . . . . . 481--497

ACM SIG{}PLAN Notices
Volume 41, Number 11, November, 2006

               Mendel Rosenblum   Impact of virtualization on computer
                                  architecture and operating systems . . . 1--1
                Keith Adams and   
                     Ole Agesen   A comparison of software and hardware
                                  techniques for x86 virtualization  . . . 2--13
           Stephen T. Jones and   
   Andrea C. Arpaci-Dusseau and   
        Remzi H. Arpaci-Dusseau   Geiger: monitoring the buffer cache in a
                                  virtual machine environment  . . . . . . 14--24
       Jedidiah R. Crandall and   
            Gary Wassermann and   
  Daniela A. S. de Oliveira and   
                Zhendong Su and   
                S. Felix Wu and   
              Frederic T. Chong   Temporal search: detecting hidden
                                  malware timebombs with virtual machines  25--36
                    Shan Lu and   
               Joseph Tucek and   
                   Feng Qin and   
                  Yuanyuan Zhou   AVIO: detecting atomicity violations via
                                  access interleaving invariants . . . . . 37--48
                     Min Xu and   
               Mark D. Hill and   
                Rastislav Bodik   A regulated transitive reduction (RTR)
                                  for longer memory race recording . . . . 49--60
            Michael D. Bond and   
            Kathryn S. McKinley   Bell: bit-encoding online memory leak
                                  detection  . . . . . . . . . . . . . . . 61--72
               Smitha Shyam and   
      Kypros Constantinides and   
               Sujay Phadke and   
           Valeria Bertacco and   
                    Todd Austin   Ultra low-cost defect protection for
                                  microprocessor pipelines . . . . . . . . 73--82
             Vimal K. Reddy and   
             Eric Rotenberg and   
        Sailashri Parthasarathy   Understanding prediction-based partial
                                  redundant threading for low-overhead,
                                  high- coverage fault tolerance . . . . . 83--94
         Angshuman Parashar and   
      Anand Sivasubramaniam and   
            Sudhanva Gurumurthi   SlicK: slice-based locality exploitation
                                  for efficient redundant multithreading   95--105
              Taliver Heath and   
          Ana Paula Centeno and   
             Pradeep George and   
                 Luiz Ramos and   
                 Yogesh Jaluria   Mercury and Freon: temperature emulation
                                  and management for server systems  . . . 106--116
                 Taeho Kgil and   
              Shaun D'Souza and   
                  Ali Saidi and   
             Nathan Binkert and   
          Ronald Dreslinski and   
               Trevor Mudge and   
           Steven Reinhardt and   
             Krisztian Flautner   PicoServer: using $3$D stacking
                                  technology to enable a compact energy
                                  efficient chip multiprocessor  . . . . . 117--128
         Katherine E. Coons and   
                   Xia Chen and   
                Doug Burger and   
        Kathryn S. McKinley and   
            Sundeep K. Kushwaha   A spatial path scheduling algorithm for
                                  EDGE architectures . . . . . . . . . . . 129--140
            Martha Mercaldi and   
             Steven Swanson and   
            Andrew Petersen and   
              Andrew Putnam and   
            Andrew Schwerin and   
                 Mark Oskin and   
                Susan J. Eggers   Instruction scheduling for a tiled
                                  dataflow architecture  . . . . . . . . . 141--150
          Michael I. Gordon and   
              William Thies and   
              Saman Amarasinghe   Exploiting coarse-grained task, data,
                                  and pipeline parallelism in stream
                                  programs . . . . . . . . . . . . . . . . 151--162
               Mahim Mishra and   
        Timothy J. Callahan and   
            Tiberiu Chelcea and   
       Girish Venkataramani and   
          Seth C. Goldstein and   
                    Mihai Budiu   Tartan: evaluating spatial computation
                                  for whole program execution  . . . . . . 163--174
              Stijn Eyerman and   
            Lieven Eeckhout and   
            Tejas Karkhanis and   
                 James E. Smith   A performance counter architecture for
                                  computing accurate CPI components  . . . 175--184
            Benjamin C. Lee and   
                David M. Brooks   Accurate and efficient regression
                                  modeling for microarchitectural
                                  performance and power prediction . . . . 185--194
            Engin Ïpek and   
             Sally A. McKee and   
               Rich Caruana and   
      Bronis R. de Supinski and   
                  Martin Schulz   Efficiently exploring architectural
                                  design spaces via predictive modeling    195--206
            Mazen Kharbutli and   
              Xiaowei Jiang and   
                Yan Solihin and   
         Guru Venkataramani and   
                Milos Prvulovic   Comprehensively and efficiently
                                  protecting the heap  . . . . . . . . . . 207--218
        Trishul M. Chilimbi and   
                Vinod Ganapathy   HeapMD: identifying heap-based bugs
                                  using anomaly detection  . . . . . . . . 219--228
        Satish Narayanasamy and   
          Cristiano Pereira and   
                    Brad Calder   Recording shared memory dependencies
                                  using strata . . . . . . . . . . . . . . 229--240
       Jaidev P. Patwardhan and   
               Vijeta Johri and   
                Chris Dwyer and   
                Alvin R. Lebeck   A defect tolerant self-organizing
                                  nanoscale SIMD architecture  . . . . . . 241--251
            Ethan Schuchman and   
               T. N. Vijaykumar   A program transformation and
                                  architecture support for quantum
                                  uncomputation  . . . . . . . . . . . . . 252--263
          Shashidhar Mysore and   
              Banit Agrawal and   
           Navin Srivastava and   
             Sheng-Chih Lin and   
           Kaustav Banerjee and   
                   Tim Sherwood   Introspective $3$D chips . . . . . . . . 264--273
            Jason F. Cantin and   
           Mikko H. Lipasti and   
                 James E. Smith   Stealth prefetching  . . . . . . . . . . 274--282
        Koushik Chakraborty and   
            Philip M. Wells and   
               Gurindar S. Sohi   Computation spreading: employing
                                  hardware migration to specialize CMP
                                  cores on-the-fly . . . . . . . . . . . . 283--292
            Jason E. Miller and   
                  Anant Agarwal   Software-based instruction caching for
                                  embedded processors  . . . . . . . . . . 293--302
                     Xin Li and   
               Marian Boldt and   
         Reinhard von Hanxleden   Mapping Esterel onto a multi-threaded
                                  embedded processor . . . . . . . . . . . 303--314
          Nathan L. Binkert and   
               Ali G. Saidi and   
            Steven K. Reinhardt   Integrated network interfaces for
                                  high-bandwidth TCP/IP  . . . . . . . . . 315--324
              David Tarditi and   
                  Sidd Puri and   
                   Jose Oglesby   Accelerator: using data parallelism to
                                  program GPUs for general-purpose uses    325--335
               Peter Damron and   
         Alexandra Fedorova and   
                  Yossi Lev and   
           Victor Luchangco and   
                  Mark Moir and   
                Daniel Nussbaum   Hybrid transactional memory  . . . . . . 336--346
              Weihaw Chuang and   
        Satish Narayanasamy and   
           Ganesh Venkatesh and   
               Jack Sampson and   
     Michael Van Biesbrouck and   
               Gilles Pokam and   
                Brad Calder and   
                Osvaldo Colavin   Unbounded page-based transactional
                                  memory . . . . . . . . . . . . . . . . . 347--358
        Michelle J. Moravan and   
              Jayaram Bobba and   
             Kevin E. Moore and   
                   Luke Yen and   
               Mark D. Hill and   
                 Ben Liblit and   
           Michael M. Swift and   
                  David A. Wood   Supporting nested transactional memory
                                  in logTM . . . . . . . . . . . . . . . . 359--370
             JaeWoong Chung and   
               Chi Cao Minh and   
            Austen McDonald and   
               Travis Skare and   
               Hassan Chafi and   
         Brian D. Carlstrom and   
         Christos Kozyrakis and   
                 Kunle Olukotun   Tradeoffs in transactional memory
                                  virtualization . . . . . . . . . . . . . 371--381
          Motohiro Kawahito and   
            Hideaki Komatsu and   
             Takao Moriyama and   
              Hiroshi Inoue and   
                Toshio Nakatani   A new idiom recognition framework for
                                  exploiting hardware-assist instructions  382--393
               Sorav Bansal and   
                     Alex Aiken   Automatic generation of peephole
                                  superoptimizers  . . . . . . . . . . . . 394--403
       Armando Solar-Lezama and   
               Liviu Tancau and   
            Rastislav Bodik and   
              Sanjit Seshia and   
                 Vijay Saraswat   Combinatorial sketching for finite
                                  programs . . . . . . . . . . . . . . . . 404--415
              Jeff Da Silva and   
             J. Gregory Steffan   A probabilistic pointer analysis for
                                  speculative optimizations  . . . . . . . 416--425

ACM SIG{}PLAN Notices
Volume 41, Number 12, December, 2006

                   Paul Frenger   Forth & small systems report: potential
                                  unrealized: the MicroMED advisor . . . . 10--16
                     Fangjun Wu   Formal specification of program slicing  18--27
         Sandya Mannarswamy and   
               Shruti Doval and   
  Hariharan Sandanagobalane and   
            Mahesha Nanjundaiah   TRICK: tracking and reusing compiler's
                                  knowledge  . . . . . . . . . . . . . . . 28--37
                    B. Wang and   
                       C. Pronk   Design and implementation of a GUI for
                                  the TLC model checker  . . . . . . . . . 38--43
                   Alpana Dubey   Goodness criteria for programming
                                  language grammar rules . . . . . . . . . 44--53


ACM SIG{}PLAN Notices
Volume 42, Number 1, January, 2007

                    Audrey Tang   Perl 6: reconciling the irreconcilable   1--1
             Jacob Matthews and   
           Robert Bruce Findler   Operational semantics for multi-language
                                  programs . . . . . . . . . . . . . . . . 3--10
           Pavel Avgustinov and   
              Elnar Hajiyev and   
             Neil Ongkingco and   
               Oege de Moor and   
              Damien Sereni and   
              Julian Tibble and   
               Mathieu Verbaere   Semantics of static pointcuts in aspectJ 11--23
                      Juan Chen   A typed intermediate language for
                                  compiling multiple inheritance . . . . . 25--30
                 Maria Jump and   
            Kathryn S. McKinley   Cork: dynamic memory leak detection for
                                  garbage-collected languages  . . . . . . 31--38
          Marina Polishchuk and   
                 Ben Liblit and   
          Chloë W. Schulze   Dynamic heap type inference for program
                                  understanding and debugging  . . . . . . 39--46
              Patrice Godefroid   Compositional dynamic test generation    47--54
                Xipeng Shen and   
              Jonathan Shaw and   
               Brian Meeker and   
                      Chen Ding   Locality approximation using time  . . . 55--61
               Derek Dreyer and   
              Robert Harper and   
   Manuel M. T. Chakravarty and   
                Gabriele Keller   Modular type classes . . . . . . . . . . 63--70
       Jeffrey Mark Siskind and   
           Barak A. Pearlmutter   First-class nonstandard interpretations
                                  by opening closures  . . . . . . . . . . 71--76
         Yitzhak Mandelbaum and   
            Kathleen Fisher and   
               David Walker and   
             Mary Fernandez and   
                  Artem Gleyzer   PADS/ML: a functional data description
                                  language . . . . . . . . . . . . . . . . 77--83
            Andrew M. Pitts and   
               Mark R. Shinwell   Generative unbinding of names  . . . . . 85--95
                Harvey Tuch and   
               Gerwin Klein and   
                Michael Norrish   Types, bytes, and separation logic . . . 97--108
            Andrew W. Appel and   
Paul-André Melli\`es and   
    Christopher D. Richards and   
   Jérôme Vouillon   A very modal model of a modern, major,
                                  general type system  . . . . . . . . . . 109--122
         Cristiano Calcagno and   
           Philippa Gardner and   
                    Uri Zarfaty   Context logic as modal logic:
                                  completeness and parametric
                                  inexpressivity . . . . . . . . . . . . . 123--134
                     Don Batory   From implementation to theory in product
                                  synthesis  . . . . . . . . . . . . . . . 135--136
               Ralf Lämmel   Scrap your boilerplate with XPath-like
                                  combinators  . . . . . . . . . . . . . . 137--142
              Atsushi Ohori and   
                    Isao Sasano   Lightweight fusion by fixed point
                                  promotion  . . . . . . . . . . . . . . . 143--154
       Barak A. Pearlmutter and   
           Jeffrey Mark Siskind   Lazy multivariate higher-order
                                  forward-mode AD  . . . . . . . . . . . . 155--160
   Kristian Stòvring and   
                Soren B. Lassen   A complete, co-inductive syntactic
                                  theory of sequential control and state   161--172
              Daniel K. Lee and   
                 Karl Crary and   
                  Robert Harper   Towards a mechanized metatheory of
                                  standard ML  . . . . . . . . . . . . . . 173--184
                  Matthew Might   Logic-flow analysis of higher-order
                                  programs . . . . . . . . . . . . . . . . 185--198
             Ben Wiedermann and   
                William R. Cook   Extracting queries by static analysis of
                                  transparent persistence  . . . . . . . . 199--210
               Josh Berdine and   
            Aziem Chawdhary and   
                 Byron Cook and   
             Dino Distefano and   
                  Peter O'Hearn   Variance analyses from invariance
                                  analyses . . . . . . . . . . . . . . . . 211--224
             Pasquale Malacaria   Assessing security threats of looping
                                  constructs . . . . . . . . . . . . . . . 225--235
                 Dachuan Yu and   
               Ajay Chander and   
               Nayeem Islam and   
                   Igor Serikov   JavaScript instrumentation for browser
                                  security . . . . . . . . . . . . . . . . 237--249
           Michele Bugliesi and   
                   Marco Giunti   Secure implementations of typed channel
                                  abstractions . . . . . . . . . . . . . . 251--262
                    Chet Murthy   Advanced programming language design in
                                  enterprise software: a lambda-calculus
                                  theorist wanders into a datacenter . . . 263--264
                 Byron Cook and   
             Alexey Gotsman and   
           Andreas Podelski and   
         Andrey Rybalchenko and   
                 Moshe Y. Vardi   Proving that programs eventually do
                                  something good . . . . . . . . . . . . . 265--276
              Sumit Gulwani and   
                  Nebojsa Jojic   Program verification as probabilistic
                                  inference  . . . . . . . . . . . . . . . 277--289
               Michael Emmi and   
         Jeffrey S. Fischer and   
               Ranjit Jhala and   
                 Rupak Majumdar   Lock allocation  . . . . . . . . . . . . 291--296
          Matthew Parkinson and   
             Richard Bornat and   
                  Peter O'Hearn   Modular verification of a non-blocking
                                  stack  . . . . . . . . . . . . . . . . . 297--302
              Vineet Kahlon and   
                    Aarti Gupta   On the analysis of interacting pushdown
                                  systems  . . . . . . . . . . . . . . . . 303--314
                 John Reppy and   
                    Yingqi Xiao   Specialization of CML message-passing
                                  primitives . . . . . . . . . . . . . . . 315--326
                 Mayur Naik and   
                     Alex Aiken   Conditional must not aliasing for static
                                  race detection . . . . . . . . . . . . . 327--338
               Ranjit Jhala and   
                 Rupak Majumdar   Interprocedural analysis of asynchronous
                                  programs . . . . . . . . . . . . . . . . 339--350
              Kapil Vaswani and   
             Aditya V. Nori and   
            Trishul M. Chilimbi   Preferential path profiling: compactly
                                  numbering interesting paths  . . . . . . 351--362
                   Dan R. Ghica   Geometry of synthesis: a structured
                                  approach to VLSI design  . . . . . . . . 363--375
           Mila Dalla Preda and   
       Mihai Christodorescu and   
                 Somesh Jha and   
                  Saumya Debray   A semantics-based approach to malware
                                  detection  . . . . . . . . . . . . . . . 377--388

ACM SIG{}PLAN Notices
Volume 42, Number 2, February, 2007

           Hsiang-Yang Chen and   
               Ting-Wei Hou and   
                 Chun-Liang Lin   Tamper-proofing basis path by using
                                  oblivious hashing on Java  . . . . . . . 9--16
               Rajeev Kumar and   
           Soham S. Chakraborty   Precise static type analysis for object
                                  oriented programs  . . . . . . . . . . . 17--26
             Éric Tanter   On dynamically-scoped crosscutting
                                  mechanisms . . . . . . . . . . . . . . . 27--33
         William R. Mahoney and   
              William L. Sousan   Using common off-the-shelf tools to
                                  implement dynamic aspects  . . . . . . . 34--41

ACM SIG{}PLAN Notices
Volume 42, Number 3, March, 2007

                   Paul Frenger   Forth & small systems report  . . . . . . 2--5
              Chin-Yang Lin and   
                   Ting-Wei Hou   A simple and efficient algorithm for
                                  cycle collection . . . . . . . . . . . . 7--13
Cristóbal Pareja-Flores and   
      Jamie Urquiza-Fuentes and   
J. Ángel Velázquez-Iturbide   WinHIPE: an IDE for functional
                                  programming based on rewriting and
                                  visualization  . . . . . . . . . . . . . 14--23

ACM SIG{}PLAN Notices
Volume 42, Number 4, April, 2007

              Shujuan Jiang and   
                 Yuanpeng Jiang   An analysis approach for testing
                                  exception handling programs  . . . . . . 3--8
               Ting-Wei Hou and   
                   Fuh-Gwo Chen   An anomaly in an interpreter using GCC
                                  source-code-level register allocation    9--13
               Minkyoung Oh and   
                 Jiyeon Lee and   
            Byeong-Mo Chang and   
               Joonseon Ahn and   
                  Kyung-Goo Doh   A programming environment for ubiquitous
                                  computing environment  . . . . . . . . . 14--22
                Igor B. Smirnov   Raw pointers in application classes of
                                  C++ considered harmful . . . . . . . . . 23--31

ACM SIG{}PLAN Notices
Volume 42, Number 5, May, 2007

                 Huihui Shi and   
                    Yi Wang and   
               Haibing Guan and   
                     Alei Liang   An intermediate language level
                                  optimization framework for dynamic
                                  binary translation . . . . . . . . . . . 3--9
           Jayasri Banerjee and   
   Anup Kumar Bandyopadhyay and   
              Ajit Kumar Mandal   Some investigations on deadlock freedom
                                  issues of a cyclically connected system
                                  using Dijkstra's weakest precondition
                                  calculus . . . . . . . . . . . . . . . . 10--15

ACM SIG{}PLAN Notices
Volume 42, Number 6, June, 2007

                Gene Novark and   
            Emery D. Berger and   
               Benjamin G. Zorn   Exterminator: automatically correcting
                                  memory errors with high probability  . . 1--11
       Sebastian Burckhardt and   
                Rajeev Alur and   
              Milo M. K. Martin   CheckFence: checking consistency of
                                  concurrent data types on relaxed memory
                                  models . . . . . . . . . . . . . . . . . 12--21
        Satish Narayanasamy and   
              Zhenghao Wang and   
              Jordan Tigani and   
             Andrew Edwards and   
                    Brad Calder   Automatically classifying benign and
                                  harmful data races all using replay
                                  analysis . . . . . . . . . . . . . . . . 22--31
            Gary Wassermann and   
                    Zhendong Su   Sound and precise analysis of Web
                                  applications for injection
                                  vulnerabilities  . . . . . . . . . . . . 32--41
              Frances Perry and   
              Lester Mackey and   
             George A. Reis and   
                Jay Ligatti and   
            David I. August and   
                   David Walker   Fault-tolerant typed assembly language   42--53
                  Adam Chlipala   A certified type-preserving compiler
                                  from lambda calculus to assembly
                                  language . . . . . . . . . . . . . . . . 54--65
                 Hongxu Cai and   
                 Zhong Shao and   
             Alexander Vaynberg   Certified self-modifying code  . . . . . 66--77
          Tatiana Shpeisman and   
                Vijay Menon and   
     Ali-Reza Adl-Tabatabai and   
         Steven Balensiefer and   
               Dan Grossman and   
          Richard L. Hudson and   
         Katherine F. Moore and   
                    Bratin Saha   Enforcing isolation and ordering in STM  78--88
        Nicholas Nethercote and   
                  Julian Seward   Valgrind: a framework for heavyweight
                                  dynamic binary instrumentation . . . . . 89--100
                 Jungwoo Ha and   
    Christopher J. Rossbach and   
             Jason V. Davis and   
               Indrajit Roy and   
            Hany E. Ramadan and   
           Donald E. Porter and   
              David L. Chen and   
                 Emmett Witchel   Improved error reporting for software
                                  that uses black-box components . . . . . 101--111
             Manu Sridharan and   
            Stephen J. Fink and   
                Rastislav Bodik   Thin slicing . . . . . . . . . . . . . . 112--122
  Murali Krishna Ramanathan and   
               Ananth Grama and   
             Suresh Jagannathan   Static specification inference using
                                  predicate mining . . . . . . . . . . . . 123--134
       Erika Rice Scherpelz and   
               Sorin Lerner and   
                 Craig Chambers   Automatic inference of optimizer flow
                                  functions from semantic meanings . . . . 135--145
            Kazutaka Morita and   
           Akimasa Morihata and   
         Kiminori Matsuzaki and   
               Zhenjiang Hu and   
                Masato Takeichi   Automatic inversion generates
                                  divide-and-conquer parallel programs . . 146--155
              Perry H. Wang and   
         Jamison D. Collins and   
          Gautham N. Chinya and   
                 Hong Jiang and   
                Xinmin Tian and   
              Milind Girkar and   
               Nick Y. Yang and   
             Guei-Yuan Lueh and   
                      Hong Wang   EXOCHI: architecture and programming
                                  environment for a heterogeneous
                                  multi-core multithreaded system  . . . . 156--166
       Armando Solar-Lezama and   
               Gilad Arnold and   
               Liviu Tancau and   
            Rastislav Bodik and   
             Vijay Saraswat and   
                  Sanjit Seshia   Sketching stencils . . . . . . . . . . . 167--178
      Charles Edwin Killian and   
          James W. Anderson and   
                 Ryan Braud and   
               Ranjit Jhala and   
                 Amin M. Vahdat   Mace: language support for building
                                  distributed systems  . . . . . . . . . . 179--188
                    Peng Li and   
                Steve Zdancewic   Combining events and threads for
                                  scalable network services implementation
                                  and evaluation of monadic,
                                  application-level concurrency primitives 189--199
              Nupur Kothari and   
        Ramakrishna Gummadi and   
             Todd Millstein and   
                Ramesh Govindan   Reliable and efficient programming
                                  abstractions for wireless sensor
                                  networks . . . . . . . . . . . . . . . . 200--210
            Milind Kulkarni and   
             Keshav Pingali and   
               Bruce Walter and   
       Ganesh Ramanarayanan and   
                Kavita Bala and   
                   L. Paul Chew   Optimistic parallelism requires
                                  abstractions . . . . . . . . . . . . . . 211--222
                  Chen Ding and   
                Xipeng Shen and   
                Kirk Kelsey and   
                 Chris Tice and   
                 Ruke Huang and   
               Chengliang Zhang   Software behavior oriented
                                  parallelization  . . . . . . . . . . . . 223--234
      Sriram Krishnamoorthy and   
             Muthu Baskaran and   
            Uday Bondhugula and   
               J. Ramanujam and   
             Atanas Rountev and   
                  P. Sadayappan   Effective automatic parallelization of
                                  stencil computations . . . . . . . . . . 235--244
               Tayfun Elmas and   
                Shaz Qadeer and   
                 Serdar Tasiran   Goldilocks: a race and transaction-aware
                                  Java runtime . . . . . . . . . . . . . . 245--255
                  Bolei Guo and   
          Neil Vachharajani and   
                David I. August   Shape analysis with inductive recursion
                                  synthesis  . . . . . . . . . . . . . . . 256--265
             Alexey Gotsman and   
               Josh Berdine and   
                 Byron Cook and   
                    Mooly Sagiv   Thread-modular shape analysis  . . . . . 266--277
              Chris Lattner and   
            Andrew Lenharth and   
                    Vikram Adve   Making context-sensitive points-to
                                  analysis with heap cloning practical for
                                  the real world . . . . . . . . . . . . . 278--289
              Ben Hardekopf and   
                     Calvin Lin   The ant and the grasshopper: fast and
                                  accurate pointer analysis for millions
                                  of lines of code . . . . . . . . . . . . 290--299
                 Dirk Beyer and   
        Thomas A. Henzinger and   
             Rupak Majumdar and   
             Andrey Rybalchenko   Path invariants  . . . . . . . . . . . . 300--309
              Ajeet Shankar and   
         Rastislav Bodík   DITTO: automatic incrementalization of
                                  data structure invariant checks (in
                                  Java)  . . . . . . . . . . . . . . . . . 310--319
                 Byron Cook and   
           Andreas Podelski and   
             Andrey Rybalchenko   Proving thread termination . . . . . . . 320--330
               John Kodumal and   
                     Alex Aiken   Regularly annotated set constraints  . . 331--341
           Pierre Genev\`es and   
           Nabil Laya\"\ida and   
                   Alan Schmitt   Efficient static analysis of XML paths
                                  and types  . . . . . . . . . . . . . . . 342--351
              Ben L. Titzer and   
            Joshua Auerbach and   
             David F. Bacon and   
                  Jens Palsberg   The ExoVM system for automatic VM and
                                  application reduction  . . . . . . . . . 352--362
      Nathan Dean Cooprider and   
              John David Regehr   Offline compression for on-chip RAM  . . 363--372
       Florian T. Schneider and   
              Mathias Payer and   
                Thomas R. Gross   Online optimizations driven by hardware
                                  performance monitoring . . . . . . . . . 373--382
                  Weijia Li and   
               Youtao Zhang and   
                   Jun Yang and   
                    Jiang Zheng   UCC: update-conscious compilation for
                                  energy efficiency in wireless sensor
                                  networks . . . . . . . . . . . . . . . . 383--393
                  Feihui Li and   
               Guangyu Chen and   
            Mahmut Kandemir and   
                  Ibrahim Kolcu   Profile-driven energy reduction in
                                  network-on-chips . . . . . . . . . . . . 394--404
Lakshminarayanan Renganarayanan and   
                 DaeGon Kim and   
          Sanjay Rajopadhye and   
          Michelle Mills Strout   Parameterized tiled loops for free . . . 405--414
              Xiangyu Zhang and   
            Sriraman Tallam and   
               Neelam Gupta and   
                    Rajiv Gupta   Towards locating execution omission
                                  errors . . . . . . . . . . . . . . . . . 415--424
         Benjamin S. Lerner and   
             Matthew Flower and   
               Dan Grossman and   
                 Craig Chambers   Searching for type-error messages  . . . 425--434
                Isil Dillig and   
              Thomas Dillig and   
                     Alex Aiken   Static error detection using semantic
                                  inconsistency inference  . . . . . . . . 435--445
         Madanlal Musuvathi and   
                    Shaz Qadeer   Iterative context bounding for
                                  systematic testing of multithreaded
                                  programs . . . . . . . . . . . . . . . . 446--455
           Martin T. Vechev and   
                 Eran Yahav and   
             David F. Bacon and   
                  Noam Rinetzky   CGCExplorer: a semi-automated search
                                  procedure for provably correct
                                  concurrent collectors  . . . . . . . . . 456--467
           Andrew McCreight and   
                 Zhong Shao and   
               Chunxiao Lin and   
                        Long Li   A general framework for certifying
                                  garbage collectors and their mutators    468--479
             Sigmund Cherem and   
         Lonnie Princehouse and   
                    Radu Rugina   Practical memory leak detection using
                                  guarded value-flow analysis  . . . . . . 480--491

ACM SIG{}PLAN Notices
Volume 42, Number 7, July, 2007

         Pratibha Permandla and   
           Michael Roberson and   
         Chandrasekhar Boyapati   A type system for preventing data races
                                  and deadlocks in the Java Virtual
                                  Machine language: 1  . . . . . . . . . . 10--10
               Tai-Yi Huang and   
             Pin-Chuan Chou and   
             Cheng-Han Tsai and   
                   Hsin-An Chen   Automated fault localization with
                                  statistically suspicious program states  11--20
              Xiliang Zhong and   
                 Cheng-Zhong Xu   Frequency-aware energy optimization for
                                  real-time periodic and aperiodic tasks   21--30
                  Yifan Zhu and   
                  Frank Mueller   DVSleak: combining leakage reduction and
                                  voltage scaling in feedback EDF
                                  scheduling . . . . . . . . . . . . . . . 31--40
        Nevine AbouGhazaleh and   
         Alexandre Ferreira and   
                Cosmin Rusu and   
                  Ruibin Xu and   
             Frank Liberato and   
             Bruce Childers and   
               Daniel Mosse and   
                    Rami Melhem   Integrated CPU and l2 cache voltage
                                  scaling using machine learning . . . . . 41--50
            Joshua Auerbach and   
             David F. Bacon and   
           Daniel T. Iercan and   
        Christoph M. Kirsch and   
                V. T. Rajan and   
               Harald Roeck and   
                 Rainer Trummer   Java takes flight: time-portable
                                  real-time programming with exotasks  . . 51--62
              SungHyun Hong and   
               Jin-Chul Kim and   
               Jin Woo Shin and   
              Soo-Mook Moon and   
             Hyeong-Seok Oh and   
                 Jaemok Lee and   
                 Hyung-Kyu Choi   Java client ahead-of-time compiler for
                                  embedded systems . . . . . . . . . . . . 63--72
           Christophe Alias and   
              Fabrice Baray and   
                    Alain Darte   Bee+Cl@k: an implementation of
                                  lattice-based array contraction in the
                                  source-to-source translator rose . . . . 73--82
    Richard Vincent Bennett and   
      Alastair Colin Murray and   
          Björn Franke and   
                   Nigel Topham   Combining source-to-source
                                  transformations and processor
                                  instruction set extensions for the
                                  automated design-space exploration of
                                  embedded systems . . . . . . . . . . . . 83--92
                Minwook Ahn and   
                Jooyeon Lee and   
                  Yunheung Paek   Optimistic coalescing for heterogeneous
                                  register architectures . . . . . . . . . 93--102
            Florent Bouchez and   
                Alain Darte and   
               Fabrice Rastello   On the complexity of spill everywhere
                                  under SSA form . . . . . . . . . . . . . 103--112
                 Weifeng Xu and   
                Russell Tessier   Tetris: a new register pressure control
                                  technique for VLIW processors  . . . . . 113--122
                Filip Pizlo and   
          Antony L. Hosking and   
                      Jan Vitek   Hierarchical real-time garbage
                                  collection . . . . . . . . . . . . . . . 123--133
                Kathryn O'Brien   Issues and challenges in compiling for
                                  the CBEA . . . . . . . . . . . . . . . . 134--134
                Daniel Kaestner   Safe worst-case execution time analysis
                                  by abstract interpretation of executable
                                  code . . . . . . . . . . . . . . . . . . 135--135
              Jonathan Engelsma   Enabling seamless mobility: an enablers,
                                  experiences and tools perspective  . . . 136--136
              Po-Kuan Huang and   
              Matin Hashemi and   
                  Soheil Ghiasi   Joint throughput and energy optimization
                                  for pipelined execution of embedded
                                  streaming applications . . . . . . . . . 137--139
                  Hansu Cho and   
                 Samar Abdi and   
                  Daniel Gajski   Interface synthesis for heterogeneous
                                  multi-core systems from transaction
                                  level models . . . . . . . . . . . . . . 140--142
                Ines Viskic and   
                 Samar Abdi and   
               Daniel D. Gajski   Automatic generation of embedded
                                  communication SW for heterogeneous MPSoC
                                  platforms  . . . . . . . . . . . . . . . 143--145
             Chung-Kai Chen and   
             Ling-Hua Tseng and   
            Shih-Chang Chen and   
              Young-Jia Lin and   
                Yi-Ping You and   
                Chia-Han Lu and   
                  Jenq-Kuen Lee   Enabling compiler flow for embedded VLIW
                                  DSP processors with distributed register
                                  files  . . . . . . . . . . . . . . . . . 146--148
            Karsten Walther and   
         René Herzog and   
                Jörg Nolte   Analyzing the real-time behaviour of
                                  deeply embedded event driven systems . . 149--151
               Joel Coffman and   
          Christopher Healy and   
              Frank Mueller and   
                  David Whalley   Generalizing parametric timing analysis  152--154
               Guangyu Chen and   
                  Feihui Li and   
                Mahmut Kandemir   Compiler-directed application mapping
                                  for NoC based chip multiprocessors . . . 155--157
                   Shan Yan and   
                       Bill Lin   Stream execution on wide-issue clustered
                                  VLIW architectures . . . . . . . . . . . 158--160
             Michael L. Chu and   
                Scott A. Mahlke   Code and data partitioning for
                                  fine-grain parallelism . . . . . . . . . 161--164
     Stephen Roderick Hines and   
                 Gary Tyson and   
                  David Whalley   Addressing instruction fetch bottlenecks
                                  by using an instruction register file    165--174
                    Jun Yan and   
                      Wei Zhang   WCET analysis of instruction caches with
                                  prefetching  . . . . . . . . . . . . . . 175--184
                    Ke Ning and   
                    David Kaeli   External memory page remapping for
                                  embedded multimedia systems  . . . . . . 185--194
               Hyungmin Cho and   
             Bernhard Egger and   
                 Jaejin Lee and   
                  Heonshik Shin   Dynamic data scratchpad memory
                                  management for a memory subsystem with
                                  an MMU . . . . . . . . . . . . . . . . . 195--206
                    Lian Li and   
          Quan Hoang Nguyen and   
                   Jingling Xue   Scratchpad allocation for data
                                  aggregates in superperfect graphs  . . . 207--216
                  Jihyun In and   
                Ilhoon Shin and   
                     Hyojun Kim   SWL: a search-while-load demand paging
                                  scheme with NAND flash memory  . . . . . 217--226
                   Qin Wang and   
                 Junpu Chen and   
               Weihua Zhang and   
                   Min Yang and   
                     Binyu Zang   Optimizing software cache performance of
                                  packet processing applications . . . . . 227--236
            Rajiv Ravindran and   
                Michael Chu and   
                   Scott Mahlke   Compiler-managed partitioned data caches
                                  for low power  . . . . . . . . . . . . . 237--247

ACM SIG{}PLAN Notices
Volume 42, Number 8, August, 2007

               Michael Dunlavey   Performance tuning with
                                  instruction-level cost derived from
                                  call-stack sampling  . . . . . . . . . . 4--8
                Yarom Gabay and   
                Assaf J. Kfoury   A calculus for Java's reference objects  9--17

ACM SIG{}PLAN Notices
Volume 42, Number 9, September, 2007

               Peter Sewell and   
   Francesco Zappa Nardelli and   
                Scott Owens and   
             Gilles Peskine and   
               Thomas Ridge and   
              Susmit Sarkar and   
                  Rok Strni\vsa   Ott: effective tool support for the
                                  working semanticist  . . . . . . . . . . 1--12
                Matthieu Sozeau   Programming finger trees in Coq  . . . . 13--24
                   Jeremy Wazny   Experience report: functional
                                  programming in c-rules . . . . . . . . . 25--28
                   Don Syme and   
            Gregory Neverov and   
                James Margetson   Extensible pattern matching via a
                                  lightweight language extension . . . . . 29--40
              Olivier Danvy and   
                 Michael Spivey   On Barron and Strachey's Cartesian
                                  product function . . . . . . . . . . . . 41--46
           Kazutaka Matsuda and   
               Zhenjiang Hu and   
             Keisuke Nakano and   
              Makoto Hamana and   
                Masato Takeichi   Bidirectionalization transformation
                                  based on automatic derivation of view
                                  complement functions . . . . . . . . . . 47--58
               Conal M. Elliott   Tangible functional programming  . . . . 59--70
                  Damien Sereni   Termination analysis and call graph
                                  construction for higher-order functional
                                  programs . . . . . . . . . . . . . . . . 71--84
             David Van Horn and   
               Harry G. Mairson   Relating complexity and precision in
                                  control flow analysis  . . . . . . . . . 85--96
           Andrzej Filinski and   
       Kristian Stòvring   Inductive reasoning about effectful data
                                  types  . . . . . . . . . . . . . . . . . 97--110
                    Daan Leijen   A type directed translation of MLF to
                                  system F . . . . . . . . . . . . . . . . 111--122
                  John W. Lloyd   Declarative programming for artificial
                                  intelligence applications  . . . . . . . 123--124
    Lars-Åke Fredlund and   
                  Hans Svensson   McErlang: a model checker for a
                                  distributed functional programming
                                  language . . . . . . . . . . . . . . . . 125--136
                 Steve Sims and   
             Daniel C. DuVarney   Experience report: the reactis
                                  validation tool  . . . . . . . . . . . . 137--140
           Rinus Plasmeijer and   
               Peter Achten and   
                 Pieter Koopman   iTasks: executable specifications of
                                  interactive work flow systems for the
                                  web  . . . . . . . . . . . . . . . . . . 141--152
                 Noel Welsh and   
                  David Gurnell   Experience report: scheme in commercial
                                  Web application development  . . . . . . 153--156
                   David Herman   Functional pearl: the great escape or,
                                  how to jump the border without getting
                                  caught . . . . . . . . . . . . . . . . . 157--164
              Matthew Flatt and   
                    Gang Yu and   
       Robert Bruce Findler and   
             Matthias Felleisen   Adding delimited and composable control
                                  to a production programming environment  165--176
                 Andrew Kennedy   Compiling with continuations, continued  177--190
                   Sungwoo Park   Type-safe higher-order channels in
                                  ML-like languages  . . . . . . . . . . . 191--202
           Jan Nyström and   
               Phil Trinder and   
                     David King   Evaluating high-level distributed
                                  language constructs  . . . . . . . . . . 203--212
           Clifford Beshers and   
                  David Fox and   
                    Jeremy Shaw   Experience report: using functional
                                  programming to manage a Linux
                                  distribution . . . . . . . . . . . . . . 213--218
                 Frank Pfenning   Subtyping and intersection types
                                  revisited  . . . . . . . . . . . . . . . 219--219
                   Leif Frenzel   Experience report: building an
                                  eclipse-based IDE for Haskell  . . . . . 220--222
                 Rob Ennals and   
                      David Gay   User-friendly functional programming for
                                  Web mashups  . . . . . . . . . . . . . . 223--234
              Jurriaan Hage and   
          Stefan Holdermans and   
                Arie Middelkoop   A generic usage analysis with subeffect
                                  qualifiers . . . . . . . . . . . . . . . 235--246
            Jonathan Cooper and   
                 Steve McKeever   Experience report: a Haskell interpreter
                                  for cellML . . . . . . . . . . . . . . . 247--250
                 Tim Harris and   
                   Satnam Singh   Feedback directed implicit parallelism   251--264
         Bernd Braßel and   
              Michael Hanus and   
          Sebastian Fischer and   
                 Frank Huch and   
            Germán Vidal   Lazy call-by-value evaluation  . . . . . 265--276
               Simon Marlow and   
  Alexey Rodriguez Yakushev and   
             Simon Peyton Jones   Faster laziness using dynamic pointer
                                  tagging  . . . . . . . . . . . . . . . . 277--288
                   Derek Dreyer   A type system for recursive modules  . . 289--302
          Abdulaziz Ghuloum and   
                 R. Kent Dybvig   Implicit phasing for R6RS libraries  . . 303--314
              Duncan Coutts and   
         Roman Leshchinskiy and   
                    Don Stewart   Stream fusion: from lists to streams to
                                  nothing at all . . . . . . . . . . . . . 315--326
             Simon Peyton Jones   Call-pattern specialisation for Haskell
                                  programs . . . . . . . . . . . . . . . . 327--337

ACM SIG{}PLAN Notices
Volume 42, Number 10, October, 2007

        Torbjörn Ekman and   
               Görel Hedin   The JastAdd Extensible Java compiler . . 1--18
              Martin Hirzel and   
                   Robert Grimm   Jeannie: granting Java Native Interface
                                  developers their wishes  . . . . . . . . 19--38
                   Gang Tan and   
                 Greg Morrisett   Ilea: inter-language analysis across
                                  Java and C . . . . . . . . . . . . . . . 39--56
               Andy Georges and   
             Dries Buytaert and   
                Lieven Eeckhout   Statistically rigorous Java performance
                                  evaluation . . . . . . . . . . . . . . . 57--76
                  Feng Xian and   
           Witawas Srisa-an and   
                     Hong Jiang   Microphase: an approach to proactively
                                  invoking garbage collection for improved
                                  performance  . . . . . . . . . . . . . . 77--96
            Michael D. Bond and   
            Kathryn S. McKinley   Probabilistic calling context  . . . . . 97--112
           Atsushi Igarashi and   
                   Mirko Viroli   Variant path types for scalable
                                  extensibility  . . . . . . . . . . . . . 113--132
            Vaidas Gasiunas and   
                Mira Mezini and   
                Klaus Ostermann   Dependent classes  . . . . . . . . . . . 133--152
             James Sasitorn and   
              Robert Cartwright   Component NEXTGEN: a sound and
                                  expressive component framework for Java  153--170
    Stéphane Ducasse and   
                 Roel Wuyts and   
           Alexandre Bergel and   
               Oscar Nierstrasz   User-changeable visibility: resolving
                                  unanticipated name clashes in traits . . 171--190
         Yannis Smaragdakis and   
                Anthony Kay and   
            Reimer Behrends and   
                   Michal Young   Transactions with isolation and
                                  cooperation  . . . . . . . . . . . . . . 191--210
           Jesper H. Spring and   
                Jean Privat and   
           Rachid Guerraoui and   
                      Jan Vitek   StreamFlex: high-throughput stream
                                  programming in Java  . . . . . . . . . . 211--228
              Thomas Kuehne and   
               Daniel Schreiber   Can programming be liberated from the
                                  two-level style: multi-level programming
                                  with DeepJava  . . . . . . . . . . . . . 229--244
              Nick Mitchell and   
                  Gary Sevitsky   The causes of bloat, the limits of
                                  health . . . . . . . . . . . . . . . . . 245--260
                  Uri Dekel and   
              James D. Herbsleb   Notation and representation in
                                  collaborative object-oriented design: an
                                  observational study  . . . . . . . . . . 261--280
               Avraham Leff and   
              James T. Rayfield   WebRB: evaluating a visual
                                  domain-specific language for building
                                  relational web-applications  . . . . . . 281--300
             Kevin Bierhoff and   
               Jonathan Aldrich   Modular typestate checking of aliased
                                  objects  . . . . . . . . . . . . . . . . 301--320
      David Greenfieldboyce and   
              Jeffrey S. Foster   Type qualifier inference for Java  . . . 321--336
           Manuel Fahndrich and   
                    Songtao Xia   Establishing object invariants with
                                  delayed types  . . . . . . . . . . . . . 337--350
            Steve M. Shaner and   
            Gary T. Leavens and   
               David A. Naumann   Modular verification of higher-order
                                  methods with mandatory calls specified
                                  by model programs  . . . . . . . . . . . 351--368
               Martin C. Rinard   Using early phase termination to
                                  eliminate load imbalances at barrier
                                  synchronization points . . . . . . . . . 369--386
         Bassem Elkarablieh and   
           Sarfraz Khurshid and   
                     Duy Vu and   
            Kathryn S. McKinley   STARC: static analysis for efficient
                                  repair of complex data . . . . . . . . . 387--404
            Michael D. Bond and   
        Nicholas Nethercote and   
            Stephen W. Kent and   
            Samuel Z. Guyer and   
            Kathryn S. McKinley   Tracking bad apples: reporting the
                                  origin of null and undefined value
                                  errors . . . . . . . . . . . . . . . . . 405--422
               Kin-Keung Ma and   
              Jeffrey S. Foster   Inferring aliasing and encapsulation
                                  properties for Java  . . . . . . . . . . 423--440
        Nicholas R. Cameron and   
        Sophia Drossopoulou and   
                James Noble and   
               Matthew J. Smith   Multiple ownership . . . . . . . . . . . 441--460
          Peter Müller and   
                 Arsenii Rudich   Ownership transfer in universe types . . 461--478
           Gavin M. Bierman and   
                Erik Meijer and   
                 Mads Torgersen   Lost in translation: formalizing
                                  proposed extensions to C#  . . . . . . . 479--498
              Rok Strni\vsa and   
               Peter Sewell and   
              Matthew Parkinson   The Java module system: core design and
                                  semantic definition  . . . . . . . . . . 499--514
            Sergei Kojarski and   
                David H. Lorenz   Awesome: an aspect co-weaving system for
                                  composing multiple aspect-oriented
                                  extensions . . . . . . . . . . . . . . . 515--534
          Guillaume Pothier and   
         Éric Tanter and   
             José Piquer   Scalable omniscient debugging  . . . . . 535--552
             Dries Buytaert and   
               Andy Georges and   
               Michael Hind and   
             Matthew Arnold and   
            Lieven Eeckhout and   
              Koen De Bosschere   Using HPM-sampling to drive dynamic
                                  compilation  . . . . . . . . . . . . . . 553--568
                  Feng Chen and   
                 Grigore Ro\csu   MOP: an efficient and generic runtime
                                  verification framework . . . . . . . . . 569--588
           Pavel Avgustinov and   
              Julian Tibble and   
                   Oege de Moor   Making trace monitors feasible . . . . . 589--608
               Martin C. Rinard   Living in the comfort zone . . . . . . . 611--622
                  Sean McDirmid   Living it up with a live programming
                                  language . . . . . . . . . . . . . . . . 623--638
               Jonathan Edwards   No ifs, ands, or buts: uncovering the
                                  simplicity of conditionals . . . . . . . 639--658
        Sebastian Fleissner and   
          Elisa L. A. Baniassad   Epi-aspects: aspect-oriented
                                  conscientious software . . . . . . . . . 659--674
                    Erik Meijer   Confessions of a used programming
                                  language salesman  . . . . . . . . . . . 677--694
                   Dan Grossman   The transactional memory /garbage
                                  collection analogy . . . . . . . . . . . 695--706

ACM SIG{}PLAN Notices
Volume 42, Number 11, November, 2007

                   Paul Frenger   Hacking your mouse: errata for Mar. 2007 3--3
                   M. Sarma and   
                        R. Mall   Synthesis of system state models . . . . 5--14
                  Kurt Svensson   Faster XML data validation in a
                                  programming language with XML datatypes  15--21

ACM SIG{}PLAN Notices
Volume 42, Number 12, December, 2007

                   Feng Xia and   
               Guosong Tian and   
                    Youxian Sun   Feedback scheduling: an event-driven
                                  paradigm . . . . . . . . . . . . . . . . 7--14
           Apostolos Syropoulos   $\Pi$ machines: virtual machines
                                  realizing graph structured transition P
                                  systems  . . . . . . . . . . . . . . . . 15--22


ACM SIG{}PLAN Notices
Volume 43, Number 1, January, 2008

                 Walter Fontana   Systems biology, models, and concurrency 1--2
              Brian Aydemir and   
  Arthur Charguéraud and   
         Benjamin C. Pierce and   
              Randy Pollack and   
              Stephanie Weirich   Engineering formal metatheory  . . . . . 3--15
      Jean-Baptiste Tristan and   
                   Xavier Leroy   Formal verification of translation
                                  validators: a case study on instruction
                                  scheduling optimizations . . . . . . . . 17--27
         Janis Voigtländer   Much ado about two (pearl): a pearl on
                                  parallel prefix computation  . . . . . . 29--35
             Iulian Neamtiu and   
              Michael Hicks and   
          Jeffrey S. Foster and   
            Polyvios Pratikakis   Contextual effects for
                                  version-consistent dynamic software
                                  updating all and safe concurrent
                                  programming  . . . . . . . . . . . . . . 37--49
         Katherine F. Moore and   
                   Dan Grossman   High-level small-step operational
                                  semantics for transactions . . . . . . . 51--62
        Martín Abadi and   
             Andrew Birrell and   
                 Tim Harris and   
                  Michael Isard   Semantics of transactional memory and
                                  automatic mutual exclusion . . . . . . . 63--74
       Matthew J. Parkinson and   
               Gavin M. Bierman   Separation logic, abstraction and
                                  inheritance  . . . . . . . . . . . . . . 75--86
              Wei-Ngan Chin and   
             Cristina David and   
             Huu Hai Nguyen and   
                  Shengchao Qin   Enhancing modular OO verification with
                                  separation logic . . . . . . . . . . . . 87--99
          James Brotherston and   
             Richard Bornat and   
             Cristiano Calcagno   Cyclic proofs of program termination in
                                  separation logic . . . . . . . . . . . . 101--112
                 Andrea Asperti   The intensional content of Rice's
                                  theorem  . . . . . . . . . . . . . . . . 113--119
             Marco Gaboardi and   
           Jean-Yves Marion and   
      Simona Ronchi Della Rocca   A logical account of pspace  . . . . . . 121--131
         Nils Anders Danielsson   Lightweight semiformal time complexity
                                  analysis for purely functional data
                                  structures . . . . . . . . . . . . . . . 133--144
                 K. L. McMillan   Relevance heuristics for program
                                  analysis . . . . . . . . . . . . . . . . 145--146
             Ashutosh Gupta and   
        Thomas A. Henzinger and   
             Rupak Majumdar and   
         Andrey Rybalchenko and   
                     Ru-Gang Xu   Proving non-termination  . . . . . . . . 147--158
               Swarat Chaudhuri   Subcubic algorithms for recursive state
                                  machines . . . . . . . . . . . . . . . . 159--169
            Shuvendu Lahiri and   
                    Shaz Qadeer   Back to the future: revisiting precise
                                  program verification using SMT solvers   171--182
          Christopher Unkel and   
                  Monica S. Lam   Automatic inference of stationary
                                  fields: a generalization of Java's final
                                  fields . . . . . . . . . . . . . . . . . 183--195
                  Xin Zheng and   
                    Radu Rugina   Demand-driven alias analysis for C . . . 197--208
                Marius Nita and   
               Dan Grossman and   
                 Craig Chambers   A theory of platform-dependent low-level
                                  software . . . . . . . . . . . . . . . . 209--220
                Greta Yorsh and   
                 Eran Yahav and   
                 Satish Chandra   Generating precise and concise procedure
                                  summaries  . . . . . . . . . . . . . . . 221--234
              Sumit Gulwani and   
             Bill McCloskey and   
                  Ashish Tiwari   Lifting abstract interpreters to
                                  quantified logical domains . . . . . . . 235--246
         Bor-Yuh Evan Chang and   
                   Xavier Rival   Relational inductive shape analysis  . . 247--260
          Giuseppe Castagna and   
               Nils Gesbert and   
                  Luca Padovani   A theory of contracts for Web services   261--272
                Kohei Honda and   
             Nobuko Yoshida and   
                  Marco Carbone   Multiparty asynchronous session types    273--284
                Yaron M. Minsky   Caml trading . . . . . . . . . . . . . . 285--285
                  Conor McBride   Clowns to the left of me, jokers to the
                                  right (pearl): dissecting data
                                  structures . . . . . . . . . . . . . . . 287--295
            Patricia Johann and   
                     Neil Ghani   Foundations for structured programming
                                  with GADTs . . . . . . . . . . . . . . . 297--308
               Umut A. Acar and   
                 Amal Ahmed and   
                 Matthias Blume   Imperative self-adjusting computation    309--322
      Cédric Fournet and   
                    Tamara Rezk   Cryptographically sound implementations
                                  for typed information-flow security  . . 323--335
                    Peeter Laud   On the computational soundness of
                                  cryptographically masked flows . . . . . 337--348
         Hamed Seiied Alavi and   
               Seth Gilbert and   
               Rachid Guerraoui   Extensible encoding of type hierarchies  349--358
                Noam Zeilberger   Focusing and higher-order abstract
                                  syntax . . . . . . . . . . . . . . . . . 359--369
               Brigitte Pientka   A type-theoretic foundation for
                                  programming with higher-order abstract
                                  syntax and first-class substitutions . . 371--382
              Hugo Herbelin and   
                Silvia Ghilezan   An approach to call-by-name delimited
                                  continuations  . . . . . . . . . . . . . 383--394
        Sam Tobin-Hochstadt and   
             Matthias Felleisen   The design and implementation of typed
                                  scheme . . . . . . . . . . . . . . . . . 395--406
             Aaron Bohannon and   
           J. Nathan Foster and   
         Benjamin C. Pierce and   
       Alexandre Pilkiewicz and   
                   Alan Schmitt   Boomerang: resourceful lenses for string
                                  data . . . . . . . . . . . . . . . . . . 407--419
            Kathleen Fisher and   
               David Walker and   
               Kenny Q. Zhu and   
                    Peter White   From dirt to shovels: fully automatic
                                  tool generation from ad hoc data . . . . 421--434

ACM SIG{}PLAN Notices
Volume 43, Number 2, February, 2008

            John Fitzgerald and   
          Peter Gorm Larsen and   
                    Shin Sahara   VDMTools: advances in support for formal
                                  modeling in VDM  . . . . . . . . . . . . 3--11
                     Jia Lu and   
                  Jing Ying and   
                 Ming hu Wu and   
                  Cang Hong Jin   Crosscutting invariant and an efficient
                                  checking algorithm using program slicing 12--20
                    Ju Qian and   
                      Baowen Xu   Program slicing under UML scenario
                                  models . . . . . . . . . . . . . . . . . 21--24
              Danfeng Zhang and   
                    Yao Guo and   
                  Xiangqun Chen   AspectC2C: a symmetric aspect extension
                                  to the C language  . . . . . . . . . . . 25--32

ACM SIG{}PLAN Notices
Volume 43, Number 3, March, 2008

                   Erik Winfree   Toward molecular programming with DNA    1--1
               Xiaoxin Chen and   
              Tal Garfinkel and   
       E. Christopher Lewis and   
        Pratap Subrahmanyam and   
        Carl A. Waldspurger and   
                  Dan Boneh and   
            Jeffrey Dwoskin and   
                Dan R. K. Ports   Overshadow: a virtualization-based
                                  approach to retrofitting protection in
                                  commodity operating systems  . . . . . . 2--13
         Jonathan M. McCune and   
                Bryan Parno and   
              Adrian Perrig and   
          Michael K. Reiter and   
                Arvind Seshadri   How low can you go?: recommendations for
                                  hardware-supported minimal TCB code
                                  execution  . . . . . . . . . . . . . . . 14--25
              Ravi Bhargava and   
          Benjamin Serebrin and   
          Francesco Spadini and   
                 Srilatha Manne   Accelerating two-dimensional page walks
                                  for virtualized systems  . . . . . . . . 26--35
            Benjamin C. Lee and   
                   David Brooks   Efficiency trends and limits from
                                  comprehensive microarchitectural
                                  adaptivity . . . . . . . . . . . . . . . 36--47
          Ramya Raghavendra and   
  Parthasarathy Ranganathan and   
              Vanish Talwar and   
                Zhikui Wang and   
                    Xiaoyun Zhu   No 'power' struggles: coordinated
                                  multi-level power management for the
                                  data center  . . . . . . . . . . . . . . 48--59
Chinnakrishnan S. Ballapuram and   
               Ahmad Sharif and   
              Hsien-Hsin S. Lee   Exploiting access semantics and program
                                  behavior to reduce snoop power in chip
                                  multiprocessors  . . . . . . . . . . . . 60--69
             Arindam Mallik and   
              Jack Cosgrove and   
             Robert P. Dick and   
               Gokhan Memik and   
                    Peter Dinda   PICSEL: measuring user-perceived
                                  performance to control dynamic frequency
                                  scaling  . . . . . . . . . . . . . . . . 70--79
               Jose A. Joao and   
                 Onur Mutlu and   
                Hyesoon Kim and   
              Rishi Agarwal and   
                   Yale N. Patt   Improving the performance of
                                  object-oriented languages with dynamic
                                  predication of indirect jumps  . . . . . 80--90
              Michal Wegiel and   
                 Chandra Krintz   The mapping collector: virtual memory
                                  support for generational, parallel, and
                                  concurrent compaction  . . . . . . . . . 91--102
               Joe Devietti and   
             Colin Blundell and   
          Milo M. K. Martin and   
                Steve Zdancewic   Hardbound: architectural support for
                                  spatial safety of the C programming
                                  language . . . . . . . . . . . . . . . . 103--114
            Vitaliy B. Lvin and   
                Gene Novark and   
            Emery D. Berger and   
               Benjamin G. Zorn   Archipelago: trading address space for
                                  reliability and security . . . . . . . . 115--124
               Bumyong Choi and   
                 Leo Porter and   
                Dean M. Tullsen   Accurate branch prediction for short
                                  threads  . . . . . . . . . . . . . . . . 125--134
        Shekhar Srikantaiah and   
            Mahmut Kandemir and   
                Mary Jane Irwin   Adaptive set pinning: managing shared
                                  caches in chip multiprocessors . . . . . 135--144
                 James Tuck and   
                 Wonsun Ahn and   
                  Luis Ceze and   
                Josep Torrellas   SoftSig: software-exposed hardware
                                  signatures for code analysis and
                                  optimization . . . . . . . . . . . . . . 145--156
               Ioana Burcea and   
            Stephen Somogyi and   
           Andreas Moshovos and   
                  Babak Falsafi   Predictor virtualization . . . . . . . . 157--167
            Vinod Ganapathy and   
      Matthew J. Renzelmann and   
         Arini Balakrishnan and   
           Michael M. Swift and   
                     Somesh Jha   The design and implementation of
                                  microdrivers . . . . . . . . . . . . . . 168--178
            Yaron Weinsberg and   
                Danny Dolev and   
                  Tal Anker and   
            Muli Ben-Yehuda and   
                   Pete Wyckoff   Tapping into the fountain of CPUs: on
                                  operating system support for
                                  programmable devices . . . . . . . . . . 179--188
                   Kai Shen and   
                 Ming Zhong and   
          Sandhya Dwarkadas and   
               Chuanpeng Li and   
        Christopher Stewart and   
                     Xiao Zhang   Hardware counter driven on-the-fly
                                  request signatures . . . . . . . . . . . 189--200
           Luk Van Ertvelde and   
                Lieven Eeckhout   Dispersing proprietary applications as
                                  benchmarks through code mutation . . . . 201--210
          Shashidhar Mysore and   
               Bita Mazloom and   
              Banit Agrawal and   
               Timothy Sherwood   Understanding and visualizing full
                                  systems with data flow tomography  . . . 211--221
           Guilherme Ottoni and   
                David I. August   Communication optimizations for global
                                  multi-threaded instruction scheduling    222--232
            Milind Kulkarni and   
             Keshav Pingali and   
       Ganesh Ramanarayanan and   
               Bruce Walter and   
                Kavita Bala and   
                   L. Paul Chew   Optimistic parallelism benefits from
                                  data partitioning  . . . . . . . . . . . 233--243
                   Russ Cox and   
                 Tom Bergan and   
         Austin T. Clements and   
             Frans Kaashoek and   
                   Eddie Kohler   Xoc, an extension-oriented compiler for
                                  systems programming  . . . . . . . . . . 244--254
            Philip M. Wells and   
        Koushik Chakraborty and   
               Gurindar S. Sohi   Adapting to intermittent faults in
                                  multicore systems  . . . . . . . . . . . 255--264
                 Man-Lap Li and   
       Pradeep Ramachandran and   
         Swarup Kumar Sahoo and   
             Sarita V. Adve and   
             Vikram S. Adve and   
                  Yuanyuan Zhou   Understanding the propagation of hard
                                  errors to software and implications for
                                  resilient system design  . . . . . . . . 265--276
           M. Aater Suleman and   
       Moinuddin K. Qureshi and   
                   Yale N. Patt   Feedback-driven threading:
                                  power-efficient and high-performance
                                  execution of multi-threaded workloads on
                                  CMPs . . . . . . . . . . . . . . . . . . 277--286
       Michael D. Linderman and   
         Jamison D. Collins and   
                  Hong Wang and   
                 Teresa H. Meng   Merge: a programming model for
                                  heterogeneous multi-core systems . . . . 287--296
          Jayanth Gummaraju and   
                Joel Coburn and   
              Yoshio Turner and   
               Mendel Rosenblum   Streamware: programming general-purpose
                                  multicore processors using streams . . . 297--307
      Edmund B. Nightingale and   
                Daniel Peek and   
              Peter M. Chen and   
                    Jason Flinn   Parallelizing security checks on
                                  commodity hardware . . . . . . . . . . . 308--318
              Miguel Castro and   
               Manuel Costa and   
           Jean-Philippe Martin   Better bug reporting with better privacy 319--328
                    Shan Lu and   
                Soyeon Park and   
                 Eunsoo Seo and   
                  Yuanyuan Zhou   Learning from mistakes: a comprehensive
                                  study on real world concurrency bug
                                  characteristics  . . . . . . . . . . . . 329--339

ACM SIG{}PLAN Notices
Volume 43, Number 4, April, 2008

                      Yu Ce and   
                    Xu Zhen and   
                Sun Ji-zhou and   
             Meng Xiao-jing and   
              Huang Yan-yan and   
                     Wu Hua-bei   ParaModel: a visual modeling and code
                                  skeleton generation system for
                                  programming parallel applications  . . . 4--10
           Simone Campanoni and   
            Giovanni Agosta and   
        Stefano Crespi Reghizzi   A parallel dynamic compiler for CIL
                                  bytecode . . . . . . . . . . . . . . . . 11--20
                Yang Yi Sui and   
                    Jun Lin and   
                 Xiao Tuo Zhang   An automated refactoring tool for
                                  dataflow visual programming language . . 21--28

ACM SIG{}PLAN Notices
Volume 43, Number 5, May, 2008

                 James Hook and   
                Michael Sperber   The ICFP developer conference 2008 . . . 3--4
                   Paul Frenger   Hard Java  . . . . . . . . . . . . . . . 5--9
              Babak Falsafi and   
                  Pascal Felber   Introduction . . . . . . . . . . . . . . 10--10
                 Mark W. Bailey   TRANSACT 2008 paper abstracts  . . . . . 11--14
                Vijay Menon and   
         Steven Balensiefer and   
          Tatiana Shpeisman and   
     Ali-Reza Adl-Tabatabai and   
          Richard L. Hudson and   
                Bratin Saha and   
                      Adam Welc   Single global lock semantics in a weakly
                                  atomic STM . . . . . . . . . . . . . . . 15--26

ACM SIG{}PLAN Notices
Volume 43, Number 6, June, 2008

                Tachio Terauchi   Checking race freedom via linear
                                  programming  . . . . . . . . . . . . . . 1--10
                    Koushik Sen   Race directed random testing of
                                  concurrent programs  . . . . . . . . . . 11--21
       Stephen M. Blackburn and   
            Kathryn S. McKinley   Immix: a mark-region garbage collector
                                  with space efficiency, fast collection,
                                  and mutator performance  . . . . . . . . 22--32
                Filip Pizlo and   
               Erez Petrank and   
             Bjarne Steensgaard   A study of concurrent real-time garbage
                                  collectors . . . . . . . . . . . . . . . 33--44
                    Xi Wang and   
                  Zhilei Xu and   
               Xuezheng Liu and   
                 Zhenyu Guo and   
                Xiaoge Wang and   
                    Zheng Zhang   Conditional correlation analysis for
                                  safe region-based memory management  . . 45--55
              Ahmed M. Amin and   
        Mithuna Thottethodi and   
           T. N. Vijaykumar and   
             Steven Wereley and   
            Stephen C. Jacobson   Automatic volume management for
                                  programmable microfluidics . . . . . . . 56--67
              Hans-J. Boehm and   
                 Sarita V. Adve   Foundations of the C++ concurrency
                                  memory model . . . . . . . . . . . . . . 68--78
            Shan Shan Huang and   
             Yannis Smaragdakis   Expressive and safe static reflection
                                  with MorphJ  . . . . . . . . . . . . . . 79--89
    Louis-Noël Pouchet and   
      Cédric Bastoul and   
               Albert Cohen and   
                   John Cavazos   Iterative optimization in the polyhedral
                                  model: part ii, multidimensional time    90--100
            Uday Bondhugula and   
             Albert Hartono and   
               J. Ramanujam and   
                  P. Sadayappan   A practical automatic polyhedral
                                  parallelizer and locality optimizer  . . 101--113
           Manjunath Kudlur and   
                   Scott Mahlke   Orchestrating the execution of stream
                                  programs on multicore platforms  . . . . 114--124
              Martin Vechev and   
                     Eran Yahav   Deriving linearizable fine-grained
                                  concurrent objects . . . . . . . . . . . 125--135
       Armando Solar-Lezama and   
    Christopher Grant Jones and   
                Rastislav Bodik   Sketching concurrent data structures . . 136--148
           Zachary Anderson and   
                  David Gay and   
                 Rob Ennals and   
                    Eric Brewer   SharC: checking data sharing strategies
                                  for multithreaded C  . . . . . . . . . . 149--158
          Patrick M. Rondon and   
              Ming Kawaguci and   
                   Ranjit Jhala   Liquid types . . . . . . . . . . . . . . 159--169
                 Xinyu Feng and   
                 Zhong Shao and   
                  Yuan Dong and   
                         Yu Guo   Certifying low-level programs with
                                  hardware interrupts and preemptive
                                  threads  . . . . . . . . . . . . . . . . 170--182
                  Juan Chen and   
           Chris Hawblitzel and   
              Frances Perry and   
                  Mike Emmi and   
              Jeremy Condit and   
            Derrick Coetzee and   
             Polyvios Pratikaki   Type-preserving compilation for
                                  large-scale optimizing object-oriented
                                  compilers  . . . . . . . . . . . . . . . 183--192
           Stephen McCamant and   
               Michael D. Ernst   Quantitative information flow as network
                                  flow capacity  . . . . . . . . . . . . . 193--205
          Patrice Godefroid and   
                Adam Kiezun and   
               Michael Y. Levin   Grammar-based whitebox fuzzing . . . . . 206--215
Fernando Magno Quintão Pereira and   
                  Jens Palsberg   Register allocation by puzzle solving    216--226
             Sebastian Hack and   
                   Gerhard Goos   Copy coalescing by graph recoloring  . . 227--237
                    Bin Xin and   
          William N. Sumner and   
                  Xiangyu Zhang   Efficient program execution indexing . . 238--248
                  Vineet Kahlon   Bootstrapping: a technique for scalable
                                  flow and context-sensitive pointer alias
                                  analysis . . . . . . . . . . . . . . . . 249--259
       Daniel von Dincklage and   
                     Amer Diwan   Explaining failures of program analyses  260--269
                Isil Dillig and   
              Thomas Dillig and   
                     Alex Aiken   Sound, complete and scalable
                                  path-sensitive analysis  . . . . . . . . 270--280
              Sumit Gulwani and   
         Saurabh Srivastava and   
         Ramarathnam Venkatesan   Program analysis as constraint solving   281--292
            Cormac Flanagan and   
          Stephen N. Freund and   
                     Jaeheon Yi   Velodrome: a sound and complete dynamic
                                  atomicity checker for multithreaded
                                  programs . . . . . . . . . . . . . . . . 293--303
             Sigmund Cherem and   
           Trishul Chilimbi and   
                  Sumit Gulwani   Inferring locks for atomic sections  . . 304--315
                 Ravi Chugh and   
               Jan W. Voung and   
               Ranjit Jhala and   
                   Sorin Lerner   Dataflow analysis for concurrent
                                  programs using datarace detection  . . . 316--326
              Michal Wegiel and   
                 Chandra Krintz   XMem: type-safe, transparent, shared
                                  memory for cross-runtime communication
                                  and coordination . . . . . . . . . . . . 327--338
          Nicolas Halbwachs and   
           Mathias Péron   Discovering properties about arrays in
                                  simple programs  . . . . . . . . . . . . 339--348
                  Karen Zee and   
              Viktor Kuncak and   
                  Martin Rinard   Full functional verification of linked
                                  data structures  . . . . . . . . . . . . 349--361
         Madanlal Musuvathi and   
                    Shaz Qadeer   Fair stateless model checking  . . . . . 362--371
           Rachid Guerraoui and   
        Thomas A. Henzinger and   
          Barbara Jobstmann and   
                     Vasu Singh   Model checking transactional memories    372--382

ACM SIG{}PLAN Notices
Volume 43, Number 7, July, 2008

            Joshua Auerbach and   
             David F. Bacon and   
           Rachid Guerraoui and   
        Jesper Honig Spring and   
                      Jan Vitek   Flexible task graphs: a unified
                                  restricted thread programming model for
                                  Java . . . . . . . . . . . . . . . . . . 1--11
              Seong-Won Lee and   
              Soo-Mook Moon and   
                  Seong-Moo Kim   Enhanced hot spot detection heuristics
                                  for embedded Java just-in-time compilers 13--22
               Carmen Badea and   
          Alexandru Nicolau and   
        Alexander V. Veidenbaum   Impact of JVM superoperators on energy
                                  consumption in resource-constrained
                                  embedded systems . . . . . . . . . . . . 23--30
              Dietmar Ebner and   
           Florian Brandner and   
            Bernhard Scholz and   
              Andreas Krall and   
           Peter Wiedermann and   
                Albrecht Kadlec   Generalized instruction selection using
                                  SSA-graphs . . . . . . . . . . . . . . . 31--40
                 Doosan Cho and   
            Sudeep Pasricha and   
               Ilya Issenin and   
                 Nikil Dutt and   
              Yunheung Paek and   
                      SunJun Ko   Compiler driven data layout optimization
                                  for regular/irregular array access
                                  patterns . . . . . . . . . . . . . . . . 41--50
                Jan Reineke and   
                   Daniel Grund   Relative competitive analysis of cache
                                  replacement policies . . . . . . . . . . 51--60
             Madhukar Anand and   
                      Insup Lee   Robust and sustainable schedulability
                                  analysis of embedded software  . . . . . 61--70
            Houman Homayoun and   
            Sudeep Pasricha and   
           Mohammad Makhzan and   
                Alex Veidenbaum   Improving performance and reducing
                                  energy-delay with adaptive resource
                                  resizing for out-of-order embedded
                                  processors . . . . . . . . . . . . . . . 71--78
          Sanjay Rajopadhye and   
               Gautam Gupta and   
Lakshminarayanan Renganarayanan   A domain specific interconnect for
                                  reconfigurable computing . . . . . . . . 79--88
                 Jaejin Lee and   
               Junghyun Kim and   
               Choonki Jang and   
              Seungkyun Kim and   
             Bernhard Egger and   
               Kwangsub Kim and   
                   SangYong Han   FaCSim: a fast and cycle-accurate
                                  architecture simulator for embedded
                                  systems  . . . . . . . . . . . . . . . . 89--100
       Gwenaël Delaval and   
              Alain Girault and   
                    Marc Pouzet   A type system for the automatic
                                  distribution of higher-order synchronous
                                  dataflow programs  . . . . . . . . . . . 101--110
            Norman H. Cohen and   
          Karl Trygve Kalleberg   EventScript: an event-processing
                                  language based on regular expressions
                                  with actions . . . . . . . . . . . . . . 111--120
          Dariusz Biernacki and   
   Jean-Louis Colaço and   
             Gregoire Hamon and   
                    Marc Pouzet   Clock-directed modular code generation
                                  for synchronous data-flow languages  . . 121--130
             Ryan R. Newton and   
             Lewis D. Girod and   
           Michael B. Craig and   
           Samuel R. Madden and   
         John Gregory Morrisett   Design and evaluation of a compiler for
                                  embedded stream programs . . . . . . . . 131--140
             Mounira Bachir and   
       Sid-Ahmed-Ali Touati and   
                   Albert Cohen   Post-pass periodic register allocation
                                  to minimise loop unrolling degree  . . . 141--150
            Bjorn De Sutter and   
                 Paul Coene and   
              Tom Vander Aa and   
                   Bingfeng Mei   Placement-and-routing-based register
                                  allocation for coarse-grained
                                  reconfigurable arrays  . . . . . . . . . 151--160
                    Li Wang and   
                Xuejun Yang and   
               Jingling Xue and   
                    Yu Deng and   
                 Xiaobo Yan and   
                   Tao Tang and   
              Quan Hoang Nguyen   Optimizing scientific application loops
                                  on stream processors . . . . . . . . . . 161--170

ACM SIG{}PLAN Notices
Volume 43, Number 8, August, 2008

            Kathryn S. McKinley   Improving publication quality by
                                  reducing bias with double-blind
                                  reviewing and author response  . . . . . 5--9
              Richard Jones and   
                Steve Blackburn   International Symposium of Memory
                                  Management (ISMM 2008) . . . . . . . . . 12--14
                 Mark W. Bailey   ISMM 2008 paper abstracts  . . . . . . . 15--19

ACM SIG{}PLAN Notices
Volume 43, Number 9, September, 2008

              Butler W. Lampson   Lazy and speculative execution in
                                  computer systems . . . . . . . . . . . . 1--2
                   James Cheney   FLUX: functional updates for XML . . . . 3--14
          Giuseppe Castagna and   
                     Kim Nguyen   Typed iterators for XML  . . . . . . . . 15--26
                  Limin Jia and   
         Jeffrey A. Vaughan and   
               Karl Mazurak and   
              Jianzhou Zhao and   
                 Luke Zarko and   
              Joseph Schorr and   
                Steve Zdancewic   AURA: a programming language for
                                  authorization and audit  . . . . . . . . 27--38
               Nicolas Oury and   
               Wouter Swierstra   The power of Pi  . . . . . . . . . . . . 39--50
             Tom Schrijvers and   
         Simon Peyton Jones and   
         Manuel Chakravarty and   
                Martin Sulzmann   Type checking with open type functions   51--62
         Didier Rémy and   
               Boris Yakobowski   From ML to ML$^F$: graphic type
                                  constraints with efficient type
                                  inference  . . . . . . . . . . . . . . . 63--74
   Louis-Julien Guillemette and   
                 Stefan Monnier   A type-preserving compiler in Haskell    75--86
                  Mark P. Jones   Experience report: playing the DSL card  87--90
                 Fritz Henglein   Generic discrimination: sorting and
                                  partitioning unshared data in linear
                                  time . . . . . . . . . . . . . . . . . . 91--102
        Laura Effinger-Dean and   
              Matthew Kehrt and   
                   Dan Grossman   Transactional events for ML  . . . . . . 103--114
           Christian Convey and   
           Andrew Fredricks and   
         Christopher Gagner and   
            Douglas Maxwell and   
                     Lutz Hamel   Experience report: Erlang in acoustic
                                  ray tracing  . . . . . . . . . . . . . . 115--118
              Matthew Fluet and   
                Mike Rainey and   
                 John Reppy and   
                      Adam Shaw   Implicitly-threaded parallelism in
                                  Manticore  . . . . . . . . . . . . . . . 119--130
                  Olivier Danvy   Defunctionalized interpreters for
                                  programming languages  . . . . . . . . . 131--142
                  Adam Chlipala   Parametric higher-order abstract syntax
                                  for mechanized semantics . . . . . . . . 143--156
                 Amal Ahmed and   
                 Matthias Blume   Typed closure conversion preserves
                                  observational equivalence  . . . . . . . 157--168
           Akimasa Morihata and   
         Kiminori Matsuzaki and   
                Masato Takeichi   Write it recursively: a generic
                                  framework for optimal path queries . . . 169--178
           Michael D. Adams and   
                 R. Kent Dybvig   Efficient nondestructive equality
                                  checking for trees and graphs  . . . . . 179--188
                     Ralf Hinze   Functional pearl: streams and unique
                                  fixed points . . . . . . . . . . . . . . 189--200
          Sebastian Fischer and   
                 Herbert Kuchen   Data-flow testing of declarative
                                  programs . . . . . . . . . . . . . . . . 201--212
  Arthur Charguéraud and   
        François Pottier   Functional translation of a calculus of
                                  capabilities . . . . . . . . . . . . . . 213--224
         Lennart Augustsson and   
             Howard Mansell and   
             Ganesh Sittampalam   Paradise: a two-stage DSL embedded in
                                  Haskell  . . . . . . . . . . . . . . . . 225--228
        Aleksandar Nanevski and   
             Greg Morrisett and   
            Avraham Shinnar and   
              Paul Govereau and   
                  Lars Birkedal   Ynot: dependent types for imperative
                                  programs . . . . . . . . . . . . . . . . 229--240
              Matthew Fluet and   
                Mike Rainey and   
                     John Reppy   A scheduling framework for
                                  general-purpose parallel languages . . . 241--252
          Daniel Spoonhower and   
            Guy E. Blelloch and   
              Robert Harper and   
             Phillip B. Gibbons   Space profiling for parallel functional
                                  programs . . . . . . . . . . . . . . . . 253--264
                  Mark P. Jones   Polymorphism and page tables: systems
                                  programming from a functional
                                  programmer's perspective . . . . . . . . 265--266
               Alexander Krauss   Pattern minimization problems over
                                  recursive data types . . . . . . . . . . 267--274
             David Van Horn and   
               Harry G. Mairson   Deciding $k$ CFA is complete for EXPTIME 275--282
                    Daan Leijen   HMF: simple type inference for
                                  first-class polymorphism . . . . . . . . 283--294
       Dimitrios Vytiniotis and   
          Stephanie Weirich and   
             Simon Peyton Jones   FPH: first-class polymorphism for
                                  Haskell  . . . . . . . . . . . . . . . . 295--306
               Derek Dreyer and   
               Andreas Rossberg   Mixin' up the ML module system . . . . . 307--320
               Ruy Ley-Wild and   
              Matthew Fluet and   
                   Umut A. Acar   Compiling self-adjusting programs with
                                  continuations  . . . . . . . . . . . . . 321--334
          Geoffrey Mainland and   
             Greg Morrisett and   
                     Matt Welsh   Flask: staged functional programming for
                                  sensor networks  . . . . . . . . . . . . 335--346
                  Ravi Nanavati   Experience report: a pure shirt fits . . 347--352
               Sungwoo Park and   
                  Jinha Kim and   
                  Hyeonseung Im   Functional netlists  . . . . . . . . . . 353--366
              Eelco Dolstra and   
                Andres Löh   NixOS: a purely functional Linux
                                  distribution . . . . . . . . . . . . . . 367--378
              David J. Duke and   
                 Rita Borgo and   
             Colin Runciman and   
                Malcolm Wallace   Experience report: visualizing data
                                  through functional pipelines . . . . . . 379--382
           J. Nathan Foster and   
       Alexandre Pilkiewicz and   
             Benjamin C. Pierce   Quotient lenses  . . . . . . . . . . . . 383--396
              Eelco Dolstra and   
              Jurriaan Hage and   
            Bastiaan Heeren and   
          Stefan Holdermans and   
              Johan Jeuring and   
            Andres Löh and   
             Clara Löh and   
            Arie Middelkoop and   
           Alexey Rodriguez and   
                 John van Schie   Report on the Tenth ICFP Programming
                                  Contest  . . . . . . . . . . . . . . . . 397--408

ACM SIG{}PLAN Notices
Volume 43, Number 10, September, 2008

              Darren Willis and   
            David J. Pearce and   
                    James Noble   Caching and incrementalisation in the
                                  Java Query Language  . . . . . . . . . . 1--18
             Ben Wiedermann and   
                Ali Ibrahim and   
                William R. Cook   Interprocedural query extraction for
                                  transparent persistence  . . . . . . . . 19--36
            Zachary Tatlock and   
               Chris Tucker and   
           David Shuffelton and   
               Ranjit Jhala and   
                   Sorin Lerner   Deep typechecking and refactoring  . . . 37--52
               Claudio V. Russo   Join patterns for Visual Basic . . . . . 53--72
                 Joseph Gil and   
                     Itay Maman   Whiteoak: introducing structural typing
                                  into Java  . . . . . . . . . . . . . . . 73--90
         Lennart C. L. Kats and   
          Martin Bravenboer and   
                   Eelco Visser   Mixing source and bytecode: a case for
                                  compilation by normalization . . . . . . 91--108
            Michael D. Bond and   
            Kathryn S. McKinley   Tolerating memory leaks  . . . . . . . . 109--126
              Ajeet Shankar and   
             Matthew Arnold and   
                Rastislav Bodik   Jolt: lightweight dynamic analysis and
                                  removal of object churn  . . . . . . . . 127--142
             Matthew Arnold and   
              Martin Vechev and   
                     Eran Yahav   QVM: an efficient runtime for detecting
                                  defects in deployed systems  . . . . . . 143--162
                  Feng Xian and   
           Witawas Srisa-an and   
                     Hong Jiang   Contention-aware scheduler: unlocking
                                  execution parallelism in multithreaded
                                  Java programs  . . . . . . . . . . . . . 163--180
       Florian T. Schneider and   
                Vijay Menon and   
          Tatiana Shpeisman and   
         Ali-Reza Adl-Tabatabai   Dynamic optimization for efficient
                                  strong atomicity . . . . . . . . . . . . 181--194
                    Yang Ni and   
                  Adam Welc and   
     Ali-Reza Adl-Tabatabai and   
                 Moshe Bach and   
             Sion Berkowits and   
               James Cownie and   
                Robert Geva and   
            Sergey Kozhukow and   
         Ravi Narayanaswamy and   
            Jeffrey Olivier and   
              Serguei Preis and   
                Bratin Saha and   
                    Ady Tal and   
                    Xinmin Tian   Design and implementation of
                                  transactional constructs for C/C++ . . . 195--212
             Dino Distefano and   
        Matthew J. Parkinson J.   jStar: towards practical verification
                                  for Java . . . . . . . . . . . . . . . . 213--226
            Nels E. Beckman and   
             Kevin Bierhoff and   
               Jonathan Aldrich   Verifying correct usage of atomic blocks
                                  and typestate  . . . . . . . . . . . . . 227--244
           Madhu Gopinathan and   
             Sriram K. Rajamani   Enforcing object protocols by combining
                                  static and runtime analysis  . . . . . . 245--260
                 Rick Chern and   
                 Kris De Volder   The impact of static-dynamic coupling on
                                  remodularization . . . . . . . . . . . . 261--276
           Max Schäfer and   
        Torbjörn Ekman and   
                   Oege de Moor   Sound and extensible renaming for Java   277--294
              Wesley Tansey and   
                   Eli Tilevich   Annotation refactoring: inferring
                                  upgrade transformations for legacy
                                  applications . . . . . . . . . . . . . . 295--312
Barthélémy Dagenais and   
                 Laurie Hendren   Enabling static analysis for partial
                                  Java programs  . . . . . . . . . . . . . 313--328
             Pietro Ferrara and   
          Francesco Logozzo and   
               Manuel Fahndrich   Safer unsafe code for .NET . . . . . . . 329--346
            Nomair A. Naeem and   
                  Ondrej Lhotak   Typestate-like analysis of multiple
                                  interacting objects  . . . . . . . . . . 347--366
               Andy Georges and   
            Lieven Eeckhout and   
                 Dries Buytaert   Java performance evaluation through
                                  rigorous replay compilation  . . . . . . 367--384
         Kiyokuni Kawachiya and   
             Kazunori Ogata and   
                 Tamiya Onodera   Analysis and reduction of memory
                                  inefficiencies in Java strings . . . . . 385--402
       Gregory B. Prokopski and   
                Clark Verbrugge   Analyzing the performance of
                                  code-copying virtual machines  . . . . . 403--422
              Adriaan Moors and   
             Frank Piessens and   
                 Martin Odersky   Generics of a higher kind  . . . . . . . 423--438
      Bruno C.d.S. Oliveira and   
                  Meng Wang and   
                 Jeremy Gibbons   The visitor pattern as a reusable,
                                  generic, type-safe component . . . . . . 439--456
          Nathaniel Nystrom and   
             Vijay Saraswat and   
              Jens Palsberg and   
             Christian Grothoff   Constrained types for object-oriented
                                  languages  . . . . . . . . . . . . . . . 457--474
                Ben Bellamy and   
           Pavel Avgustinov and   
               Oege de Moor and   
                  Damien Sereni   Efficient local type inference . . . . . 475--492
           Michael Roberson and   
            Melanie Harries and   
              Paul T. Darga and   
         Chandrasekhar Boyapati   Efficient software model checking of
                                  soundness of type systems  . . . . . . . 493--504
               Daniel Smith and   
              Robert Cartwright   Java type inference is broken: can we
                                  fix it?  . . . . . . . . . . . . . . . . 505--524
             Hans Schippers and   
              Dirk Janssens and   
              Michael Haupt and   
              Robert Hirschfeld   Delegation-based semantics for
                                  modularizing crosscutting concerns . . . 525--542
            Pierre F. Baldi and   
          Cristina V. Lopes and   
           Erik J. Linstead and   
          Sushil K. Bajracharya   A theory of aspects as latent topics . . 543--562
            Radu Muschevici and   
               Alex Potanin and   
               Ewan Tempero and   
                    James Noble   Multiple dispatch in practice  . . . . . 563--582
              Eric Bouillet and   
             Mark Feblowitz and   
                   Zhen Liu and   
          Anand Ranganathan and   
                   Anton Riabov   A tag-based approach for the design and
                                  composition of information processing
                                  applications . . . . . . . . . . . . . . 585--602
       Christopher Simpkins and   
                Sooraj Bhat and   
        Charles Isbell, Jr. and   
                 Michael Mateas   Towards adaptive programming:
                                  integrating reinforcement learning into
                                  a programming language . . . . . . . . . 603--614
             Richard P. Gabriel   Designed as designer . . . . . . . . . . 617--632

ACM SIG{}PLAN Notices
Volume 43, Number 11, November, 2008

                 Mark W. Bailey   SIGPLAN programming language curriculum
                                  workshop: Workshop organization  . . . . 1--6
                 Mark W. Bailey   SIGPLAN programming language curriculum
                                  workshop: Discussion Summaries and
                                  recommendations  . . . . . . . . . . . . 6--29
                 Mark W. Bailey   SIGPLAN programming language curriculum
                                  workshop: Workshop report summary  . . . 29--30
                     Eric Allen   Some things that computer science majors
                                  should know  . . . . . . . . . . . . . . 32--35
                 Mark W. Bailey   Injecting programming language concepts
                                  throughout the curriculum: an inclusive
                                  strategy . . . . . . . . . . . . . . . . 36--38
                Rastislav Bodik   Small languages in an undergraduate
                                  PL/Compiler course . . . . . . . . . . . 39--44
                  Kim Bruce and   
              Stephen N. Freund   Programming languages in a liberal arts
                                  education  . . . . . . . . . . . . . . . 45--49
                  Kim Bruce and   
              Stephen N. Freund   Programming languages as part of core
                                  computer science . . . . . . . . . . . . 50--54
                William R. Cook   High-level problems in teaching
                                  undergraduate programming languages  . . 55--58
             Matthias Felleisen   Why teach programming languages in this
                                  day and age and how to go about it . . . 59--61
                Kathleen Fisher   We need more than one: why students need
                                  a sophisticated understanding of
                                  programming languages  . . . . . . . . . 62--65
                   Kathi Fisler   Implementing domain-specific languages
                                  as the foundation of an honors intro CS
                                  course . . . . . . . . . . . . . . . . . 66--70
                  Robert Harper   Position paper: practical foundations
                                  for programming languages  . . . . . . . 71--73
                   Michael Hind   Addressing the disconnect between the
                                  good and the popular . . . . . . . . . . 74--76
                    John Hughes   Experiences from teaching functional
                                  programming at Chalmers  . . . . . . . . 77--80
          Shriram Krishnamurthi   Teaching programming languages in a
                                  post-Linnaean age  . . . . . . . . . . . 81--83
                    James Larus   PL research and its consequences on PL
                                  curriculum . . . . . . . . . . . . . . . 84--86
                   Doug Lea and   
             David F. Bacon and   
                    David Grove   Languages and performance engineering:
                                  method, instrumentation, and pedagogy    87--92
                Gary T. Leavens   Use concurrent programming models to
                                  motivate teaching of programming
                                  languages  . . . . . . . . . . . . . . . 93--98
                   Lori Pollock   Rethinking pedagogy for teaching PL with
                                  more than PL concepts in mind  . . . . . 99--103
                   Stuart Reges   Marketing the programming languages
                                  course . . . . . . . . . . . . . . . . . 104--107
               John C. Reynolds   Some thoughts on teaching programming
                                  and programming languages  . . . . . . . 108--110
                  Martin Rinard   Using programming language concepts to
                                  teach general thinking skills  . . . . . 111--118
                  Peter Sestoft   Programming language concepts for
                                  software developers  . . . . . . . . . . 119--123
            Mark A. Sheldon and   
                Franklyn Turbak   An aspect-oriented approach to the
                                  undergraduate programming language
                                  curriculum . . . . . . . . . . . . . . . 124--129
                   Olin Shivers   Why teach programming languages  . . . . 130--132
              Mitchell Wand and   
             Daniel P. Friedman   Programming languages: fundamental
                                  concepts for expanding and disciplining
                                  the mind . . . . . . . . . . . . . . . . 133--135

ACM SIG{}PLAN Notices
Volume 43, Number 12, December, 2008

              Marco Pistoia and   
        Úlfar Erlingsson   Workshop on Programming Languages and
                                  Analysis for Security (PLAS 2008)  . . . 3--4
              Marco Pistoia and   
        Úlfar Erlingsson   PLAS 2008 paper abstracts  . . . . . . . 5--8
             Avik Chaudhuri and   
             Prasad Naldurg and   
                Sriram Rajamani   A type system for data-flow integrity on
                                  Windows Vista  . . . . . . . . . . . . . 9--20
               Nikhil Swamy and   
                  Michael Hicks   Verified enforcement of stateful
                                  information release policies . . . . . . 21--31
              Marco Pistoia and   
        Úlfar Erlingsson   Programming languages and program
                                  analysis for security: a three-year
                                  retrospective  . . . . . . . . . . . . . 32--39


ACM SIG{}PLAN Notices
Volume 44, Number 1, January, 2009

                     Tim Harris   Language constructs for transactional
                                  memory . . . . . . . . . . . . . . . . . 1--1
               Tayfun Elmas and   
                Shaz Qadeer and   
                 Serdar Tasiran   A calculus of atomic actions . . . . . . 2--15
             Alexey Gotsman and   
                 Byron Cook and   
          Matthew Parkinson and   
               Viktor Vafeiadis   Proving that non-blocking algorithms
                                  don't block  . . . . . . . . . . . . . . 16--28
               Martin Abadi and   
                 Gordon Plotkin   A model of cooperative threads . . . . . 29--40
                 Dana N. Xu and   
         Simon Peyton Jones and   
                  Koen Claessen   Static contract checking for Haskell . . 41--52
                     Xin Qi and   
                Andrew C. Myers   Masked types for sound object
                                  initialization . . . . . . . . . . . . . 53--65
                    Daan Leijen   Flexible types: robust type inference
                                  for first-class polymorphism . . . . . . 66--77
        Roberto Lublinerman and   
          Christian Szegedy and   
               Stavros Tripakis   Modular code generation from synchronous
                                  block diagrams: modularity vs. code size 78--89
              Gilles Barthe and   
   Benjamin Grégoire and   
Santiago Zanella Béguelin   Formal certification of code-based
                                  cryptographic proofs . . . . . . . . . . 90--101
               Pierre Ganty and   
             Rupak Majumdar and   
             Andrey Rybalchenko   Verifying liveness for asynchronous
                                  programs . . . . . . . . . . . . . . . . 102--113
              Julien Brunel and   
             Damien Doligez and   
  René Rydhof Hansen and   
            Julia L. Lawall and   
                  Gilles Muller   A foundation for flow-based program
                                  matching: using temporal logic and model
                                  checking . . . . . . . . . . . . . . . . 114--126
              Sumit Gulwani and   
           Krishna K. Mehra and   
               Trishul Chilimbi   SPEED: precise and efficient static
                                  estimation of program computational
                                  complexity . . . . . . . . . . . . . . . 127--139
              David P. Monniaux   Automatic modular abstractions for
                                  linear constraints . . . . . . . . . . . 140--151
                   Chris Barker   Wild control operators . . . . . . . . . 152--152
              Ronald Garcia and   
           Andrew Lumsdaine and   
                      Amr Sabry   Lazy evaluation and delimited control    153--164
         Janis Voigtländer   Bidirectionalization for free! (Pearl)   165--176
           Akimasa Morihata and   
         Kiminori Matsuzaki and   
               Zhenjiang Hu and   
                Masato Takeichi   The third homomorphism theorem on trees:
                                  downward & upward lead to
                                  divide-and-conquer . . . . . . . . . . . 177--185
               Ruy Ley-Wild and   
               Umut A. Acar and   
                  Matthew Fluet   A cost semantics for self-adjusting
                                  computation  . . . . . . . . . . . . . . 186--199
             Akihiko Tozawa and   
         Michiaki Tatsubori and   
             Tamiya Onodera and   
              Yasuhiko Minamide   Copy-on-write in the PHP language  . . . 200--212
          Nathan G. Bronson and   
         Christos Kozyrakis and   
                 Kunle Olukotun   Feedback-directed barrier optimization
                                  in a strongly isolated STM . . . . . . . 213--225
              Ben Hardekopf and   
                     Calvin Lin   Semi-sparse flow-sensitive pointer
                                  analysis . . . . . . . . . . . . . . . . 226--238
              Sumit Gulwani and   
                Tal Lev-Ami and   
                    Mooly Sagiv   A combination framework for tracking
                                  partition sizes  . . . . . . . . . . . . 239--251
                   Yin Wang and   
  Stéphane Lafortune and   
              Terence Kelly and   
           Manjunath Kudlur and   
                   Scott Mahlke   The theory of deadlock avoidance via
                                  discrete control . . . . . . . . . . . . 252--263
                  Ross Tate and   
              Michael Stepp and   
            Zachary Tatlock and   
                   Sorin Lerner   Equality saturation: a new approach to
                                  optimization . . . . . . . . . . . . . . 264--276
           Peter A. Jonsson and   
               Johan Nordlander   Positive supercompilation for a higher
                                  order call-by-value language . . . . . . 277--288
         Cristiano Calcagno and   
             Dino Distefano and   
              Peter O'Hearn and   
                  Hongseok Yang   Compositional shape analysis by means of
                                  bi-abduction . . . . . . . . . . . . . . 289--300
                   Alex Simpson   Linear types for computational effects   301--301
              Jeremy Condit and   
              Brian Hackett and   
         Shuvendu K. Lahiri and   
                    Shaz Qadeer   Unifying type checking and property
                                  checking for low-level code  . . . . . . 302--314
                     Xinyu Feng   Local rely-guarantee reasoning . . . . . 315--327
          James Brotherston and   
             Cristiano Calcagno   Classical BI: a logic for reasoning
                                  about dualising resources  . . . . . . . 328--339
                 Amal Ahmed and   
               Derek Dreyer and   
               Andreas Rossberg   State-dependent representation
                                  independence . . . . . . . . . . . . . . 340--353
          Beno\^\it Montagu and   
             Didier Rémy   Modeling abstract types in modules with
                                  open existential types . . . . . . . . . 354--365
    Neelakantan R. Krishnaswami   Focusing on pattern matching . . . . . . 366--378
              Susmit Sarkar and   
               Peter Sewell and   
   Francesco Zappa Nardelli and   
                Scott Owens and   
                  Tom Ridge and   
            Thomas Braibant and   
           Magnus O. Myreen and   
                   Jade Alglave   The semantics of x86-CC multiprocessor
                                  machine code . . . . . . . . . . . . . . 379--391
       Gérard Boudol and   
                  Gustavo Petri   Relaxed memory models: an operational
                                  approach . . . . . . . . . . . . . . . . 392--403
           Rachid Guerraoui and   
                 Michal Kapalka   The semantics of progress in lock-based
                                  transactional memory . . . . . . . . . . 404--415
                Naoki Kobayashi   Types and higher-order recursion schemes
                                  for verification of higher-order
                                  programs . . . . . . . . . . . . . . . . 416--428
                   Thomas Ridge   Verifying distributed systems: the
                                  operational approach . . . . . . . . . . 429--440
           Chris Hawblitzel and   
                   Erez Petrank   Automated verification of practical
                                  garbage collectors . . . . . . . . . . . 441--453

ACM SIG{}PLAN Notices
Volume 44, Number 2, February, 2009

              Oleg Kiselyov and   
               Chung-chieh Shan   Lightweight monadic regions  . . . . . . 1--12
            Alejandro Russo and   
              Koen Claessen and   
                    John Hughes   A library for light-weight
                                  information-flow security in haskell . . 13--24
           Riccardo Pucella and   
                   Jesse A. Tov   Haskell session types with (almost) no
                                  class  . . . . . . . . . . . . . . . . . 25--36
             Colin Runciman and   
             Matthew Naylor and   
               Fredrik Lindblad   SmallCheck and Lazy SmallCheck:
                                  automatic exhaustive testing for small
                                  values . . . . . . . . . . . . . . . . . 37--48
              Neil Mitchell and   
                 Colin Runciman   Not all patterns, but enough: an
                                  automatic verifier for partial but
                                  sufficient pattern matching  . . . . . . 49--60
         Jean-Philippe Bernardy   Yi: an editor in Haskell for Haskell . . 61--62
               Marcos Viera and   
       S. Doaitse Swierstra and   
                 Eelco Lempsink   Haskell, do you read me?: constructing
                                  and composing efficient top-down parsers
                                  at runtime . . . . . . . . . . . . . . . 63--74
                Ki Yung Ahn and   
                     Tim Sheard   Shared subtypes: subtyping recursive
                                  parametrized algebraic data types  . . . 75--86
              Mark P. Jones and   
              Iavor S. Diatchki   Language and program design for
                                  functional dependencies  . . . . . . . . 87--98
       Pericles S. Kariotis and   
            Adam M. Procter and   
            William L. Harrison   Making monads first-class with Template
                                  Haskell  . . . . . . . . . . . . . . . . 99--110
           Alexey Rodriguez and   
              Johan Jeuring and   
             Patrik Jansson and   
                Alex Gerdes and   
              Oleg Kiselyov and   
        Bruno C. d. S. Oliveira   Comparing libraries for generic
                                  programming in haskell . . . . . . . . . 111--122
      Tristan O. R. Allwood and   
                Susan Eisenbach   CLASE: cursor library for a structured
                                  editor . . . . . . . . . . . . . . . . . 123--124
              Duncan Coutts and   
       Isaac Potoczny-Jones and   
                    Don Stewart   Haskell: batteries included  . . . . . . 125--126

ACM SIG{}PLAN Notices
Volume 44, Number 3, March, 2009

               Mark Gebhart and   
          Bertrand A. Maher and   
         Katherine E. Coons and   
               Jeff Diamond and   
                 Paul Gratz and   
               Mario Marino and   
          Nitya Ranganathan and   
           Behnam Robatmili and   
                Aaron Smith and   
              James Burrill and   
         Stephen W. Keckler and   
                Doug Burger and   
            Kathryn S. McKinley   An evaluation of the TRIPS computer
                                  system . . . . . . . . . . . . . . . . . 1--12
          Constantin Pistol and   
     Wutichai Chongchitmate and   
          Christopher Dwyer and   
                Alvin R. Lebeck   Architectural implications of nanoscale
                                  integrated sensing and computing . . . . 13--24
                Soyeon Park and   
                    Shan Lu and   
                  Yuanyuan Zhou   CTrigger: exposing atomicity violation
                                  bugs from their hiding places  . . . . . 25--36
         Stelios Sidiroglou and   
                Oren Laadan and   
               Carlos Perez and   
            Nicolas Viennot and   
                 Jason Nieh and   
           Angelos D. Keromytis   ASSURE: automatic software self-healing
                                  using rescue points  . . . . . . . . . . 37--48
            Andrew Lenharth and   
             Vikram S. Adve and   
                 Samuel T. King   Recovery domains: an organizing
                                  principle for recoverable operating
                                  systems  . . . . . . . . . . . . . . . . 49--60
            Martin Dimitrov and   
                   Huiyang Zhou   Anomaly-based bug prediction, isolation,
                                  and validation: an automated approach
                                  for software debugging . . . . . . . . . 61--72
           Pablo Montesinos and   
              Matthew Hicks and   
             Samuel T. King and   
                Josep Torrellas   Capo: a software-hardware interface for
                                  practical deterministic multiprocessor
                                  replay . . . . . . . . . . . . . . . . . 73--84
            Joseph Devietti and   
              Brandon Lucia and   
                  Luis Ceze and   
                     Mark Oskin   DMP: deterministic shared memory
                                  multiprocessing  . . . . . . . . . . . . 85--96
            Marek Olszewski and   
                Jason Ansel and   
              Saman Amarasinghe   Kendo: efficient deterministic
                                  multithreading in software . . . . . . . 97--108
               Mohit Tiwari and   
        Hassan M. G. Wassel and   
               Bita Mazloom and   
          Shashidhar Mysore and   
          Frederic T. Chong and   
               Timothy Sherwood   Complete information flow tracking from
                                  the gates up . . . . . . . . . . . . . . 109--120
               David K. Tam and   
                 Reza Azimi and   
            Livio B. Soares and   
                  Michael Stumm   RapidMRC: approximating L2 miss rate
                                  curves on commodity systems for online
                                  optimizations  . . . . . . . . . . . . . 121--132
              Stijn Eyerman and   
                Lieven Eeckhout   Per-thread cycle accounting in SMT
                                  processors . . . . . . . . . . . . . . . 133--144
            Owen S. Hofmann and   
    Christopher J. Rossbach and   
                 Emmett Witchel   Maximum benefit from a minimal HTM . . . 145--156
                  Dave Dice and   
                  Yossi Lev and   
                  Mark Moir and   
                Daniel Nussbaum   Early experience with a commercial
                                  hardware transactional memory
                                  implementation . . . . . . . . . . . . . 157--168
            Philip M. Wells and   
        Koushik Chakraborty and   
               Gurindar S. Sohi   Mixed-mode multicore reliability . . . . 169--180
            Sriram Rajamani and   
              G. Ramalingam and   
 Venkatesh Prasad Ranganath and   
                  Kapil Vaswani   ISOLATOR: dynamically ensuring isolation
                                  in concurrent programs . . . . . . . . . 181--192
               Joseph Tucek and   
               Weiwei Xiong and   
                  Yuanyuan Zhou   Efficient online validation with delta
                                  execution  . . . . . . . . . . . . . . . 193--204
              David Meisner and   
              Brian T. Gold and   
              Thomas F. Wenisch   PowerNap: eliminating server idle power  205--216
        Adrian M. Caulfield and   
             Laura M. Grupp and   
                 Steven Swanson   Gordon: using flash memory to build
                                  fast, power-efficient clusters for
                                  data-intensive applications  . . . . . . 217--228
               Aayush Gupta and   
               Youngjae Kim and   
               Bhuvan Urgaonkar   DFTL: a flash translation layer
                                  employing demand-based selective caching
                                  of page-level address mappings . . . . . 229--240
              Farhana Aleen and   
                   Nathan Clark   Commutativity analysis for software
                                  parallelization: letting program
                                  transformations see the big picture  . . 241--252
           M. Aater Suleman and   
                 Onur Mutlu and   
       Moinuddin K. Qureshi and   
                   Yale N. Patt   Accelerating critical section execution
                                  with asymmetric multi-core architectures 253--264
             Todd Mytkowicz and   
                 Amer Diwan and   
         Matthias Hauswirth and   
               Peter F. Sweeney   Producing wrong data without doing
                                  anything obviously wrong!  . . . . . . . 265--276
            Michael D. Bond and   
            Kathryn S. McKinley   Leak pruning . . . . . . . . . . . . . . 277--288
              Michal Wegiel and   
                 Chandra Krintz   Dynamic prediction of collection yield
                                  for managed runtimes . . . . . . . . . . 289--300
              Aravind Menon and   
             Simon Schubert and   
               Willy Zwaenepoel   TwinDrivers: semi-automatic derivation
                                  of fast and safe hypervisor network
                                  drivers from guest OS drivers  . . . . . 301--312
               Ioana Burcea and   
               Andreas Moshovos   Phantom-BTB: a virtualized branch target
                                  buffer design  . . . . . . . . . . . . . 313--324
             Karthik Ramani and   
      Christiaan P. Gribble and   
                       Al Davis   StreamRay: a stream filtering
                                  architecture for coherent ray tracing    325--336
          Robert D. Cameron and   
                        Dan Lin   Architectural support for SWAR text
                                  processing with parallel bit streams:
                                  the inductive doubling principle . . . . 337--348

ACM SIG{}PLAN Notices
Volume 44, Number 4, April, 2009

                Guy E. Blelloch   Parallel thinking  . . . . . . . . . . . 1--2
            Milind Kulkarni and   
           Martin Burtscher and   
           Rajeshkar Inkulu and   
             Keshav Pingali and   
          Calin Casçaval   How much parallelism is there in
                                  irregular applications?  . . . . . . . . 3--14
              Seunghwa Kang and   
                 David A. Bader   An efficient transactional memory
                                  algorithm for computing minimum spanning
                                  forest of sparse graphs  . . . . . . . . 15--24
           Ferad Zyulkyarov and   
           Vladimir Gajinov and   
             Osman S. Unsal and   
      Adrián Cristal and   
      Eduard Ayguadé and   
                 Tim Harris and   
                   Mateo Valero   Atomic quake: using transactional memory
                                  in an interactive multiplayer game
                                  server . . . . . . . . . . . . . . . . . 25--34
                    Siu Yau and   
           Vijay Karamcheti and   
                Denis Zorin and   
          Kostadin Damevski and   
               Steven G. Parker   Application-aware management of parallel
                                  simulation collections . . . . . . . . . 35--44
           Maged M. Michael and   
           Martin T. Vechev and   
              Vijay A. Saraswat   Idempotent work stealing . . . . . . . . 45--54
            Tasuku Hiraishi and   
            Masahiro Yasugi and   
              Seiji Umatani and   
                  Taiichi Yuasa   Backtracking-based load balancing  . . . 55--64
                    Tong Li and   
             Dan Baumberger and   
                     Scott Hahn   Efficient and scalable multiprocessor
                                  fair scheduling using distributed
                                  weighted round-robin . . . . . . . . . . 65--74
                 Zheng Wang and   
          Michael F. P. O'Boyle   Mapping parallelism to multi-cores: a
                                  machine learning based approach  . . . . 75--84
           Matthew D. Allen and   
          Srinath Sridharan and   
               Gurindar S. Sohi   Serialization sets: a dynamic
                                  dependence-based parallel execution
                                  model  . . . . . . . . . . . . . . . . . 85--96
                   Mark D. Hill   Opportunities beyond single-core
                                  microprocessors  . . . . . . . . . . . . 97--97
                   Yale N. Patt   Multi-core demands multi-interfaces  . . 99--100
                 Seyong Lee and   
              Seung-Jai Min and   
               Rudolf Eigenmann   OpenMP to GPGPU: a compiler framework
                                  for automatic translation and
                                  optimization . . . . . . . . . . . . . . 101--110
                Xuejun Yang and   
                    Li Wang and   
               Jingling Xue and   
                    Yu Deng and   
                     Ying Zhang   Comparability graph coloring for
                                  optimizing utilization of stream
                                  register files in stream processors  . . 111--120
Gregorio Quintana-Ortí and   
         Francisco D. Igual and   
Enrique S. Quintana-Ortí and   
         Robert A. van de Geijn   Solving dense linear systems on
                                  platforms with multiple hardware
                                  accelerators . . . . . . . . . . . . . . 121--130
            Scott Schneider and   
             Jae-Seung Yeom and   
              Benjamin Rose and   
            John C. Linford and   
               Adrian Sandu and   
      Dimitrios S. Nikolopoulos   A comparison of programming models for
                                  multiprocessors with explicitly managed
                                  memory hierarchies . . . . . . . . . . . 131--140
           Michael F. Spear and   
           Luke Dalessandro and   
        Virendra J. Marathe and   
               Michael L. Scott   A comprehensive strategy for contention
                                  management in software transactional
                                  memory . . . . . . . . . . . . . . . . . 141--150
              Kunal Agrawal and   
        I-Ting Angelina Lee and   
                      Jim Sukha   Safe open-nested transactions through
                                  ownership  . . . . . . . . . . . . . . . 151--162
            Hany E. Ramadan and   
               Indrajit Roy and   
            Maurice Herlihy and   
                 Emmett Witchel   Committing conflicting transactions in
                                  an STM . . . . . . . . . . . . . . . . . 163--172
       Paruj Ratanaworabhan and   
           Martin Burtscher and   
             Darko Kirovski and   
              Benjamin Zorn and   
               Rahul Nagpal and   
           Karthik Pattabiraman   Detecting and tolerating asymmetric
                                  races  . . . . . . . . . . . . . . . . . 173--184
        Martín Abadi and   
                 Tim Harris and   
                Mojtaba Mehrara   Transactional memory with strong
                                  atomicity using off-the-shelf memory
                                  protection hardware  . . . . . . . . . . 185--196
      Parthasarathy Ranganathan   Industrial perspectives panel  . . . . . 197--197
          Alexandru Nicolau and   
              Guangqiang Li and   
                 Arun Kejariwal   Techniques for efficient placement of
                                  synchronization primitives . . . . . . . 199--208
              Seung Woo Son and   
            Mahmut Kandemir and   
            Mustafa Karakoy and   
             Dhruva Chakrabarti   A compiler-directed data prefetching
                                  scheme for chip multiprocessors  . . . . 209--218
  Muthu Manikandan Baskaran and   
Nagavijayalakshmi Vydyanathan and   
Uday Kumar Reddy Bondhugula and   
               J. Ramanujam and   
             Atanas Rountev and   
                  P. Sadayappan   Compiler-assisted dynamic scheduling for
                                  effective parallelization of loop nests
                                  on multicore processors  . . . . . . . . 219--228
          Nathan R. Tallent and   
         John M. Mellor-Crummey   Effective performance measurement and
                                  analysis of multithreaded applications   229--240
            Michael Kistler and   
               John Gunnels and   
         Daniel Brokenshire and   
                    Brad Benton   Petascale computing with accelerators    241--250
                  Ruini Xue and   
               Xuezheng Liu and   
                    Ming Wu and   
                 Zhenyu Guo and   
              Wenguang Chen and   
               Weimin Zheng and   
                Zheng Zhang and   
               Geoffrey Voelker   MPIWiz: subgroup reproducible replay of
                                  MPI applications . . . . . . . . . . . . 251--260
                     Anh Vo and   
         Sarvani Vakkalanka and   
             Michael DeLisi and   
      Ganesh Gopalakrishnan and   
            Robert M. Kirby and   
                  Rajeev Thakur   Formal verification of practical MPI
                                  programs . . . . . . . . . . . . . . . . 261--270
           Ganesh Bikshandi and   
           Jose G. Castanos and   
         Sreedhar B. Kodali and   
       V. Krishna Nandivada and   
             Igor Peshansky and   
          Vijay A. Saraswat and   
               Sayantan Sur and   
              Pradeep Varma and   
                       Tong Wen   Efficient, portable implementation of
                                  asynchronous multi-place programs  . . . 271--282
                 Jack B. Dennis   How to build programmable multi-core
                                  chips  . . . . . . . . . . . . . . . . . 283--284
               Guoping Long and   
                Dongrui Fan and   
                  Junchao Zhang   Architectural support for Cilk
                                  computations on many-core architectures  285--286
                 Wenjing Ma and   
                  Gagan Agrawal   A compiler and runtime system for
                                  enabling data mining applications on
                                  GPUs . . . . . . . . . . . . . . . . . . 287--288
                  Lei Huang and   
          Deepak Eachempati and   
           Marcus W. Hervey and   
                Barbara Chapman   Exploiting global optimizations for
                                  OpenMP programs in the OpenUH compiler   289--290
                Haris Volos and   
                  Adam Welc and   
     Ali-Reza Adl-Tabatabai and   
          Tatiana Shpeisman and   
                Xinmin Tian and   
             Ravi Narayanaswamy   NePalTM: design and implementation of
                                  nested parallelism for transactional
                                  memory systems . . . . . . . . . . . . . 291--292
             Arun Kejariwal and   
          Calin Casçaval   Parallelization spectroscopy: analysis
                                  of thread-level parallelism in HPC
                                  programs . . . . . . . . . . . . . . . . 293--294
             Phuong Hoai Ha and   
           Philippas Tsigas and   
                 Otto J. Anshus   Preliminary results on NB-FEB, a
                                  synchronization primitive for parallel
                                  programming  . . . . . . . . . . . . . . 295--296
               Alokika Dash and   
                   Brian Demsky   Software transactional distributed
                                  shared memory  . . . . . . . . . . . . . 297--298
                    Ke Yang and   
               Bingsheng He and   
                  Qiong Luo and   
            Pedro V. Sander and   
                   Jiaoying Shi   Stack-based parallel recursion on
                                  graphics processors  . . . . . . . . . . 299--300
     Abhinav Bhatelé and   
                  Eric Bohm and   
       Laxmikant V. Kalé   Topology aware task mapping techniques:
                                  an API and case study  . . . . . . . . . 301--302
         Shane A. Markstrum and   
           Robert M. Fuhrer and   
              Todd D. Millstein   Towards concurrency refactoring for X10  303--304
           Stephen L. Scott and   
        Christian Engelmann and   
  Geoffroy R. Vallée and   
            Thomas Naughton and   
            Anand Tikotekar and   
          George Ostrouchov and   
       Chokchai Leangsuksun and   
     Nichamon Naksinehaboon and   
                Raja Nassar and   
               Mihaela Paun and   
              Frank Mueller and   
                  Chao Wang and   
          Arun B. Nagarajan and   
                 Jyothish Varma   A tunable holistic resiliency approach
                                  for high-performance computing systems   305--306
    Chinmay Eishan Kulkarni and   
                Osman Unsal and   
      Adrián Cristal and   
      Eduard Ayguadé and   
                   Mateo Valero   Turbocharging boosted transactions or:
                                  how I learnt to stop worrying and love
                                  longer transactions  . . . . . . . . . . 307--308

ACM SIG{}PLAN Notices
Volume 44, Number 5, May, 2009

               Jade Alglave and   
                Anthony Fox and   
              Samin Ishtiaq and   
           Magnus O. Myreen and   
              Susmit Sarkar and   
               Peter Sewell and   
       Francesco Zappa Nardelli   The semantics of power and ARM
                                  multiprocessor machine code (abstract
                                  only)  . . . . . . . . . . . . . . . . . 8--8
              Lukasz Ziarek and   
         Suresh Jagannathan and   
              Matthew Fluet and   
                   Umut A. Acar   Speculative $N$-way barriers (abstract
                                  only)  . . . . . . . . . . . . . . . . . 8--8
   Abdallah Deeb I. Al Zain and   
              Kevin Hammond and   
              Jost Berthold and   
               Phil Trinder and   
            Greg Michaelson and   
                  Mustafa Aswad   Low-pain, high-gain multicore
                                  programming in Haskell: coordinating
                                  irregular symbolic computations on
                                  multicore architectures (abstract only)  8--9
             Zoran Budimlic and   
Aparna M. Chandramowlishwaran and   
             Kathleen Knobe and   
            Geoff N. Lowney and   
               Vivek Sarkar and   
                  Leo Treggiari   Declarative aspects of memory management
                                  in the concurrent collections parallel
                                  programming model (abstract only)  . . . 9--9
            Martin Sulzmann and   
           Edmund S. L. Lam and   
                   Simon Marlow   Comparing the performance of concurrent
                                  linked-list implementations in Haskell
                                  (abstract only)  . . . . . . . . . . . . 9--9
             Stephan Herhut and   
           Sven-Bodo Scholz and   
                 Clemens Grelck   Controlling chaos: on safe side-effects
                                  in data-parallel operations (abstract
                                  only)  . . . . . . . . . . . . . . . . . 9--10
            Martin Sulzmann and   
           Edmund S. L. Lam and   
                   Simon Marlow   Comparing the performance of concurrent
                                  linked-list implementations in Haskell   11--20

ACM SIG{}PLAN Notices
Volume 44, Number 6, June, 2009

         Suriya Subramanian and   
              Michael Hicks and   
            Kathryn S. McKinley   Dynamic software updates: a VM-centric
                                  approach . . . . . . . . . . . . . . . . 1--12
             Iulian Neamtiu and   
                  Michael Hicks   Safe and timely updates to
                                  multi-threaded programs  . . . . . . . . 13--24
          Matthew A. Hammer and   
               Umut A. Acar and   
                       Yan Chen   CEAL: a C-based language for
                                  self-adjusting computation . . . . . . . 25--37
                Jason Ansel and   
                    Cy Chan and   
               Yee Lok Wong and   
            Marek Olszewski and   
                   Qin Zhao and   
               Alan Edelman and   
              Saman Amarasinghe   PetaBricks: a language and compiler for
                                  algorithmic choice . . . . . . . . . . . 38--49
                 Ravi Chugh and   
         Jeffrey A. Meister and   
               Ranjit Jhala and   
                   Sorin Lerner   Staged information flow for JavaScript   50--62
               Indrajit Roy and   
           Donald E. Porter and   
            Michael D. Bond and   
        Kathryn S. McKinley and   
                 Emmett Witchel   Laminar: practical fine-grained
                                  decentralized information flow control   63--74
          Benjamin Livshits and   
             Aditya V. Nori and   
         Sriram K. Rajamani and   
               Anindya Banerjee   Merlin: specification inference for
                                  explicit information flow problems . . . 75--86
                 Omer Tripp and   
              Marco Pistoia and   
            Stephen J. Fink and   
             Manu Sridharan and   
                   Omri Weisman   TAJ: effective taint analysis of web
                                  applications . . . . . . . . . . . . . . 87--97
        Zachary R. Anderson and   
                  David Gay and   
                     Mayur Naik   Lightweight annotations for controlling
                                  sharing in concurrent data structures    98--109
              Pallavi Joshi and   
             Chang-Seo Park and   
                Koushik Sen and   
                     Mayur Naik   A randomized dynamic program analysis
                                  technique for detecting real deadlocks   110--120
            Cormac Flanagan and   
              Stephen N. Freund   FastTrack: efficient and precise dynamic
                                  race detection . . . . . . . . . . . . . 121--133
              Daniel Marino and   
         Madanlal Musuvathi and   
            Satish Narayanasamy   LiteRace: effective sampling for
                                  lightweight data-race detection  . . . . 134--143
               Erez Petrank and   
         Madanlal Musuvathi and   
             Bjarne Steensgaard   Progress guarantee for parallel programs
                                  via bounded lock-freedom . . . . . . . . 144--154
    Aleksandar Dragojevi\'c and   
           Rachid Guerraoui and   
                 Michal Kapalka   Stretching transactional memory  . . . . 155--165
            Mojtaba Mehrara and   
                   Jeff Hao and   
                Po-Chun Hsu and   
                   Scott Mahlke   Parallelizing sequential applications on
                                  commodity hardware using a low-cost
                                  software transactional memory  . . . . . 166--176
       Georgios Tournavitis and   
                 Zheng Wang and   
          Björn Franke and   
          Michael F. P. O'Boyle   Towards a holistic approach to
                                  auto-parallelization: integrating
                                  profile-driven parallelism detection and
                                  machine-learning based mapping . . . . . 177--187
          Pieter Hooimeijer and   
                 Westley Weimer   A decision procedure for subset
                                  constraints over regular languages . . . 188--198
     August C. Schwerdfeger and   
                Eric R. Van Wyk   Verifiable composition of deterministic
                                  grammars . . . . . . . . . . . . . . . . 199--210
         Salvatore La Torre and   
   Madhusudan Parthasarathy and   
                Gennaro Parlato   Analyzing recursive programs using a
                                  fixed-point calculus . . . . . . . . . . 211--222
         Saurabh Srivastava and   
                  Sumit Gulwani   Program verification using templates
                                  over predicate abstraction . . . . . . . 223--234
      Edward E. Aftandilian and   
                Samuel Z. Guyer   GC assertions: using the garbage
                                  collector to check heap properties . . . 235--244
        Santosh Nagarakatte and   
              Jianzhou Zhao and   
          Milo M. K. Martin and   
                Steve Zdancewic   SoftBound: highly compatible and
                                  complete spatial memory safety for C . . 245--258
                    Yutaka Oiwa   Implementation of the memory-safe full
                                  ANSI-C compiler  . . . . . . . . . . . . 259--269
Cindy Rubio-González and   
          Haryadi S. Gunawi and   
                 Ben Liblit and   
    Remzi H. Arpaci-Dusseau and   
       Andrea C. Arpaci-Dusseau   Error propagation analysis for file
                                  systems  . . . . . . . . . . . . . . . . 270--280
                     Xin Qi and   
                Andrew C. Myers   Sharing classes between families . . . . 281--292
             Tillman Rendel and   
            Klaus Ostermann and   
                Christian Hofer   Typed self-representation  . . . . . . . 293--303
             Ming Kawaguchi and   
             Patrick Rondon and   
                   Ranjit Jhala   Type-based data structure verification   304--315
      Jean-Baptiste Tristan and   
                   Xavier Leroy   Verified validation of lazy code motion  316--326
              Sudipta Kundu and   
            Zachary Tatlock and   
                   Sorin Lerner   Proving optimizations correct using
                                  parameterized program equivalence  . . . 327--337
                  Karen Zee and   
              Viktor Kuncak and   
               Martin C. Rinard   An integrated proof language for
                                  imperative programs  . . . . . . . . . . 338--351
            Tristan Ravitch and   
              Steve Jackson and   
              Eric Aderhold and   
                     Ben Liblit   Automatic generation of library bindings
                                  using static analysis  . . . . . . . . . 352--362
             Satish Chandra and   
            Stephen J. Fink and   
                 Manu Sridharan   Snugglebug: a powerful approach to
                                  weakest preconditions  . . . . . . . . . 363--374
              Sumit Gulwani and   
                 Sagar Jain and   
                  Eric Koskinen   Control-flow refinement and progress
                                  invariants for bound analysis  . . . . . 375--385
              Hiroshi Inoue and   
            Hideaki Komatsu and   
                Toshio Nakatani   A study of memory management for
                                  Web-based applications on multicore
                                  processors . . . . . . . . . . . . . . . 386--396
                Gene Novark and   
            Emery D. Berger and   
               Benjamin G. Zorn   Efficiently and precisely locating
                                  memory leaks and bloat . . . . . . . . . 397--407
               Ohad Shacham and   
              Martin Vechev and   
                     Eran Yahav   Chameleon: adaptive selection of
                                  collections  . . . . . . . . . . . . . . 408--418
                 Guoqing Xu and   
             Matthew Arnold and   
              Nick Mitchell and   
             Atanas Rountev and   
                  Gary Sevitsky   Go with the flow: profiling copies to
                                  find runtime bloat . . . . . . . . . . . 419--430
                Bratin Saha and   
             Xiaocheng Zhou and   
                    Hu Chen and   
                   Ying Gao and   
               Shoumeng Yan and   
          Mohan Rajagopalan and   
                 Jesse Fang and   
               Peinan Zhang and   
                Ronny Ronen and   
                  Avi Mendelson   Programming model for a heterogeneous
                                  x86 platform . . . . . . . . . . . . . . 431--440
          Nathan R. Tallent and   
     John M. Mellor-Crummey and   
               Michael W. Fagan   Binary analysis for measurement and
                                  attribution of program performance . . . 441--452
           Kevin J. Hoffman and   
            Patrick Eugster and   
             Suresh Jagannathan   Semantics-aware trace analysis . . . . . 453--464
                Andreas Gal and   
               Brendan Eich and   
                Mike Shaver and   
             David Anderson and   
             David Mandelin and   
      Mohammad R. Haghighat and   
               Blake Kaplan and   
              Graydon Hoare and   
              Boris Zbarsky and   
            Jason Orendorff and   
             Jesse Ruderman and   
             Edwin W. Smith and   
             Rick Reitmaier and   
           Michael Bebenita and   
                Mason Chang and   
                  Michael Franz   Trace-based just-in-time type
                                  specialization for dynamic languages . . 465--478

ACM SIG{}PLAN Notices
Volume 44, Number 7, July, 2009

            Eric J. Stotzer and   
                 Ernst L. Leiss   Modulo scheduling without overlapped
                                  lifetimes  . . . . . . . . . . . . . . . 1--10
                 Paul Caspi and   
   Jean-Louis Colaço and   
Léonard Gérard and   
                Marc Pouzet and   
                 Pascal Raymond   Synchronous objects with scheduling
                                  policies: introducing safe shared memory
                                  in Lustre  . . . . . . . . . . . . . . . 11--20
                 Taewook Oh and   
             Bernhard Egger and   
              Hyunchul Park and   
                   Scott Mahlke   Recurrence cycle aware modulo scheduling
                                  for coarse-grained reconfigurable
                                  architectures  . . . . . . . . . . . . . 21--30
                    Jia Zou and   
            Joshua Auerbach and   
             David F. Bacon and   
                  Edward A. Lee   PTIDES on flexible task graph: real-time
                                  embedded system building from theory to
                                  practice . . . . . . . . . . . . . . . . 31--40
                Jongeun Lee and   
             Aviral Shrivastava   A compiler optimization to reduce soft
                                  errors in register files . . . . . . . . 41--49
               Hugh Leather and   
            Michael O'Boyle and   
                   Bruce Worton   Raced profiles: efficient selection of
                                  competing compiler optimizations . . . . 50--59
                Xuejun Yang and   
           Nathan Cooprider and   
                    John Regehr   Eliminating the call stack to save RAM   60--69
             Sandrine Blazy and   
               Benoit Robillard   Live-range unsplitting for faster
                                  optimal coalescing . . . . . . . . . . . 70--79
               Abhik Sarkar and   
              Frank Mueller and   
          Harini Ramaprasad and   
                    Sibin Mohan   Push-assisted migration of real-time
                                  tasks in multi-core processors . . . . . 80--89
            Jennifer Mankin and   
                David Kaeli and   
                    John Ardini   Software transactional memory for
                                  multicore embedded systems . . . . . . . 90--98
             Abhishek Udupa and   
            R. Govindarajan and   
     Matthew J. Thazhuthaveetil   Synergistic execution of stream programs
                                  on multicores with accelerators  . . . . 99--108
               Thomas Heinz and   
               Reinhard Wilhelm   Towards device emulation code generation 109--118
     Stephen Roderick Hines and   
               Yuval Peress and   
                Peter Gavin and   
              David Whalley and   
                     Gary Tyson   Guaranteeing instruction fetch behavior
                                  with a Lookahead Instruction Fetch
                                  Engine (LIFE)  . . . . . . . . . . . . . 119--128
          Paul E. McKechnie and   
             Michaela Blott and   
          Wim A. Vanderbauwhede   Debugging FPGA-based packet processing
                                  systems through transaction-level
                                  communication-centric monitoring . . . . 129--136
           Giovani Gracioli and   
         Sebastian Fischmeister   Tracing interrupts in embedded software  137--146
              Ryan W. Moore and   
    José A. Baiocchi and   
          Bruce R. Childers and   
           Jack W. Davidson and   
                 Jason D. Hiser   Addressing the challenges of DBT for the
                                  ARM architecture . . . . . . . . . . . . 147--156
             Colin J. Fidge and   
                   Diane Corney   Integrating hardware and software
                                  information flow analyses  . . . . . . . 157--166
       Charles André and   
  Frédéric Mallet   Specification and verification of time
                                  requirements with CCSL and Esterel . . . 167--176

ACM SIG{}PLAN Notices
Volume 44, Number 8, August, 2009

                 Avik Chaudhuri   Language-based security on Android
                                  (abstract only)  . . . . . . . . . . . . 4--4
           Brian W. DeVries and   
                Gopal Gupta and   
            Kevin W. Hamlen and   
                Scott Moore and   
                  Meera Sridhar   ActionScript bytecode verification with
                                  co-logic programming (abstract only) . . 4--4
                  Limin Jia and   
                Steve Zdancewic   Encoding information flow in AURA
                                  (abstract only)  . . . . . . . . . . . . 4--4
           Daniel Wasserrab and   
               Denis Lohner and   
                Gregor Snelting   On PDG-based noninterference and its
                                  modular proof (abstract only)  . . . . . 4--5
              Aslan Askarov and   
               Andrei Sabelfeld   Catch me if you can: permissive yet
                                  secure error handling (abstract only)    5--5
              Musard Balliu and   
             Isabella Mastroeni   A weakest precondition approach to
                                  active attacks analysis (abstract only)  5--5
              James Newsome and   
           Stephen McCamant and   
                      Dawn Song   Measuring channel capacity to
                                  distinguish undue influence (abstract
                                  only)  . . . . . . . . . . . . . . . . . 5--5
           Thomas H. Austin and   
                Cormac Flanagan   Efficient purely-dynamic information
                                  flow analysis (abstract only)  . . . . . 6--6
            Arnar Birgisson and   
        Úlfar Erlingsson   An implementation and semantics for
                                  transactional memory introspection in
                                  Haskell (abstract only)  . . . . . . . . 6--6
             Niklas Broberg and   
                    David Sands   Flow-sensitive semantics for dynamic
                                  information flow policies (abstract
                                  only)  . . . . . . . . . . . . . . . . . 6--6
            Avraham Shinnar and   
              Marco Pistoia and   
               Anindya Banerjee   A language for information flow: dynamic
                                  tracking in multiple interdependent
                                  dimensions (abstract only) . . . . . . . 6--6
                  Limin Jia and   
                Steve Zdancewic   Encoding information flow in AURA  . . . 7--19
           Thomas H. Austin and   
                Cormac Flanagan   Efficient purely-dynamic information
                                  flow analysis  . . . . . . . . . . . . . 20--31

ACM SIG{}PLAN Notices
Volume 44, Number 9, September, 2009

             Guy L. Steele, Jr.   Organizing functional code for parallel
                                  execution or, foldl and foldr considered
                                  slightly harmful . . . . . . . . . . . . 1--2
                     Ralf Hinze   Functional pearl: la tour d'Hano\"\i . . 3--10
          Sebastian Fischer and   
              Oleg Kiselyov and   
               Chung-chieh Shan   Purely functional lazy non-deterministic
                                  programming  . . . . . . . . . . . . . . 11--22
            Neil Sculthorpe and   
                 Henrik Nilsson   Safe functional reactive programming
                                  through dependent types  . . . . . . . . 23--34
                    Hai Liu and   
                 Eric Cheng and   
                     Paul Hudak   Causal commutative arrows and their
                                  optimization . . . . . . . . . . . . . . 35--46
         Matthias Felleisen and   
       Robert Bruce Findler and   
              Matthew Flatt and   
          Shriram Krishnamurthi   A functional I/O system or, fun for
                                  freshman kids  . . . . . . . . . . . . . 47--58
             Ryan R. Newton and   
                      Teresa Ko   Experience report: embedded, parallel
                                  computer-vision with a functional DSL    59--64
               Simon Marlow and   
         Simon Peyton Jones and   
                   Satnam Singh   Runtime support for multicore Haskell    65--78
              Adam Chlipala and   
            Gregory Malecha and   
             Greg Morrisett and   
            Avraham Shinnar and   
                  Ryan Wisnesky   Effective interactive proofs for
                                  higher-order imperative programs . . . . 79--90
               Gerwin Klein and   
              Philip Derrin and   
              Kevin Elphinstone   Experience report: seL4: formally
                                  verifying a high-performance microkernel 91--96
                Nick Benton and   
                  Chung-Kil Hur   Biorthogonality, step-indexing and
                                  compiler correctness . . . . . . . . . . 97--108
              Matthew Flatt and   
               Eli Barzilay and   
           Robert Bruce Findler   Scribble: closing the book on ad hoc
                                  documentation tools  . . . . . . . . . . 109--120
             Benjamin C. Pierce   Lambda, the ultimate TA: using a proof
                                  assistant to teach programming language
                                  foundations  . . . . . . . . . . . . . . 121--122
           Daniel R. Licata and   
                  Robert Harper   A universe of binding and computation    123--134
                 Georg Neis and   
               Derek Dreyer and   
               Andreas Rossberg   Non-parametric parametricity . . . . . . 135--148
              Koen Claessen and   
               Michal Palka and   
         Nicholas Smallbone and   
                John Hughes and   
              Hans Svensson and   
                Thomas Arts and   
                      Ulf Wiger   Finding race conditions in Erlang with
                                  QuickCheck and PULSE . . . . . . . . . . 149--160
              Lukasz Ziarek and   
        KC Sivaramakrishnan and   
             Suresh Jagannathan   Partial memoization of concurrency and
                                  communication  . . . . . . . . . . . . . 161--172
         Janis Voigtländer   Free theorems involving type constructor
                                  classes: functional pearl  . . . . . . . 173--184
                Curt J. Sampson   Experience report: Haskell in the `real
                                  world': writing a commercial application
                                  in a lazy functional language  . . . . . 185--190
               Conal M. Elliott   Beautiful differentiation  . . . . . . . 191--202
          Thomas Gazagnaire and   
                Vincent Hanquez   OXenstored: an efficient hierarchical
                                  and transactional database using
                                  functional programming with reference
                                  cell comparisons . . . . . . . . . . . . 203--214
               Bruno Pagano and   
            Olivier Andrieu and   
              Thomas Moniot and   
             Benjamin Canou and   
         Emmanuel Chailloux and   
              Philippe Wang and   
             Pascal Manoury and   
       Jean-Louis Colaço   Experience report: using objective caml
                                  to develop safety-critical embedded
                                  tools in a certification framework . . . 215--220
           Pierre Genev\`es and   
           Nabil Laya\"\ida and   
                  Vincent Quint   Identifying query incompatibilities with
                                  evolving XML schemas . . . . . . . . . . 221--230
                  Dan P. Piponi   Commutative monads, diagrams and knots   231--232
  Alexey Rodriguez Yakushev and   
          Stefan Holdermans and   
            Andres Löh and   
                  Johan Jeuring   Generic programming with fixed points
                                  for mutually recursive datatypes . . . . 233--244
               Marcos Viera and   
       S. Doaitse Swierstra and   
               Wouter Swierstra   Attribute grammars fly first-class: how
                                  to do aspect oriented programming in
                                  Haskell  . . . . . . . . . . . . . . . . 245--256
                 John Reppy and   
           Claudio V. Russo and   
                    Yingqi Xiao   Parallel concurrent ML . . . . . . . . . 257--268
                 Avik Chaudhuri   A concurrent ML library in concurrent
                                  Haskell  . . . . . . . . . . . . . . . . 269--280
                Pascal Cuoq and   
            Julien Signoles and   
             Patrick Baudin and   
           Richard Bonichon and   
        Géraud Canet and   
          Lo\"\ic Correnson and   
            Benjamin Monate and   
           Virgile Prevosto and   
                Armand Puccetti   Experience report: OCaml for an
                                  industrial-strength static analysis
                                  framework  . . . . . . . . . . . . . . . 281--286
              Jan Midtgaard and   
               Thomas P. Jensen   Control-flow analysis of function calls
                                  and returns by abstract interpretation   287--298
                Jay A. McCarthy   Automatically RESTful web applications:
                                  marking modular serializable
                                  continuations  . . . . . . . . . . . . . 299--310
              Vincent Balat and   
Jérôme Vouillon and   
               Boris Yakobowski   Experience report: ocsigen, a web
                                  programming framework  . . . . . . . . . 311--316
                Tiark Rompf and   
                 Ingo Maier and   
                 Martin Odersky   Implementing first-class polymorphic
                                  delimited continuations by a
                                  type-directed selective CPS-transform    317--328
               Nikhil Swamy and   
              Michael Hicks and   
               Gavin M. Bierman   A theory of typed coercions and its
                                  applications . . . . . . . . . . . . . . 329--340
             Tom Schrijvers and   
         Simon Peyton Jones and   
            Martin Sulzmann and   
           Dimitrios Vytiniotis   Complete and decidable type inference
                                  for GADTs  . . . . . . . . . . . . . . . 341--352

ACM SIG{}PLAN Notices
Volume 44, Number 10, October, 2009

          Leo A. Meyerovich and   
                 Arjun Guha and   
               Jacob Baskin and   
          Gregory H. Cooper and   
          Michael Greenberg and   
            Aleks Bromfield and   
          Shriram Krishnamurthi   Flapjax: a programming language for Ajax
                                  applications . . . . . . . . . . . . . . 1--20
             Donna Malayeri and   
               Jonathan Aldrich   CZ: multiple inheritance without
                                  diamonds . . . . . . . . . . . . . . . . 21--40
           Roland Ducournau and   
    Floréal Morandat and   
                    Jean Privat   Empirical assessment of object-oriented
                                  implementations with multiple
                                  inheritance and static typing  . . . . . 41--60
        Roberto Lublinerman and   
           Swarat Chaudhuri and   
                    Pavol Cerny   Parallel programming with object
                                  assemblies . . . . . . . . . . . . . . . 61--80
            Emery D. Berger and   
                  Ting Yang and   
               Tongping Liu and   
                    Gene Novark   Grace: safe multithreaded programming
                                  for C/C++  . . . . . . . . . . . . . . . 81--96
    Robert L. Bocchino, Jr. and   
             Vikram S. Adve and   
                  Danny Dig and   
             Sarita V. Adve and   
            Stephen Heumann and   
         Rakesh Komuravelli and   
            Jeffrey Overbey and   
            Patrick Simmons and   
                Hyojin Sung and   
                Mohsen Vakilian   A type and effect system for
                                  deterministic parallel Java  . . . . . . 97--116
                 Bard Bloom and   
                 John Field and   
          Nathaniel Nystrom and   
         Johan Östlund and   
            Gregor Richards and   
              Rok Strni\vsa and   
                  Jan Vitek and   
                Tobias Wrigstad   Thorn: robust, concurrent, extensible
                                  scripting on the JVM . . . . . . . . . . 117--136
              Hiroshi Inoue and   
                Toshio Nakatani   How a Java VM can get more from a
                                  hardware performance monitor . . . . . . 137--154
                 Jungwoo Ha and   
             Matthew Arnold and   
       Stephen M. Blackburn and   
            Kathryn S. McKinley   A concurrent dynamic analysis framework
                                  for multicore hardware . . . . . . . . . 155--174
             Todd Mytkowicz and   
             Devin Coughlin and   
                     Amer Diwan   Inferred call path profiling . . . . . . 175--190
           Philippe Charles and   
           Robert M. Fuhrer and   
     Stanley M. Sutton, Jr. and   
         Evelyn Duesterwald and   
                   Jurgen Vinju   Accelerating the creation of customized,
                                  language-Specific IDEs in Eclipse  . . . 191--206
            Byeongcheol Lee and   
              Martin Hirzel and   
               Robert Grimm and   
            Kathryn S. McKinley   Debug all your code: portable
                                  mixed-environment debugging  . . . . . . 207--226
                Daan Leijen and   
            Wolfram Schulte and   
           Sebastian Burckhardt   The design of a task parallel library    227--242
          Martin Bravenboer and   
             Yannis Smaragdakis   Strictly declarative specification of
                                  sophisticated points-to analyses . . . . 243--262
               Chieri Saito and   
               Atsushi Igarashi   Self type constructors . . . . . . . . . 263--282
               Michael Furr and   
       Jong-hoon (David) An and   
              Jeffrey S. Foster   Profile-guided static typing for dynamic
                                  scripting languages  . . . . . . . . . . 283--300
             Myoungkyu Song and   
                   Eli Tilevich   Enhancing source-level programming tools
                                  with an awareness of transparent program
                                  transformations  . . . . . . . . . . . . 301--320
          Marwan Abi-Antoun and   
               Jonathan Aldrich   Static extraction and conformance
                                  analysis of hierarchical runtime
                                  architectural structure using
                                  annotations  . . . . . . . . . . . . . . 321--340
        Mangala Gowri Nanda and   
               Senthil Mani and   
        Vibha Singhal Sinha and   
                  Saurabh Sinha   Demystifying model transformations: an
                                  approach based on automated rule
                                  inference  . . . . . . . . . . . . . . . 341--360
                    Yi Zhao and   
                    Jin Shi and   
                  Kai Zheng and   
              Haichuan Wang and   
                  Haibo Lin and   
                      Ling Shao   Allocation wall: a limiting factor of
                                  Java applications on emerging multi-core
                                  platforms  . . . . . . . . . . . . . . . 361--376
              Takeshi Ogasawara   NUMA-aware memory manager with
                                  dominant-thread-based copying GC . . . . 377--390
Frédéric Pluquet and   
           Stefan Langerman and   
                     Roel Wuyts   Executing code in the past: efficient
                                  in-memory object graph versioning  . . . 391--408
       Daniel von Dincklage and   
                     Amer Diwan   Optimizing programs with intended
                                  semantics  . . . . . . . . . . . . . . . 409--424
                Dan Tsafrir and   
       Robert W. Wisniewski and   
             David F. Bacon and   
              Bjarne Stroustrup   Minimizing dependencies within generic
                                  classes for faster and smaller programs  425--444
         Lennart C. L. Kats and   
           Maartje de Jonge and   
         Emma Nilsson-Nyman and   
                   Eelco Visser   Providing rapid feedback in generated
                                  modular language environments: adding
                                  error recovery to scannerless
                                  generalized-LR parsing . . . . . . . . . 445--464
                    Dirk Riehle   Design pattern density defined . . . . . 469--480
                  Thomas Mullen   Writing code for other people: cognitive
                                  psychology and the fundamentals of good
                                  software design principles . . . . . . . 481--492
         Jeffrey L. Overbey and   
               Ralph E. Johnson   Regrowing a language: refactoring tools
                                  allow programming languages to evolve    493--502
           Roman Knöll and   
                    Mira Mezini   $\pi$: a pattern language  . . . . . . . 503--522
                   Mark Mahoney   Software evolution and the moving
                                  picture metaphor . . . . . . . . . . . . 525--528
             Jenny Quillien and   
                 Pam Rostal and   
                      Dave West   Agile anthropology and Alexander's
                                  architecture: an essay in three voices   529--546
            Elisa Baniassad and   
                  Clayton Myers   An exploration of program as language    547--556
                William R. Cook   On understanding data abstraction,
                                  revisited  . . . . . . . . . . . . . . . 557--572

ACM SIG{}PLAN Notices
Volume 44, Number 11, November, 2009

                  Jim Allen and   
                Zena Ariola and   
        Pierre-Louis Curien and   
              Matthew Fluet and   
                Jeff Foster and   
               Dan Grossman and   
              Robert Harper and   
              Hugo Herbelin and   
         Yannis Smaragdakis and   
               David Walker and   
                Steve Zdancewic   An overview of the Oregon programming
                                  languages summer school  . . . . . . . . 1--3
             Matthew Danish and   
                     Hongwei Xi   Operating system development with ATS:
                                  work in progress: (abstract only)  . . . 6--6
             Stefan Monnier and   
               David Haguenauer   Singleton types here, singleton types
                                  there, singleton types everywhere:
                                  (abstract only)  . . . . . . . . . . . . 6--6
           Stephanie Balzer and   
                Thomas R. Gross   Modular reasoning about invariants over
                                  shared state with interposed data
                                  members: (abstract only) . . . . . . . . 6--7
           Jan Christiansen and   
              Daniel Seidel and   
         Janis Voigtländer   Free theorems for functional logic
                                  programs: (abstract only)  . . . . . . . 7--7
                Aaron Stump and   
                    Evan Austin   Resource typing in Guru: (abstract only) 7--7
          Stephanie Weirich and   
               Chris Casinghino   Arity-generic datatype-generic
                                  programming: (abstract only) . . . . . . 7--7
             Tomas Kalibera and   
              Pavel Parizek and   
              Ghaith Haddad and   
            Gary T. Leavens and   
                      Jan Vitek   Challenge benchmarks for verification of
                                  real-time programs: (abstract only)  . . 7--8

ACM SIG{}PLAN Notices
Volume 44, Number 12, December, 2009

                      Jan Vitek   Of scripts and programs: tall tales,
                                  urban legends, and future prospects  . . 1--2
             Éric Tanter   Beyond static and dynamic scope  . . . . 3--14
          Eyvind W. Axelsen and   
                 Stein Krogdahl   Groovy package templates: supporting
                                  reuse and runtime adaption of class
                                  hierarchies  . . . . . . . . . . . . . . 15--26
      T. Stephen Strickland and   
             Matthias Felleisen   Contracts for first-class modules  . . . 27--38
                 Jonathan Riehl   Language embedding and optimization in
                                  Mython . . . . . . . . . . . . . . . . . 39--48
             Yit Phang Khoo and   
              Michael Hicks and   
          Jeffrey S. Foster and   
                  Vibha Sazawal   Directing JavaScript with arrows . . . . 49--58
            Pascal Costanza and   
          Charlotte Herzeel and   
                   Theo D'Hondt   Context-oriented software transactional
                                  memory in Common Lisp  . . . . . . . . . 59--68
Frédéric Pluquet and   
              Antoine Marot and   
                     Roel Wuyts   Fast type reconstruction for dynamically
                                  typed programming languages  . . . . . . 69--78
      Alexander Yermolovich and   
           Christian Wimmer and   
                  Michael Franz   Optimization of dynamic languages using
                                  hierarchical layering of virtual
                                  machines . . . . . . . . . . . . . . . . 79--88
               Michael Furr and   
       Jong-hoon (David) An and   
          Jeffrey S. Foster and   
                  Michael Hicks   The Ruby intermediate language . . . . . 89--98
                David Ungar and   
                   Sam S. Adams   Hosting an object heap on manycore
                                  hardware: an exploration . . . . . . . . 99--110