%%% -*-BibTeX-*-
%%% /u/sy/beebe/tex/bib/sigplan2000.bib, Thu Sep 21 08:17:16 2006
%%% Edit by Nelson H. F. Beebe <beebe at math.utah.edu>
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.71",
%%%     date            = "30 November 2011",
%%%     time            = "17:52:15 MDT",
%%%     filename        = "sigplan2000.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "http://www.math.utah.edu/~beebe",
%%%     checksum        = "00317 69235 336778 3128750",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography, BibTeX, programming languages,
%%%                        SIGPLAN",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This is a bibliography of ACM SIGPLAN
%%%                        Notices, covering 2000--2009.
%%%
%%%                        There are World Wide Web sites for the
%%%                        journal at
%%%
%%%                            http://www.acm.org/sigplan/
%%%                            http://portal.acm.org/browse_dl.cfm?idx=J706
%%%
%%%                        and
%%%
%%%                            http://www.rowan.edu/sigplan/
%%%
%%%                        and coverage of about a dozen volumes can be found at
%%%
%%%                            http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/index.html
%%%
%%%                        Several conference proceedings are published
%%%                        as volumes of SIGPLAN Notices.  Many of them
%%%                        can also be found via the ACM proceedings Web
%%%                        sites:
%%%
%%%                            http://www.acm.org/pubs/contents/proceedings/
%%%                            http://www.acm.org/pubs/contents/proceedings/asplos/
%%%                            http://www.acm.org/pubs/contents/proceedings/plan/
%%%                            http://www.acm.org/pubs/contents/proceedings/pldi/
%%%
%%%                        At version 1.71, the year coverage looks like
%%%                        this:
%%%
%%%                             1990 (   2)    1997 (   0)    2004 ( 343)
%%%                             1991 (   0)    1998 (   0)    2005 ( 181)
%%%                             1992 (   0)    1999 (   0)    2006 ( 222)
%%%                             1993 (   0)    2000 ( 224)    2007 ( 210)
%%%                             1994 (   0)    2001 ( 285)    2008 ( 243)
%%%                             1995 (   0)    2002 ( 235)    2009 ( 255)
%%%                             1996 (   0)    2003 ( 253)
%%%
%%%                             Article:       2425
%%%                             InProceedings:   18
%%%                             Proceedings:     10
%%%
%%%                             Total entries: 2453
%%%
%%%                        Some of the bibliography entries in this
%%%                        file contain abstracts.  These are governed
%%%                        by the ACM Copyright Notice for ACM SIGPLAN
%%%                        Notices, which says:
%%%
%%%                             ``Permission to copy without fee all
%%%                             or part of this material is granted
%%%                             provided that the copies are not made
%%%                             or distributed for commercial
%%%                             advantage, the ACM copyright notice
%%%                             and the title of the publication and
%%%                             its date appear, and notice is given
%%%                             that copying is by permission of the
%%%                             Association for Computing Machinery.
%%%                             To copy otherwise, or to republish,
%%%                             requires a fee and/or specific
%%%                             permission.''
%%%
%%%                        Inasmuch as this bibliography, and its
%%%                        companion files in the master collection,
%%%                        is freely distributed without charge,
%%%                        inclusion of article abstracts clearly
%%%                        falls within the copyright permissions, and
%%%                        this author considers that ACM has given
%%%                        the required permission under the terms of
%%%                        the above Copyright Notice.
%%%
%%%                        BibTeX citation tags are uniformly chosen
%%%                        as name:year:abbrev, where name is the
%%%                        family name of the first author or editor,
%%%                        year is a 4-digit number, and abbrev is a
%%%                        3-letter condensation of important title
%%%                        words. Citation tags were automatically
%%%                        generated by software developed for the
%%%                        BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted in
%%%                        publication order, using bibsort -byvolume.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================

@Preamble{
  "\input bibnames.sty " #
  "\input path.sty " #
  "\def \TM {${}^{\sc TM}$} " #
  "\hyphenation{ }"
  }

%%% ====================================================================
%%% Acknowledgement abbreviations:

@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|http://www.math.utah.edu/~beebe/|"}

%%% ====================================================================
%%% Journal abbreviations:

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

%%% ====================================================================
%%% Publisher abbreviations:

@String{pub-ACM                 = "ACM Press"}

@String{pub-ACM:adr             = "New York, NY, USA"}

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}

@String{pub-AW:adr              = "Reading, MA, USA"}

%%% ====================================================================
%%% Series abbreviations:

@String{ser-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

%%% ====================================================================
%%% Bibliography entries, in publication order:

@Article{Clinger:1990:HRF,
  author =       "William D. Clinger",
  title =        "How to Read Floating Point Numbers Accurately",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "6",
  pages =        "92--101",
  month =        jun,
  year =         "1990",
  CODEN =        "SINODQ",
  ISBN =         "0-89791-364-7",
  ISBN-13 =      "978-0-89791-364-5",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:53 MST 2003",
  bibsource =    "http://portal.acm.org/; Compendex database;
                 garbo.uwasa.fi:/pc/doc-soft/fpbiblio.txt;
                 http://www.acm.org/pubs/contents/proceedings/pldi/93542/",
  note =         "See also output algorithms in
                 \cite{Knuth:1990:SPW,Steele:1990:HPF,Burger:1996:PFP,Abbott:1999:ASS,Steele:2004:RHP}.",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/93542/p92-clinger/",
  abstract =     "Consider the problem of converting decimal scientific
                 notation for a number into the best binary floating
                 point approximation to that number, for some fixed
                 precision. This problem cannot be solved using
                 arithmetic of any fixed precision. Hence the IEEE
                 Standard for Binary Floating-Point Arithmetic does not
                 require the result of such a conversion to be the best
                 approximation. This paper presents an efficient
                 algorithm that always finds the best approximation. The
                 algorithm uses a few extra bits of precision to compute
                 an IEEE-conforming approximation while testing an
                 intermediate result to determine whether the
                 approximation could be other than the best. If the
                 approximation might not be the best, then the best
                 approximation is determined by a few simple operations
                 on multiple-precision integers, where the precision is
                 determined by the input. When using 64 bits of
                 precision to compute IEEE double precision results, the
                 algorithm avoids higher-precision arithmetic over 99\%
                 of the time.",
  acknowledgement = ack-nhfb # " and " # ack-nj,
  affiliation =  "Oregon Univ., Eugene, OR, USA",
  annote =       "Published as part of the Proceedings of PLDI'90.",
  classification = "722; 723; C1160 (Combinatorial mathematics); C5230
                 (Digital arithmetic methods); C7310 (Mathematics)",
  confdate =     "20-22 June 1990",
  conference =   "Proceedings of the ACM SIGPLAN '90 Conference on
                 Programming Language Design and Implementation",
  conferenceyear = "1990",
  conflocation = "White Plains, NY, USA",
  confsponsor =  "ACM",
  journalabr =   "SIGPLAN Not",
  keywords =     "algorithms; Best binary floating point approximation;
                 Computer Programming Languages; Computers, Digital ---
                 Computational Methods; Decimal scientific notation;
                 Design; Efficient algorithm; experimentation; Fixed
                 precision; Floating point numbers; Floating Point
                 Numbers; Higher-precision arithmetic; IEEE double
                 precision results; IEEE Standard; IEEE-conforming
                 approximation; Intermediate result; Multiple-precision
                 integers",
  meetingaddress = "White Plains, NY, USA",
  meetingdate =  "Jun 20--22 1990",
  meetingdate2 = "06/20--22/90",
  sponsor =      "Assoc for Computing Machinery, Special Interest Group
                 on Programming Languages",
  subject =      "{\bf F.2.1} Theory of Computation, ANALYSIS OF
                 ALGORITHMS AND PROBLEM COMPLEXITY, Numerical Algorithms
                 and Problems. {\bf G.1.0} Mathematics of Computing,
                 NUMERICAL ANALYSIS, General, Computer arithmetic. {\bf
                 G.1.2} Mathematics of Computing, NUMERICAL ANALYSIS,
                 Approximation.",
  thesaurus =    "Digital arithmetic; Mathematics computing; Number
                 theory; Standards",
}

@Article{Steele:1990:HPF,
  author =       "Guy L. {Steele, Jr.} and Jon L. White",
  title =        "How to Print Floating-Point Numbers Accurately",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "6",
  pages =        "112--126",
  month =        jun,
  year =         "1990",
  CODEN =        "SINODQ",
  ISBN =         "0-89791-364-7",
  ISBN-13 =      "978-0-89791-364-5",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:53 MST 2003",
  bibsource =    "http://portal.acm.org/; Compendex database;
                 http://www.acm.org/pubs/contents/proceedings/pldi/93542/",
  note =         "See also input algorithm in
                 \cite{Clinger:1990:HRF,Clinger:2004:RHR}, and a faster
                 output algorithm in \cite{Burger:1996:PFP} and
                 \cite{Knuth:1990:SPW}, IBM S/360 algorithms in
                 \cite{Abbott:1999:ASS} for both IEEE 754 and S/360
                 formats, and a twenty-year retrospective in
                 \cite{Steele:2004:RHP}. In electronic mail dated Wed,
                 27 Jun 1990 11:55:36 EDT, Guy Steele reported that an
                 intrepid pre-SIGPLAN 90 conference implementation of
                 what is stated in the paper revealed 3 mistakes:
                 \begin{itemize} \item[1.] Table~5 (page 124):\par
                 \noindent insert {\tt k <-- 0} after assertion, and
                 also delete {\tt k <-- 0} from Table~6. \item[2.]
                 Table~9 (page 125):\par \noindent \begin{tabular} {ll}
                 for & {\tt -1:USER!({"}{"});} \\
                 substitute & {\tt -1:USER!({"}0{"});} \end{tabular}\par
                 \noindent and delete the comment. \item[3.] Table~10
                 (page 125):\par \noindent \begin{tabular}{ll} for &
                 {\tt fill(-k, {"}0{"})}\\
                 substitute & {\tt fill(-k-1, {"}0{"})} \end{tabular}
                 \end{itemize}
                 \def\EatBibTeXPeriod#1{\ifx#1.\else#1\fi}\EatBibTeXPeriod",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/93542/p112-steele/",
  abstract =     "Algorithms are presented for accurately converting
                 floating-point numbers to decimal representation. The
                 key idea is to carry along with the computation an
                 explicit representation of the required rounding
                 accuracy. The authors begin with the simpler problem of
                 converting fixed-point fractions. A modification of the
                 well-known algorithm for radix-conversion of
                 fixed-point fractions by multiplication explicitly
                 determines when to terminate the conversion process; a
                 variable number of digits are produced. They derive two
                 algorithms for free-format output of floating-point
                 numbers. Finally, they modify the free-format
                 conversion algorithm for use in fixed-format
                 applications. Information may be lost if the fixed
                 format provides too few digit positions, but the output
                 is always correctly rounded. On the other hand, no
                 `garbage digits' are ever produced, even if the fixed
                 format specifies too many digit positions (intuitively,
                 the `4/3 prints as 1.333333328366279602' problem does
                 not occur).",
  acknowledgement = ack-nhfb,
  affiliation =  "Thinking Machines Corp",
  affiliationaddress = "Cambridge, MA, USA",
  classification = "722; 723; C5230 (Digital arithmetic methods); C7310
                 (Mathematics)",
  confdate =     "20-22 June 1990",
  conference =   "Proceedings of the ACM SIGPLAN '90 Conference on
                 Programming Language Design and Implementation",
  conferenceyear = "1990",
  conflocation = "White Plains, NY, USA",
  confsponsor =  "ACM",
  journalabr =   "SIGPLAN Not",
  keywords =     "algorithms; computer programming languages; computers,
                 digital --- computational methods; conversion process;
                 decimal representation; design; digit positions;
                 explicit representation; fixed-format applications;
                 fixed-point fractions; floating point numbers;
                 floating-point numbers; free-format conversion
                 algorithm; free-format output; garbage digits;
                 performance; radix-conversion; rounding accuracy;
                 verification",
  remark =       "Published as part of the Proceedings of PLDI'90.",
  sponsor =      "Assoc for Computing Machinery, Special Interest Group
                 on Programming Languages",
  subject =      "{\bf F.2.1} Theory of Computation, ANALYSIS OF
                 ALGORITHMS AND PROBLEM COMPLEXITY, Numerical Algorithms
                 and Problems. {\bf G.1.0} Mathematics of Computing,
                 NUMERICAL ANALYSIS, General, Computer arithmetic.",
  thesaurus =    "Digital arithmetic; Mathematics computing",
  xxabstract =   "We present algorithms for accurately converting
                 floating-point numbers to decimal representation. The
                 key idea is to carry along with the computation an
                 explicit representation of the required rounding
                 accuracy. We begin with the simpler problem of
                 converting fixed-point fractions. A modification of the
                 well-known algorithm for radix-conversion of
                 fixed-point fractions by multiplication explicitly
                 determines when to terminate the conversion process; a
                 variable number of digits are produced. We then derive
                 two algorithms for free-format output of floating-point
                 numbers. Finally, we modify the free-format conversion
                 algorithm for use in fixed-format applications.",
}

@Article{Sirer:2000:UPG,
  author =       "Emin G{\"u}n Sirer and Brian N. Bershad",
  title =        "Using Production Grammars in Software Testing",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "1--13",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nakatani:2000:JDE,
  author =       "Lloyd H. Nakatani and Mark A. Ardis and Robert G.
                 Olsen and Paul M. Pontrelli",
  title =        "Jargons for Domain Engineering",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "15--24",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Reichwein:2000:SSI,
  author =       "James Reichwein and Gregg Rothermel and Margaret
                 Burnett",
  title =        "Slicing Spreadsheets: An Integrated Methodology for
                 Spreadsheet Testing and Debugging",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "25--38",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guyer:2000:ALO,
  author =       "Samuel Z. Guyer and Calvin Lin",
  title =        "An Annotation Language for Optimizing Software
                 Libraries",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "39--52",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "PLAPACK",
}

@Article{Menon:2000:CSL,
  author =       "Vijay Menon and Keshav Pingali",
  title =        "A Case for Source-Level Transformations in {MATLAB}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "53--65",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Parson:2000:UJR,
  author =       "Dale E. Parson",
  title =        "Using {Java} Reflection to Automate Extension Language
                 Parsing",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "67--80",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sheard:2000:DIU,
  author =       "Tim Sheard and Zine-el-abidine Benaissa and Emir
                 Pasalic",
  title =        "{DSL} Implementation Using Staging and Monads",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "81--94",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Peterson:2000:MR,
  author =       "John Peterson and Greg Hager",
  title =        "Monadic Robotics",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "95--108",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Leijen:2000:DSE,
  author =       "Daan Leijen and Erik Meijer",
  title =        "Domain-Specific Embedded Compilers",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "109--122",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jennings:2000:VVE,
  author =       "James Jennings and Eric Beuscher",
  title =        "{Verischemelog}: {Verilog} Embedded in {Scheme}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "123--134",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fernandez:2000:DSD,
  author =       "Mary Fern{\'a}ndez and Dan Suciu and Igor Tatarinov",
  title =        "Declarative Specification of Data-Intensive {Web}
                 Sites",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "135--148",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2000:CSL,
  author =       "Du Li and Richard R. Muntz",
  title =        "A Collaboration Specification Language",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "149--162",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bonachea:2000:HLP,
  author =       "Dan Bonachea and Kathleen Fisher and Anne Rogers and
                 Frederick Smith",
  title =        "{Hancock}: {A} Language for Processing Very
                 Large-Scale Data",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "1",
  pages =        "163--176",
  month =        jan,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:13 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ryder:2000:CCP,
  author =       "Barbara G. Ryder",
  title =        "Conference Corner: {PLDI} '99: Programming Language
                 Design and Implementation (Report)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "9--9",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Sep 26 17:06:07 MDT 2000",
  bibsource =    "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/r/Ryder:Barbara_G=.html",
  acknowledgement = ack-nhfb,
}

@Article{Ryder:2000:PPL,
  author =       "Barbara Ryder",
  title =        "{PLDI '99}: {Programming} language design and
                 implementation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "9--10",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2000:PPPa,
  author =       "Chis Clark",
  title =        "Practical Parsing Patterns: Uniform Abstract Syntax
                 Trees",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "11--16",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Sep 26 17:06:07 MDT 2000",
  bibsource =    "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/c/Clark:Chis.html",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2000:UAS,
  author =       "Chris Clark",
  title =        "Uniform abstract syntax trees",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "11--16",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:FUR,
  author =       "Paul Frenger",
  title =        "{Forth}: The Ultimate {RISC}: {A} Zero-Instruction
                 Computer",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "17--23",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Sep 26 17:06:07 MDT 2000",
  bibsource =    "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/f/Frenger:Paul.html",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:URZ,
  author =       "Paul Frenger",
  title =        "The {Ultimate RISC}: {A} zero-instruction computer",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "17--24",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Reinholtz:2000:JWF,
  author =       "Kirk Reinholtz",
  title =        "{Java} will be faster than {C++}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "25--28",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Reinholtz:2000:TCJ,
  author =       "Kirk Reinholtz",
  title =        "Technical Correspondence: {Java} will be faster than
                 {C++}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "25--28",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Sep 26 17:06:07 MDT 2000",
  bibsource =    "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/r/Reinholtz:Kirk.html",
  acknowledgement = ack-nhfb,
}

@Article{Davis:2000:OOA,
  author =       "Matthew S. Davis",
  title =        "An Object Oriented Approach to Constructing Recursive
                 Descent Parsers",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "29--35",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/d/Davis:Matthew_S=.html",
  acknowledgement = ack-nhfb,
}

@Article{Milicev:2000:SPS,
  author =       "Dragan Milicev and Zoran Jovanovic",
  title =        "Sources of parallelism in software pipelining loops
                 with conditional branches",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "36--45",
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Milicev:2000:SSP,
  author =       "Dragan Milicev and Zoran Jovanovic",
  title =        "Sources in Software Pipelining Loops with Conditions
                 Branches",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "36--45",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Sep 26 17:06:07 MDT 2000",
  bibsource =    "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/m/Milicev:Dragan.html;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/j/Jovanovic:Zoran.html",
  acknowledgement = ack-nhfb,
}

@Article{Simonis:2000:ABO,
  author =       "Volker Simonis",
  title =        "Adapters and Binders --- Overcoming Problems in the
                 Design and Implementation of the {C++-STL}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "46--53",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/s/Simonis:Volker.html",
  acknowledgement = ack-nhfb,
}

@Article{Xie:2000:CST,
  author =       "Gaoyan Xie and Yongsen Xu and Yu Li and Qian Li",
  title =        "{Codebugger}: a software tool for cooperative
                 debugging",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "54--60",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/x/Xie:Gaooyan.html;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/x/Xu:YongSen.html;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/l/Li:Yu.html;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/l/Li:Qian.html",
  acknowledgement = ack-nhfb,
}

@Article{Swen:2000:OOP,
  author =       "Bing Swen",
  title =        "Object-Oriented Programming with Induction",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "2",
  pages =        "61--67",
  month =        feb,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan35.html",
  URL =          "http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/s/Swen:Bing.html",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:IIA,
  author =       "Anonymous",
  title =        "Important Information for {ACM SIGPLAN Notices}
                 Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "1--1",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Soffa:2000:ECN,
  author =       "Mary Lou Soffa",
  title =        "{Executive Committee} News: 1999 {SIGPLAN} Awards",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "2--3",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2000:CCCa,
  author =       "Seth Bergmann",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "4--15",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Pontelli:2000:CCC,
  author =       "Enrico Pontelli and Vitor Santos Costa",
  title =        "Conference Corner: Conference Report: {PADL '00:
                 Workshop on Practical Aspects of Declarative
                 Languages}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "16--17",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Chalk:2000:CCC,
  author =       "Peter Chalk",
  title =        "Conference Corner: Conference Report: {JICC4: Java in
                 the Computing Curricula}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "18--19",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Chalk:2000:JJC,
  author =       "Peter Chalk",
  title =        "{JICC4}: {Java} in the computing curricula",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "18--19",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:CPI,
  author =       "Anonymous",
  title =        "Call for Papers: {2000 International Symposium on
                 Memory Management (ISMM), Minneapolis, Minnesota,
                 October 15--16, 2000}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "20--20",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Benson:2000:JRS,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Java} Reflections: Servlets: {Web}-Based Applications
                 You Can Live With",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "21--24",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Benson:2000:WBA,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Web}-based applications you can live with",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "21--24",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:FRL,
  author =       "Paul Frenger",
  title =        "{Forth} Report: Learning {Forth} with {Modular
                 Forth}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "25--30",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:LFM,
  author =       "Paul Frenger",
  title =        "Learning {Forth} with {Modular Forth}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "25--30",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bergin:2000:HPL,
  author =       "Tim Bergin",
  title =        "History of Programming Languages and Software
                 Engineering: {A} {Web}-Based Tool",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "31--31",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Padua:2000:CIA,
  author =       "David Padua and Ron Cytron",
  title =        "Compilers and Interpreters Archive",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "32--32",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2000:IA,
  author =       "A. Michael Bergmann",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "33--33",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Li:2000:SPN,
  author =       "Yu Li and Gaoyan Xie and Yongsen Xu and Yi Yang",
  title =        "The Security Problem of Nested Classes",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "34--38",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Yu:2000:SPN,
  author =       "Li Yu and Xie Gaoyan and Xu Yongsen and Yang Yi",
  title =        "The security problem of nested classes",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "34--38",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Heering:2000:SPL,
  author =       "Jan Heering and Paul Klint",
  title =        "Semantics of Programming Languages: {A} Tool-Oriented
                 Approach",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "39--48",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Naik:2000:EMD,
  author =       "Mayur Naik and Rajeev Kumar",
  title =        "Efficient Message Dispatch in Object-Oriented
                 Systems",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "49--58",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kokol:2000:RCN,
  author =       "Peter Kokol and Vili Podgorelec",
  title =        "Ranking the Complexity of {NIAM} Conceptual Schemas by
                 Alpha Metric",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "59--64",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2000:INN,
  author =       "Tao Li and XiaoJie Liu",
  title =        "An Intelligent {Neural Network Programming System
                 (NNPS)}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "65--72",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:2000:IPC,
  author =       "Norman Ramsey and Kevin Scott",
  title =        "The 1999 {ICFP} Programming Contest",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "3",
  pages =        "73--83",
  month =        mar,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:14 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Berman:2000:LEW,
  author =       "A. Michael Berman",
  title =        "Letter from the Editor; Welcome ever smiles \slash{}
                 And farewell goes out sighing",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "1--1",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Berman:2000:IIA,
  author =       "A. Michael Berman",
  title =        "Important Information for {ACM SIGPLAN Notices}
                 Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "2--2",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2000:CCCb,
  author =       "Seth Bergmann",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "3--16",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:CPA,
  author =       "Anonymous",
  title =        "Call for Papers: {The 28th Annual ACM-SIGACT Symposium
                 Principles of Programming Languages, London, January
                 17--19, 2001 (POPL'01)}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "17--17",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2000:NLS,
  author =       "Chris Clark",
  title =        "Newlines and lexer states",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "18--24",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:16 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2000:PPPb,
  author =       "Chris Clark",
  title =        "Practical Parsing Patterns: Newlines and Lexer
                 States",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "18--24",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Norris:2000:IA,
  author =       "Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "25--25",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Bruce:2000:CDF,
  author =       "Kim B. Bruce",
  title =        "{Curriculum 2001} Draft Found Lacking in Programming
                 Languages",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "26--28",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:16 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:PKU,
  author =       "Anonymous",
  title =        "Proposed knowledge units for programming languages for
                 {Curriculum 2001}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "29--43",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:16 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Group:2000:PKU,
  author =       "{Programming Language Knowledge Focus Group}",
  title =        "Proposed Knowledge Units for Programming Languages for
                 {Curriculum 2001}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "29--43",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Manjunath:2000:SHJ,
  author =       "Geetha Manjunath and Venkatesh Krishnan",
  title =        "A {{\em Small\/}} Hybrid {JIT} for Embedded Systems",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "44--50",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:16 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sakharov:2000:HSM,
  author =       "Alexander Sakharov",
  title =        "A Hybrid State Machine Notation for Component
                 Specification",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "4",
  pages =        "51--56",
  month =        apr,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:16 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bala:2000:DTDa,
  author =       "Vasanth Bala and Evelyn Duesterwald and Sanjeev
                 Banerjia",
  title =        "{Dynamo}: a transparent dynamic optimization system",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "1--12",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p1-bala/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p1-bala/p1-bala.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Cierniak:2000:PJJ,
  author =       "Micha{\l} Cierniak and Guei-Yuan Lueh and James M.
                 Stichnoth",
  title =        "Practicing {JUDO}: {Java} under dynamic
                 optimizations",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "13--26",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p13-cierniak/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p13-cierniak/p13-cierniak.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lucco:2000:SSD,
  author =       "Steven Lucco",
  title =        "Split-stream dictionary program compression",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "27--34",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  DOI =          "http://dx.doi.org/10.1145.349307",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p27-lucco/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p27-lucco/p27-lucco.pdf;
                 http://delivery.acm.org/10.1145/350000/349307/p27-lucco.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "IA-64",
}

@Article{Das:2000:UBP,
  author =       "Manuvir Das",
  title =        "Unification-based pointer analysis with directional
                 assignments",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "35--46",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p35-das/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p35-das/p35-das.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Rountev:2000:LVS,
  author =       "Atanas Rountev and Satish Chandra",
  title =        "Off-line variable substitution for scaling points-to
                 analysis",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "47--56",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p47-rountev/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p47-rountev/p47-rountev.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Cheng:2000:MIP,
  author =       "Ben-Chung Cheng and Wen-mei W. Hwu",
  title =        "Modular interprocedural pointer analysis using access
                 paths: design, implementation, and evaluation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "57--69",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p57-cheng/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p57-cheng/p57-cheng.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2000:SCM,
  author =       "Zhichen Xu and Barton P. Miller and Thomas Reps",
  title =        "Safety checking of machine code",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "70--82",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p70-xu/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p70-xu/p70-xu.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Necula:2000:TVO,
  author =       "George C. Necula",
  title =        "Translation validation for an optimizing compiler",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "83--94",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p83-necula/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p83-necula/p83-necula.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Colby:2000:CCJ,
  author =       "Christopher Colby and Peter Lee and George C. Necula
                 and Fred Blau and Mark Plesko and Kenneth Cline",
  title =        "A certifying compiler for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "95--107",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p95-colby/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p95-colby/p95-colby.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Stephenson:2000:BAA,
  author =       "Mark Stephenson and Jonathan Babb and Saman
                 Amarasinghe",
  title =        "Bidwidth analysis with application to silicon
                 compilation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "108--120",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p108-stephenson/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p108-stephenson/p108-stephenson.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Wilken:2000:OIS,
  author =       "Kent Wilken and Jack Liu and Mark Heffernan",
  title =        "Optimal instruction scheduling using integer
                 programming",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "121--133",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p121-wilken/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p121-wilken/p121-wilken.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Zalamea:2000:ISC,
  author =       "Javier Zalamea and Josep Llosa and Eduard Ayguad{\'e}
                 and Mateo Valero",
  title =        "Improved spill code generation for software pipelined
                 loops",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "134--144",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p134-zalamea/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p134-zalamea/p134-zalamea.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Larsen:2000:ESL,
  author =       "Samuel Larsen and Saman Amarasinghe",
  title =        "Exploiting superword level parallelism with multimedia
                 instruction sets",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "145--156",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p145-larsen/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p145-larsen/p145-larsen.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lin:2000:CAI,
  author =       "Yuan Lin and David Padua",
  title =        "Compiler analysis of irregular memory accesses",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "157--168",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p157-lin/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p157-lin/p157-lin.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Yi:2000:TLR,
  author =       "Qing Yi and Vikram Adve and Ken Kennedy",
  title =        "Transforming loops to recursion for multi-level memory
                 hierarchies",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "169--181",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p169-yi/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p169-yi/p169-yi.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Rugina:2000:SBA,
  author =       "Radu Rugina and Martin Rinard",
  title =        "Symbolic bounds analysis of pointers, array indices,
                 and accessed memory regions",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "182--195",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p182-rugina/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p182-rugina/p182-rugina.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Sreedhar:2000:FIO,
  author =       "Vugranam C. Sreedhar and Michael Burke and Jong-Deok
                 Choi",
  title =        "A framework for interprocedural optimization in the
                 presence of dynamic class loading",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "196--207",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p196-sreedhar/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p196-sreedhar/p196-sreedhar.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ruf:2000:ESR,
  author =       "Erik Ruf",
  title =        "Effective synchronization removal for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "208--218",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p208-ruf/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p208-ruf/p208-ruf.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2000:TBR,
  author =       "Cormac Flanagan and Stephen N. Freund",
  title =        "Type-based race detection for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "219--232",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p219-flanagan/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p219-flanagan/p219-flanagan.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ramalingam:2000:LDD,
  author =       "G. Ramalingam",
  title =        "On loops, dominators, and dominance frontier",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "233--241",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p233-ramalingam/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p233-ramalingam/p233-ramalingam.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Wan:2000:FRP,
  author =       "Zhanyong Wan and Paul Hudak",
  title =        "Functional reactive programming from first
                 principles",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "242--252",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p242-wan/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p242-wan/p242-wan.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Fahndrich:2000:SCS,
  author =       "Manuel F{\"a}hndrich and Jakob Rehof and Manuvir Das",
  title =        "Scalable context-sensitive flow analysis using
                 instantiation constraints",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "253--263",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p253-fahndrich/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p253-fahndrich/p253-fahndrich.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Cannarozzi:2000:CGC,
  author =       "Dante J. Cannarozzi and Michael P. Plezbert and Ron K.
                 Cytron",
  title =        "Contaminated garbage collection",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "264--273",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p264-cannarozzi/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p264-cannarozzi/p264-cannarozzi.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Domani:2000:GFG,
  author =       "Tamar Domani and Elliot K. Kolodner and Erez Petrank",
  title =        "A generational on-the-fly garbage collector for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "274--284",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p274-domani/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p274-domani/p274-domani.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:2000:SIL,
  author =       "Norman Ramsey and Simon Peyton Jones",
  title =        "A single intermediate language that supports multiple
                 implementations of exceptions",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "285--298",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p285-ramsey/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p285-ramsey/p285-ramsey.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Boothe:2000:EAB,
  author =       "Bob Boothe",
  title =        "Efficient algorithms for bidirectional debugging",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "299--310",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p299-boothe/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p299-boothe/p299-boothe.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Heydon:2000:CFC,
  author =       "Allan Heydon and Roy Levin and Yuan Yu",
  title =        "Caching function calls using precise dependencies",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "311--320",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p311-heydon/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p311-heydon/p311-heydon.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Bodik:2000:AEA,
  author =       "Rastislav Bod{\'\i}k and Rajiv Gupta and Vivek
                 Sarkar",
  title =        "{ABCD}: eliminating array bounds checks on demand",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "321--333",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p321-bodik/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p321-bodik/p321-bodik.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ghemawat:2000:FAG,
  author =       "Sanjay Ghemawat and Keith H. Randall and Daniel J.
                 Scales",
  title =        "Field analysis: getting useful and low-cost
                 interprocedural information",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "334--344",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p334-ghemawat/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p334-ghemawat/p334-ghemawat.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Dolby:2000:AOI,
  author =       "Julian Dolby and Andrew Chien",
  title =        "An automatic object inlining optimization and its
                 evaluation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "5",
  pages =        "345--357",
  month =        may,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/pldi/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/pldi/349299/p345-dolby/;
                 http://www.acm.org/pubs/articles/proceedings/pldi/349299/p345-dolby/p345-dolby.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2000:LC,
  author =       "Ron Cytron",
  title =        "Letter from the {Chair}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "1--1",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2000:CCCc,
  author =       "Seth Bergmann",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "2--14",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2000:PPPc,
  author =       "Chris Clark",
  title =        "Practical Parsing Patterns: Off-and-On Tokens",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "15--20",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2000:T,
  author =       "Chris Clark",
  title =        "Off-and-on tokens",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "15--20",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:17 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:FRG,
  author =       "Paul Frenger",
  title =        "{Forth} Report: The {GOTO} Machine",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "21--24",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:GM,
  author =       "Paul Frenger",
  title =        "{GOTO} machine",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "21--24",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:17 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2000:IAa,
  author =       "Jan Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "25--25",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{vanDeursen:2000:DSL,
  author =       "Arie van Deursen and Paul Klint and Joost Visser",
  title =        "Domain-Specific Languages: An Annotated Bibliography",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "26--36",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:17 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Srikant:2000:EPA,
  author =       "Y. N. Srikant and D. V. Ravindra",
  title =        "Effective Parametrization of Architectural Registers
                 for Register Allocation Algorithms",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "37--46",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:17 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxauthor =     "{Srikant Y. N.} and {Ravindra D. V.}",
  xxtitle =      "Effective parameterization of architectural registers
                 for register allocation algorithms",
}

@Article{Schupp:2000:LLC,
  author =       "Sibylle Schupp",
  title =        "Lazy Lists in {C++}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "6",
  pages =        "47--54",
  month =        jun,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:17 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2000:OCF,
  author =       "Michael D. Smith",
  title =        "Overcoming the challenges to feedback-directed
                 optimization (Keynote Talk)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "1--11",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Engler:2000:DTA,
  author =       "Dawson R. Engler and Wilson C. Hsieh",
  title =        "{Derive}: a tool that automatically reverse-engineers
                 instruction encodings",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "12--22",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Johansson:2000:PGO,
  author =       "Erik Johansson and Sven-olof Nystr{\"o}m",
  title =        "Profile-Guided Optimization Across Process
                 Boundaries",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "23--31",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Voss:2000:FRD,
  author =       "Michael J. Voss and Rudolf Eigenmann",
  title =        "A Framework for Remote Dynamic Program Optimization",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "32--40",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ung:2000:MAD,
  author =       "David Ung and Cristina Cifuentes",
  title =        "Machine-Adaptable Dynamic Binary Translation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "41--51",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Arnold:2000:CSS,
  author =       "Matthew Arnold and Stephen Fink and Vivek Sarkar and
                 Peter F. Sweeney",
  title =        "A Comparative Study of Static and Profile-Based
                 Heuristics for Inlining",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "52--64",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mehofer:2000:PDF,
  author =       "Eduard Mehofer and Bernhard Scholz",
  title =        "Probabilistic Data Flow System with Two-Edge
                 Profiling",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "65--72",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chambers:2000:D,
  author =       "Craig Chambers",
  title =        "{DyC}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "73--74",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Chambers:2000:DPS,
  author =       "Craig Chambers",
  title =        "{DyC} (Panel Session)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "73--74",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bala:2000:DTDb,
  author =       "Vasanth Bala",
  title =        "{Dynamo}: {A} Transparent, Dynamic, Native Binary
                 Optimizer",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "75--75",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2000:DPS,
  author =       "Ron Cytron and Vasanth Bala",
  title =        "Dynamo (Panel Session): a transparent, dynamic, native
                 binary optimizer",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "75--75",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2000:TPS,
  author =       "Ron Cytron and Renaud Marlet",
  title =        "{Tempo}, a program specializer for {C} (Panel
                 Session)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "76--77",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Marlet:2000:TPS,
  author =       "Renaud Marlet",
  title =        "Tempo, a program specializer for {C}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "76--77",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2000:DCJ,
  author =       "Ron Cytron and Vivek Sarkar",
  title =        "Dynamic compilation in {Jalape{\~n}o} (Panel
                 Session)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "78--78",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sarkar:2000:DCJ,
  author =       "Vivek Sarkar",
  title =        "Dynamic Compilation in {Jalape{\~n}o}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "78--78",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Chung:2000:SDP,
  author =       "Yoo C. Chung and Michael J. Voss",
  title =        "Summary of the {Dynamo '00} Panel Discussion",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "79--81",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2000:SDP,
  author =       "Ron Cytron and Yoo C. Chung and Michael J. Voss",
  title =        "Summary of the {Dynamo '00} panel discussion (Panel
                 Session)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "7",
  pages =        "79--81",
  month =        jul,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:18 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2000:ECN,
  author =       "Ron Cytron",
  title =        "{Executive Committee} News: {SIGPLAN} Awards",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "1--2",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2000:CCCd,
  author =       "Seth Bergmann",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "3--14",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:FFB,
  author =       "Paul Frenger",
  title =        "{Forth} and the {FreeBSD} bootloader",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "15--17",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2000:FRF,
  author =       "Paul Frenger",
  title =        "{Forth} Report: {Forth} and the {FreeBSD} Bootloader",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "15--17",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2000:IAb,
  author =       "Jan Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "18--18",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2000:IPAa,
  author =       "Jan Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "19--19",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Fereira:2000:UPL,
  author =       "Ulisses Fereira",
  title =        "{\em uu\/} for Programming Languages",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "20--30",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 17:22:50 MST 2000",
  acknowledgement = ack-nhfb,
}

@Article{Ferreira:2000:UPL,
  author =       "Ulisses Ferreira",
  title =        "uu for programming languages",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "20--30",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Juric:2000:JDO,
  author =       "Matjaz B. Juric and Ivan Rozman and Simon Nash",
  title =        "{Java 2} Distributed Object Middleware Performance
                 Analysis and Optimization",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "8",
  pages =        "31--40",
  month =        aug,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wong:2000:FGK,
  author =       "Limsoon Wong",
  title =        "The functional guts of the {Kleisli} query system",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "1--10",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p1-wong/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p1-wong/p1-wong.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Hosoya:2000:RET,
  author =       "Haruo Hosoya and J{\'e}r{\^o}me Vouillon and Benjamin
                 C. Pierce",
  title =        "Regular expression types for {XML}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "11--22",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p11-hosoya/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p11-hosoya/p11-hosoya.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Queinnec:2000:IBE,
  author =       "Christian Queinnec",
  title =        "The influence of browsers on evaluators or,
                 continuations to program {Web} servers",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "23--33",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p23-queinnec/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p23-queinnec/p23-queinnec.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Skalka:2000:SES,
  author =       "Christian Skalka and Scott Smith",
  title =        "Static enforcement of security with types",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "34--45",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p34-skalka/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p34-skalka/p34-skalka.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Pottier:2000:IFI,
  author =       "Fran{\c{c}}ois Pottier and Sylvain Conchon",
  title =        "Information flow inference for free",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "46--57",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p46-pottier/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p46-pottier/p46-pottier.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Weirich:2000:TSC,
  author =       "Stephanie Weirich",
  title =        "Type-safe cast: (functional pearl)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "58--67",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p58-weirich/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p58-weirich/p58-weirich.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Crary:2000:TCI,
  author =       "Karl Crary",
  title =        "Typed compilation of inclusive subtyping",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "68--81",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p68-crary/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p68-crary/p68-crary.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Trifonov:2000:FRI,
  author =       "Valery Trifonov and Bratin Saha and Zhong Shao",
  title =        "Fully reflexive intensional type analysis",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "82--93",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p82-trifonov/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p82-trifonov/p82-trifonov.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Chakravarty:2000:MTN,
  author =       "Manuel M. T. Chakravarty and Gabriele Keller",
  title =        "More types for nested data parallel programming",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "94--105",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p94-chakravarty/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p94-chakravarty/p94-chakravarty.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Sage:2000:FDG,
  author =       "Meurig Sage",
  title =        "{FranTk} --- a declarative {GUI} language for
                 {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "106--117",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p106-sage/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p106-sage/p106-sage.pdf",
  acknowledgement = ack-nhfb,
}

@Article{McNamara:2000:FPC,
  author =       "Brian McNamara and Yannis Smaragdakis",
  title =        "Functional programming in {C++}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "118--129",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p118-mcnamara/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p118-mcnamara/p118-mcnamara.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Harper:2000:AMS,
  author =       "Robert Harper and Benjamin C. Pierce",
  title =        "Advanced module systems (invited talk): a guide for
                 the perplexed",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "130--130",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p130-harper/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p130-harper/p130-harper.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Okasaki:2000:BFN,
  author =       "Chris Okasaki",
  title =        "Breadth-first numbering: lessons from a small exercise
                 in algorithm design",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "131--136",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p131-okasaki/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p131-okasaki/p131-okasaki.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Sasano:2000:MIP,
  author =       "Isao Sasano and Zhenjiang Hu and Masato Takeichi and
                 Mizuhito Ogawa",
  title =        "Make it practical: a generic linear-time algorithm for
                 solving maximum-weightsum problems",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "137--149",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p137-sasano/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p137-sasano/p137-sasano.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Faxen:2000:CES,
  author =       "Karl-Filip Fax{\'e}n",
  title =        "Cheap eagerness: speculative evaluation in a lazy
                 functional language",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "150--161",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p150-faxen/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p150-faxen/p150-faxen.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Baker-Finch:2000:OSP,
  author =       "Clem Baker-Finch and David J. King and Phil Trinder",
  title =        "An operational semantics for parallel lazy
                 evaluation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "162--173",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p162-baker-finch/",
  acknowledgement = ack-nhfb,
}

@Article{Erkok:2000:RMB,
  author =       "Levent Erk{\"o}k and John Launchbury",
  title =        "Recursive monadic bindings",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "174--185",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p174-erkok/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p174-erkok/p174-erkok.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Hinze:2000:DBM,
  author =       "Ralf Hinze",
  title =        "Deriving backtracking monad transformers",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "186--197",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p186-hinze/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p186-hinze/p186-hinze.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Davies:2000:ITC,
  author =       "Rowan Davies and Frank Pfenning",
  title =        "Intersection types and computational effects",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "198--208",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p198-davies/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p198-davies/p198-davies.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Damian:2000:SAP,
  author =       "Daniel Damian and Olivier Danvy",
  title =        "Syntactic accidents in program analysis: on the impact
                 of the {CPS} transformation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "209--220",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p209-damian/",
  acknowledgement = ack-nhfb,
}

@Article{Gapeyev:2000:RSR,
  author =       "Vladimir Gapeyev and Michael Y. Levin and Benjamin C.
                 Pierce",
  title =        "Recursive subtyping revealed: (functional pearl)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "221--231",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p221-gapeyev/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p221-gapeyev/p221-gapeyev.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Curien:2000:DC,
  author =       "Pierre-Louis Curien and Hugo Herbelin",
  title =        "The duality of computation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "233--243",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p233-curien/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p233-curien/p233-curien.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Seger:2000:CFP,
  author =       "Carl Seger",
  title =        "Combining functional programming and hardware
                 verification (invited talk)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "244--244",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p244-seger/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p244-seger/p244-seger.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Serrano:2000:UMA,
  author =       "Manuel Serrano and Hans-J. Boehm",
  title =        "Understanding memory allocation of scheme programs",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "245--256",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p245-serrano/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p245-serrano/p245-serrano.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Cheadle:2000:NSH,
  author =       "A. M. Cheadle and A. J. Field and S. Marlow and S. L.
                 Peyton Jones and R. L. While",
  title =        "Non-stop {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "257--267",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p257-cheadle/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p257-cheadle/p257-cheadle.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Claessen:2000:QLT,
  author =       "Koen Claessen and John Hughes",
  title =        "{QuickCheck}: a lightweight tool for random testing of
                 {Haskell} programs",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "268--279",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p268-claessen/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p268-claessen/p268-claessen.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2000:CCA,
  author =       "Simon Peyton Jones and Jean-Marc Eber and Julian
                 Seward",
  title =        "Composing contracts: an adventure in financial
                 engineering (functional pearl)",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "9",
  pages =        "280--292",
  month =        sep,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:22 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/icfp/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/fp/351240/p280-jones/;
                 http://www.acm.org/pubs/articles/proceedings/fp/351240/p280-jones/p280-jones.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Maessen:2000:IJM,
  author =       "Jan-Willem Maessen and Xiaowei Shen",
  title =        "Improving the {Java} memory model using {CRF}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "1--12",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p1-maessen/",
  acknowledgement = ack-nhfb,
}

@Article{Noble:2000:ECO,
  author =       "James Noble and David Holmes and John Potter",
  title =        "Exclusion for composite objects",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "13--28",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p13-noble/",
  acknowledgement = ack-nhfb,
}

@Article{Buhr:2000:OOR,
  author =       "Peter A. Buhr and Ashif S. Harji and Philipp E. Lim
                 and Jiongxiong Chen",
  title =        "Object-oriented real-time concurrency",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "29--46",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p29-buhr/",
  acknowledgement = ack-nhfb,
}

@Article{Arnold:2000:AOJ,
  author =       "Matthew Arnold and Stephen Fink and David Grove and
                 Michael Hind and Peter F. Sweeney",
  title =        "Adaptive optimization in the {Jalape{\~n}o} {JVM}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "47--65",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p47-arnold/",
  acknowledgement = ack-nhfb,
}

@Article{Serrano:2000:QQS,
  author =       "Mauricio Serrano and Rajesh Bordawekar and Sam Midkiff
                 and Manish Gupta",
  title =        "{Quicksilver}: a quasi-static compiler for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "66--82",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p66-serrano/",
  acknowledgement = ack-nhfb,
}

@Article{Zaks:2000:SCJ,
  author =       "Ayal Zaks and Vitaly Feldman and Nava Aizikowitz",
  title =        "Sealed calls in {Java} packages",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "83--92",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p83-zaks/",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2000:RWO,
  author =       "Ji Y. Lee and Hye J. Kim and Kyo C. Kang",
  title =        "A real world object modeling method for creating
                 simulation environment of real-time systems",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "93--104",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p93-lee/",
  acknowledgement = ack-nhfb,
}

@Article{Bastide:2000:FSC,
  author =       "R{\'e}mi Bastide and Philippe Palanque and Ousmane Sy
                 and David Navarre",
  title =        "Formal specification of {CORBA} services: experience
                 and lessons learned",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "105--117",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p105-bastide/",
  acknowledgement = ack-nhfb,
}

@Article{Kiernan:2000:MOQ,
  author =       "Jerry Kiernan and Michael J. Carey",
  title =        "Middleware object query processing with deferred
                 updates and autonomous sources",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "118--129",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p118-kiernan/",
  acknowledgement = ack-nhfb,
}

@Article{Clifton:2000:MMO,
  author =       "Curtis Clifton and Gary T. Leavens and Craig Chambers
                 and Todd Millstein",
  title =        "{MultiJava}: modular open classes and symmetric
                 multiple dispatch for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "130--145",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p130-clifton/",
  acknowledgement = ack-nhfb,
}

@Article{Viroli:2000:PPJ,
  author =       "Mirko Viroli and Antonio Natali",
  title =        "Parametric polymorphism in {Java}: an approach to
                 translation based on reflective features",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "146--165",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p146-viroli/",
  acknowledgement = ack-nhfb,
}

@Article{Demeyer:2000:FRC,
  author =       "Serge Demeyer and St{\'e}phane Ducasse and Oscar
                 Nierstrasz",
  title =        "Finding refactorings via change metrics",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "166--177",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p166-demeyer/",
  acknowledgement = ack-nhfb,
}

@Article{Harrison:2000:MUD,
  author =       "William Harrison and Charles Barton and Mukund
                 Raghavachari",
  title =        "Mapping {UML} designs to {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "178--187",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p178-harrison/",
  acknowledgement = ack-nhfb,
}

@Article{Herrmann:2000:PCS,
  author =       "Stephan Herrmann and Mira Mezini",
  title =        "{PIROL}: a case study for multidimensional separation
                 of concerns in software engineering environments",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "188--207",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p188-herrmann/",
  acknowledgement = ack-nhfb,
}

@Article{Ruby:2000:SCC,
  author =       "Clyde Ruby and Gary T. Leavens",
  title =        "Safely creating correct subclasses without seeing
                 superclass code",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "208--228",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p208-ruby/",
  acknowledgement = ack-nhfb,
}

@Article{Lujan:2000:OOO,
  author =       "Mikel Luj{\'a}n and T. L. Freeman and John R. Gurd",
  title =        "{OoLALA}: an object oriented analysis and design of
                 numerical linear algebra",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "229--252",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p229-lujan/",
  acknowledgement = ack-nhfb,
  keywords =     "Fortran BLAS; Java",
}

@Article{Ortigosa:2000:TAO,
  author =       "Alvaro Ortigosa and Marcelo Campo and Roberto
                 Moriy{\'o}n",
  title =        "Towards agent-oriented assistance for framework
                 instantiation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "253--263",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p253-ortigosa/",
  acknowledgement = ack-nhfb,
}

@Article{Sundaresan:2000:PVM,
  author =       "Vijay Sundaresan and Laurie Hendren and Chrislain
                 Razafimahefa and Raja Vall{\'e}e-Rai and Patrick Lam
                 and Etienne Gagnon and Charles Godin",
  title =        "Practical virtual method call resolution for {Java}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "264--280",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p264-sundaresan/",
  acknowledgement = ack-nhfb,
}

@Article{Tip:2000:SPB,
  author =       "Frank Tip and Jens Palsberg",
  title =        "Scalable propagation-based call graph construction
                 algorithms",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "281--293",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p281-tip/",
  acknowledgement = ack-nhfb,
}

@Article{Ishizaki:2000:SDT,
  author =       "Kazuaki Ishizaki and Motohiro Kawahito and Toshiaki
                 Yasue and Hideaki Komatsu and Toshio Nakatani",
  title =        "A study of devirtualization techniques for a
                 {Java$^{TM}$} {Just-In-Time} compiler",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "294--310",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p294-ishizaki/",
  acknowledgement = ack-nhfb,
}

@Article{Glew:2000:ECO,
  author =       "Neal Glew",
  title =        "An efficient class and object encoding",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "311--324",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p311-glew/",
  acknowledgement = ack-nhfb,
}

@Article{Qian:2000:FSJ,
  author =       "Zhenyu Qian and Allen Goldberg and Alessandro Coglio",
  title =        "A formal specification of {Java$^{TM}$} class
                 loading",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "325--336",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p325-qian/",
  acknowledgement = ack-nhfb,
}

@Article{Rayside:2000:AUO,
  author =       "Derek Rayside and Gerard T. Campbell",
  title =        "An {Aristotelian} understanding of object-oriented
                 programming",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "337--353",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p337-rayside/",
  acknowledgement = ack-nhfb,
}

@Article{Czajkowski:2000:AIJ,
  author =       "Grzegorz Czajkowski",
  title =        "Application isolation in the {Java$^{TM}$} {Virtual}
                 {Machine}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "354--366",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p354-czajkowski/",
  acknowledgement = ack-nhfb,
}

@Article{Bryce:2000:ASO,
  author =       "Ciar{\'a}n Bryce and Chrislain Razafimahefa",
  title =        "An approach to safe object sharing",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "367--381",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p367-bryce/",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2000:GDJ,
  author =       "David F. Bacon and Robert E. Strom and Ashis
                 Tarafdar",
  title =        "{Guava}: a dialect of {Java} without data races",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "10",
  pages =        "382--400",
  month =        oct,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/oopsla/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/oops/353171/p382-bacon/",
  acknowledgement = ack-nhfb,
}

@Article{Nagle:2000:DCS,
  author =       "David Nagle and Steven Schlosser and John Linwood
                 Griffin and Gregory Ganger",
  title =        "Designing Computer Systems with {MEMS}-based Storage",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "1--12",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Schlosser:2000:DCS,
  author =       "Steven W. Schlosser and John Linwood Griffin and David
                 F. Nagle and Gregory R. Ganger",
  title =        "Designing computer systems with {MEMS}-based storage",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "1--12",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gharachorloo:2000:ADA,
  author =       "Kourosh Gharachorloo and Madhu Sharma and Simon Steely
                 and Stephen Van Doren",
  title =        "Architecture and Design of {AlphaServer GS320}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "13--24",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Martin:2000:TSA,
  author =       "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",
  title =        "Timestamp Snooping: An Approach for Extending {SMPs}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "25--36",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Nanda:2000:MPR,
  author =       "Ashwini Nanda and Kwok-Ken Mak and Krishnan Sugavanam
                 and Ramendra K. Sahoo and Vijayaraghavan Soundararajan
                 and T. Basil Smith",
  title =        "{MemorIES}: {A} Programmable, Real-Time Hardware
                 Emulation Tool for Multiprocessor Server Design",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "37--48",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gibson:2000:FVS,
  author =       "Jeff Gibson and Robert Kunz and David Ofelt and Mark
                 Horowitz and John Hennessy and Mark Heinrich",
  title =        "{FLASH} vs. (simulated) {FLASH}: closing the
                 simulation loop",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "49--58",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Heinrich:2000:SAA,
  author =       "Mark Heinrich and Jeff Givson and Robert Kunz and
                 David Ofelt and Mark Horowitz and John Hennessy",
  title =        "{FLASH} vs. (Simulated) {FLASH}: Closing the
                 Simulation Loop",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "49--58",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Chou:2000:UML,
  author =       "Andy Chou and Benjamin Chelf and Dawson Engler and
                 Mark Heinrich",
  title =        "Using Meta-level Compilation to Check {FLASH} Protocol
                 Code",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "59--70",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Bhoedjang:2000:EDA,
  author =       "Raoul A. F. Bhoedjang and Kees Verstoep and Tim
                 R{\"u}hl and Henri E. Bal and Rutger F. H. Hofman",
  title =        "Evaluating Design Alternatives for Reliable
                 Communication on High-Speed Networks",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "71--81",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mattson:2000:CS,
  author =       "Peter Mattson and William J. Dally and Scott W. Rixner
                 and Ujval J. Kapasi and John D. Owens",
  title =        "Communication Scheduling",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "82--92",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hill:2000:SAD,
  author =       "Jason Hill and Robert Szewczyk and Alec Woo and Seth
                 Hollar and David Culler and Kristofer Pister",
  title =        "System Architecture Directions for Networked Sensors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "93--104",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Lebeck:2000:PAP,
  author =       "Alvin R. Lebeck and Xiaobo Fan and Heng Zeng and Carla
                 Ellis",
  title =        "Power Aware Page Allocation",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "105--116",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Berger:2000:HSM,
  author =       "Emery D. Berger and Kathryn S. McKinley and Robert D.
                 Blumofe and Paul R. Wilson",
  title =        "{Hoard}: {A} Scalable Memory Allocator for
                 Multithreaded Applications",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "117--128",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Flautner:2000:TLP,
  author =       "Kriszti{\'a}n Flautner and Rich Uhlig and Steve
                 Reinhardt and Trevor Mudge",
  title =        "Thread Level Parallelism and Interactive Performance
                 of Desktop Applications",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "129--138",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  DOI =          "http://dx.doi.org/10.1145.357001",
  ISBN =         "1-58113-317-0",
  ISBN-13 =      "978-1-58113-317-2",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  URL =          "http://delivery.acm.org/10.1145/360000/357001/p129-flautner.pdf",
  acknowledgement = ack-nhfb,
  keywords =     "IA-64",
}

@Article{Kawahito:2000:ENP,
  author =       "Motohiro Kawahito and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Effective Null Pointer Check Elimination Utilizing
                 Hardware Trap",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "139--149",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
  keywords =     "IBM Java Virtual Machine (JVM)",
}

@Article{Zhang:2000:FVL,
  author =       "Youtao Zhang and Jun Yang and Rajiv Gupta",
  title =        "Frequent Value Locality and Value-Centric Data Cache
                 Design",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "150--159",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Burrows:2000:EFV,
  author =       "Michael Burrows and Ulfar Erlingson and Shun-Tak Leung
                 and Mark Vandevoorde and Carl Waldspurger and Kip
                 Walker and Bill Weihl",
  title =        "Efficient and Flexible Value Sampling",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "160--167",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lie:2000:ASC,
  author =       "David Lie and Chandramohan Thekkath and Mark Mitchell
                 and Patrick Lincoln and Dan Boneh and John Mitchell and
                 Mark Horowitz",
  title =        "Architectural Support for Copy and Tamper Resistant
                 Software",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "168--177",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  abstract =     "Although there have been attempts to develop code
                 transformations that yield tamper-resistant software,
                 no reliable software-only methods are known. This paper
                 studies the hardware implementation of a form of
                 execute-only memory (XOM) that allows instructions
                 stored in memory to be executed there but not otherwise
                 manipulated. To support XOM code we use a machine that
                 supports internal compartments --- a process in one
                 compartment cannot read data from another compartment.
                 All data that leaves the machine is encrypted, since we
                 assume external memory is not secure. The design of
                 this machine poses some interesting tradeoffs between
                 security, efficient, and flexibility. We explore some
                 of the potential security issues as one pushes the
                 machine to become more efficient and flexible. Although
                 security carries a performance penalty, our analysis
                 indicates that it is possible to create a normal
                 multi-tasking machine where nearly all applications can
                 be run in XOM mode. While a virtual XOM machine is
                 possible, the underlying hardware needs to support a
                 unique private key, private memory, and traps on cache
                 misses. For efficient operation, hardware assist to
                 provide fast symmetric ciphers is also required.",
  acknowledgement = ack-nhfb,
  keywords =     "cryptography",
}

@Article{Austin:2000:ASF,
  author =       "Todd Austin and Jerome Burke and John McDonald",
  title =        "Architectural Support for Fast Symmetric-Key
                 Cryptography",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "178--189",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Burke:2000:ASF,
  author =       "Jerome Burke and John McDonald and Todd Austin",
  title =        "Architectural support for fast symmetric-key
                 cryptography",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "178--189",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kubiatowicz:2000:OAG,
  author =       "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",
  title =        "{OceanStore}: An Architecture for Global-Scale
                 Persistent Storage",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "190--201",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Duesterwald:2000:SPH,
  author =       "Evelyn Duesterwald and Vasanth Bala",
  title =        "Software Profiling for Hot Path Prediction: Less is
                 More",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "202--211",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Zahir:2000:CCD,
  author =       "Rumi Zahir and Jonathan Ross and Dale Morris and Drew
                 Hess",
  title =        "{OS} and Compiler Considerations in the Design of the
                 {IA-64} Architecture",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "212--221",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  URL =          "http://devresource.hp.com/devresource/Docs/TechPapers/IA64/IA64oscompilercon.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Connors:2000:HSD,
  author =       "Daniel A. Connors and Hillery C. Hunter and Ben-Chung
                 Cheng and Wen-Mei W. Hwu",
  title =        "Hardware Support for Dynamic Activation of
                 Compiler-Directed Computation Reuse",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "222--233",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Snavely:2000:SJS,
  author =       "Allan Snavely and Dean M. Tullsen",
  title =        "Symbiotic Jobscheduling for a Simultaneous
                 Multithreading Processor",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "234--244",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Redstone:2000:AOS,
  author =       "Joshua A. Redstone and Susan J. Eggers and Henry M.
                 Levy",
  title =        "An Analysis of Operating System Behavior on a
                 Simultaneous Multithreaded Architecture",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "245--256",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sundaramoorthy:2000:SPI,
  author =       "Karthik Sundaramoorthy and Zachary Purser and Eric
                 Rotenberg",
  title =        "Slipstream Processors: Improving both Performance and
                 Fault Tolerance",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "257--268",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:19 MST 2003",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:AI,
  author =       "Anonymous",
  title =        "Author Index",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "11",
  pages =        "269--271",
  month =        nov,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Nov 7 16:57:37 MST 2000",
  bibsource =    "http://foothill.lcs.mit.edu/asplos2k/program.html",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2000:CCCe,
  author =       "Seth Bergmann",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "1--12",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:CCL,
  author =       "Anonymous",
  title =        "Conference Corner: {LCTES '01} Call for Papers",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "13--13",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  acknowledgement = ack-nhfb,
}

@Article{Benson:2000:JR,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Java} reflections",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "14--18",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Benson:2000:JRJ,
  author =       "Brent W. {Benson, Jr.}",
  title =        "{Java} Reflections: {Java} Server Pages: Servlets,
                 Inside Out",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "14--18",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  acknowledgement = ack-nhfb,
}

@Article{Jakeman:2000:FR,
  author =       "Chris Jakeman",
  title =        "{Forth} report",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "19--21",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jakeman:2000:FU,
  author =       "Chris Jakeman",
  title =        "{Forth} in the {UK}",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "19--21",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2000:IAc,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "22--22",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2000:IPAb,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "23--23",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jan 03 19:00:52 2001",
  acknowledgement = ack-nhfb,
}

@Article{Corchuelo:2000:MCA,
  author =       "Rafael Corchuelo and Jos{\'e} A. P{\'e}rez and Miguel
                 Toro",
  title =        "A Multiparty Coordination Aspect Language",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "24--32",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kuhl:2000:OOL,
  author =       "Bernd K{\"u}hl and Axel-Tobias Schreiner",
  title =        "An object-oriented {LL(1)} parser generator",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "33--40",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gutierrez:2000:IQC,
  author =       "David Basanta Guti{\'e}rrez and C{\'a}ndida Luengo
                 D{\'\i}ez and Raul Izquierdo Castanedo and Jose Emilio
                 Labra Gayo and Juan Manuel Cueva Lovelle",
  title =        "Improving the quality of compiler construction with
                 object-oriented techniques",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "41--50",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Knutson:2000:MDS,
  author =       "Charles D. Knutson and Timothy A. Budd and Hugh
                 Vidos",
  title =        "Multiparadigm Design of a Simple Relational Database",
  journal =      j-SIGPLAN,
  volume =       "35",
  number =       "12",
  pages =        "51--61",
  month =        dec,
  year =         "2000",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:21 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hirzel:2001:TAG,
  author =       "Martin Hirzel and Amer Diwan",
  title =        "On the Type Accuracy of Garbage Collection",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "1--11",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Shaham:2001:EGJ,
  author =       "Ran Shaham and Elliot K. Kolodner and Mooly Sagiv",
  title =        "On the Effectiveness of {GC} in {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "12--17",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Steensgaard:2001:TSH,
  author =       "Bjarne Steensgaard",
  title =        "Thread-Specific Heaps for Multi-Threaded Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "18--24",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Makholm:2001:RBM,
  author =       "Henning Makholm",
  title =        "A Region-Based Memory Manager for {Prolog}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "25--34",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Chilimbi:2001:DTF,
  author =       "Trishul Chilimbi and Richard Jones and Benjamin Zorn",
  title =        "Designing a Trace Format for Heap Allocation Events",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "35--49",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Tarditi:2001:CGC,
  author =       "David Tarditi",
  title =        "Compact Garbage Collection Tables",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "50--58",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Boehm:2001:RGC,
  author =       "Hans-J. Boehm",
  title =        "Reducing Garbage Collector Cache Misses",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "59--64",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Chung:2001:MAL,
  author =       "Yoo C. Chung and Soo-Mook Moon",
  title =        "Memory Allocation with Lazy Fits",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "65--70",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Rodriguez-Rivera:2001:CGC,
  author =       "Gustavo Rodriguez-Rivera and Mike Spertus and Charles
                 Fiterman",
  title =        "Conservative Garbage Collection for General Memory
                 Allocators",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "71--79",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Heil:2001:CGC,
  author =       "Timothy H. Heil and James E. Smith",
  title =        "Concurrent Garbage Collection Using Hardware-Assisted
                 Profiling",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "80--93",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Plakal:2001:CGC,
  author =       "Manoj Plakal and Charles N. Fischer",
  title =        "Concurrent Garbage Collection Using Program Slices on
                 Multithreaded Processors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "94--100",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Hudson:2001:CRG,
  author =       "Richard L. Hudson and J. Eliot B. Moss and Sreenivas
                 Subramoney and Weldon Washburn",
  title =        "Cycles to Recycle: Garbage Collection on the {IA-64}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "101--110",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Fitzgerald:2001:CPD,
  author =       "Robert Fitzgerald and David Tarditi",
  title =        "The Case for Profile-Directed Selection of Garbage
                 Collectors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "111--120",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Agesen:2001:EOS,
  author =       "Ole Agesen and Alex Garthwaite",
  title =        "Efficient Object Sampling via Weak References",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "121--126",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Harris:2001:DAP,
  author =       "Timothy L. Harris",
  title =        "Dynamic Adaptive Pre-Tenuring",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "127--136",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Stefanovic:2001:MOL,
  author =       "Darko Stefanovi{\'c} and Kathryn S. McKinley and J.
                 Eliot B. Moss",
  title =        "On models for object lifetime distributions",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "137--142",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Printezis:2001:GMC,
  author =       "Tony Printezis and David Detlefs",
  title =        "A Generational Mostly-Concurrent Garbage Collector",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "143--154",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Domani:2001:IFG,
  author =       "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",
  title =        "Implementing an On-the-Fly Garbage Collector for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "155--166",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

@Article{Dickman:2001:DTR,
  author =       "Peter Dickman",
  title =        "Diffusion Tree Restructuring for Indirect Reference
                 Counting",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "1",
  pages =        "167--177",
  month =        jan,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:22 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "ACM SIGPLAN International Symposium on Memory
                 Management (ISMM'00)",
}

%%% Unread: volume 36 number 2 [my issue never arrived]

@Article{Frenger:2001:EF,
  author =       "Paul Frenger",
  title =        "{Forth}: Extreme {Forth}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "2",
  pages =        "20--23",
  month =        feb,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 16:24:55 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

%%% Page gap: volume 36 number 2 pages 24--25 ??

@Article{Kumar:2001:NNC,
  author =       "Rajeev Kumar",
  title =        "A neural net compiler system for hierarchical
                 organization",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "2",
  pages =        "26--36",
  month =        feb,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 16:24:55 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sunik:2001:DOL,
  author =       "Boris Sunik",
  title =        "Definition of open language",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "2",
  pages =        "37--46",
  month =        feb,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 16:24:55 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2001:SGI,
  author =       "Yukong Zhang and Young-Jun Kwon and Hyuk Jae Lee",
  title =        "A systematic generation of initial register-reuse
                 chains for dependence minimization",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "2",
  pages =        "47--54",
  month =        feb,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 16:24:55 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mitchell:2001:PLM,
  author =       "John C. Mitchell",
  title =        "Programming language methods in computer security",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "1--3",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/series/popl/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p1-mitchell/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p1-mitchell/p1-mitchell.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Sangiorgi:2001:EIA,
  author =       "Davide Sangiorgi",
  title =        "Extensionality and Intensionality of the Ambient
                 Logics",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "4--13",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ishtiaq:2001:BAL,
  author =       "Samin S. Ishtiaq and Peter W. O'Hearn",
  title =        "{BI} as an Assertion Language for Mutable Data
                 Structures",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "14--26",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yahav:2001:VSP,
  author =       "Eran Yahav",
  title =        "Verifying safety properties of concurrent {Java}
                 programs using $3$-valued logic",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "27--40",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p27-yahav/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p27-yahav/p27-yahav.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Odersky:2001:CLT,
  author =       "Martin Odersky and Christoph Zenger and Matthias
                 Zenger",
  title =        "Colored local type inference",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "41--53",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p41-odersky/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p41-odersky/p41-odersky.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Rehof:2001:TBF,
  author =       "Jakob Rehof and Manuel F{\"a}hndrich",
  title =        "Type-base flow analysis: from polymorphic subtyping to
                 {CFL}-reachability",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "54--66",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p54-rehof/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p54-rehof/p54-rehof.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Hosoya:2001:REP,
  author =       "Haruo Hosoya and Benjamin Pierce",
  title =        "Regular expression pattern matching for {XML}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "67--80",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p67-hosoya/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p67-hosoya/p67-hosoya.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2001:SCP,
  author =       "Chin Soon Lee and Neil D. Jones and Amir M.
                 Ben-Amram",
  title =        "The size-change principle for program termination",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "81--92",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p81-lee/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p81-lee/p81-lee.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Monniaux:2001:AMC,
  author =       "David Monniaux",
  title =        "An abstract {Monte-Carlo} method for the analysis of
                 probabilistic programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "93--101",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p93-monniaux/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p93-monniaux/p93-monniaux.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ganzinger:2001:EDM,
  author =       "Harald Ganzinger",
  title =        "Efficient deductive methods for program analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "102--103",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p102-ganzinger/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p102-ganzinger/p102-ganzinger.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Abadi:2001:MVN,
  author =       "Mart{\'\i}n Abadi and C{\'e}dric Fournet",
  title =        "Mobile values, new names, and secure communication",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "104--115",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p104-abadi/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p104-abadi/p104-abadi.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Unyapoth:2001:NPC,
  author =       "Asis Unyapoth and Peter Sewell",
  title =        "Nomadic pict: correct communication infrastructure for
                 mobile computation",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "116--127",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p116-unyapoth/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p116-unyapoth/p116-unyapoth.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Igarashi:2001:GTS,
  author =       "Atsushi Igarashi and Naoki Kobayashi",
  title =        "A generic type system for the {Pi-calculus}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "128--141",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p128-igarashi/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p128-igarashi/p128-igarashi.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Necula:2001:OBC,
  author =       "George C. Necula and S. P. Rahul",
  title =        "Oracle-based checking of untrusted software",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "142--154",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p142-necula/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p142-necula/p142-necula.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Calcagno:2001:SOS,
  author =       "Cristiano Calcagno",
  title =        "Stratified operational semantics for safety and
                 correctness of the region calculus",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "155--165",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p155-calcagno/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p155-calcagno/p155-calcagno.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2001:TPG,
  author =       "Daniel C. Wang and Andrew W. Appel",
  title =        "Type-preserving garbage collectors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "166--178",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p166-wang/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p166-wang/p166-wang.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Kandemir:2001:CTI,
  author =       "Mahmut Taylan Kandemir",
  title =        "A compiler technique for improving whole-program
                 locality",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "179--192",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p179-kandemir/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p179-kandemir/p179-kandemir.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2001:AEE,
  author =       "Cormac Flanagan and James B. Saxe",
  title =        "Avoiding exponential explosion: generating compact
                 verification conditions",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "193--205",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p193-flanagan/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p193-flanagan/p193-flanagan.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Bhargavan:2001:WPM,
  author =       "Karthikeyan Bhargavan and Satish Chandra and Peter J.
                 McCann and Carl A. Gunter",
  title =        "What packets may come: automata for network
                 monitoring",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "206--219",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p206-bhargavan/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p206-bhargavan/p206-bhargavan.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Milner:2001:CF,
  author =       "Robin Milner",
  title =        "Computational flux",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "220--221",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p220-milner/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p220-milner/p220-milner.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Bugliesi:2001:SSA,
  author =       "Michele Bugliesi and Giuseppe Castagna",
  title =        "Secure safe ambients",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "222--235",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p222-bugliesi/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p222-bugliesi/p222-bugliesi.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Sewell:2001:MAT,
  author =       "Peter Sewell",
  title =        "Modules, abstract types, and distributed versioning",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "236--247",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p236-sewell/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p236-sewell/p236-sewell.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Gordon:2001:TML,
  author =       "Andrew D. Gordon and Don Syme",
  title =        "Typing a multi-language intermediate code",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "248--260",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p248-gordon/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p248-gordon/p248-gordon.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Shields:2001:TIR,
  author =       "Mark Shields and Erik Meijer",
  title =        "Type-indexed rows",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "261--275",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p261-shields/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p261-shields/p261-shields.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Gil:2001:SAT,
  author =       "Joseph (Yossi) Gil",
  title =        "Subtyping arithmetical types",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "276--289",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p276-gil/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p276-gil/p276-gil.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Vouillon:2001:CSB,
  author =       "J{\'e}r{\^o}me Vouillon",
  title =        "Combining subsumption and binary methods: an object
                 calculus with views",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "3",
  pages =        "290--303",
  month =        mar,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:23 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/popl/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/plan/360204/p290-vouillon/;
                 http://www.acm.org/pubs/articles/proceedings/plan/360204/p290-vouillon/p290-vouillon.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ball:2001:MPS,
  author =       "Thomas Ball and Hans Boehm",
  title =        "A modest proposal for {SIGPLAN} in the {21st
                 Century}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "1--2",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ball:2001:S,
  author =       "Thomas Ball and Hans Boehm",
  title =        "{SIGPLANet}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "1--2",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  URL =          "http://www.acm.org/sigplan/sigplanet/",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2001:CCD,
  author =       "Ron Cytron and Matthias Felleisen",
  title =        "Computing Curricula 2001 Draft: {SIGPLAN} Response to
                 the {Ironman Draft} of the Computing Curricula 2001",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "3--4",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:CCD,
  author =       "Jay Fenwick and Cindy Norris and Ron Cytron and
                 Matthias Felleisen",
  title =        "{Computing Curricula 2001} draft",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "3--4",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bergmann:2001:CCC,
  author =       "Seth Bergmann",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "5--20",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2001:CEF,
  author =       "Paul Frenger",
  title =        "Close encounters of the {Forth} kind",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "21--24",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McNamara:2001:FPC,
  author =       "Brian McNamara and Yannis Smaragdakis",
  title =        "Functional programming in {C++} using the {FC++}
                 library",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "25--30",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McNamara:2001:FPI,
  author =       "Brian McNamara and Yannis Smaragdakis",
  title =        "Functional Programming in {C++} using the {FC++}
                 Library",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "25--30",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:IAa,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "31--31",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:IPAa,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "32--32",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2001:SOO,
  author =       "Zhenqiang Chen and Baowen Xu",
  title =        "Slicing Object-Oriented {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "33--40",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2001:SCJ,
  author =       "Zhenqiang Chen and Baowen Xu",
  title =        "Slicing Concurrent {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "41--47",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shaofeng:2001:SIT,
  author =       "Wang Shaofeng and Yang Fuquing and Sun Jiaguang",
  title =        "Some issues on the translator of {Smalltalk} to
                 {C++}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "48--55",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:24 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2001:SIT,
  author =       "Shaofeng Wang and Fuqing Yang and Jiaguang Sun",
  title =        "Some issues on the translator of {Smalltalk} to
                 {C++}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "4",
  pages =        "48--55",
  month =        apr,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 28 08:49:32 2001",
  acknowledgement = ack-nhfb,
}

@Article{Kennedy:2001:DIG,
  author =       "Andrew Kennedy and Don Syme",
  title =        "Design and Implementation of Generics for the {.NET}
                 Common Language Runtime",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "1--12",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Hicks:2001:DSU,
  author =       "Michael Hicks and Jonathan T. Moore and Scott
                 Nettles",
  title =        "Dynamic Software Updating",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "13--23",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Heintze:2001:DDP,
  author =       "Nevin Heintze and Olivier Tardieu",
  title =        "Demand-Driven Pointer Analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "24--34",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Vivien:2001:IPE,
  author =       "Fr{\'e}d{\'e}ric Vivien and Martin Rinard",
  title =        "Incrementalized pointer and escape analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "35--46",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vivient:2001:IPE,
  author =       "Frederic Vivient and Martin Rinard",
  title =        "Incrementalized Pointer and Escape Analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "35--46",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 12:48:53 2001",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Ghiya:2001:IPA,
  author =       "Rakesh Ghiya and Daniel Lavery and David Sehr",
  title =        "On the Importance of Points-to Analysis and Other
                 Memory Disambiguation Methods for {C} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "47--58",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{DeLine:2001:EHL,
  author =       "Robert DeLine and Manuel F{\"a}hndrich",
  title =        "Enforcing High-Level Protocols in Low-Level Software",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "59--69",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Gay:2001:LSR,
  author =       "David Gay and Alex Aiken",
  title =        "Language Support for Regions",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "70--80",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Monnier:2001:PS,
  author =       "Stefan Monnier and Bratin Saha and Zhong Shao",
  title =        "Principled Scavenging",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "81--91",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2001:JCB,
  author =       "David F. Bacon and Clement R. Attanasio and Han B. Lee
                 and V. T. Rajan and Stephen Smith",
  title =        "{Java} without the coffee breaks: a nonintrusive
                 multiprocessor garbage collector",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "92--103",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Shaham:2001:HPS,
  author =       "Ran Shaham and Elliot K. Kolodner and Mooly Sagiv",
  title =        "Heap Profiling for Space-Efficient {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "104--113",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Berger:2001:CHP,
  author =       "Emery D. Berger and Benjamin G. Zorn and Kathryn S.
                 McKinley",
  title =        "Composing High-Performance Memory Allocators",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "114--124",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Cheng:2001:PRT,
  author =       "Perry Cheng and Guy E. Blelloch",
  title =        "A Parallel, Real-Time Garbage Collector",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "125--136",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Amme:2001:STS,
  author =       "Wolfram Amme and Niall Dalton and Jeffery von Ronne
                 and Michael Franz",
  title =        "{SafeTSA}: {A} Type Safe and Referentially Secure
                 Mobile-Code Representation Based on Static Single
                 Assignment Form",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "137--147",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Evans:2001:BCP,
  author =       "William S. Evans and Christopher W. Fraser",
  title =        "Bytecode Compression via Profiled Grammar Rewriting",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "148--155",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Krintz:2001:UAR,
  author =       "Chandra Krintz and Brad Calder",
  title =        "Using annotations to reduce dynamic optimization
                 time",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "156--167",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Arnold:2001:FRC,
  author =       "Matthew Arnold and Barbara G. Ryder",
  title =        "A Framework for Reducing the Cost of Instrumented
                 Code",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "168--179",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2001:TWP,
  author =       "Youtao Zhang and Rajiv Gupta",
  title =        "Timestamped Whole Program Path Representation and its
                 Applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "180--190",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Chilimbi:2001:ERA,
  author =       "Trishul M. Chilimbi",
  title =        "Efficient Representations and Abstractions for
                 Quantifying and Exploiting Data Reference Locality",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "191--202",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Ball:2001:APA,
  author =       "Thomas Ball and Rupak Majumdar and Todd Millstein and
                 Sriram K. Rajamani",
  title =        "Automatic Predicate Abstraction of {C} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "203--213",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aggarwal:2001:RFA,
  author =       "Aneesh Aggarwal and Keith H. Randall",
  title =        "Related Field Analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "214--220",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Moller:2001:PAL,
  author =       "Anders M{\o}ller and Michael I. Schwartzbach",
  title =        "The Pointer Assertion Logic Engine",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "221--231",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Thies:2001:UFS,
  author =       "William Thies and Fr{\'e}d{\'e}ric Vivien and Jeffrey
                 Sheldon and Saman Amarasinghe",
  title =        "A Unified Framework for Schedule and Storage
                 Optimization",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "232--242",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Appel:2001:OSC,
  author =       "Andrew W. Appel and Lal George",
  title =        "Optimal Spilling for {CISC} Machines with Few
                 Registers",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "243--253",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Heintze:2001:UFA,
  author =       "Nevin Heintze and Olivier Tardieu",
  title =        "Ultra-fast Aliasing Analysis using {CLA}: {A} Million
                 Lines of {C} Code in a Second",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "254--263",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Hanson:2001:DV,
  author =       "David R. Hanson and Todd A. Proebsting",
  title =        "Dynamic Variables",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "264--273",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Marlow:2001:AEH,
  author =       "Simon Marlow and Simon Peyton Jones and Andrew Moran
                 and John Reppy",
  title =        "Asynchronous Exceptions in {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "274--285",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Chatterjee:2001:EAC,
  author =       "Siddhartha Chatterjee and Erin Parker and Philip J.
                 Hanlon and Alvin R. Lebeck",
  title =        "Exact Analysis of the Cache Behavior of Nested Loops",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "286--297",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Xiong:2001:SLC,
  author =       "Jianxin Xiong and Jeremy Johnson and Robert Johnson
                 and David Padua",
  title =        "{SPL}: {A} Language and Compiler for {DSP}
                 algorithms",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "298--308",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2001:ELP,
  author =       "Sanjeev Kumar and Yitzhak Mandelbaum and Xiang Yu and
                 Kai Li",
  title =        "{ESP}: {A} Language for Programmable Devices",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "309--320",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schnarr:2001:FLC,
  author =       "Eric C. Schnarr and Mark D. Hill and James R. Larus",
  title =        "{Facile}: {A} Language and Compiler for
                 High-Performance Processor Simulators",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "321--331",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:26 MST 2003",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:AIa,
  author =       "Anonymous",
  title =        "Author Index",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "5",
  pages =        "333--333",
  month =        may,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 12:48:53 2001",
  bibsource =    "http://www.acm.org/sigplan/pldi/pldi2001/pldi_program.html",
  acknowledgement = ack-nhfb,
}

@Article{Knobe:2001:ECN,
  author =       "Kathleen Knobe and Wilson Hsieh and Uli Kremer",
  title =        "Executive Committee News: {SIGPLAN}'s {Professional
                 Activities Committee}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "1--2",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:CCCa,
  author =       "Anonymous",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "3--18",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Thiemann:2001:CPP,
  author =       "Pieter Thiemann",
  title =        "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}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "19--19",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Bergin:2001:CPU,
  author =       "Joe Bergin",
  title =        "Curricular Patterns: The Undergraduate Language
                 Course: What To Do?",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "20--22",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Bergin:2001:ULC,
  author =       "Joe Bergin",
  title =        "The undergraduate language course: what to do?",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "20--22",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:27 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2001:FD,
  author =       "Paul Frenger",
  title =        "Is {Forth} dead?",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "23--25",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:27 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2001:FRF,
  author =       "Paul Frenger",
  title =        "{Forth} Report: Is {Forth} Dead?",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "23--25",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:IAb,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "26--26",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:IPAb,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "27--27",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jul 11 13:05:06 2001",
  acknowledgement = ack-nhfb,
}

@Article{Li:2001:DSN,
  author =       "Tao Li and XiaoJie Liu",
  title =        "The Denotational Semantics of {NIPL}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "28--37",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:27 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gofen:2001:PDO,
  author =       "Alexander Gofen",
  title =        "From {Pascal} to {Delphi} to {Object Pascal-2000}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "38--49",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:27 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yu:2001:CTI,
  author =       "Sheng Yu",
  title =        "Class-is-type is inadequate for object reuse",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "6",
  pages =        "50--59",
  month =        jun,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:27 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Foster:2001:PCO,
  author =       "Ian Foster",
  title =        "Parallel computing in 2010: opportunities and
                 challenges in a networked world",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "1--1",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p1-foster/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p1-foster/p1-foster.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2001:RIA,
  author =       "Seon Wook Kim and Chong-liang Ooi and Rudolf Eigenmann
                 and Babak Falsafi and T. N. Vijaykumar",
  title =        "Reference idempotency analysis: a framework for
                 optimizing speculative execution",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "2--11",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p2-kim/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p2-kim/p2-kim.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Salcianu:2001:PEA,
  author =       "Alexandru Salcianu and Martin Rinard",
  title =        "Pointer and escape analysis for multithreaded
                 programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "12--23",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p12-salcianu/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p12-salcianu/p12-salcianu.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Wise:2001:LSM,
  author =       "David S. Wise and Jeremy D. Frens and Yuhong Gu and
                 Gregory A. Alexander",
  title =        "Language support for {Morton}-order matrices",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "24--33",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p24-wise/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p24-wise/p24-wise.pdf",
  acknowledgement = ack-nhfb,
}

@Article{vanNieuwpoort:2001:ELB,
  author =       "Rob V. van Nieuwpoort and Thilo Kielmann and Henri E.
                 Bal",
  title =        "Efficient load balancing for wide-area
                 divide-and-conquer applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "34--43",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p34-van_nieuwpoort/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p34-van_nieuwpoort/p34-van_nieuwpoort.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Scott:2001:SQB,
  author =       "Michael L. Scott and William N. Scherer",
  title =        "Scalable queue-based spin locks with timeout",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "44--52",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p44-scott/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p44-scott/p44-scott.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lu:2001:CER,
  author =       "Honghui Lu and Alan L. Cox and Willy Zwaenepoel",
  title =        "Contention elimination by replication of sequential
                 sections in distributed shared memory programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "53--61",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p53-lu/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p53-lu/p53-lu.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Morris:2001:ADR,
  author =       "Donald G. Morris and David K. Lowenthal",
  title =        "Accurate data redistribution cost estimation in
                 software distributed shared memory systems",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "62--71",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p62-morris/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p62-morris/p62-morris.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Rencuzogullari:2001:DAA,
  author =       "Umit Rencuzogullari and Sandhya Dwardadas",
  title =        "Dynamic adaptation to available resources for parallel
                 computing in an autonomous network of workstations",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "72--81",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p72-rencuzogullari/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p72-rencuzogullari/p72-rencuzogullari.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Chien:2001:PPC,
  author =       "Andrew A. Chien",
  title =        "Parallel programming challenges for {Internet}-scale
                 computing (entropia)",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "82--82",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p82-chien/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p82-chien/p82-chien.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Veldema:2001:SLG,
  author =       "R. Veldema and R. F. H. Hofman and R. A. F. Bhoedjang
                 and C. J. H. Jacobs and H. E. Bal",
  title =        "Source-level global optimizations for fine-grain
                 distributed shared memory systems",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "83--92",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p83-veldema/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p83-veldema/p83-veldema.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Voss:2001:HLA,
  author =       "Michael J. Voss and Rudolf Eigemann",
  title =        "High-level adaptive program optimization with
                 {ADAPT}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "93--102",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p93-voss/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p93-voss/p93-voss.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lim:2001:BAC,
  author =       "Amy W. Lim and Shih-Wei Liao and Monica S. Lam",
  title =        "Blocking and array contraction across arbitrarily
                 nested loops using affine partitioning",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "103--112",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p103-lim/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p103-lim/p103-lim.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Carrera:2001:EVP,
  author =       "Enrique V. Carrera and Ricardo Bianchini",
  title =        "Efficiency vs. portability in cluster-based network
                 servers",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "113--122",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p113-carrera/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p113-carrera/p113-carrera.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Vetter:2001:SSA,
  author =       "Jeffrey S. Vetter and Michael O. McCracken",
  title =        "Statistical scalability analysis of communication
                 operations in distributed applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "123--132",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p123-vetter/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p123-vetter/p123-vetter.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ino:2001:LPC,
  author =       "Fumihiko Ino and Noriyuki Fujimoto and Kenichi
                 Hagihara",
  title =        "{LogGPS}: a parallel computational model for
                 synchronization analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "133--142",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p133-ino/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p133-ino/p133-ino.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Kuck:2001:PPD,
  author =       "David Kuck",
  title =        "Peer to peer and distributed computing",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "7",
  pages =        "143--143",
  month =        jul,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:28 MST 2003",
  bibsource =    "http://www.acm.org/pubs/contents/proceedings/series/ppopp/;
                 http://portal.acm.org/",
  URL =          "http://www.acm.org/pubs/citations/proceedings/ppopp/379539/p143-kuck/;
                 http://www.acm.org/pubs/articles/proceedings/ppopp/379539/p143-kuck/p143-kuck.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2001:AIL,
  author =       "Sheayun Lee and Andreas Ermedahl and Sang Lyul Min and
                 Naehyuck Chang",
  title =        "An {Accurate Instruction-Level Energy Consumption
                 Model} for {Embedded RISC Processors}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "1--10",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Kim:2001:HRT,
  author =       "Minyoung Kim and Soonhoi Ha",
  title =        "Hybrid {Run-time Power Management Technique} for
                 {Real-time Embedded System} with {Voltage Scalable
                 Processor}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "11--19",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Kang:2001:PAD,
  author =       "Dong-In Kang and Stephen Crago and Jinwoo Suh",
  title =        "Power-Aware {Design Synthesis Techniques} for
                 {Distributed Real-Time Systems}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "20--28",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{DeSutter:2001:CGC,
  author =       "Bjorn {De Sutter} and Bruno {De Bus} and Koen {De
                 Bosschere} and Saumya Debray",
  title =        "Combining Global Code and Data Compaction",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "29--38",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 06:59:29 2001",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Sutter:2001:CGC,
  author =       "Bjorn De Sutter and Bruno De Bus and Koen De Bosschere
                 and Saumya Debray",
  title =        "Combining {Global Code} and {Data Compaction}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "29--38",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Park:2001:RAB,
  author =       "Jinpyo Park and Je-Hyung Lee and Soo-Mook Moon",
  title =        "Register Allocation for Banked Register File",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "39--47",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Huang:2001:LTA,
  author =       "Xianglong Huang and Steve Carr and Philip Sweany",
  title =        "Loop {Transformations} for {Architectures} with
                 {Partitioned Register Banks}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "48--55",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Cadot:2001:ECL,
  author =       "Sidney Cadot and Frits Kuijlman and Koen Langendoen
                 and Kees van Reeuwijk and Henk Sips",
  title =        "{ENSEMBLE}: {A} Communication Layer for Embedded
                 Multi-Processor Systems",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "56--63",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Henzinger:2001:ECS,
  author =       "Thomas A. Henzinger and Benjamin Horowitz and
                 Christoph Meyer Kirsch",
  title =        "Embedded {Control Systems Development} with {Giotto}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "64--72",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Palopoli:2001:TSF,
  author =       "Luigi Palopoli and Giuseppe Lipari and Luca Abeni and
                 Marco Di Natale and Paolo Ancilotti and Fabio
                 Conticelli",
  title =        "A tool for simulation and fast prototyping of embedded
                 control systems",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "73--81",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Bakshi:2001:MMB,
  author =       "A. Bakshi and V. K. Prasanna and A. Ledeczi",
  title =        "{MILAN}: {A} Model Based Integrated Simulation
                 Framework for Design of Embedded Systems",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "82--87",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Vivancos:2001:PTA,
  author =       "Emilio Vivancos and Christopher Healy and Frank
                 Mueller and David Whalley",
  title =        "Parametric {Timing Analysis}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "88--93",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Ziegenbein:2001:IBA,
  author =       "Dirk Ziegenbein and Fabian Wolf and Kai Richter and
                 Marek Jersak and Rolf Ernst",
  title =        "Interval-Based {Analysis} of {Software Processes}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "94--101",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Unnikrishnan:2001:AAL,
  author =       "Leena Unnikrishnan and Scott D. Stoller and Yanhong A.
                 Liu",
  title =        "Automatic {Accurate Live Memory Analysis} for
                 {Garbage-Collected Languages}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "102--111",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Theiling:2001:GDT,
  author =       "Henrik Theiling",
  title =        "Generating {Decision Trees} for {Decoding Binaries}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "112--120",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Merillion:2001:DHE,
  author =       "Fabrice M{\'e}rillion and Gilles Muller",
  title =        "Dealing with {Hardware} in {Embedded Software}: {A
                 General Framework Based} on the {Devil Language}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "121--127",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Merillon:2001:DHE,
  author =       "Fabrice Merillon and Gilles Muller",
  title =        "Dealing with Hardware in Embedded Software: {A}
                 General Framework Based on the {Devil} Language",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "121--127",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 06:59:29 2001",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Kadayif:2001:MCA,
  author =       "Ismail Kadayif and Mahmut Taylan Kandemir and
                 Narayanan Vijaykrishnan and Mary Jane Irwin and
                 Jagannathan Ramanujam",
  title =        "Morphable {Cache Architectures}: {Potential
                 Benefits}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "128--137",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Granston:2001:SPI,
  author =       "Elana Granston and Eric Stotzer and Joe Zbiciak",
  title =        "Software Pipelining Irregular Loops On the
                 {TMS320C6000 VLIW DSP} Architecture",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "138--144",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Kastner:2001:IBI,
  author =       "Daniel K{\"a}stner and Sebastian Winkel",
  title =        "{ILP}-based Instruction Scheduling for {IA-64}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "145--154",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  remark =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Wagner:2001:CCD,
  author =       "Jens Wagner and Rainer Leupers",
  title =        "{C} Compiler Design for an Industrial Network
                 Processor",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "155--164",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://redwood.snu.ac.kr/lctes2001/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Kessler:2001:DPA,
  author =       "Christoph Ke{\ss}ler and Andrzej Bednarski",
  title =        "A {Dynamic Programming Approach} to {Optimal
                 Integrated Code Generation}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "165--174",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Yellin:2001:SMC,
  author =       "Daniel M. Yellin",
  title =        "Stuck in the {Middle}: {Challenges} and {Trends} in
                 {Optimizing Middleware}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "175--180",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.cs.wisc.edu/~bodik/om2001/program.html",
  URL =          "http://www.cs.wisc.edu/~bodik/om2001/danny-abstract.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Hogstedt:2001:OCI,
  author =       "Karin H{\"o}gstedt and Doug Kimelman and Nan Wang",
  title =        "Optimizing {Component Interaction}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "181--181",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wegman:2001:OCI,
  author =       "Mark Wegman",
  title =        "Optimizing Component Interaction",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "181--181",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 06:59:29 2001",
  bibsource =    "http://www.cs.wisc.edu/~bodik/om2001/program.html",
  URL =          "http://www.cs.wisc.edu/~bodik/om2001/mark-abstract.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Larus:2001:UCS,
  author =       "James R. Larus and Michael Parkes",
  title =        "Using Cohort Scheduling to Enhance Server Performance
                 (Extended Abstract)",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "182--187",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://www.cs.wisc.edu/~bodik/om2001/program.html;
                 http://portal.acm.org/",
  URL =          "http://www.cs.wisc.edu/~bodik/om2001/mark-abstract.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Narain:2001:MBA,
  author =       "Sanjai Narain and Ravichander Vaidyanathan and Stanley
                 Moyer and William Stephens and Kirthika Parmeswaran and
                 Abdul Rahim Shareef",
  title =        "Middleware for Building Adaptive Systems via
                 Configuration",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "188--195",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.cs.wisc.edu/~bodik/om2001/program.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Gore:2001:DOS,
  author =       "Pradeep Gore and Ron Cytron and Douglas Schmidt and
                 Carlos O'Ryan",
  title =        "Designing and Optimizing a Scalable {CORBA}
                 Notification Service",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "196--204",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.cs.wisc.edu/~bodik/om2001/program.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Othman:2001:IDA,
  author =       "Ossama Othman and Douglas C. Schmidt",
  title =        "Issues in the {Design} of {Adaptive Middleware Load
                 Balancing}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "205--213",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.cs.wisc.edu/~bodik/om2001/program.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Pyarali:2001:EOT,
  author =       "Irfan Pyarali and Marina Spivak and Ron Cytron and
                 Douglas C. Schmidt",
  title =        "Evaluating and Optimizing Thread Pool Strategies for
                 Real-Time {CORBA}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "214--222",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://www.cs.wisc.edu/~bodik/om2001/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Brunsch:2001:DES,
  author =       "Darrell Brunsch and Carlos O'Ryan and Douglas C.
                 Schmidt",
  title =        "Designing an Efficient and Scalable Server-side
                 Asynchrony Model for {CORBA}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "223--229",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.cs.wisc.edu/~bodik/om2001/program.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Krishnamurthy:2001:IQE,
  author =       "Yamuna Krishnamurthy and Vishal Kachroo and David A.
                 Karr and Craig Rodrigues and Joseph P. Loyall and
                 Richard Schantz and Douglas C. Schmidt",
  title =        "Integration of {QoS}-Enabled Distributed Object
                 Computing Middleware for Developing Next-Generation
                 Distributed Applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "230--237",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://www.cs.wisc.edu/~bodik/om2001/program.html;
                 http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Adve:2001:LCS,
  author =       "Vikram Adve and Vinh Vi Lam and Brian Ensink",
  title =        "Language and Compiler Support for Adaptive Distributed
                 Applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "238--246",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:29 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.cs.wisc.edu/~bodik/om2001/program.html",
  acknowledgement = ack-nhfb,
  annote =       "OM'01: The First Workshop on Optimization of
                 Middleware and Distributed Systems",
}

@Article{Lee:2001:ESC,
  author =       "Edward A. Lee",
  title =        "Embedded Software from Concurrent Component Models",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 06:59:29 2001",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/",
  note =         "Invited paper; not in conference proceedings.",
  URL =          "http://redwood.snu.ac.kr/lctes2001/edward-abstract.html",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Palem:2001:WCW,
  author =       "Krishna V. Palem",
  title =        "What is a compiler when the architecture is not
                 hard?",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 06:59:29 2001",
  bibsource =    "http://redwood.snu.ac.kr/lctes2001/",
  note =         "Listed in conference program, but did not appear in
                 conference proceedings.",
  acknowledgement = ack-nhfb,
  annote =       "LCTES'01: The Workshop on Languages, Compilers and
                 Tools for Embedded Systems",
}

@Article{Boehm:2001:LNE,
  author =       "Hans Boehm",
  title =        "Letter from the Newly Elected {Chair}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "1--2",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Whalley:2001:LLS,
  author =       "Dave Whalley",
  title =        "Letter from the {LCTES Steering Committee}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "3--3",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:C,
  author =       "Anonymous",
  title =        "Calendar",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "4--16",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:P,
  author =       "Anonymous",
  title =        "In parallel",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "17--17",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxtitle =      "{PLDI'02}",
}

@Article{Anonymous:2001:LS,
  author =       "Anonymous",
  title =        "{LCTES'02} and {SCOPES'02}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "18--18",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Page:2001:FPW,
  author =       "Rex Page",
  title =        "Functional programming, and where you can put it",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "19--24",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:AOC,
  author =       "Anonymous",
  title =        "{ASTs} for optimizing compilers",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "25--30",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2001:AOC,
  author =       "Chris Clark",
  title =        "{ASTs} for Optimizing Compilers",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "25--30",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Christopher:2001:TPO,
  author =       "Thomas W. Christopher",
  title =        "Test Programs to Observe Parallelism",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "31--36",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:IA,
  author =       "Anonymous",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "37--37",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:IPA,
  author =       "Anonymous",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "38--38",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Zhu:2001:DSP,
  author =       "Ming-Yuan Zhu",
  title =        "Denotational Semantics of Programming Languages and
                 Compiler Generation in {PowerEpsilon}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "39--53",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhu:2001:FSD,
  author =       "Ming-Yuan Zhu",
  title =        "Formal specifications of debuggers",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "54--63",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kienle:2001:USR,
  author =       "Holger M. Kienle",
  title =        "Using {{\tt smgn}} for Rapid Prototyping of Small
                 Domain-Specific Languages",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "64--73",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Moore:2001:SSH,
  author =       "David L. Moore",
  title =        "{{\tt smgn}}: Some historical remarks",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "74--76",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gassanenko:2001:ACL,
  author =       "Michael L. Gassanenko",
  title =        "About Code Layout for {Lisp}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "77--80",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lu:2001:DZA,
  author =       "Lunjin Lu",
  title =        "On {Dart-Zobel} Algorithm for Testing Regular Type
                 Inclusion",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "81--85",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shaofeng:2001:FDW,
  author =       "Wang Shaofeng and Sun Jiaguang",
  title =        "A framework design of workflow management system with
                 {Java RMI}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "86--93",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2001:FDW,
  author =       "Shaofeng Wang and Jiaguang Sun",
  title =        "A Framework Design for Workflow Management System with
                 {Java RMI}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "86--93",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Nov 24 07:54:10 2001",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:FP,
  author =       "Anonymous",
  title =        "Functional programming",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "??--??",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:PPP,
  author =       "Anonymous",
  title =        "Practical parsing patterns",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "??--??",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:TCa,
  author =       "Anonymous",
  title =        "Technical correspondence",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "9",
  pages =        "??--??",
  month =        sep,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:30 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pitts:2001:FAR,
  author =       "Andrew M. Pitts",
  title =        "A Fresh Approach to Representing Syntax with Static
                 Binders in Functional Programming",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "1--1",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  note =         "Invited talk; abstract only.",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/pitts.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Fluet:2001:CUD,
  author =       "Matthew Fluet and Stephen Weeks",
  title =        "Contification using Dominators",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "2--13",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/48.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Dimock:2001:FCT,
  author =       "Allyn Dimock and Ian Westmacott and Robert Muller and
                 Franklyn Turbak and J. B. Wells",
  title =        "Functioning without Closure: Type-Safe Customized
                 Function Representations for {Standard ML}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "14--25",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/55.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Fessant:2001:OPM,
  author =       "Fabrice Le Fessant and Luc Maranget",
  title =        "Optimizing pattern matching",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "26--37",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{LeFessant:2001:OPM,
  author =       "Fabrice {Le Fessant} and Luc Maranget",
  title =        "Optimizing Pattern Matching",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "26--37",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Nov 23 18:54:42 2001",
  bibsource =    "http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/8.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Neubauer:2001:ELD,
  author =       "Matthias Neubauer and Michael Sperber",
  title =        "Down with {Emacs Lisp}: Dynamic Scope Analysis",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "38--49",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/50.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Russo:2001:RSS,
  author =       "Claudio V. Russo",
  title =        "Recursive Structures for {Standard ML}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "50--61",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/28.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Duggan:2001:TBH,
  author =       "Dominic Duggan",
  title =        "Type-based hot swapping of running modules (extended
                 abstract)",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "62--73",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/21.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Ganz:2001:MMS,
  author =       "Steven E. Ganz and Amr Sabry and Walid Taha",
  title =        "Macros as Multi-Stage Computations: Type-Safe,
                 Generative, Binding Macros in {MacroML}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "74--85",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/42.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Sheard:2001:GUT,
  author =       "Tim Sheard",
  title =        "Generic Unification via Two-Level Types and
                 Parameterized Modules",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "86--97",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/13.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Chuang:2001:GVS,
  author =       "Tyng-Ruey Chuang",
  title =        "Generic Validation of Structural Content with
                 Parametric Modules",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "98--109",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/22.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Hinze:2001:SIT,
  author =       "Ralf Hinze",
  title =        "A Simple Implementation Technique for Priority Search
                 Queues",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "110--121",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/23.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Sperber:2001:DSL,
  author =       "Michael Sperber",
  title =        "Developing a Stage Lighting System from Scratch",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "122--133",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/32.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Anand:2001:CPP,
  author =       "Saswat Anand and Wei-Ngan Chin and Siau-Cheng Khoo",
  title =        "Charting Patterns on Price History",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "134--145",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/64.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Wan:2001:RTF,
  author =       "Zhanyong Wan and Walid Taha and Paul Hudak",
  title =        "Real-time {FRP}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "146--156",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/43.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Russell:2001:EHH,
  author =       "George Russell",
  title =        "Events in {Haskell}, and How to Implement Them",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "157--168",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/24.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Hongwei:2001:DTA,
  author =       "Hongwei Xi and Robert Harper",
  title =        "A Dependently Typed Assembly Language",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "169--180",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Nov 23 18:54:42 2001",
  bibsource =    "http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/27.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Xi:2001:DTA,
  author =       "Hongwei Xi and Robert Harper",
  title =        "A dependently typed assembly language",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "169--180",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Walker:2001:RLT,
  author =       "David Walker and Kevin Watkins",
  title =        "On regions and linear types (extended abstract)",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "181--192",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/36.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Chitil:2001:CET,
  author =       "Olaf Chitil",
  title =        "Compositional Explanation of Types and Algorithmic
                 Debugging of Type Errors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "193--204",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/40.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Chakravarty:2001:FAF,
  author =       "Manuel M. T. Chakravarty and Gabriele Keller",
  title =        "Functional Array Fusion",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "205--216",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/38.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Nanevski:2001:AGS,
  author =       "Aleksandar Nanevski and Guy Blelloch and Robert
                 Harper",
  title =        "Automatic Generation of Staged Geometric Predicates",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "217--228",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/14.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Paterson:2001:NNA,
  author =       "Ross Paterson",
  title =        "A New Notation for Arrows",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "229--240",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/49.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Zenger:2001:EAD,
  author =       "Matthias Zenger and Martin Odersky",
  title =        "Extensible Algebraic Datatypes with Defaults",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "241--252",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/34.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Grobauer:2001:CRD,
  author =       "Bernd Grobauer",
  title =        "Cost Recurrences for {DML} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "253--264",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/45.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Gustavsson:2001:PLC,
  author =       "J{\"o}rgen Gustavsson and David Sands",
  title =        "Possibilities and Limitations of Call-by-Need Space
                 Improvement",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "265--276",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://cristal.inria.fr/ICFP2001/program.html",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/60.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Anonymous:2001:AIc,
  author =       "Anonymous",
  title =        "Author Index",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "277--277",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Nov 23 18:54:42 2001",
  bibsource =    "http://cristal.inria.fr/ICFP2001/program.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Anonymous:2001:IT,
  author =       "Anonymous",
  title =        "Invited talk 1",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Sa,
  author =       "Anonymous",
  title =        "Session 1",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Sb,
  author =       "Anonymous",
  title =        "Session 2",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Sc,
  author =       "Anonymous",
  title =        "Session 3",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Sd,
  author =       "Anonymous",
  title =        "Session 4",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Se,
  author =       "Anonymous",
  title =        "Session 5",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Sf,
  author =       "Anonymous",
  title =        "Session 6",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:Sg,
  author =       "Anonymous",
  title =        "Session 7",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Augustsson:2001:BHD,
  author =       "Lennart Augustsson",
  title =        "{Bluespec} --- a hardware description language",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Nov 23 18:54:42 2001",
  bibsource =    "http://cristal.inria.fr/ICFP2001/program.html",
  note =         "Invited talk; no abstract or article in volume.",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Frigo:2001:FFT,
  author =       "Matteo Frigo",
  title =        "The {Fastest Fourier Transform in the West}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Nov 23 18:54:42 2001",
  bibsource =    "http://cristal.inria.fr/ICFP2001/program.html",
  note =         "Invited talk; no abstract or article in volume.",
  URL =          "http://cristal.inria.fr/ICFP2001/Abstracts/frigo.html",
  acknowledgement = ack-nhfb,
  annote =       "International Conference on Functional Programming
                 (ICFP01), Firenze, Italy, 3--5 September 2001.",
}

@Article{Findler:2001:CSO,
  author =       "Robert Bruce Findler and Matthias Felleisen",
  title =        "Contract soundness for object-oriented languages",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "1--15",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Ancona:2001:CCJ,
  author =       "D. Ancona and G. Lagorio and E. Zucca",
  title =        "A core calculus for {Java} exceptions",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "16--30",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Bachrach:2001:JSE,
  author =       "Jonthan Bachrach and Keith Playford",
  title =        "The {Java Syntactic Extender} ({JSE})",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "31--42",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Rountev:2001:PAJ,
  author =       "Atanas Rountev and Ana Milanova and Barbara G. Ryder",
  title =        "Points-to analysis for {Java} using annotated
                 constraints",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "43--55",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Boyapati:2001:PTS,
  author =       "Chandrasekhar Boyapati and Martin Rinard",
  title =        "A parameterized type system for race-free {Java}
                 programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "56--69",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{vonPraun:2001:ORD,
  author =       "Christoph von Praun and Thomas R. Gross",
  title =        "Object race detection",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "70--82",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Ogasawara:2001:SEH,
  author =       "Takeshi Ogasawara and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "A study of exception handling and its dynamic
                 optimization in {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "83--95",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Zibin:2001:EST,
  author =       "Yoav Zibin and Joseph Yossi Gil",
  title =        "Efficient subtyping tests with {PQ}-encoding",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "96--107",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Alpern:2001:EIJ,
  author =       "Bowen Alpern and Anthony Cocchi and Stephen Fink and
                 David Grove",
  title =        "Efficient implementation of {Java} interfaces:
                 {Invokeinterface} considered harmless",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "108--124",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Czajkowski:2001:MCV,
  author =       "Grzegorz Czajkowski and Laurent Dayn{\'e}s",
  title =        "Multitasking without compromise: a virtual machine
                 evolution",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "125--138",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Binder:2001:PRC,
  author =       "Walter Binder and Jane G. Hulaas and Alex
                 Villaz{\'o}n",
  title =        "Portable resource control in {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "139--155",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Nakamura:2001:ICC,
  author =       "Hiroaki Nakamura",
  title =        "Incremental computation of complex object queries",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "156--165",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Whaley:2001:PMC,
  author =       "John Whaley",
  title =        "Partial method compilation using dynamic profile
                 information",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "166--179",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Suganuma:2001:DOF,
  author =       "Toshio Suganuma and Toshiaki Yasue and Motohiro
                 Kawahito and Hideaki Komatsu and Toshio Nakatani",
  title =        "A dynamic optimization framework for a {Java}
                 just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "180--195",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Pechtchanski:2001:DOI,
  author =       "Igor Pechtchanski and Vivek Sarkar",
  title =        "Dynamic optimistic interprocedural analysis: a
                 framework and an application",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "195--210",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{McDirmid:2001:JNA,
  author =       "Sean McDirmid and Matthew Flatt and Wilson C. Hsieh",
  title =        "{Jiazzi}: new-age components for old-fashioned
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "211--222",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Duggan:2001:MMB,
  author =       "Dominic Duggan and Ching-Ching Techaubol",
  title =        "Modular mixin-based inheritance for application
                 frameworks",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "223--240",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Grothoff:2001:EOC,
  author =       "Christian Grothoff and Jens Palsberg and Jan Vitek",
  title =        "Encapsulating objects with confined types",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "241--253",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Eugster:2001:OE,
  author =       "Patrick Th. Eugster and Rachid Guerraoui and Christian
                 Heide Damm",
  title =        "On objects and events",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "254--269",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Visser:2001:VCT,
  author =       "Joost Visser",
  title =        "Visitor combination and traversal control",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "270--282",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Ostermann:2001:OOC,
  author =       "Klaus Ostermann and Mira Mezini",
  title =        "Object-oriented composition untangled",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "283--299",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Lanza:2001:CCB,
  author =       "Michele Lanza and St{\'e}phane Ducasse",
  title =        "A categorization of classes based on the visualization
                 of their internal structure: the class blueprint",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "300--311",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Harrold:2001:RTS,
  author =       "Mary Jean Harrold and James A. Jones and Tongyu Li and
                 Donglin Liang and Ashish Gujarathi",
  title =        "Regression test selection for {Java} software",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "312--326",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Riehle:2001:AUV,
  author =       "Dirk Riehle and Steven Fraleigh and Dirk Bucka-Lassen
                 and Nosa Omorogbe",
  title =        "The architecture of a {UML} virtual machine",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "327--341",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Blackburn:2001:PJ,
  author =       "Stephen M. Blackburn and Sharad Singhai and Matthew
                 Hertz and Kathryn S. McKinely and J. Eliot B. Moss",
  title =        "Pretenuring for {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "342--352",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Brecht:2001:CGC,
  author =       "Tim Brecht and Eshrat Arjomandi and Chang Li and Hang
                 Pham",
  title =        "Controlling garbage collection and heap growth to
                 reduce the execution time of {Java} applications",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "353--366",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Levanoni:2001:FRC,
  author =       "Yossi Levanoni and Erez Petrank",
  title =        "An on-the-fly reference counting garbage collector for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "11",
  pages =        "367--380",
  month =        nov,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 9 14:44:52 MDT 2002",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2001 ACM SIGPLAN Conference on
                 Object Oriented Programming, Systems, Languages and
                 Applications (OOPSLA'01).",
  acknowledgement = ack-nhfb,
}

@Article{Vlissides:2001:IIS,
  author =       "John Vlissides and Doug Lea",
  title =        "Introduction to this issue's special section on
                 {Intriguing Technology from OOPSLA}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "1--1",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:CCCb,
  author =       "Anonymous",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "2--11",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:CCIa,
  author =       "Anonymous",
  title =        "Conference Corner: {International Corner on Software
                 Engineering (ICSE)}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "12--12",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:CCF,
  author =       "Anonymous",
  title =        "Conference Corner: {Foundations of Software
                 Engineering (FSE)}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "13--13",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:CCP,
  author =       "Anonymous",
  title =        "Conference Corner: {Program Analysis for System Tools
                 and Engineering (PASTE)}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "14--14",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:CCIb,
  author =       "Anonymous",
  title =        "Conference Corner: {International Symposium on Memory
                 Management (ISMM)}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "15--15",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2001:FM,
  author =       "Paul Frenger",
  title =        "{Forth} mindstorms",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "16--19",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Varela:2001:PDR,
  author =       "Carlos Varela and Gul Agha",
  title =        "Programming Dynamically Reconfigurable Open Systems
                 with {SALSA}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "20--34",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nolte:2001:TPH,
  author =       "J{\"o}rg Nolte and Yutaka Ishikawa and Mitsuhisa
                 Sato",
  title =        "{TACO} --- Prototyping High-Level Object-Oriented
                 Programming Constructs by Means of Template Based
                 Programming Techniques",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "35--49",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yoder:2001:ADA,
  author =       "Joseph W. Yoder and Federico Balaguer and Ralph
                 Johnson",
  title =        "Architecture and Design of Adaptive Object-Models",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "50--60",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pawson:2001:NOT,
  author =       "Richard Pawson and Robert Matthews",
  title =        "Naked objects: a technique for designing more
                 expressive systems",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "61--67",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:IAc,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "68--68",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2001:IPAc,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "69--69",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jan 31 18:23:19 2002",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2001:DAR,
  author =       "Baowen Xu and Zhenqiang Chen",
  title =        "Dependence Analysis for Recursive {Java} Programs",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "70--76",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dolog:2001:RCA,
  author =       "Peter Dolog and Valentino Vrani{\'c} and M{\'a}ria
                 Bielikov{\'a}",
  title =        "Representing Change By Aspect",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "77--83",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Avdicausevic:2001:AED,
  author =       "Enis Avdi{\v{c}}au{\v{s}}evi{\'c} and Mitja
                 Leni{\v{c}} and Marjan Mernik and Viljem {\v{Z}}umer",
  title =        "{AspectCOOL}: An experiment in design and
                 implementation of aspect-oriented language",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "84--94",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:F,
  author =       "Anonymous",
  title =        "{Forth}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:ITO,
  author =       "Anonymous",
  title =        "Intriguing technology from {OOPSLA}",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:TCb,
  author =       "Anonymous",
  title =        "Technical correspondence",
  journal =      j-SIGPLAN,
  volume =       "36",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2001",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:33 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ball:2002:SPD,
  author =       "Thomas Ball and Sriram K. Rajamani",
  title =        "The {{\sc Slam}} project: debugging system software
                 via static analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "1--3",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Ammons:2002:MS,
  author =       "Glenn Ammons and Rastislav Bod{\'\i}k and James R.
                 Larus",
  title =        "Mining specifications",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "4--16",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Kuncak:2002:RA,
  author =       "Viktor Kuncak and Patrick Lam and Martin Rinard",
  title =        "Role analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "17--32",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Abadi:2002:ASP,
  author =       "Mart{\'\i}n Abadi and Bruno Blanchet",
  title =        "Analyzing security protocols with secrecy types and
                 logic programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "33--44",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Chaki:2002:TMM,
  author =       "Sagar Chaki and Sriram K. Rajamani and Jakob Rehof",
  title =        "Types as models: model checking message-passing
                 programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "45--57",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Henzinger:2002:LA,
  author =       "Thomas A. Henzinger and Ranjit Jhala and Rupak
                 Majumdar and Gr{\'e}goire Sutre",
  title =        "Lazy abstraction",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "58--70",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Merro:2002:BCS,
  author =       "Massimo Merro and Matthew Hennessy",
  title =        "Bisimulation congruences in safe ambients",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "71--80",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Honda:2002:UTS,
  author =       "Kohei Honda and Nobuko Yoshida",
  title =        "A uniform type structure for secure information flow",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "81--92",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Boehm:2002:BSU,
  author =       "Hans-J. Boehm",
  title =        "Bounding space usage of conservative garbage
                 collectors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "93--100",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Petrank:2002:HCC,
  author =       "Erez Petrank and Dror Rawitz",
  title =        "The hardness of cache conscious data placement",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "101--112",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Philipose:2002:TAC,
  author =       "Matthai Philipose and Craig Chambers and Susan J.
                 Eggers",
  title =        "Towards automatic construction of staged compilers",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "113--125",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Felleisen:2002:PCB,
  author =       "Matthias Felleisen",
  title =        "From {POPL} to the classroom and back",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "126--127",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Necula:2002:CTS,
  author =       "George C. Necula and Scott McPeak and Westley Weimer",
  title =        "{CCured}: type-safe retrofitting of legacy code",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "128--139",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Rubin:2002:EPA,
  author =       "Shai Rubin and Rastislav Bod{\'\i}k and Trishul
                 Chilimbi",
  title =        "An efficient profile-analysis framework for
                 data-layout optimizations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "140--153",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Ramsey:2002:SLC,
  author =       "Norman Ramsey and Avi Pfeffer",
  title =        "Stochastic lambda calculus and monads of probability
                 distributions",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "154--165",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Banerjee:2002:RIC,
  author =       "Anindya Banerjee and David A. Naumann",
  title =        "Representation independence, confinement and access
                 control [extended abstract]",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "166--177",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Cousot:2002:SDP,
  author =       "Patrick Cousot and Radhia Cousot",
  title =        "Systematic design of program transformation frameworks
                 by abstract interpretation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "178--190",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Flanagan:2002:PAS,
  author =       "Cormac Flanagan and Shaz Qadeer",
  title =        "Predicate abstraction for software verification",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "191--202",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Su:2002:FOT,
  author =       "Zhendong Su and Alexander Aiken and Joachim Niehren
                 and Tim Priesnitz and Ralf Treinen",
  title =        "The first-order theory of subtyping constraints",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "203--216",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Shao:2002:TSC,
  author =       "Zhong Shao and Bratin Saha and Valery Trifonov and
                 Nikolaos Papaspyrou",
  title =        "A type system for certified binaries",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "217--232",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Neubauer:2002:FLO,
  author =       "Matthias Neubauer and Peter Thiemann and Martin
                 Gasbichler and Michael Sperber",
  title =        "Functional logic overloading",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "233--244",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Manohar:2002:SFD,
  author =       "Rajit Manohar",
  title =        "Scalable formal design methods for asynchronous
                 {VLSI}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "245--246",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Acar:2002:AFP,
  author =       "Umut A. Acar and Guy E. Blelloch and Robert Harper",
  title =        "Adaptive functional programming",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "247--259",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Hofmann:2002:SNS,
  author =       "Martin Hofmann",
  title =        "The strength of non-size increasing computation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "260--269",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Lerner:2002:CDA,
  author =       "Sorin Lerner and David Grove and Craig Chambers",
  title =        "Composing dataflow analyses and transformations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "270--282",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Lacey:2002:PCC,
  author =       "David Lacey and Neil D. Jones and Eric Van Wyk and
                 Carl Christian Frederiksen",
  title =        "Proving correctness of compiler optimizations by
                 temporal logic",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "283--294",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Shuf:2002:EPT,
  author =       "Yefim Shuf and Manish Gupta and Rajesh Bordawekar and
                 Jaswinder Pal Singh",
  title =        "Exploiting prolific types for memory management and
                 optimizations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "295--306",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Fournet:2002:SIT,
  author =       "C{\'e}dric Fournet and Andrew D. Gordon",
  title =        "Stack inspection: theory and variants",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "307--318",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Pottier:2002:IFI,
  author =       "Fran{\c{c}}ois Pottier and Vincent Simonet",
  title =        "Information flow inference for {ML}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "319--330",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

@Article{Igarashi:2002:RUA,
  author =       "Atsushi Igarashi and Naoki Kobayashi",
  title =        "Resource usage analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "1",
  pages =        "331--342",
  month =        jan,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:58 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "Proceedings of the 29th ACM SIGPLAN-SIGACT symposium
                 on Principles of Programming Languages (POPL'02).",
}

%%% Unread: volume 37 number 2 February 2002 [my issue never arrived]

@Article{Noble:2002:FRJ,
  author =       "Julian V. Noble",
  title =        "{Forth} report: jump tables and state machines",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "14--19",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Christopher:2002:PFP,
  author =       "Thomas W. Christopher",
  title =        "In parallel: Facilities for parallelism: what should
                 be in a parallel library",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "20--22",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Creak:2002:HTWa,
  author =       "Alan Creak",
  title =        "How things were: Programming lessons from days gone
                 by: backward ran sentences until reeled the mind",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "23--26",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Singh:2002:ADC,
  author =       "Prabhat K. Singh and Arun Lakhotia",
  title =        "Analysis and detection of computer viruses and worms:
                 an annotated bibliography",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "29--35",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rashid:2002:WAP,
  author =       "Awais Rashid",
  title =        "Weaving aspects in a persistent environment",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "36--44",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kuhl:2002:OLA,
  author =       "Bernd K{\"u}hl and Axel-Tobias Schreiner",
  title =        "Objects for lexical analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "45--52",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Siegfried:2002:SLH,
  author =       "Robert M. Siegfried",
  title =        "A scripting language to help the blind to program
                 visually",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "53--56",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nedjah:2002:ECD,
  author =       "Nadia Nedjah and Luiza de Macedo Mourelle",
  title =        "Efficient concise deterministic pattern-matching
                 automata for ambiguous patterns",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "57--67",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zongyan:2002:BVE,
  author =       "Qiu Zongyan",
  title =        "Bit-vector encoding of $n$-queen problem",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "2",
  pages =        "68--70",
  month =        feb,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:22:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chambers:2002:SC,
  author =       "Craig Chambers",
  title =        "Staged compilation (invited talk)",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "1--8",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Meur:2002:TBG,
  author =       "Anne-Fran{\c{c}}oise Le Meur and Julia L. Lawall and
                 Charles Consel",
  title =        "Towards bridging the gap between programming languages
                 and partial evaluation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "9--18",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Asai:2002:OPE,
  author =       "Kenichi Asai",
  title =        "Online partial evaluation for shift and reset",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "19--30",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Brabrand:2002:GLM,
  author =       "Claus Brabrand and Michael I. Schwartzbach",
  title =        "Growing languages with metamorphic syntax macros",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "31--40",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Secher:2002:CID,
  author =       "Jens Peter Secher and Morten Heine S{\o}rensen",
  title =        "From checking to inference via driving and dag
                 grammars",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "41--51",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Vidal:2002:CAN,
  author =       "Germ{\'a}n Vidal",
  title =        "Cost-augmented narrowing-driven specialization",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "52--62",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Lu:2002:PDA,
  author =       "Lunjin Lu",
  title =        "Path dependent analysis of logic programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "63--74",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Gomez:2002:ATB,
  author =       "Gustavo G{\'o}mez and Yanhong A. Liu",
  title =        "Automatic time-bound analysis for a higher-order
                 language",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "75--86",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Giacobazzi:2002:CPS,
  author =       "Roberto Giacobazzi and Isabella Mastroeni",
  title =        "Compositionality in the puzzle of semantics",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "87--97",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Bischof:2002:IAD,
  author =       "Christian H. Bischof and Paul D. Hovland and Boyana
                 Norris",
  title =        "Implementation of automatic differentiation tools
                 (invited talk)",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "98--107",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2002:POU,
  author =       "Yanhong A. Liu and Scott D. Stoller",
  title =        "Program optimization using indexed and recursive data
                 structures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "108--118",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Ramakrishnan:2002:MII,
  author =       "Naren Ramakrishnan and Robert Capra and Manuel A.
                 P{\'e}rez-Qui{\~n}ones",
  title =        "Mixed-initiative interaction = mixed computation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "119--130",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Barthe:2002:CTI,
  author =       "Gilles Barthe and Tarmo Uustalu",
  title =        "{CPS} translating inductive and coinductive types",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "3",
  pages =        "131--142",
  month =        mar,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  note =         "Proceedings of the 2002 ACM SIGPLAN Workshop Partial
                 Evaluation and Semantics-Based Program Manipulation
                 (PEPM'02).",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:2002:LSP,
  author =       "Normal Ramsey",
  title =        "{{\LaTeX}} Support for Proceedings",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "1--3",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cytron:2002:SAA,
  author =       "Ron Cytron",
  title =        "{SIGPLAN Awards}: The {2001 Award Winners}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "4--4",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:CCC,
  author =       "Jay Fenwick",
  title =        "Conference Corner: Calendar",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "5--14",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:CPF,
  author =       "Anonymous",
  title =        "Call for Participation: {First International
                 IFIP\slash ACM Working Conference on Component
                 Deployment, June 20--21, 2002, Berlin Germany}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "15--15",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:CPI,
  author =       "Anonymous",
  title =        "Call for Participation: {ISSTA 2002: International
                 Symposium on Software Testing and Analysis}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "16--16",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2002:FRS,
  author =       "Paul Frenger",
  title =        "{Forth} Report: Strap-On {Forth}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "17--20",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Creak:2002:HTWb,
  author =       "Alan Creak",
  title =        "How things were: Programming lessons from days gone
                 by: {Cobol}, stewed for students",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "21--26",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Christopher:2002:PCR,
  author =       "Thomas W. Christopher",
  title =        "In Parallel: Communicating Reactive Objects:
                 Message-Driven Parallelism",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "27--28",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:IAa,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "29--29",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:IPAa,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "30--30",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Weisert:2002:IYO,
  author =       "Conrad Weisert",
  title =        "If your only tool is a hammer, everything looks like a
                 nail: Pseudo Object-Oriented Programming Considered
                 Harmful",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "31--31",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 20 09:28:19 2002",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zee:2002:WBRa,
  author =       "Karen Zee and Martin Rinard",
  title =        "Write Barrier Removal by Static Analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "32--41",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2002:EGR,
  author =       "Yumin Zhang and Xiaobo (Sharon) Hu and Danny Z. Chen",
  title =        "Efficient Global Register Allocation for Minimizing
                 Energy Consumption",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "42--53",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Spinellis:2002:MPC,
  author =       "Diomidis Spinellis",
  title =        "A Modest Proposal for Curing the Public Field Phobia",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "54--56",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ledru:2002:SPJ,
  author =       "Pascal Ledru",
  title =        "Smart Proxies for {Jini} Services",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "57--61",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Acebal:2002:GDP,
  author =       "C{\'e}sar F. Acebal and Ra{\'u}l Izquierdo Castanedo
                 and Juan M. Cueva Lovelle",
  title =        "Good Design Principles in a Compiler University
                 Course",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "62--73",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wells:2002:HMA,
  author =       "Paul Damian Wells",
  title =        "The {HSSM} macro-architecture, {Virtual Machine} and
                 {H} languages",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "4",
  pages =        "74--82",
  month =        apr,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:01 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "Hierarchical Simultaneous Set Membership (HSSM)",
}

@Article{Foster:2002:FST,
  author =       "Jeffrey S. Foster and Tachio Terauchi and Alex Aiken",
  title =        "Flow-sensitive type qualifiers",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "1--12",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fahndrich:2002:AFP,
  author =       "Manuel Fahndrich and Robert DeLine",
  title =        "Adoption and focus: practical linear types for
                 imperative programming",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "13--24",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Budimlic:2002:FCC,
  author =       "Zoran Budimlic and Keith D. Cooper and Timothy J.
                 Harvey and Ken Kennedy and Timothy S. Oberg and Steven
                 W. Reeves",
  title =        "Fast copy coalescing and live-range identification",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "25--32",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Koseki:2002:PDG,
  author =       "Akira Koseki and Hideaki Komatsu and Toshio Nakatani",
  title =        "Preference-directed graph coloring",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "33--44",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gargi:2002:SAP,
  author =       "Karthik Gargi",
  title =        "A sparse algorithm for predicated global value
                 numbering",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "45--56",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Das:2002:EPS,
  author =       "Manuvir Das and Sorin Lerner and Mark Seigle",
  title =        "{ESP}: path-sensitive program verification in
                 polynomial time",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "57--68",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hallem:2002:SLB,
  author =       "Seth Hallem and Benjamin Chelf and Yichen Xie and
                 Dawson Engler",
  title =        "A system and language for building system-specific,
                 static analyses",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "69--82",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ramalingam:2002:DSP,
  author =       "G. Ramalingam and Alex Warshavsky and John Field and
                 Deepak Goyal and Mooly Sagiv",
  title =        "Deriving specialized program analyses for certifying
                 component-client conformance",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "83--94",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Debray:2002:PGC,
  author =       "Saumya Debray and William Evans",
  title =        "Profile-guided code compression",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "95--105",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rajagopalan:2002:PDO,
  author =       "Mohan Rajagopalan and Saumya K. Debray and Matti A.
                 Hiltunen and Richard D. Schlichting",
  title =        "Profile-directed optimization of event-based
                 programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "106--116",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liao:2002:PPB,
  author =       "Steve S. W. Liao and Perry H. Wang and Hong Wang and
                 Gerolf Hoflehner and Daniel Lavery and John P. Shen",
  title =        "Post-pass binary adaptation for software-based
                 speculative precomputation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "117--128",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ossia:2002:PIC,
  author =       "Yoav Ossia and Ori Ben-Yitzhak and Irit Goft and
                 Elliot K. Kolodner and Victor Leikehman and Avi
                 Owshanko",
  title =        "A parallel, incremental and concurrent {GC} for
                 servers",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "129--140",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hallenberg:2002:CRI,
  author =       "Niels Hallenberg and Martin Elsman and Mads Tofte",
  title =        "Combining region inference and garbage collection",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "141--152",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blackburn:2002:BGA,
  author =       "Stephen M. Blackburn and Richard Jones and Kathryn S.
                 McKinley and J. Eliot B. Moss",
  title =        "{Beltway}: getting around garbage collection
                 gridlock",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "153--164",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{So:2002:CAF,
  author =       "Byoungro So and Mary W. Hall and Pedro C. Diniz",
  title =        "A compiler approach to fast hardware design space
                 exploration in {FPGA}-based systems",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "165--176",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cociorva:2002:STT,
  author =       "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",
  title =        "Space-time trade-off optimization for a class of
                 electronic structure calculations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "177--186",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kawahito:2002:ESE,
  author =       "Motohiro Kawahito and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Effective sign extension elimination",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "187--198",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chilimbi:2002:DHD,
  author =       "Trishul M. Chilimbi and Martin Hirzel",
  title =        "Dynamic hot data stream prefetching for
                 general-purpose programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "199--209",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wu:2002:EDR,
  author =       "Youfeng Wu",
  title =        "Efficient discovery of regular stride patterns in
                 irregular programs and its use in compiler
                 prefetching",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "210--221",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Burtscher:2002:SLC,
  author =       "Martin Burtscher and Amer Diwan and Matthias
                 Hauswirth",
  title =        "Static load classification for improving the value
                 predictability of data-cache misses",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "222--233",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2002:ESC,
  author =       "Cormac Flanagan and K. Rustan M. Leino and Mark
                 Lillibridge and Greg Nelson and James B. Saxe and
                 Raymie Stata",
  title =        "Extended static checking for {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "234--245",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Leino:2002:UDG,
  author =       "K. Rustan M. Leino and Arnd Poetzsch-Heffter and
                 Yunhong Zhou",
  title =        "Using data groups to specify and check side effects",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "246--257",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Choi:2002:EPD,
  author =       "Jong-Deok Choi and Keunwoo Lee and Alexey Loginov and
                 Robert O'Callahan and Vivek Sarkar and Manu Sridharan",
  title =        "Efficient and precise datarace detection for
                 multithreaded object-oriented programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "258--269",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Baker:2002:MMD,
  author =       "Jason Baker and Wilson C. Hsieh",
  title =        "{Maya}: multiple-dispatch syntax extension in {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "270--281",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Grossman:2002:RBM,
  author =       "Dan Grossman and Greg Morrisett and Trevor Jim and
                 Michael Hicks and Yanling Wang and James Cheney",
  title =        "Region-based memory management in cyclone",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "282--293",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Almasi:2002:MCM,
  author =       "George Alm{\'a}si and David Padua",
  title =        "{MaJIC}: compiling {MATLAB} for speed and
                 responsiveness",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "294--303",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Joshi:2002:DGD,
  author =       "Rajeev Joshi and Greg Nelson and Keith Randall",
  title =        "{Denali}: a goal-directed superoptimizer",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "304--314",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Henzinger:2002:EMP,
  author =       "Thomas A. Henzinger and Christoph M. Kirsch",
  title =        "The embedded machine: predictable, portable real-time
                 code",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "5",
  pages =        "315--326",
  month =        may,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2002:FRF,
  author =       "Paul Frenger",
  title =        "{Forth} report: {Forth}'s {DOOM}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "14--17",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bergin:2002:UOO,
  author =       "Joseph Bergin and Russel Winder",
  title =        "Understanding object-oriented programming",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "18--25",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:IAb,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "26--26",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:IPAb,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "27--27",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2002:YAM,
  author =       "Haiming Chen and Yunmei Dong",
  title =        "Yet another meta-language for programming language
                 processing",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "28--37",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guilan:2002:RCC,
  author =       "Dai Guilan and Tian Jinlan and Zhang Suqin and Jiang
                 Weidu and Dai Jun",
  title =        "Retargetable cross compilation techniques: comparison
                 and analysis of {GCC} and {Zephyr}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "38--44",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guilan:2002:SCT,
  author =       "Dai Guilan and Zhang Suqing and Tian Jinlan and Jiang
                 Weidu",
  title =        "A study of compiler techniques for multiple targets in
                 compiler infrastructures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "45--51",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kiselyov:2002:SS,
  author =       "Oleg Kiselyov",
  title =        "{SXML} specification",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "52--58",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cockshott:2002:VPR,
  author =       "Paul Cockshott",
  title =        "{Vector Pascal} reference manual",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "59--81",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2002:AOI,
  author =       "Ji-Hyun Lee and Cheol-Jung Yoo and Ok-Bae Chang",
  title =        "Analysis of object interaction during the enterprise
                 {JavaBeans} lifecycle using formal specification
                 technique",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "6",
  pages =        "82--92",
  month =        jun,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Magarshack:2002:SCN,
  author =       "Philippe Magarshack",
  title =        "Systems-on-chip needs for embedded software
                 development: an industrial perspective",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "1--1",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Saputra:2002:ECC,
  author =       "H. Saputra and M. Kandemir and N. Vijaykrishnan and M.
                 J. Irwin and J. S. Hu and C-H. Hsu and U. Kremer",
  title =        "Energy-conscious compilation based on voltage
                 scaling",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "2--11",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Oh:2002:FRD,
  author =       "Hyunok Oh and Soonhoi Ha",
  title =        "Fractional rate dataflow model and efficient code
                 synthesis for multimedia applications",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "12--17",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mohanty:2002:RDS,
  author =       "S. Mohanty and V. K. Prasanna and S. Neema and J.
                 Davis",
  title =        "Rapid design space exploration of heterogeneous
                 embedded systems using symbolic search and
                 multi-granular simulation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "18--27",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Palem:2002:DSO,
  author =       "Krishna V. Palem and Rodric M. Rabbah and Vincent J.
                 Mooney and III and Pinar Korkmaz and Kiran Puttaswamy",
  title =        "Design space optimization of embedded memory systems
                 via data remapping",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "28--37",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hunleth:2002:FFM,
  author =       "Frank Hunleth and Ron K. Cytron",
  title =        "Footprint and feature management using aspect-oriented
                 programming techniques",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "38--45",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kastner:2002:GCF,
  author =       "Daniel K{\"a}stner and Stephan Wilhelm",
  title =        "Generic control flow reconstruction from assembly
                 code",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "46--55",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Krishnaswamy:2002:PGS,
  author =       "Arvind Krishnaswamy and Rajiv Gupta",
  title =        "Profile guided selection of {ARM} and thumb
                 instructions",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "56--64",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wakabayashi:2002:SAI,
  author =       "Takayuki Wakabayashi and Hiroaki Takada",
  title =        "Standardization approach of {ITRON} debugging
                 interface specification and evaluation of its
                 adaptability",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "65--74",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jhumka:2002:SDG,
  author =       "Arshad Jhumka and Martin Hiller and Vilgot Claesson
                 and Neeraj Suri",
  title =        "On systematic design of globally consistent executable
                 assertions in embedded software",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "75--84",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Feng:2002:AFV,
  author =       "Xiushan Feng and Alan J. Hu",
  title =        "Automatic formal verification for scheduled {VLIW}
                 code",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "85--92",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fettweis:2002:DWD,
  author =       "Gerhard Fettweis",
  title =        "{DSPs}: why don't they just go away!",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "93--93",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lorenz:2002:EAC,
  author =       "Markus Lorenz and Lars Wehmeyer and Thorsten
                 Dr{\"a}ger",
  title =        "Energy aware compilation for {DSPs} with {SIMD}
                 instructions",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "94--101",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kessler:2002:OIC,
  author =       "Christoph Kessler and Andrzej Bednarski",
  title =        "Optimal integrated code generation for clustered
                 {VLIW} architectures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "102--111",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Qian:2002:LFC,
  author =       "Yi Qian and Steve Carr and Philip Sweany",
  title =        "Loop fusion for clustered {VLIW} architectures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "112--119",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Naik:2002:CCS,
  author =       "Mayur Naik and Jens Palsberg",
  title =        "Compiling with code-size constraints",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "120--129",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cho:2002:ERM,
  author =       "Jeonghun Cho and Yunheung Paek and David Whalley",
  title =        "Efficient register and memory assignment for
                 non-orthogonal architectures via graph coloring and
                 {MST} algorithms",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "130--138",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Scholz:2002:RAI,
  author =       "Bernhard Scholz and Erik Eckstein",
  title =        "Register allocation for irregular architectures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "139--148",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Barthelmann:2002:ITR,
  author =       "Volker Barthelmann",
  title =        "Inter-task register-allocation for static operating
                 systems",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "149--154",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2002:VSI,
  author =       "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",
  title =        "{VISTA}: a system for interactive code improvement",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "155--164",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hu:2002:CDC,
  author =       "J. S. Hu and M. Kandemir and N. Vijaykrishnan and M.
                 J. Irwin and H. Saputra and W. Zhang",
  title =        "Compiler-directed cache polymorphism",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "165--174",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Milner:2002:QPF,
  author =       "Christopher W. Milner and Jack W. Davidson",
  title =        "{\em {Quick} piping\/}: a fast, high-level model for
                 describing processor pipelines",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "175--184",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wahlen:2002:ASC,
  author =       "Oliver Wahlen and Tilman Gl{\"o}kler and Achim Nohl
                 and Andreas Hoffmann and Rainer Leupers and Heinrich
                 Meyr",
  title =        "Application specific compiler\slash architecture
                 codesign: a case study",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "185--193",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Palm:2002:WUC,
  author =       "Jeffrey Palm and Han Lee and Amer Diwan and J. Eliot
                 B. Moss",
  title =        "When to use a compilation service?",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "194--203",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Newsome:2002:PCD,
  author =       "Matt Newsome and Des Watson",
  title =        "Proxy compilation of dynamically loaded {Java} classes
                 with {MoJo}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "204--212",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dudani:2002:ECF,
  author =       "Ajay Dudani and Frank Mueller and Yifan Zhu",
  title =        "Energy-conserving feedback {EDF} scheduling for
                 embedded systems with real-time constraints",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "213--222",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2002:PPT,
  author =       "Saehwa Kim and Seongsoo Hong and Tae-Hyung Kim",
  title =        "Perfecting preemption threshold scheduling for
                 object-oriented real-time system design: from the
                 perspective of real-time synchronization",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "7",
  pages =        "223--232",
  month =        jul,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2002:FRQ,
  author =       "Paul Frenger",
  title =        "{Forth} report: {Quartus Forth} for the {Palm Pilot}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "6--8",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clark:2002:PPP,
  author =       "Chris Clark",
  title =        "Practical parsing patterns: Conflicts",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "9--14",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Christopher:2002:PHS,
  author =       "Thomas W. Christopher",
  title =        "In parallel: {HPC} is a strange land",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "15--16",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:IAc,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "17--17",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2002:IPAc,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Past Authors",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "18--18",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:04 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hughes:2002:HMT,
  author =       "Elliott Hughes",
  title =        "How many trivial getter methods does {Java} have?",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "19--24",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jeon:2002:EBT,
  author =       "Taewoong Jeon and Hyon Woo Seung and Sungyoung Lee",
  title =        "Embedding built-in tests in hot spots of an
                 object-oriented framework",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "25--34",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ortin:2002:IRC,
  author =       "Francisco Ort{\'\i}n and Juan Manuel Cueva",
  title =        "Implementing a real computational-environment jump in
                 order to develop a runtime-adaptable reflective
                 platform",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "35--44",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2002:OMD,
  author =       "Zhenqiang Chen and Baowen Xu and Jianjun Zhao",
  title =        "An overview of methods for dependence analysis of
                 concurrent programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "45--52",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dhamdhere:2002:PPR,
  author =       "Dhananjay M. Dhamdhere",
  title =        "{E-path\_PRE}: partial redundancy elimination made
                 easy",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "53--65",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Doh:2002:DIL,
  author =       "Kyung Goo Doh and Seung Cheol Shin",
  title =        "Detection of information leak by data flow analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "8",
  pages =        "66--71",
  month =        aug,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Myers:2002:TMN,
  author =       "Brad A. Myers",
  title =        "Towards more natural functional programming
                 languages",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "1--1",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hinze:2002:BOS,
  author =       "Ralf Hinze",
  title =        "Bootstrapping one-sided flexible arrays",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "2--13",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Voigtlander:2002:CRM,
  author =       "Janis Voigtl{\"a}nder",
  title =        "Concatenate, reverse and map vanish for free",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "14--25",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Carlsson:2002:MIC,
  author =       "Magnus Carlsson",
  title =        "Monads for incremental computing",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "26--35",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ford:2002:PPS,
  author =       "Bryan Ford",
  title =        "Packrat parsing: simple, powerful, lazy, linear time,
                 functional pearl",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "36--47",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Findler:2002:CHO,
  author =       "Robert Bruce Findler and Matthias Felleisen",
  title =        "Contracts for higher-order functions",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "48--59",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ohori:2002:ICE,
  author =       "Atsushi Ohori and Kiyoshi Yamatodani",
  title =        "An interoperable calculus for external object access",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "60--71",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flatt:2002:CCM,
  author =       "Matthew Flatt",
  title =        "Composable and compilable macros: you want it when?",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "72--83",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dube:2002:DDA,
  author =       "Danny Dub{\'e} and Marc Feeley",
  title =        "A demand-driven adaptive type analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "84--97",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Glynn:2002:EAN,
  author =       "Kevin Glynn and Peter J. Stuckey and Martin Sulzmann
                 and Harald S{\o}ndergaard",
  title =        "Exception analysis for non-strict languages",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "98--109",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Millstein:2002:MTH,
  author =       "Todd Millstein and Colin Bleckner and Craig Chambers",
  title =        "Modular typechecking for hierarchically extensible
                 datatypes and functions",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "110--122",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Moore:2002:FFM,
  author =       "J. Strother Moore",
  title =        "Functional formal methods",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "123--123",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Svenningsson:2002:SFA,
  author =       "Josef Svenningsson",
  title =        "Shortcut fusion for accumulating parameters {\&}
                 zip-like functions",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "124--132",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Luth:2002:CMU,
  author =       "Christoph L{\"u}th and Neil Ghani",
  title =        "Composing monads using coproducts",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "133--144",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hanna:2002:IVF,
  author =       "Keith Hanna",
  title =        "Interactive visual functional programming",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "145--156",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Baars:2002:TDT,
  author =       "Arthur I. Baars and S. Doaitse Swierstra",
  title =        "Typing dynamic typing",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "157--166",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Stuckey:2002:TO,
  author =       "Peter J. Stuckey and Martin Sulzmann",
  title =        "A theory of overloading",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "167--178",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Neubauer:2002:TCM,
  author =       "Matthias Neubauer and Peter Thiemann",
  title =        "Type classes with more higher-order polymorphism",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "179--190",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Crary:2002:EST,
  author =       "Karl Crary and Joseph C. Vanderwaart",
  title =        "An expressive, scalable type theory for certified
                 code",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "191--205",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

%%% Page gap: volume 37 number 2 pages 27--28

@Article{Nanevski:2002:MPN,
  author =       "Aleksandar Nanevski",
  title =        "Meta-programming with names and necessity",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "206--217",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pasalic:2002:TSI,
  author =       "Emir Pa{\v{s}}ali{\'c} and Walid Taha and Tim Sheard",
  title =        "Tagless staged interpreters for typed languages",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "218--229",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Danvy:2002:TBA,
  author =       "Olivier Danvy and Mayer Goldberg",
  title =        "There and back again",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "230--234",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gregoire:2002:CIS,
  author =       "Benjamin Gr{\'e}goire and Xavier Leroy",
  title =        "A compiled implementation of strong reduction",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "235--246",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hansen:2002:ESR,
  author =       "Lars T. Hansen and William D. Clinger",
  title =        "An experimental study of renewal-older-first garbage
                 collection",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "247--258",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Serpette:2002:CSJ,
  author =       "Bernard Paul Serpette and Manuel Serrano",
  title =        "Compiling scheme to {JVM} bytecode: a performance
                 study",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "259--270",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gasbichler:2002:FSC,
  author =       "Martin Gasbichler and Michael Sperber",
  title =        "Final shift for {\tt call/cc}: direct implementation
                 of shift and reset",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "271--282",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2002:PGT,
  author =       "Neil D. Jones and Arne J. Glenstrup",
  title =        "Program generation, termination, and binding-time
                 analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "9",
  pages =        "283--283",
  month =        sep,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:07 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

%%% NB: Page gaps in volume 37 number 10 (2--4, 42--44, 81--84, 121--122,
%%% 156--158, 197--198, 235--238, 277--278) are due to sectional headings

@Article{Estrin:2002:SNR,
  author =       "Deborah Estrin",
  title =        "Sensor Network Research: Emerging Challenges for
                 Architecture, Systems, and Languages",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "1--1",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  annote =       "No article text published.",
}

@Article{Rajwar:2002:TLF,
  author =       "Ravi Rajwar and James R. Goodman",
  title =        "Transactional lock-free execution of lock-based
                 programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "5--17",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Martinez:2002:SSA,
  author =       "Jos{\'e} F. Mart{\'\i}nez and Josep Torrellas",
  title =        "Speculative synchronization: applying thread-level
                 speculation to explicitly parallel applications",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "18--29",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lepak:2002:TSS,
  author =       "Kevin M. Lepak and Mikko H. Lipasti",
  title =        "Temporally silent stores",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "30--41",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sherwood:2002:ACL,
  author =       "Timothy Sherwood and Erez Perelman and Greg Hamerly
                 and Brad Calder",
  title =        "Automatically characterizing large scale program
                 behavior",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "45--57",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ogata:2002:BFO,
  author =       "Kazunori Ogata and Hideaki Komatsu and Toshio
                 Nakatani",
  title =        "Bytecode fetch optimization for a {Java} interpreter",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "58--67",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2002:UIO,
  author =       "Tao Li and Lizy Kurian John and Anand Sivasubramaniam
                 and N. Vijaykrishnan and Juan Rubio",
  title =        "Understanding and improving operating system effects
                 in control flow prediction",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "68--80",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Levis:2002:MTV,
  author =       "Philip Levis and David Culler",
  title =        "{Mat{\'e}}: a tiny virtual machine for sensor
                 networks",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "85--95",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Juang:2002:EEC,
  author =       "Philo Juang and Hidekazu Oki and Yong Wang and
                 Margaret Martonosi and Li Shiuan Peh and Daniel
                 Rubenstein",
  title =        "Energy-efficient computing for wildlife tracking:
                 design tradeoffs and early experiences with
                 {ZebraNet}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "96--107",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kirovski:2002:ETS,
  author =       "Darko Kirovski and Milenko Drini{\'c} and Miodrag
                 Potkonjak",
  title =        "Enabling trusted software integrity",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "108--120",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zeng:2002:EME,
  author =       "Heng Zeng and Carla S. Ellis and Alvin R. Lebeck and
                 Amin Vahdat",
  title =        "{ECOSystem}: managing energy as a first class
                 operating system resource",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "123--132",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ashok:2002:CMC,
  author =       "Raksit Ashok and Saurabh Chheda and Csaba Andras
                 Moritz",
  title =        "{Cool-Mem}: combining statically speculative memory
                 accessing with selective address translation for energy
                 efficiency",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "133--143",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sasanka:2002:JLG,
  author =       "Ruchira Sasanka and Christopher J. Hughes and Sarita
                 V. Adve",
  title =        "Joint local and global hardware adaptations for
                 energy",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "144--155",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2002:DEC,
  author =       "Dongkeun Kim and Donald Yeung",
  title =        "Design and evaluation of compiler algorithms for
                 pre-execution",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "159--170",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhai:2002:COS,
  author =       "Antonia Zhai and Christopher B. Colohan and J. Gregory
                 Steffan and Todd C. Mowry",
  title =        "Compiler optimization of scalar value communication
                 between speculative threads",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "171--183",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Oplinger:2002:ESR,
  author =       "Jeffrey Oplinger and Monica S. Lam",
  title =        "Enhancing software reliability with speculative
                 threads",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "184--196",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Butts:2002:DDI,
  author =       "J. Adam Butts and Guri Sohi",
  title =        "Dynamic dead-instruction detection and elimination",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "199--210",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2002:ANU,
  author =       "Changkyu Kim and Doug Burger and Stephen W. Keckler",
  title =        "An adaptive, non-uniform cache structure for
                 wire-delay dominated on-chip caches",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "211--222",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mukherjee:2002:CSA,
  author =       "Shubhendu S. Mukherjee and Federico Silla and Peter
                 Bannon and Joel Emer and Steve Lang and David Webb",
  title =        "A comparative study of arbitration algorithms for the
                 {Alpha 21364} pipelined router",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "223--234",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2002:IWS,
  author =       "Hyong-youb Kim and Vijay S. Pai and Scott Rixner",
  title =        "Increasing {Web} server throughput with network
                 interface data caching",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "239--250",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kohler:2002:PLO,
  author =       "Eddie Kohler and Robert Morris and Benjie Chen",
  title =        "Programming language optimizations for modular router
                 configurations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "251--263",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sivathanu:2002:ERA,
  author =       "Muthian Sivathanu and Andrea C. Arpaci-Dusseau and
                 Remzi H. Arpaci-Dusseau",
  title =        "Evolving {RPC} for active storage",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "264--276",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cooksey:2002:SCD,
  author =       "Robert Cooksey and Stephan Jourdan and Dirk Grunwald",
  title =        "A stateless, content-directed data prefetching
                 mechanism",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "279--290",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gordon:2002:SCC,
  author =       "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",
  title =        "A stream compiler for communication-exposed
                 architectures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "291--303",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Witchel:2002:MMP,
  author =       "Emmett Witchel and Josh Cates and Krste Asanovi{\'c}",
  title =        "{Mondrian} memory protection",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "10",
  pages =        "304--316",
  month =        oct,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:09 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Berger:2002:RCM,
  author =       "Emery D. Berger and Benjamin G. Zorn and Kathryn S.
                 McKinley",
  title =        "Reconsidering custom memory allocation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "1--12",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shuf:2002:CPL,
  author =       "Yefim Shuf and Manish Gupta and Hubertus Franke and
                 Andrew Appel and Jaswinder Pal Singh",
  title =        "Creating and preserving locality of {Java}
                 applications at allocation and garbage collection
                 times",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "13--25",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bjornsson:2002:BHP,
  author =       "Magnus E. Bjornsson and Liuba Shrira",
  title =        "{BuddyCache}: high-performance object storage for
                 collaborative strong-consistency applications in a
                 {WAN}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "26--39",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Manolescu:2002:WEC,
  author =       "Dragos A. Manolescu",
  title =        "Workflow enactment with continuation and future
                 objects",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "40--51",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mezini:2002:IIC,
  author =       "Mira Mezini and Klaus Ostermann",
  title =        "Integrating independent components with on-demand
                 remodularization",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "52--67",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Killijian:2002:PSC,
  author =       "Marc-Olivier Killijian and Juan-Carlos Ruiz and
                 Jean-Charles Fabre",
  title =        "Portable serialization of {CORBA} objects: a
                 reflective approach",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "68--82",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Marelly:2002:MIS,
  author =       "Rami Marelly and David Harel and Hillel Kugler",
  title =        "Multiple instances and symbolic variables in
                 executable sequence charts",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "83--100",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Michel:2002:CBA,
  author =       "Laurent Michel and Pascal Van Hentenryck",
  title =        "A constraint-based architecture for local search",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "101--110",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Arnold:2002:OFD,
  author =       "Matthew Arnold and Michael Hind and Barbara G. Ryder",
  title =        "Online feedback-directed optimization of {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "111--129",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kawachiya:2002:LRJ,
  author =       "Kiyokuni Kawachiya and Akira Koseki and Tamiya
                 Onodera",
  title =        "Lock reservation: {Java} locks can mostly do without
                 atomic operations",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "130--141",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zibin:2002:FAC,
  author =       "Yoav Zibin and Joseph Yossi Gil",
  title =        "Fast algorithm for creating space efficient
                 dispatching tables with application to
                 multi-dispatching",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "142--160",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hannemann:2002:DPI,
  author =       "Jan Hannemann and Gregor Kiczales",
  title =        "Design pattern implementation in {Java} and
                 {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "161--173",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Soares:2002:IDP,
  author =       "Sergio Soares and Eduardo Laureano and Paulo Borba",
  title =        "Implementing distribution and persistence aspects with
                 {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "174--190",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zee:2002:WBRb,
  author =       "Karen Zee and Martin Rinard",
  title =        "Write barrier removal by static analysis",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "191--210",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boyapati:2002:OTS,
  author =       "Chandrasekhar Boyapati and Robert Lee and Martin
                 Rinard",
  title =        "Ownership types for safe programming: preventing data
                 races and deadlocks",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "211--230",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Khurshid:2002:AAL,
  author =       "Sarfraz Khurshid and Darko Marinov and Daniel
                 Jackson",
  title =        "An analyzable annotation language",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "231--245",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cecchet:2002:PSE,
  author =       "Emmanuel Cecchet and Julie Marguerite and Willy
                 Zwaenepoel",
  title =        "Performance and scalability of {EJB} applications",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "246--261",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Palacz:2002:IEC,
  author =       "Krzysztof Palacz and Jan Vitek and Grzegorz Czajkowski
                 and Laurent Daynas",
  title =        "{Incommunicado}: efficient communication for
                 isolates",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "262--274",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sutter:2002:SML,
  author =       "Bjorn De Sutter and Bruno De Bus and Koen De
                 Bosschere",
  title =        "Sifting out the mud: low level {C++} code reuse",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "275--291",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clarke:2002:OED,
  author =       "Dave Clarke and Sophia Drossopoulou",
  title =        "Ownership, encapsulation and the disjointness of type
                 and effect",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "292--310",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aldrich:2002:AAP,
  author =       "Jonathan Aldrich and Valentin Kostadinov and Craig
                 Chambers",
  title =        "Alias annotations for program understanding",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "311--330",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pucella:2002:TFC,
  author =       "Riccardo Pucella",
  title =        "Towards a formalization for {COM}. {Part I}: {The}
                 primitive calculus",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "331--342",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Printezis:2002:GAH,
  author =       "Tony Printezis and Richard Jones",
  title =        "{GCspy}: an adaptable heap visualisation framework",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "343--358",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Koved:2002:ARA,
  author =       "Larry Koved and Marco Pistoia and Aaron Kershenbaum",
  title =        "Access rights analysis for {Java}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "359--372",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dmitriev:2002:LSM,
  author =       "Mikhail Dmitriev",
  title =        "Language-specific make technology for the {Java}
                 programming language",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "11",
  pages =        "373--385",
  month =        nov,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:10 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2002:FRG,
  author =       "Paul Frenger",
  title =        "{Forth} report: Going {APE.FORTH} to {Mars}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "9--13",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Creak:2002:HTWc,
  author =       "Alan Creak",
  title =        "How things were: {Edsger W. Dijkstra}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "14--16",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Norris:2002:ISI,
  author =       "Cindy Norris",
  title =        "Introduction to special issue",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "17--17",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Arts:2002:TAE,
  author =       "Thomas Arts and Lars-{\AA}ke Fredlund",
  title =        "Trace analysis of {Erlang} programs",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "18--24",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wiger:2002:WCP,
  author =       "Ulf Wiger and G{\"o}sta Ask and Kent Boortz",
  title =        "World-class product certification using {Erlang}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "25--34",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Claessen:2002:ELA,
  author =       "Koen Claessen and Gordon J. Pace",
  title =        "An embedded language approach to teaching hardware
                 compilation",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "35--46",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Claessen:2002:TMC,
  author =       "Koen Claessen and John Hughes",
  title =        "Testing monadic code with {QuickCheck}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "47--59",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sheard:2002:TMP,
  author =       "Tim Sheard and Simon Peyton Jones",
  title =        "Template meta-programming for {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "60--75",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Giavitto:2002:PMR,
  author =       "Jean-Louis Giavitto and Olivier Michel and Julien
                 Cohen",
  title =        "Pattern-matching and rewriting rules for group indexed
                 data structures",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "76--87",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Erwig:2002:RBL,
  author =       "Martin Erwig and Delin Ren",
  title =        "A rule-based language for programming software
                 updates",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "88--97",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Groote:2002:CAM,
  author =       "Jan Friso Groote and Bert Lisser",
  title =        "Computer assisted manipulation of algebraic process
                 specifications",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "98--107",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hornos:2002:FMC,
  author =       "Miguel J. Hornos and Manuel I. Capel",
  title =        "On-the-fly model checking from interval logic
                 specifications",
  journal =      j-SIGPLAN,
  volume =       "37",
  number =       "12",
  pages =        "108--119",
  month =        dec,
  year =         "2002",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:11 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Simeon:2003:EX,
  author =       "J{\'e}r{\^o}me Sim{\'e}on and Philip Wadler",
  title =        "The essence of {XML}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "1--13",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Acar:2003:SM,
  author =       "Umut A. A. Acar and Guy E. Blelloch and Robert
                 Harper",
  title =        "Selective memoization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "14--25",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Taha:2003:EC,
  author =       "Walid Taha and Michael Florentin Nielsen",
  title =        "Environment classifiers",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "26--37",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jensen:2003:BT,
  author =       "Ole H{\o}gh Jensen and Robin Milner",
  title =        "Bigraphs and transitions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "38--49",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schmitt:2003:CHO,
  author =       "Alan Schmitt and Jean-Bernard Stefani",
  title =        "The $m$-calculus: a higher-order distributed process
                 calculus",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "50--61",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bouajjani:2003:GAS,
  author =       "Ahmed Bouajjani and Javier Esparza and Tayssir
                 Touili",
  title =        "A generic approach to the static analysis of
                 concurrent programs with procedures",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "62--73",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gulwani:2003:DAE,
  author =       "Sumit Gulwani and George C. Necula",
  title =        "Discovering affine equalities using random
                 interpretation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "74--84",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tallam:2003:BAG,
  author =       "Sriraman Tallam and Rajiv Gupta",
  title =        "Bitwidth aware global register allocation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "85--96",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ball:2003:SCL,
  author =       "Thomas Ball and Mayur Naik and Sriram K. Rajamani",
  title =        "From symptom to cause: localizing errors in
                 counterexample traces",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "97--105",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Carter:2003:FCR,
  author =       "Larry Carter and Jeanne Ferrante and Clark
                 Thomborson",
  title =        "Folklore confirmed: reducible flow graphs are
                 exponentially larger",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "106--114",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chakaravarthy:2003:NRC,
  author =       "Venkatesan T. Chakaravarthy",
  title =        "New results on the computability and complexity of
                 points--to analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "115--125",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zibin:2003:IAD,
  author =       "Yoav Zibin and Joseph (Yossi) Gil",
  title =        "Incremental algorithms for dispatching in dynamically
                 typed languages",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "126--138",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Thielecke:2003:CET,
  author =       "Hayo Thielecke",
  title =        "From control effects to typed continuation passing",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "139--149",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:CSC,
  author =       "Gang Chen",
  title =        "Coercive subtyping for the calculus of constructions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "150--159",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zibin:2003:EAI,
  author =       "Yoav Zibin and Joseph (Yossi) Gil and Jeffrey
                 Considine",
  title =        "Efficient algorithms for isomorphisms of simple
                 types",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "160--171",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Petersen:2003:TTM,
  author =       "Leaf Petersen and Robert Harper and Karl Crary and
                 Frank Pfenning",
  title =        "A type theory for memory allocation and data layout",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "172--184",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hofmann:2003:SPH,
  author =       "Martin Hofmann and Steffen Jost",
  title =        "Static prediction of heap space usage for first-order
                 functional programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "185--197",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Crary:2003:TFT,
  author =       "Karl Crary",
  title =        "Toward a foundational typed assembly language",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "198--212",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boyapati:2003:OTO,
  author =       "Chandrasekhar Boyapati and Barbara Liskov and Liuba
                 Shrira",
  title =        "Ownership types for object encapsulation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "213--223",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xi:2003:GRD,
  author =       "Hongwei Xi and Chiyan Chen and Gang Chen",
  title =        "Guarded recursive datatype constructors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "224--235",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dreyer:2003:TSH,
  author =       "Derek Dreyer and Karl Crary and Robert Harper",
  title =        "A type system for higher-order modules",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "236--249",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Barthe:2003:PPT,
  author =       "Gilles Barthe and Horatiu Cirstea and Claude Kirchner
                 and Luigi Liquori",
  title =        "Pure patterns type systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "250--261",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boehm:2003:DFS,
  author =       "Hans-J. Boehm",
  title =        "Destructors, finalizers, and synchronization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "262--272",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gheorghioiu:2003:ICA,
  author =       "Ovidiu Gheorghioiu and Alexandru Salcianu and Martin
                 Rinard",
  title =        "Interprocedural compatibility analysis for static
                 object preallocation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "273--284",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2003:RTG,
  author =       "David F. Bacon and Perry Cheng and V. T. Rajan",
  title =        "A real-time garbage collector with low overhead and
                 consistent utilization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "1",
  pages =        "285--298",
  month =        jan,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:12 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ding:2003:CDR,
  author =       "Chen Ding and Yutao Zhong",
  title =        "Compiler-directed run-time monitoring of program data
                 access",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "1--12",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guilan:2003:AIR,
  author =       "Dai Guilan and Tian Jinlan and Zhang Suqing and Jiang
                 Weidu",
  title =        "An abstract intermediate representation in compilation
                 systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "12--18",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lattner:2003:APA,
  author =       "Chris Lattner and Vikram Adve",
  title =        "Automatic pool allocation for disjoint data
                 structures",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "13--24",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hamilton:2003:LIC,
  author =       "Jennifer Hamilton",
  title =        "Language integration in the common language runtime",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "19--28",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Stefanovic:2003:OFG,
  author =       "Darko Stefanovi{\'c} and Matthew Hertz and Stephen M.
                 Blackburn and Kathryn S. McKinley and J. Eliot B.
                 Moss",
  title =        "Older-first garbage collection in practice: evaluation
                 in a {Java Virtual Machine}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "25--36",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jackson:2003:EFO,
  author =       "Quinn Tyler Jackson",
  title =        "Efficient formalism-only parsing of {XML\slash HTML}
                 using the {\S}-calculus",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "29--35",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schilling:2003:SHM,
  author =       "Jonathan L. Schilling",
  title =        "The simplest heuristics may be the best in {Java JIT}
                 compilers",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "36--46",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Almasi:2003:CSD,
  author =       "George Alm{\'a}si and C{\u{a}}lin Ca{\c{s}}caval and
                 David A. Padua",
  title =        "Calculating stack distances efficiently",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "37--43",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nethercote:2003:CBL,
  author =       "Nicholas Nethercote and Alan Mycroft",
  title =        "The cache behaviour of large lazy functional programs
                 on stock hardware",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "44--55",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sinclair:2003:IMT,
  author =       "Robert Sinclair",
  title =        "Interactive mathematics textbooks",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "47--56",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lopes:2003:SPC,
  author =       "Ricardo Lopes and Lu{\'\i}s Fernando Castro and
                 V{\'\i}tor Santos Costa",
  title =        "From simulation to practice: cache performance study
                 of a {Prolog} system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "56--64",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Queinnec:2003:IBI,
  author =       "Christian Queinnec",
  title =        "Inverting back the inversion of control or,
                 continuations versus page-centric programming",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2",
  pages =        "57--64",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ykman-Couvreur:2003:MOA,
  author =       "Ch. Ykman-Couvreur and J. Lambrecht and A. van der
                 Togt and F. Catthoor",
  title =        "Multi-objective {\em abstract data type refinement\/}
                 for mapping tables in telecom network applications",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "65--75",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schulz:2003:PNH,
  author =       "Martin Schulz and Jie Tao and J{\"u}rgen Jeitner and
                 Wolfgang Karl",
  title =        "A proposal for a new hardware cache monitoring
                 architecture",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "76--85",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mahapatra:2003:PAA,
  author =       "Nihar R. Mahapatra and Jiangjiang Liu and Krishnan
                 Sundaresan",
  title =        "The performance advantage of applying compression to
                 the memory system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "86--96",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cooper:2003:ESA,
  author =       "Keith D. Cooper and Li Xu",
  title =        "An efficient static analysis algorithm to detect
                 redundant memory operations",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "97--107",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Robertz:2003:APM,
  author =       "Sven G. Robertz",
  title =        "Applying priorities to memory allocation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "108--118",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Endo:2003:RPT,
  author =       "Toshio Endo and Kenjiro Taura",
  title =        "Reducing pause time of conservative collectors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "119--131",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Deters:2003:ADS,
  author =       "Morgan Deters and Ron K. Cytron",
  title =        "Automated discovery of scoped memory regions for
                 real-time {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "132--142",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hirzel:2003:UCH,
  author =       "Martin Hirzel and Johannes Henkel and Amer Diwan and
                 Michael Hind",
  title =        "Understanding the connectivity of heap objects",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "143--156",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Printezis:2003:VTG,
  author =       "Tony Printezis and Alex Garthwaite",
  title =        "Visualising the train garbage collector",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "157--170",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shaham:2003:EIH,
  author =       "Ran Shaham and Elliot K. Kolodner and Mooly Sagiv",
  title =        "Estimating the impact of heap liveness information on
                 space consumption in {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "171--182",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Domani:2003:TLH,
  author =       "Tamar Domani and Gal Goldshtein and Elliot K. Kolodner
                 and Ethan Lewis and Erez Petrank and Dafna Sheinwald",
  title =        "Thread-local heaps for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "183--194",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Johansson:2003:HAC,
  author =       "Erik Johansson and Konstantinos Sagonas and Jesper
                 Wilhelmsson",
  title =        "Heap architectures for concurrent languages using
                 message passing",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "195--206",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ben-Yitzhak:2003:API,
  author =       "Ori Ben-Yitzhak and Irit Goft and Elliot K. Kolodner
                 and Kean Kuiper and Victor Leikehman",
  title =        "An algorithm for parallel incremental compaction",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "207--212",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vardhan:2003:UPO,
  author =       "Abhay Vardhan and Gul Agha",
  title =        "Using passive object garbage collection algorithms for
                 garbage collection of active objects",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "213--220",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kaplan:2003:ACD,
  author =       "Scott F. Kaplan and Lyle A. McGeoch and Megan F.
                 Cole",
  title =        "Adaptive caching for demand prepaging",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "221--232",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Qian:2003:ARB,
  author =       "Feng Qian and Laurie Hendren",
  title =        "An adaptive, region-based allocator for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "233--244",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2003:DMM,
  author =       "Sanjeev Kumar and Kai Li",
  title =        "Dynamic memory management for programmable devices",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "245--255",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Henderson:2003:AGC,
  author =       "Fergus Henderson",
  title =        "Accurate garbage collection in an uncooperative
                 environment",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "256--262",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aggarwal:2003:SCV,
  author =       "Aneesh Aggarwal",
  title =        "Software caching vs. prefetching",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "263--268",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dice:2003:MLF,
  author =       "Dave Dice and Alex Garthwaite",
  title =        "Mostly lock-free malloc",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "269--280",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blackburn:2003:PWB,
  author =       "Stephen M. Blackburn and Kathryn S. McKinley",
  title =        "In or out?: putting write barriers in their place",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "2s",
  pages =        "281--290",
  month =        feb,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:14 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2003:TA,
  author =       "Cormac Flanagan and Shaz Qadeer",
  title =        "Types for atomicity",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "1--12",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Grossman:2003:TSM,
  author =       "Dan Grossman",
  title =        "Type-safe multithreading in cyclone",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "13--25",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lammel:2003:SYB,
  author =       "Ralf L{\"a}mmel and Simon Peyton Jones",
  title =        "Scrap your boilerplate: a practical design pattern for
                 generic programming",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "26--37",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Park:2003:CPL,
  author =       "Sungwoo Park",
  title =        "A calculus for probabilistic languages",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "38--49",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kobayashi:2003:TRE,
  author =       "Naoki Kobayashi",
  title =        "Time regions and effects for resource usage analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "50--61",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Calcagno:2003:DVS,
  author =       "Cristiano Calcagno and Luca Cardelli and Andrew D.
                 Gordon",
  title =        "Deciding validity in a spatial logic for trees",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "62--73",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ahmed:2003:LAS,
  author =       "Amal Ahmed and David Walker",
  title =        "The logical approach to stack typing",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "74--85",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Amtoft:2003:IAT,
  author =       "Torben Amtoft and Robert Muller",
  title =        "Inferring annotated types for inter-procedural
                 register allocation with constructor flattening",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "86--97",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vanderwaart:2003:TCR,
  author =       "Joseph C. Vanderwaart and Derek Dreyer and Leaf
                 Petersen and Karl Crary and Robert Harper and Perry
                 Cheng",
  title =        "Typed compilation of recursive datatypes",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "98--108",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vanderwaart:2003:TIG,
  author =       "Joseph C. Vanderwaart and Karl Crary",
  title =        "A typed interface for garbage collection",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "109--122",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Elsman:2003:GCS,
  author =       "Martin Elsman",
  title =        "Garbage collection safety for region-based memory
                 management",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "3",
  pages =        "123--134",
  month =        mar,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 15 12:23:16 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Creak:2003:EFO,
  author =       "Alan Creak",
  title =        "Everything is {Fortran}, in its own way",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "7--12",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2003:EFW,
  author =       "Paul Frenger",
  title =        "Evaluating {Forth} in the {Windows} environment",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "13--15",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Das:2003:FIVa,
  author =       "Dibyendu Das",
  title =        "Function inlining versus function cloning",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "18--24",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{deOliveiraGuimaraes:2003:EBC,
  author =       "Jos{\'e} {de Oliveira Guimar{\~a}es}",
  title =        "Experiences in building a compiler for an
                 object-oriented language",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "25--33",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kwon:2003:AJP,
  author =       "Jagun Kwon and Andy Wellings and Steve King",
  title =        "Assessment of the {Java} programming language for use
                 in high integrity systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "34--46",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Luo:2003:FSD,
  author =       "Lei Luo and Ming-Yuan Zhu and Qing-Li Zhang",
  title =        "A formal semantic definition of {DEVIL}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "47--56",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuge:2003:KKG,
  author =       "Hai Zhuge and Jie Liu",
  title =        "{KGOL}: a {Knowledge Grid} operating language",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "4",
  pages =        "57--66",
  month =        apr,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:44:59 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gay:2003:NLH,
  author =       "David Gay and Philip Levis and Robert von Behren and
                 Matt Welsh and Eric Brewer and David Culler",
  title =        "The {{\em nesC}} language: {A} holistic approach to
                 networked embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "1--11",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lamb:2003:LAO,
  author =       "Andrew A. Lamb and William Thies and Saman
                 Amarasinghe",
  title =        "Linear analysis and optimization of stream programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "12--25",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{George:2003:TIN,
  author =       "Lal George and Matthias Blume",
  title =        "Taming the {IXP} network processor",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "26--37",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hsu:2003:DIE,
  author =       "Chung-Hsing Hsu and Ulrich Kremer",
  title =        "The design, implementation, and evaluation of a
                 compiler algorithm for {CPU} energy reduction",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "38--48",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xie:2003:CTD,
  author =       "Fen Xie and Margaret Martonosi and Sharad Malik",
  title =        "Compile-time dynamic voltage scaling settings:
                 opportunities and limits",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "49--62",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yotov:2003:CEM,
  author =       "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",
  title =        "A comparison of empirical and model-driven
                 optimization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "63--76",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Stephenson:2003:MOI,
  author =       "Mark Stephenson and Saman Amarasinghe and Martin
                 Martin and Una-May O'Reilly",
  title =        "Meta optimization: improving compiler heuristics with
                 machine learning",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "77--90",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  DOI =          "http://dx.doi.org/10.1145/780822.781141",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Strout:2003:CTC,
  author =       "Michelle Mills Strout and Larry Carter and Jeanne
                 Ferrante",
  title =        "Compile-time composition of run-time data and
                 iteration reorderings",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "91--102",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Berndl:2003:PAU,
  author =       "Marc Berndl and Ondrej Lhot{\'a}k and Feng Qian and
                 Laurie Hendren and Navindra Umanee",
  title =        "Points-to analysis using {BDDs}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "103--114",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{vonPraun:2003:SCA,
  author =       "Christoph von Praun and Thomas R. Gross",
  title =        "Static conflict analysis for multi-threaded
                 object-oriented programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "115--128",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aiken:2003:CIL,
  author =       "Alex Aiken and Jeffrey S. Foster and John Kodumal and
                 Tachio Terauchi",
  title =        "Checking and inferring local non-aliasing",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "129--140",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liblit:2003:BIR,
  author =       "Ben Liblit and Alex Aiken and Alice X. Zheng and
                 Michael I. Jordan",
  title =        "Bug isolation via remote program sampling",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "141--154",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dor:2003:CTR,
  author =       "Nurit Dor and Michael Rodeh and Mooly Sagiv",
  title =        "{CSSV}: towards a realistic tool for statically
                 detecting all buffer overflows in {C}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "155--167",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Heine:2003:PFS,
  author =       "David L. Heine and Monica S. Lam",
  title =        "A practical flow-sensitive and context-sensitive {C}
                 and {C++} memory leak detector",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "168--181",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ammons:2003:DTS,
  author =       "Glenn Ammons and David Mandelin and Rastislav
                 Bod{\'\i}k and James R. Larus",
  title =        "Debugging temporal specifications with concept
                 analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "182--195",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blanchet:2003:SAL,
  author =       "Bruno Blanchet and Patrick Cousot and Radhia Cousot
                 and J{\'e}rome Feret and Laurent Mauborgne and Antoine
                 Min{\'e} and David Monniaux and Xavier Rival",
  title =        "A static analyzer for large safety-critical software",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "196--207",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:PST,
  author =       "Juan Chen and Dinghao Wu and Andrew W. Appel and Hai
                 Fang",
  title =        "A provably sound {TAL} for back-end optimization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "208--219",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lerner:2003:APC,
  author =       "Sorin Lerner and Todd Millstein and Craig Chambers",
  title =        "Automatically proving the correctness of compiler
                 optimizations",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "220--231",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Condit:2003:CRW,
  author =       "Jeremy Condit and Matthew Harren and Scott McPeak and
                 George C. Necula and Westley Weimer",
  title =        "{CCured} in the real world",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "232--244",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ding:2003:PWP,
  author =       "Chen Ding and Yutao Zhong",
  title =        "Predicting whole-program locality through reuse
                 distance analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "245--257",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Joisha:2003:SAS,
  author =       "Pramod G. Joisha and Prithviraj Banerjee",
  title =        "Static array storage optimization in {MATLAB}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "258--268",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Inagaki:2003:SPD,
  author =       "Tatsushi Inagaki and Tamiya Onodera and Hideaki
                 Komatsu and Toshio Nakatani",
  title =        "Stride prefetching by dynamically inspecting objects",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "269--277",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ertl:2003:OIB,
  author =       "M. Anton Ertl and David Gregg",
  title =        "Optimizing indirect branch prediction accuracy in
                 virtual machine interpreters",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "278--288",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lin:2003:CFS,
  author =       "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",
  title =        "A compiler framework for speculative analysis and
                 optimizations",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "289--299",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chu:2003:RBH,
  author =       "Michael Chu and Kevin Fan and Scott Mahlke",
  title =        "Region-based hierarchical operation partitioning for
                 multicluster processors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "300--311",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Suganuma:2003:RBC,
  author =       "Toshio Suganuma and Toshiaki Yasue and Toshio
                 Nakatani",
  title =        "A region-based compilation technique for a {Java}
                 just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "312--323",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boyapati:2003:OTS,
  author =       "Chandrasekhar Boyapati and Alexandru Salcianu and
                 William {Beebee, Jr.} and Martin Rinard",
  title =        "Ownership types for safe region-based memory
                 management in real-time {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "324--337",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2003:TES,
  author =       "Cormac Flanagan and Shaz Qadeer",
  title =        "A type and effect system for atomicity",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "5",
  pages =        "338--349",
  month =        may,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:00 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Christopher:2003:SPS,
  author =       "Thomas W. Christopher",
  title =        "A simple parallel system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "6--8",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bergin:2003:SDC,
  author =       "Joe Bergin and Achla Agarwal and Krishna Agarwal",
  title =        "Some deficiencies of {C++} in teaching {CS1} and
                 {CS2}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "9--13",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ryder:2003:IDE,
  author =       "Barbara G. Ryder and Mary Lou Soffa",
  title =        "Influences on the design of exception handling: {ACM
                 SIGSOFT} project on the impact of software engineering
                 research on programming language design",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "16--22",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Das:2003:FIVb,
  author =       "Dibyendu Das",
  title =        "Function inlining versus function cloning",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "23--29",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{ChunYan:2003:TEL,
  author =       "Yu ChunYan and Wu Minghui and Liu Nairuo and Zhuang
                 Yueting and Pan Yunhe",
  title =        "Translating {EXPRESS} language model into {C} language
                 model",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "30--39",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ortin:2003:RNA,
  author =       "Francisco Ortin and Juan Manuel Cueva and Ana Belen
                 Martinez",
  title =        "The {reflective nitrO} abstract machine",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "40--49",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sunik:2003:POC,
  author =       "Boris Sunik",
  title =        "The paradigm of open {C++}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "50--59",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2003:AGD,
  author =       "Qing-Li Zhang and Ming-Yuan Zhu and Shuo-Ying Chen",
  title =        "Automatic generation of device drivers",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "6",
  pages =        "60--69",
  month =        jun,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:02 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2003:PIO,
  author =       "Min Zhao and Bruce Childers and Mary Lou Soffa",
  title =        "Predicting the impact of optimizations for embedded
                 systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "1--11",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kulkarni:2003:FEO,
  author =       "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",
  title =        "Finding effective optimization phase sequences",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "12--23",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vanbroekhoven:2003:ACP,
  author =       "Peter Vanbroekhoven and Gerda Janssens and Maurice
                 Bruynooghe and Henk Corporaal and Francky Catthoor",
  title =        "Advanced copy propagation for arrays",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "24--33",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shaylor:2003:JVM,
  author =       "Nik Shaylor and Douglas N. Simon and William R. Bush",
  title =        "A {Java Virtual Machine} architecture for very small
                 devices",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "34--41",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schultz:2003:CJL,
  author =       "Ulrik Pagh Schultz and Kim Burgaard and Flemming Gram
                 Christensen and J{\o}rgen Lindskov Knudsen",
  title =        "Compiling {Java} for low-end embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "42--50",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Corsaro:2003:EMR,
  author =       "Angelo Corsaro and Ron K. Cytron",
  title =        "Efficient memory-reference checks for real-time
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "51--58",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ananian:2003:DSO,
  author =       "C. Scott Ananian and Martin Rinard",
  title =        "Data size optimizations for {Java} programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "59--68",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dhurjati:2003:MSR,
  author =       "Dinakar Dhurjati and Sumant Kowshik and Vikram Adve
                 and Chris Lattner",
  title =        "Memory safety without runtime checks or garbage
                 collection",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "69--80",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2003:CFS,
  author =       "David F. Bacon and Perry Cheng and V. T. Rajan",
  title =        "Controlling fragmentation and space consumption in the
                 metronome, a real-time garbage collector for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "81--92",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Robertz:2003:TTG,
  author =       "Sven Gestegard Robertz and Roger Henriksson",
  title =        "Time-triggered garbage collection: robust and adaptive
                 real-time {GC} scheduling for embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "93--102",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Karczmarek:2003:PSS,
  author =       "Michal Karczmarek and William Thies and Saman
                 Amarasinghe",
  title =        "Phased scheduling of stream programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "103--112",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pop:2003:SDF,
  author =       "Paul Pop and Petru Eles and Zebo Peng",
  title =        "Schedulability-driven frame packing for multi-cluster
                 distributed embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "113--122",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ait-Ameur:2003:RAA,
  author =       "Y. Ait-Ameur and G. Bel and F. Boniol and S. Pairault
                 and V. Wiels",
  title =        "Robustness analysis of avionics embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "123--132",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{deNiz:2003:TWS,
  author =       "Dionisio de Niz and Raj Rajkumar",
  title =        "{Time weaver}: a software-through-models framework for
                 embedded real-time systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "133--143",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pratap:2003:TLA,
  author =       "Ravi Pratap M. and Ron K. Cytron and David Sharp and
                 Edward Pla",
  title =        "Transport layer abstraction in event channels for
                 embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "144--152",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Caspi:2003:SSL,
  author =       "Paul Caspi and Adrian Curic and Aude Maignan and
                 Christos Sofronis and Stavros Tripakis and Peter
                 Niebert",
  title =        "From {Simulink} to {SCADE\slash lustre} to {TTA}: a
                 layered approach for distributed embedded
                 applications",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "153--162",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wasowski:2003:EPS,
  author =       "Andrzej Wasowski",
  title =        "On efficient program synthesis from statecharts",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "163--170",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Alur:2003:GES,
  author =       "Rajeev Alur and Franjo Ivancic and Jesung Kim and
                 Insup Lee and Oleg Sokolsky",
  title =        "Generating embedded software from hierarchical hybrid
                 models",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "171--182",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2003:AML,
  author =       "Jong-eun Lee and Kiyoung Choi and Nikil D. Dutt",
  title =        "An algorithm for mapping loops onto coarse-grained
                 reconfigurable architectures",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "183--188",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Suresh:2003:PTH,
  author =       "Dinesh C. Suresh and Walid A. Najjar and Frank Vahid
                 and Jason R. Villarreal and Greg Stitt",
  title =        "Profiling tools for hardware\slash software
                 partitioning of embedded applications",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "189--198",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guo:2003:GCA,
  author =       "Yuanqing Guo and Gerard J. M. Smit and Hajo Broersma
                 and Paul M. Heysters",
  title =        "A graph covering algorithm for a coarse grain
                 reconfigurable system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "199--208",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2003:TRW,
  author =       "Tao Zhang and Santosh Pande and Antonio Valverde",
  title =        "Tamper-resistant whole program partitioning",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "209--219",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2003:SAO,
  author =       "Xiaotong Zhuang and ChokSheak Lau and Santosh Pande",
  title =        "Storage assignment optimizations through variable
                 coalescence for embedded processors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "220--231",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Corliss:2003:DID,
  author =       "Marc L. Corliss and E. Christopher Lewis and Amir
                 Roth",
  title =        "A {DISE} implementation of dynamic code
                 decompression",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "232--243",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sutter:2003:SEC,
  author =       "Bjorn De Sutter and Hans Vandierendonck and Bruno De
                 Bus and Koen De Bosschere",
  title =        "On the side-effects of code abstraction",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "244--253",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Krishnaswamy:2003:EPB,
  author =       "Arvind Krishnaswamy",
  title =        "Enhancing the performance of 16-bit code using
                 augmenting instructions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "254--264",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yu:2003:EBT,
  author =       "Yang Yu and Viktor K. Prasanna",
  title =        "Energy-balanced task allocation for collaborative
                 processing in networked embedded systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "265--274",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2003:AIL,
  author =       "H. S. Kim and N. Vijaykrishnan and M. Kandemir and M.
                 J. Irwin",
  title =        "Adapting instruction level parallelism for optimizing
                 leakage in {VLIW} architectures",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "275--283",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{AbouGhazaleh:2003:EMR,
  author =       "Nevine AbouGhazaleh and Bruce Childers and Daniel
                 Mosse and Rami Melhem and Matthew Craven",
  title =        "Energy management for real-time embedded applications
                 with compiler support",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "7",
  pages =        "284--293",
  month =        jul,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:03 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Christopher:2003:DSP,
  author =       "Thomas W. Christopher",
  title =        "Details on a simple parallel system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "12--14",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2003:JF,
  author =       "Paul Frenger",
  title =        "The {JOY} of {Forth}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "15--17",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pronk:2003:FDP,
  author =       "C. Pronk and M. Sch{\"o}nhacker",
  title =        "Formal definition of programming language standards",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "20--21",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2003:MEJ,
  author =       "Baomin Xu and Weimin Lian and Qiang Gao",
  title =        "Migration of enterprise {JavaBeans} with {ProActive
                 Interposition Objects}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "22--28",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Costanza:2003:DSF,
  author =       "Pascal Costanza",
  title =        "Dynamically scoped functions as the essence of {AOP}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "29--36",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Iliasov:2003:TBP,
  author =       "Alex Iliasov",
  title =        "Templates-based portable just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "37--43",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hericko:2003:OSA,
  author =       "Marjan Hericko and Matjaz B. Juric and Ivan Rozman and
                 Simon Beloglavec and Ales Zivkovic",
  title =        "Object serialization analysis and comparison in {Java}
                 and {.NET}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "44--54",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Stephens:2003:XCI,
  author =       "Kurt Stephens",
  title =        "{XVF}: {C++} introspection by extensible visitation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "55--59",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2003:VRO,
  author =       "K. V. Seshu Kumar",
  title =        "Value reuse optimization: reuse of evaluated math
                 library function calls through compiler generated
                 cache",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "8",
  pages =        "60--66",
  month =        aug,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:05 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Knight:2003:CIA,
  author =       "Thomas {Knight, Jr.}",
  title =        "Conservation of information: applications in
                 functional, reversible, and quantum computing",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "1--1",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Heeren:2003:STI,
  author =       "Bastiaan Heeren and Jurriaan Hage and S. Doaitse
                 Swierstra",
  title =        "Scripting the type inference process",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "3--13",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Neubauer:2003:DST,
  author =       "Matthias Neubauer and Peter Thiemann",
  title =        "Discriminative sum types locate the source of type
                 errors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "15--26",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{LeBotlan:2003:MRM,
  author =       "Didier {Le Botlan} and Didier R{\'e}my",
  title =        "{ML}$^{F}$: raising {ML} to the power of system {F}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "27--38",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Simonet:2003:EHX,
  author =       "Vincent Simonet",
  title =        "An extension of {HM(X)} with bounded existential and
                 universal data-types",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "39--50",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Benzaken:2003:CXC,
  author =       "V{\'e}ronique Benzaken and Giuseppe Castagna and Alain
                 Frisch",
  title =        "{CDuce}: an {XML}-centric general-purpose language",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "51--63",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Levin:2003:CRP,
  author =       "Michael Y. Levin",
  title =        "Compiling regular patterns",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "65--77",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Page:2003:SDM,
  author =       "Rex L. Page",
  title =        "Software is discrete mathematics",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "79--86",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Leifer:2003:GAS,
  author =       "James J. Leifer and Gilles Peskine and Peter Sewell
                 and Keith Wansbrough",
  title =        "Global abstraction-safe marshalling with hash types",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "87--98",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bierman:2003:DRM,
  author =       "Gavin Bierman and Michael Hicks and Peter Sewell and
                 Gareth Stoyle and Keith Wansbrough",
  title =        "Dynamic Rebinding for Marshalling and Update, with
                 Destruct-time $\lambda$",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "99--110",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ogawa:2003:IFP,
  author =       "Mizuhito Ogawa and Zhenjiang Hu and Isao Sasano",
  title =        "Iterative-free program analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "111--123",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mairson:2003:HSD,
  author =       "Harry G. Mairson",
  title =        "From {Hilbert} space to {Dilbert} space: context
                 semantics as a language for games and flow analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "125--125",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Walker:2003:TA,
  author =       "David Walker and Steve Zdancewic and Jay Ligatti",
  title =        "A theory of aspects",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "127--139",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Loh:2003:DSG,
  author =       "Andres L{\"o}h and Dave Clarke and Johan Jeuring",
  title =        "Dependency-style generic {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "141--152",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nilsson:2003:FAD,
  author =       "Henrik Nilsson",
  title =        "Functional automatic differentiation with {Dirac}
                 impulses",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "153--164",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2003:UCA,
  author =       "Simon Peyton Jones and Alan Blackwell and Margaret
                 Burnett",
  title =        "A user-centred approach to functions in {Excel}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "165--176",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kameyama:2003:SCA,
  author =       "Yukiyoshi Kameyama and Masahito Hasegawa",
  title =        "A sound and complete axiomatization of delimited
                 continuations",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "177--188",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wadler:2003:CVD,
  author =       "Philip Wadler",
  title =        "Call-by-value is dual to call-by-name",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "189--201",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Beffara:2003:DNF,
  author =       "Emmanuel Beffara and Vincent Danos",
  title =        "Disjunctive normal forms and local exceptions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "203--211",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mandelbaum:2003:ETT,
  author =       "Yitzhak Mandelbaum and David Walker and Robert
                 Harper",
  title =        "An effective theory of type refinements",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "213--225",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Higuchi:2003:STS,
  author =       "Tomoyuki Higuchi and Atsushi Ohori",
  title =        "A static type system for {JVM} access control",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "227--237",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hughes:2003:PPS,
  author =       "R. John M. Hughes and S. Doaitse Swierstra",
  title =        "{Polish} parsers, step by step",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "239--248",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Washburn:2003:BGB,
  author =       "Geoffrey Washburn and Stephanie Weirich",
  title =        "Boxes go bananas: encoding higher-order abstract
                 syntax with parametric polymorphism",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "249--262",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shinwell:2003:FPB,
  author =       "Mark R. Shinwell and Andrew M. Pitts and Murdoch J.
                 Gabbay",
  title =        "{FreshML}: programming with binders made simple",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "263--274",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:MPT,
  author =       "Chiyan Chen and Hongwei Xi",
  title =        "Meta-programming through typeful code representation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "275--286",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ennals:2003:OEA,
  author =       "Robert Ennals and Simon Peyton Jones",
  title =        "Optimistic evaluation: an adaptive evaluation strategy
                 for non-strict programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "287--298",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wand:2003:UAE,
  author =       "Mitchell Wand",
  title =        "Understanding aspects: extended abstract",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "9",
  pages =        "299--300",
  month =        sep,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Oct 11 12:45:06 MDT 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

%%% There is serious confusion in the ACM Portal Database: publications
%%% from the Proceedings of the ninth ACM SIGPLAN symposium on
%%% Principles and practice of parallel programming 2003, San Diego,
%%% California, USA June 11--13, 2003 (PPoPP'2003) are claimed to appear
%%% in October 2003 SIGPLAN Notices Volume 38 Issue 10, yet entirely
%%% different contents are shown for that volume.  Until the confusion
%%% is resolved, we have labeled the PPoPP'2003 issue number as 10b.

@Article{Kazar:2003:HPS,
  author =       "Baris Kazar",
  title =        "High performance spatial data mining for very large
                 data-sets (citation only)",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "1--1",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxnumber =     "10b",
}

@Article{Puppin:2003:ACS,
  author =       "Diego Puppin",
  title =        "Adapting convergent scheduling using machine learning
                 (citation only)",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "1--1",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxnumber =     "10b",
}

@Article{Prabhu:2003:UTL,
  author =       "Manohar K. Prabhu and Kunle Olukotun",
  title =        "Using thread-level speculation to simplify manual
                 parallelization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "1--12",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Coarfa:2003:ECA,
  author =       "Cristian Coarfa and Yuri Dotsenko",
  title =        "An emerging co-array {Fortran} compiler (citation
                 only)",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "2--2",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxnumber =     "10b",
}

@Article{Squyres:2003:CAL,
  author =       "Jeffrey M. Squyres",
  title =        "A component architecture for {LAM\slash MPI} (citation
                 only)",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "2--2",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxnumber =     "10b",
}

@Article{Lee:2003:PPA,
  author =       "Jaejin Lee",
  title =        "The {Pensieve Project}: automatic implementation of
                 programming language consistency models (citation
                 only)",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "3--3",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxnumber =     "10b",
}

@Article{Nienaltowski:2003:SIC,
  author =       "Piotr Nienaltowski",
  title =        "{SCOOP It} up! (citation only)",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "3--3",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  xxnumber =     "10b",
}

@Article{Cintra:2003:TER,
  author =       "Marcelo Cintra and Diego R. Llanos",
  title =        "Toward efficient and robust software speculative
                 parallelization on multiprocessors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "13--24",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:CSS,
  author =       "Peng-Sheng Chen and Ming-Yu Hung and Yuan-Shin Hwang
                 and Roy Dz-Ching Ju and Jenq Kuen Lee",
  title =        "Compiler support for speculative multithreading
                 architecture with probabilistic points-to analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "25--36",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McDowell:2003:ISS,
  author =       "Luke K. McDowell and Susan J. Eggers and Steven D.
                 Gribble",
  title =        "Improving server software support for simultaneous
                 multithreaded processors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "37--48",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fraguela:2003:PFP,
  author =       "Basilio B. Fraguela and Jose Renau and Paul Feautrier
                 and David Padua and Josep Torrellas",
  title =        "Programming the {FlexRAM} parallel intelligent memory
                 system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "49--60",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2003:ETL,
  author =       "Hyong-youb Kim and Vijay S. Pai and Scott Rixner",
  title =        "Exploiting task-level concurrency in a programmable
                 network interface",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "61--72",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McCurdy:2003:UCC,
  author =       "Collin McCurdy and Charles Fischer",
  title =        "User-controllable coherence for high performance
                 shared memory multiprocessors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "73--82",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bronevetsky:2003:AAL,
  author =       "Greg Bronevetsky and Daniel Marques and Keshav Pingali
                 and Paul Stodghill",
  title =        "Automated application-level checkpointing of {MPI}
                 programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "84--94",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Karwande:2003:CMC,
  author =       "Amit Karwande and Xin Yuan and David K. Lowenthal",
  title =        "{CC--MPI}: a compiled communication capable {MPI}
                 prototype for {Ethernet} switched clusters",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "95--106",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2003:IMS,
  author =       "Ting Liu and Margaret Martonosi",
  title =        "{Impala}: a middleware system for managing autonomic,
                 parallel sensor systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "107--118",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chu:2003:ODA,
  author =       "Lingkun Chu and Hong Tang and Tao Yang and Kai Shen",
  title =        "Optimizing data aggregation for cluster-based
                 {Internet} services",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "119--130",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:EHL,
  author =       "DeQing Chen and Chunqiang Tang and Brandon Sanders and
                 Sandhya Dwarkadas and Michael L. Scott",
  title =        "Exploiting high-level coherence information to
                 optimize distributed shared state",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "131--142",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frens:2003:FMO,
  author =       "Jeremy D. Frens and David S. Wise",
  title =        "Factorization with {Morton}-ordered quadtree matrices
                 for memory re-use and parallelism",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "144--154",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:52:42 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frens:2003:QFM,
  author =       "Jeremy D. Frens and David S. Wise",
  title =        "{QR} factorization with {Morton}-ordered quadtree
                 matrices for memory re-use and parallelism",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "144--154",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Deitz:2003:DIP,
  author =       "Steven J. Deitz and Bradford L. Chamberlain and
                 Sung-Eun Choi and Lawrence Snyder",
  title =        "The design and implementation of a parallel array
                 operator for the arbitrary remapping of data",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "155--166",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{OCallahan:2003:HDD,
  author =       "Robert O'Callahan and Jong-Deok Choi",
  title =        "Hybrid dynamic data race detection",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "167--178",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pozniansky:2003:EFD,
  author =       "Eli Pozniansky and Assaf Schuster",
  title =        "Efficient on-the-fly data race detection in
                 multithreaded {C++} programs",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "179--190",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Goel:2003:CRP,
  author =       "Ankit Goel and Abhik Roychoudhury and Tulika Mitra",
  title =        "Compactly representing parallel program executions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "191--202",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tan:2003:UGD,
  author =       "Kai Tan and Duane Szafron and Jonathan Schaeffer and
                 John Anvik and Steve MacDonald",
  title =        "Using generative design patterns to generate parallel
                 code for a distributed memory environment",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "203--215",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Taura:2003:PPP,
  author =       "Kenjiro Taura and Kenji Kaneda and Toshio Endo and
                 Akinori Yonezawa",
  title =        "{Phoenix}: a parallel programming model for
                 accommodating dynamically joining\slash leaving
                 resources",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "216--229",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Saunders:2003:AAP,
  author =       "Steven Saunders and Lawrence Rauchwerger",
  title =        "{ARMI}: an adaptive, platform independent
                 communication library",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "230--240",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Sep 1 07:31:09 MDT 2010",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hatcliff:2003:SPE,
  author =       "John Hatcliff and William Deng and Matthew B. Dwyer
                 and Georg Jung and Venkatesh Ranganath and Robby",
  title =        "Slicing and partial evaluation of {CORBA} component
                 model designs for avionics system",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "241--242",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  DOI =          "http://dx.doi.org/10.1145/966049.777389",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ager:2003:FPE,
  author =       "Mads Sig Ager and Olivier Danvy and Henning Korsholm
                 Rohde",
  title =        "Fast partial evaluation of pattern matching in
                 strings",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "243--249",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gluck:2003:TII,
  author =       "Robert Gl{\"u}ck and Youhei Kawada and Takuya
                 Hashimoto",
  title =        "Transforming interpreters into inverse interpreters by
                 partial evaluation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "250--259",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:ITP,
  author =       "Chiyan Chen and Hongwei Xi",
  title =        "Implementing typeful program transformations",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "260--268",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Puebla:2003:ASA,
  author =       "Germ{\'a}n Puebla and Manuel Hermenegildo",
  title =        "Abstract specialization and its applications",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "269--283",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Allen:2003:SJP,
  author =       "Matthew Allen and Susan Horwitz",
  title =        "Slicing {Java} programs that throw and catch
                 exceptions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "284--294",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bozga:2003:SSA,
  author =       "Marius Bozga and Radu Iosif and Yassine Laknech",
  title =        "Storeless semantics and alias logic",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "295--305",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Attardi:2003:CCF,
  author =       "Giuseppe Attardi and Antonio Cisternino and Andrew
                 Kennedy",
  title =        "{CodeBricks}: code fragments as building blocks",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "306--314",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chin:2003:EST,
  author =       "Wei-Ngan Chin and Siau-Cheng Khoo and Dana N. Xu",
  title =        "Extending sized type with collection analysis",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "315--324",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2003:OAF,
  author =       "Yanhong A. Liu and Scott D. Stoller",
  title =        "Optimizing {Ackermann}'s function by
                 incrementalization",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "10",
  pages =        "325--331",
  month =        oct,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Dec 22 16:55:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lafferty:2003:LIA,
  author =       "Donal Lafferty and Vinny Cahill",
  title =        "Language-independent aspect-oriented programming",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "1--12",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tip:2003:RGU,
  author =       "Frank Tip and Adam Kiezun and Dirk B{\"a}umer",
  title =        "Refactoring for generalization using type
                 constraints",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "13--26",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tanter:2003:PBR,
  author =       "{\'E}ric Tanter and Jacques Noy{\'e} and Denis Caromel
                 and Pierre Cointe",
  title =        "Partial behavioral reflection: spatial and temporal
                 selection of reification",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "27--46",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Black:2003:ATS,
  author =       "Andrew P. Black and Nathanael Sch{\"a}rli and
                 St{\'e}phane Ducasse",
  title =        "Applying traits to the {Smalltalk} collection
                 classes",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "47--64",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mougin:2003:OIA,
  author =       "Philippe Mougin and St{\'e}phane Ducasse",
  title =        "{OOPAL}: integrating array programming in
                 object-oriented programming",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "65--77",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Demsky:2003:ADR,
  author =       "Brian Demsky and Martin Rinard",
  title =        "Automatic detection and repair of errors in data
                 structures",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "78--95",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Allen:2003:FCA,
  author =       "Eric Allen and Jonathan Bannet and Robert Cartwright",
  title =        "A first-class approach to genericity",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "96--114",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Garcia:2003:CSL,
  author =       "Ronald Garcia and Jaakko Jarvi and Andrew Lumsdaine
                 and Jeremy Siek and Jeremiah Willcock",
  title =        "A comparative study of language support for generic
                 programming",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "115--134",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2003:LCF,
  author =       "Tian Zhao and Jens Palsber and Jan Vite",
  title =        "Lightweight confinement for featherweight {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "135--148",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dufour:2003:DMJ,
  author =       "Bruno Dufour and Karel Driesen and Laurie Hendren and
                 Clark Verbrugge",
  title =        "Dynamic metrics for {Java}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "149--168",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Eeckhout:2003:HJP,
  author =       "Lieven Eeckhout and Andy Georges and Koen De
                 Bosschere",
  title =        "How {Java} programs interact with virtual machines at
                 the microarchitectural level",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "169--186",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ishizaki:2003:ECP,
  author =       "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",
  title =        "Effectiveness of cross-platform optimizations for a
                 {Java} just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "187--204",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2003:HOO,
  author =       "Keunwoo Lee and Anthony LaMarca and Craig Chambers",
  title =        "{HydroJ}: object-oriented pattern matching for
                 evolvable distributed systems",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "205--223",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Millstein:2003:RMB,
  author =       "Todd Millstein and Mark Reay and Craig Chambers",
  title =        "Relaxed {MultiJava}: balancing extensibility and
                 modular typechecking",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "224--240",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Corwin:2003:MRM,
  author =       "John Corwin and David F. Bacon and David Grove and
                 Chet Murthy",
  title =        "{MJ}: a rational module system for {Java} and its
                 applications",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "241--254",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Barabash:2003:MCG,
  author =       "Katherine Barabash and Yoav Ossia and Erez Petrank",
  title =        "Mostly concurrent garbage collection revisited",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "255--268",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Azatchi:2003:FMS,
  author =       "Hezi Azatchi and Yossi Levanoni and Harel Paz and Erez
                 Petrank",
  title =        "An on-the-fly mark and sweep garbage collector based
                 on sliding views",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "269--281",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2003:HCM,
  author =       "G. Chen and M. Kandemir and N. Vijaykrishnan and M. J.
                 Irwin and B. Mathiske and M. Wolczko",
  title =        "Heap compression for memory-constrained {Java}
                 environments",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "282--301",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fahndrich:2003:DCN,
  author =       "Manuel F{\"a}hndrich and K. Rustan M. Leino",
  title =        "Declaring and checking non-null types in an
                 object-oriented language",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "302--312",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Marinov:2003:OEP,
  author =       "Darko Marinov and Robert O'Callahan",
  title =        "Object equality profiling",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "313--325",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sachindran:2003:MCF,
  author =       "Narendran Sachindran and J. Eliot and B. Moss",
  title =        "{Mark-copy}: fast copying {GC} with less space
                 overhead",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "326--343",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blackburn:2003:URC,
  author =       "Stephen M. Blackburn and Kathryn S. McKinley",
  title =        "Ulterior reference counting: fast garbage collection
                 without a long wait",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "344--358",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hirzel:2003:CBG,
  author =       "Martin Hirzel and Amer Diwan and Matthew Hertz",
  title =        "Connectivity-based garbage collection",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "359--373",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clarke:2003:SWB,
  author =       "Dave Clarke and Michael Richmond and James Noble",
  title =        "Saving the world from bad beans: deployment-time
                 confinement checking",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "374--387",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Harris:2003:LSL,
  author =       "Tim Harris and Keir Fraser",
  title =        "Language support for lightweight transactions",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "388--402",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boyapati:2003:LMU,
  author =       "Chandrasekhar Boyapati and Barbara Liskov and Liuba
                 Shrira and Chuang-Hue Moh and Steven Richman",
  title =        "Lazy modular upgrades in persistent object stores",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "11",
  pages =        "403--417",
  month =        nov,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:18:34 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Burke:2003:ECO,
  author =       "Michael G. Burke",
  title =        "{Executive Committee October 2003} Meeting Report",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "1--1",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2003:LE,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Letters from the {Editors}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "2--2",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wadler:2003:RIP,
  author =       "Philip Wadler and Krzysztof R. Apt and Matthias
                 Felleisen",
  title =        "Reminiscences on Influential Papers [Definitional
                 interpreters for higher-order programming languages;
                 Structured Programming; Call-by-name, Call-by-value,
                 and the $\lambda$-calculus]",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "2--2",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Creak:2003:PLD,
  author =       "Alan Creak",
  title =        "Programming lessons from days gone by: extreme
                 design",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "11--16",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenwick:2003:IA,
  author =       "Jay Fenwick and Cindy Norris",
  title =        "Information for Authors",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "17--17",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Griffith:2003:LES,
  author =       "Walter L. (Larry) Griffith",
  title =        "Letter to the {Editor}: Some Deficiencies of {C++} in
                 Teaching {CS1} and {CS2}",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "18--19",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Avvenuti:2003:JBV,
  author =       "Marco Avvenuti and Cinzia Bernardeschi and Nicoletta
                 De Francesco",
  title =        "{Java} bytecode verification for secure information
                 flow",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "20--27",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aycock:2003:ACC,
  author =       "John Aycock",
  title =        "The {ART} of compiler construction projects",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "28--32",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lopes:2003:BAT,
  author =       "Cristina Videira Lopes and Paul Dourish and David H.
                 Lorenz and Karl Lieberherr",
  title =        "Beyond {AOP}: toward naturalistic programming",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "34--43",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kamin:2003:RRT,
  author =       "Sam Kamin",
  title =        "Routine run-time code generation",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "44--56",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rinard:2003:AOC,
  author =       "Martin Rinard",
  title =        "Acceptability-oriented computing",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "57--75",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Biddle:2003:NNJ,
  author =       "Robert Biddle and Angela Martin and James Noble",
  title =        "No name: just notes on software reuse",
  journal =      j-SIGPLAN,
  volume =       "38",
  number =       "12",
  pages =        "76--96",
  month =        dec,
  year =         "2003",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 2 14:16:14 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rival:2004:STF,
  author =       "Xavier Rival",
  title =        "Symbolic transfer function-based approaches to
                 certified compilation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "1--13",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Benton:2004:SRC,
  author =       "Nick Benton",
  title =        "Simple relational correctness proofs for static
                 analyses and program transformations",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "14--25",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sittampalam:2004:IET,
  author =       "Ganesh Sittampalam and Oege de Moor and Ken Friis
                 Larsen",
  title =        "Incremental execution of transformation
                 specifications",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "26--38",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yu:2004:FGN,
  author =       "Dachuan Yu and Andrew Kennedy and Don Syme",
  title =        "Formalization of generics for the {.NET} common
                 language runtime",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "39--51",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vouillon:2004:STF,
  author =       "Jerome Vouillon and Paul-Andr{\'e} Melli{\`e}s",
  title =        "Semantic types: a fresh look at the ideal model for
                 types",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "52--63",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Balat:2004:ENT,
  author =       "Vincent Balat and Roberto Di Cosmo and Marcelo Fiore",
  title =        "Extensional normalisation and type-directed partial
                 evaluation for typed lambda calculus with sums",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "64--76",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fiore:2004:IGR,
  author =       "Marcelo Fiore",
  title =        "Isomorphisms of generic recursive polynomial types",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "77--88",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pottier:2004:PTD,
  author =       "Fran{\c{c}}ois Pottier and Nadji Gauthier",
  title =        "Polymorphic typed defunctionalization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "89--98",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Johann:2004:FTP,
  author =       "Patricia Johann and Janis Voigtl{\"a}nder",
  title =        "Free theorems in the presence of {\em seq\/}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "99--110",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ford:2004:PEG,
  author =       "Bryan Ford",
  title =        "Parsing expression grammars: a recognition-based
                 syntactic foundation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "111--122",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Caromel:2004:ADO,
  author =       "Denis Caromel and Ludovic Henrio and Bernard Paul
                 Serpette",
  title =        "Asynchronous and deterministic objects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "123--134",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zilio:2004:LYC,
  author =       "Silvano Dal Zilio and Denis Lugiez and Charles
                 Meyssonnier",
  title =        "A logic you can count on",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "135--146",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yoshida:2004:CDT,
  author =       "Nobuko Yoshida",
  title =        "Channel dependent types for higher-order mobile
                 processes",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "147--160",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sumii:2004:BDS,
  author =       "Eijiro Sumii and Benjamin C. Pierce",
  title =        "A bisimulation for dynamic sealing",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "161--172",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cousot:2004:AIB,
  author =       "Patrick Cousot and Radhia Cousot",
  title =        "An abstract interpretation-based framework for
                 software watermarking",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "173--185",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Giacobazzi:2004:ANI,
  author =       "Roberto Giacobazzi and Isabella Mastroeni",
  title =        "Abstract non-interference: parameterizing
                 non-interference by abstract interpretation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "186--197",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bhargavan:2004:SWS,
  author =       "Karthikeyan Bhargavan and C{\'e}dric Fournet and
                 Andrew D. Gordon",
  title =        "A semantics for {Web} services authentication",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "198--209",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boehm:2004:SCL,
  author =       "Hans-J. Boehm",
  title =        "The space cost of lazy reference counting",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "210--219",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Birkedal:2004:LRA,
  author =       "Lars Birkedal and Noah Torp-Smith and John C.
                 Reynolds",
  title =        "Local reasoning about a copying garbage collector",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "220--231",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Henzinger:2004:AP,
  author =       "Thomas A. Henzinger and Ranjit Jhala and Rupak
                 Majumdar and Kenneth L. McMillan",
  title =        "Abstractions from proofs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "232--244",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Qadeer:2004:SPC,
  author =       "Shaz Qadeer and Sriram K. Rajamani and Jakob Rehof",
  title =        "Summarizing procedures in concurrent programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "245--255",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2004:ADA,
  author =       "Cormac Flanagan and Stephen N. Freund",
  title =        "{Atomizer}: a dynamic atomicity checker for
                 multithreaded programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "256--267",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{OHearn:2004:SIH,
  author =       "Peter W. O'Hearn and Hongseok Yang and John C.
                 Reynolds",
  title =        "Separation and information hiding",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "268--280",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dunfield:2004:TT,
  author =       "Joshua Dunfield and Frank Pfenning",
  title =        "Tridirectional typechecking",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "281--292",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dreyer:2004:TSW,
  author =       "Derek Dreyer",
  title =        "A type system for well-founded recursion",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "293--305",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ancona:2004:PTJ,
  author =       "Davide Ancona and Elena Zucca",
  title =        "Principal typings for {Java}-like languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "306--317",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sankaranarayanan:2004:NLL,
  author =       "Sriram Sankaranarayanan and Henny B. Sipma and Zohar
                 Manna",
  title =        "Non-linear loop invariant generation using
                 {Gr{\"o}bner} bases",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "318--329",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Muller-Olm:2004:PIA,
  author =       "Markus M{\"u}ller-Olm and Helmut Seidl",
  title =        "Precise interprocedural analysis through linear
                 algebra",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "330--341",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gulwani:2004:GVN,
  author =       "Sumit Gulwani and George C. Necula",
  title =        "Global value numbering using random interpretation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "1",
  pages =        "342--352",
  month =        jan,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

%%% Need to check volume 39 number 2 against printed journal

@Article{Frenger:2004:DT,
  author =       "Paul Frenger",
  title =        "{Dutch} treat",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "2",
  pages =        "7--10",
  month =        feb,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 9 09:10:13 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Singh:2004:ALO,
  author =       "Awadhesh Kumar Singh and Anup Kumar Bandyopadhyay",
  title =        "Adding the leads-to operator to {Dijkstra}'s
                 calculus",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "2",
  pages =        "12--17",
  month =        feb,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 9 09:10:13 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lu:2004:CTO,
  author =       "Hongmin Lu and Yuming Zhou and Jiangtao Lu and Baowen
                 Xu",
  title =        "A compile-time optimization framework for {Ada}
                 rendezvous",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "2",
  pages =        "18--25",
  month =        feb,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 9 09:10:13 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Song:2004:WCW,
  author =       "Litong Song and Krishna Kavi",
  title =        "What can we gain by unfolding loops?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "2",
  pages =        "26--33",
  month =        feb,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 9 09:10:13 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2004:PAM,
  author =       "Yuan Liu and Baowen Xu",
  title =        "Process algebra model of {Ada} protected objects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "2",
  pages =        "34--39",
  month =        feb,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Feb 9 09:10:13 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2004:DEM,
  author =       "Paul Frenger",
  title =        "{Deus Ex Macintosh}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "3",
  pages =        "7--11",
  month =        mar,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2004:SSD,
  author =       "Yingzhou Zhang and Baowen Xu",
  title =        "A survey of semantic description frameworks for
                 programming languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "3",
  pages =        "14--30",
  month =        mar,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yavner:2004:BPK,
  author =       "Jonathan Yavner",
  title =        "Back-propagation of knowledge from syntax tree to {C}
                 source code",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "3",
  pages =        "31--37",
  month =        mar,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2004:WWC,
  author =       "K. V. Seshu Kumar",
  title =        "When and what to compile\slash optimize in a virtual
                 machine?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "3",
  pages =        "38--45",
  month =        mar,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lam:2004:GTC,
  author =       "Patrick Lam and Viktor Kuncak and Martin Rinard",
  title =        "Generalized typestate checking using set interfaces
                 and pluggable analyses",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "3",
  pages =        "46--55",
  month =        mar,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:FRa,
  author =       "Anonymous",
  title =        "{Forth} report",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "3",
  pages =        "??--??",
  month =        mar,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:12 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cattell:2004:CGM,
  author =       "R. G. G. Cattell and Joseph M. Newcomer and Bruce W.
                 Leverett",
  title =        "Code generation in a machine-independent compiler",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "1--13",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pennello:2004:ECL,
  author =       "Thomas J. Pennello and Frank DeRemer",
  title =        "Efficient computation of {LALR(1)} look-ahead sets",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "14--27",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Minimair:2004:MMR,
  author =       "Manfred Minimair",
  title =        "{MR}: {Macaulay Resultant} package for {Maple}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "26--29",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Allen:2004:ASO,
  author =       "Frances E. Allen and Janet Fabri",
  title =        "Automatic storage optimization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "28--37",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Auslander:2004:OPC,
  author =       "Marc Auslander and Martin Hopkins",
  title =        "An overview of the {PL.8} compiler",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "38--48",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Graham:2004:GCG,
  author =       "Susan L. Graham and Peter B. Kessler and Marshall K.
                 McKusick",
  title =        "{\tt gprof}: a call graph execution profiler",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "49--57",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "gcc; GNU profiler",
}

@Article{Markstein:2004:ORC,
  author =       "Victoria Markstein and Peter Markstein and John
                 Cocke",
  title =        "Optimization of range checking",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "58--65",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chaitin:2004:RAS,
  author =       "Gregory Chaitin",
  title =        "Register allocation and spilling via graph coloring",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "66--74",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Allen:2004:ALI,
  author =       "Randy Allen and Ken Kennedy",
  title =        "Automatic loop interchange",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "75--90",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chow:2004:RAP,
  author =       "Fred Chow and John Hennessy",
  title =        "Register allocation by priority-based coloring",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "91--103",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Davidson:2004:AGP,
  author =       "Jack W. Davidson and Christopher W. Fraser",
  title =        "Automatic generation of peephole optimizations",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "104--111",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fisher:2004:PPS,
  author =       "Joseph A. Fisher and John R. Ellis and John C.
                 Ruttenberg and Alexandru Nicolau",
  title =        "Parallel processing: a smart compiler and a dumb
                 machine",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "112--124",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Johnsson:2004:ECL,
  author =       "Thomas Johnsson",
  title =        "Efficient compilation of lazy evaluation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "125--138",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Burke:2004:IDA,
  author =       "Michael G. Burke and Ron K. Cytron",
  title =        "Interprocedural dependence analysis and
                 parallelization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "139--154",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Callahan:2004:ICP,
  author =       "David Callahan and Keith D. Cooper and Ken Kennedy and
                 Linda Torczon",
  title =        "Interprocedural constant propagation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "155--166",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Muchnick:2004:EIS,
  author =       "Steven S. Muchnick and Phillip B. Gibbons",
  title =        "Efficient instruction scheduling for a pipelined
                 architecture",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "167--174",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kranz:2004:OOC,
  author =       "David Kranz and Richard Kelsey and Jonathan Rees and
                 Paul Hudak and James Philbin and Norman Adams",
  title =        "{Orbit}: an optimizing compiler for {Scheme}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "175--191",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wall:2004:GRA,
  author =       "David W. Wall",
  title =        "Global register allocation at link time",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "192--204",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Appel:2004:RTC,
  author =       "Andrew W. Appel",
  title =        "Real-time concurrent collection on stock
                 multiprocessors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "205--216",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cooper:2004:ISE,
  author =       "Keith D. Cooper and Ken Kennedy",
  title =        "Interprocedural side-effect analysis in linear time",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "217--228",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Horwitz:2004:ISU,
  author =       "Susan Horwitz and Thomas Reps and David Binkley",
  title =        "Interprocedural slicing using dependence graphs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "229--243",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lam:2004:SPE,
  author =       "Monica S. Lam",
  title =        "Software pipelining: an effective scheduling technique
                 for {VLIW} machines",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "244--256",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shivers:2004:HOC,
  author =       "Olin Shivers",
  title =        "Higher-order control-flow analysis in retrospect:
                 lessons learned, lessons abandoned",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "257--269",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wall:2004:RWV,
  author =       "David W. Wall",
  title =        "Register windows vs. register allocation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "270--282",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Briggs:2004:CHR,
  author =       "Preston Briggs and Keith D. Cooper and Ken Kennedy and
                 Linda Torczon",
  title =        "Coloring heuristics for register allocation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "283--294",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chambers:2004:RCO,
  author =       "Craig Chambers and David Ungar",
  title =        "A retrospective on: {``Customization: Optimizing
                 Compiler Technology for Self, a Dynamically-Typed
                 Object-Oriented Programming Language''}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "295--312",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schonberg:2004:FDA,
  author =       "Edith Schonberg",
  title =        "On-the-fly detection of access anomalies",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "313--327",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Callahan:2004:IRA,
  author =       "David Callahan and Steve Carr and Ken Kennedy",
  title =        "Improving register allocation for subscripted
                 variables",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "328--342",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chase:2004:APS,
  author =       "David Chase and Mark Wegman and F. Ken Zadeck",
  title =        "Analysis of pointers and structures",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "343--359",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clinger:2004:HRF,
  author =       "William D. Clinger",
  title =        "How to read floating point numbers accurately",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "360--371",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Clinger:2004:RHR,
  author =       "William D. Clinger",
  title =        "Retrospective: How to read floating point numbers
                 accurately",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "360--371",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/989393.989430",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed May 26 06:21:19 2004",
  note =         "Best of PLDI 1979--1999. Reprint of, and retrospective
                 on, \cite{Clinger:1990:HRF}.",
  abstract =     "Converting decimal scientific notation into binary
                 floating point is nontrivial, but this conversion can
                 be performed with the best possible accuracy without
                 sacrificing efficiency. Consider the problem of
                 converting decimal scientific notation for a number
                 into the best binary floating point approximation to
                 that number, for some fixed precision. This problem
                 cannot be solved using arithmetic of any fixed
                 precision. Hence the IEEE Standard for Binary
                 Floating-Point Arithmetic does not require the result
                 of such a conversion to be the best approximation. This
                 paper presents an efficient algorithm that always finds
                 the best approximation. The algorithm uses a few extra
                 bits of precision to compute an IEEE-conforming
                 approximation while testing an intermediate result to
                 determine whether the approximation could be other than
                 the best. If the approximation might not be the best,
                 then the best approximation is determined by a few
                 simple operations on multiple-precision integers, where
                 the precision is determined by the input. When using 64
                 bits of precision to compute IEEE double precision
                 results, the algorithm avoids higher-precision
                 arithmetic over 99\% of the time. The input problem
                 considered by this paper is the inverse of an output
                 problem considered by Steele and White: Given a binary
                 floating point number, print a correctly rounded
                 decimal representation of it using the smallest number
                 of digits that will allow the number to be read without
                 loss of accuracy. The Steele and White algorithm
                 assumes that the input problem is solved; an imperfect
                 solution to the input problem, as allowed by the IEEE
                 standard and ubiquitous in current practice, defeats
                 the purpose of their algorithm.",
  acknowledgement = ack-nhfb,
}

@Article{Steele:2004:RHP,
  author =       "Guy L. {Steele Jr.} and Jon L. White",
  title =        "Retrospective: How to Print Floating-Point Numbers
                 Accurately",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "372--389",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/989393.989431",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 15 10:00:43 2004",
  note =         "Best of PLDI 1979--1999. Reprint of, and retrospective
                 on, \cite{Steele:1990:HPF}.",
  abstract =     "We present algorithms for accurately converting
                 floating-point numbers to decimal representation. The
                 key idea is to carry along with the computation an
                 explicit representation of the required rounding
                 accuracy. We begin with the simpler problem of
                 converting fixed-point fractions. A modification of the
                 well-known algorithm for radix-conversion of
                 fixed-point fractions by multiplication explicitly
                 determines when to terminate the conversion process; a
                 variable number of digits are produced. The algorithm
                 has these properties: (*) No information is lost; the
                 original fraction can be recovered from the output by
                 rounding. (*) No ``garbage digits'' are produced. (*)
                 The output is correctly rounded. (*) It is never
                 necessary to propagate carries on rounding. We then
                 derive two algorithms for free-format out-put of
                 floating-point numbers. The first simply scales the
                 given floating-point number to an appropriate
                 fractional range and then applies the algorithm for
                 fractions. This is quite fast and simple to code but
                 has inaccuracies stemming from round-off errors and
                 oversimplification. The second algorithm guarantees
                 mathematical accuracy by using multiple-precision
                 integer arithmetic and handling special cases. Both
                 algorithms produce no more digits than necessary
                 (intuitively, the ``1.3 prints as 1.2999999'' problem
                 does not occur). Finally, we modify the free-format
                 conversion algorithm for use in fixed-format
                 applications. Information may be lost if the fixed
                 format provides too few digit positions, but the output
                 is always correctly rounded. On the other hand, no
                 ``garbage digits'' are ever produced, even if the fixed
                 format specifies too many digit positions (intuitively,
                 the ``4/3 prints as 1.333333328366279602'' problem does
                 not occur).",
  acknowledgement = ack-nhfb,
}

@Article{Kessler:2004:FBD,
  author =       "Peter B. Kessler",
  title =        "Fast breakpoints: design and implementation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "390--397",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pettis:2004:PGC,
  author =       "Karl Pettis and Robert C. Hansen and Jack W.
                 Davidson",
  title =        "Profile guided code positioning",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "398--411",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cartwright:2004:ST,
  author =       "Robert Cartwright and Mike Fagan",
  title =        "Soft typing",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "412--428",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wall:2004:PPB,
  author =       "David W. Wall",
  title =        "Predicting program behavior using real or estimated
                 profiles",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "429--441",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lam:2004:DLO,
  author =       "Monica S. Lam and Michael E. Wolf",
  title =        "A data locality optimizing algorithm",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "442--459",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Knoop:2004:LCM,
  author =       "Jens Knoop and Oliver R{\"u}thing and Bernhard
                 Steffen",
  title =        "Lazy code motion",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "460--472",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Landi:2004:SAA,
  author =       "William Landi and Barbara G. Ryder",
  title =        "A safe approximate algorithm for interprocedural
                 pointer aliasing",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "473--489",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boehm:2004:SEC,
  author =       "Hans J. Boehm",
  title =        "Space efficient conservative garbage collection",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "490--501",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2004:ECC,
  author =       "Cormac Flanagan and Amr Sabry and Bruce F. Duba and
                 Matthias Felleisen",
  title =        "The essence of compiling with continuations",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "502--514",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kerns:2004:BSI,
  author =       "Daniel R. Kerns and Susan J. Eggers",
  title =        "Balanced scheduling: instruction scheduling when
                 memory latency is uncertain",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "515--527",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Srivastava:2004:ASB,
  author =       "Amitabh Srivastava and Alan Eustace",
  title =        "{ATOM}: a system for building customized program
                 analysis tools",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "528--539",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2004:OMR,
  author =       "Peter Lee and Mark Leone",
  title =        "Optimizing {ML} with run-time code generation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "540--553",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tarditi:2004:TTD,
  author =       "David Tarditi and Greg Morrisett and Perry Cheng and
                 Chris Stone and Robert Harper and Peter Lee",
  title =        "{TIL}: a type-directed, optimizing compiler for {ML}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "554--567",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ammons:2004:IDF,
  author =       "Glenn Ammons and James R. Larus",
  title =        "Improving data-flow analysis with path profiles",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "568--582",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2004:TLF,
  author =       "David F. Bacon and Ravi Konuru and Chet Murthy and
                 Mauricio J. Serrano",
  title =        "Thin locks: featherweight synchronization for {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "583--595",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bodik:2004:CRR,
  author =       "Rastislav Bod{\'\i}k and Rajiv Gupta and Mary Lou
                 Soffa",
  title =        "Complete removal of redundant expressions",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "596--611",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Necula:2004:DIC,
  author =       "George C. Necula and Peter Lee",
  title =        "The design and implementation of a certifying
                 compiler",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "612--625",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blelloch:2004:BTS,
  author =       "Guy E. Blelloch and Perry Cheng",
  title =        "On bounding time and space for multiprocessor garbage
                 collection",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "626--641",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frigo:2004:FFT,
  author =       "Matteo Frigo",
  title =        "A fast {Fourier} transform compiler",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "642--655",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Grant:2004:RES,
  author =       "Brian Grant and Matthai Philipose and Markus Mock and
                 Craig Chambers and Susan J. Eggers",
  title =        "A retrospective on: ``an evaluation of staged run-time
                 optimizations in {DyC'}'",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "4",
  pages =        "656--669",
  month =        apr,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shan:2004:STA,
  author =       "Chung-chieh Shan",
  title =        "Sexy types in action",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "15--22",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ghosh:2004:GJC,
  author =       "Debasish Ghosh",
  title =        "Generics in {Java} and {C++}: a comparative model",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "40--47",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wells:2004:UIR,
  author =       "Paul Damian Wells",
  title =        "A universal intermediate representation for massively
                 parallel software development",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "48--57",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Juric:2004:JRR,
  author =       "Matjaz B. Juric and Bostjan Kezmah and Marjan Hericko
                 and Ivan Rozman and Ivan Vezocnik",
  title =        "{Java RMI}, {RMI} tunneling and {Web} services
                 comparison and performance analysis",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "58--65",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kantorovitz:2004:LAT,
  author =       "Isaiah Pinchas Kantorovitz",
  title =        "Lexical analysis tool",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "5",
  pages =        "66--74",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Henzinger:2004:RCC,
  author =       "Thomas A. Henzinger and Ranjit Jhala and Rupak
                 Majumdar",
  title =        "Race checking by context inference",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "1--13",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Qadeer:2004:KKI,
  author =       "Shaz Qadeer and Dinghao Wu",
  title =        "{KISS}: keep it simple and sequential",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "14--24",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yahav:2004:VSP,
  author =       "Eran Yahav and G. Ramalingam",
  title =        "Verifying safety properties using separation and
                 heterogeneous abstractions",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "25--34",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Michael:2004:SLF,
  author =       "Maged M. Michael",
  title =        "Scalable lock-free dynamic memory allocation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "35--46",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/996841.996848",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Dynamic memory allocators (malloc/free) rely on mutual
                 exclusion locks for protecting the consistency of their
                 shared data structures under multithreading. The use of
                 locking has many disadvantages with respect to
                 performance, availability, robustness, and programming
                 flexibility. A lock-free memory allocator guarantees
                 progress regardless of whether some threads are delayed
                 or even killed and regardless of scheduling policies.
                 This paper presents a completely lock-free memory
                 allocator. It uses only widely-available operating
                 system support and hardware atomic instructions. It
                 offers guaranteed availability even under arbitrary
                 thread termination and crash-failure, and it is immune
                 to deadlock regardless of scheduling policies, and
                 hence it can be used even in interrupt handlers and
                 real-time applications without requiring special
                 scheduler support. Also, by leveraging some high-level
                 structures from Hoard, our allocator is highly
                 scalable, limits space blowup to a constant factor, and
                 is capable of avoiding false sharing. In addition, our
                 allocator allows finer concurrency and much lower
                 latency than Hoard. We use PowerPC shared memory
                 multiprocessor systems to compare the performance of
                 our allocator with the default AIX 5.1 libc malloc, and
                 two widely-used multithread allocators, Hoard and
                 Ptmalloc. Our allocator outperforms the other
                 allocators in virtually all cases and often by
                 substantial margins, under various levels of
                 parallelism and allocation patterns. Furthermore, our
                 allocator also offers the lowest contention-free
                 latency among the allocators by significant margins.",
  acknowledgement = ack-nhfb,
}

@Article{Flatt:2004:KSS,
  author =       "Matthew Flatt and Robert Bruce Findler",
  title =        "Kill-safe synchronization abstractions",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "47--58",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Johnson:2004:MCP,
  author =       "Troy A. Johnson and Rudolf Eigenmann and T. N.
                 Vijaykumar",
  title =        "Min-cut program decomposition for thread-level
                 speculation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "59--70",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Du:2004:CDC,
  author =       "Zhao-Hui Du and Chu-Cheow Lim and Xiao-Feng Li and
                 Chen Yang and Qingyu Zhao and Tin-Fook Ngai",
  title =        "A cost-driven compilation framework for speculative
                 parallelization of sequential programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "71--81",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Eichenberger:2004:VSA,
  author =       "Alexandre E. Eichenberger and Peng Wu and Kevin
                 O'Brien",
  title =        "Vectorization for {SIMD} architectures with alignment
                 constraints",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "82--93",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2004:CED,
  author =       "Xiangyu Zhang and Rajiv Gupta",
  title =        "Cost effective dynamic program slicing",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "94--106",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Collberg:2004:DPB,
  author =       "C. Collberg and E. Carter and S. Debray and A.
                 Huntwork and J. Kececioglu and C. Linn and M. Stepp",
  title =        "Dynamic path-based software watermarking",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "107--118",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2004:PAA,
  author =       "Cheng Wang and Zhiyuan Li",
  title =        "Parametric analysis for adaptive computation
                 offloading",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "119--130",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Whaley:2004:CBC,
  author =       "John Whaley and Monica S. Lam",
  title =        "Cloning-based context-sensitive pointer alias analysis
                 using binary decision diagrams",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "131--144",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhu:2004:SPA,
  author =       "Jianwen Zhu and Silvian Calman",
  title =        "Symbolic pointer analysis revisited",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "145--157",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lhotak:2004:JBB,
  author =       "Ond{\v{r}}ej Lhot{\'a}k and Laurie Hendren",
  title =        "{Jedd}: a {BDD}-based relational extension of {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "158--169",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kulkarni:2004:FSE,
  author =       "Prasad Kulkarni and Stephen Hines and Jason Hiser and
                 David Whalley and Jack Davidson and Douglas Jones",
  title =        "Fast searches for effective optimization phase
                 sequences",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "171--182",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cavazos:2004:IHD,
  author =       "John Cavazos and J. Eliot and B. Moss",
  title =        "Inducing heuristics to decide whether to schedule",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "183--194",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vachharajani:2004:LSS,
  author =       "Manish Vachharajani and Neil Vachharajani and David I.
                 August",
  title =        "The liberty structural specification language: a
                 high-level modeling language for component reuse",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "195--206",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kodumal:2004:SCC,
  author =       "John Kodumal and Alex Aiken",
  title =        "The set constraint\slash {CFL} reachability connection
                 in practice",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "207--218",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2004:PRP,
  author =       "Yanhong A. Liu and Tom Rothamel and Fuxiang Yu and
                 Scott D. Stoller and Nanjun Hu",
  title =        "Parametric regular path queries",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "219--230",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Venet:2004:PES,
  author =       "Arnaud Venet and Guillaume Brat",
  title =        "Precise and efficient static array bound checking for
                 large embedded {C} programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "231--242",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chin:2004:RIO,
  author =       "Wei-Ngan Chin and Florin Craciun and Shengchao Qin and
                 Martin Rinard",
  title =        "Region inference for an object-oriented language",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "243--254",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhong:2004:ARS,
  author =       "Yutao Zhong and Maksim Orlovich and Xipeng Shen and
                 Chen Ding",
  title =        "Array regrouping and structure splitting using
                 whole-program reference affinity",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "255--266",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Adl-Tabatabai:2004:PIB,
  author =       "Ali-Reza Adl-Tabatabai and Richard L. Hudson and
                 Mauricio J. Serrano and Sreenivas Subramoney",
  title =        "Prefetch inection based on hardware monitoring and
                 object metadata",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "267--276",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2004:GAG,
  author =       "Michael D. Smith and Norman Ramsey and Glenn
                 Holloway",
  title =        "A generalized algorithm for graph-coloring register
                 allocation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "277--288",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2004:BRA,
  author =       "Xiaotong Zhuang and Santosh Pande",
  title =        "Balancing register allocation across threads for a
                 multithreaded network processor",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "6",
  pages =        "289--300",
  month =        may,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Antochi:2004:GGB,
  author =       "Iosif Antochi and Ben Juurlink and Stamatis
                 Vassiliadis and Petri Liuha",
  title =        "{GraalBench}: a {$3$D} graphics benchmark suite for
                 mobile phones",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "1--9",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Martin:2004:MSE,
  author =       "Thomas Martin and Mark Jones and Joshua Edmison and
                 Tanwir Sheikh and Zahi Nakad",
  title =        "Modeling and simulating electronic textile
                 applications",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "10--19",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Willmann:2004:SLB,
  author =       "Paul Willmann and Michael Brogioli and Vijay S. Pai",
  title =        "{Spinach}: a liberty-based simulator for programmable
                 network interface architectures",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "20--29",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Conway:2004:NDS,
  author =       "Christopher L. Conway and Stephen A. Edwards",
  title =        "{NDL}: a domain-specific language for device drivers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "30--36",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2004:AST,
  author =       "Nagendra J. Kumar and Siddhartha Shivshankar and
                 Alexander G. Dean",
  title =        "Asynchronous software thread integration for efficient
                 software",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "37--46",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Qin:2004:FCM,
  author =       "Wei Qin and Subramanian Rajagopalan and Sharad Malik",
  title =        "A formal concurrency model based architecture
                 description language for synthesis of software
                 development tools",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "47--56",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jejurikar:2004:PSF,
  author =       "Ravindra Jejurikar and Rajesh Gupta",
  title =        "Procrastination scheduling in fixed priority real-time
                 systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "57--66",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2004:PEP,
  author =       "Xiaotong Zhuang and Santosh Pande",
  title =        "Power-efficient prefetching via bit-differential
                 offset assignment on embedded processors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "67--77",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pokam:2004:SSM,
  author =       "Gilles Pokam and Olivier Rochecouste and Andr{\'e}
                 Seznec and Fran{\c{c}}ois Bodin",
  title =        "Speculative software management of datapath-width for
                 energy optimization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "78--87",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Im:2004:DVS,
  author =       "Chaeseok Im and Soonhoi Ha",
  title =        "Dynamic voltage scaling for real-time multi-task
                 scheduling using buffers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "88--94",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2004:TBB,
  author =       "Lian Li and Jingling Xue",
  title =        "A trace-based binary compilation framework for
                 energy-aware computing",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "95--106",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lapalme:2004:ENN,
  author =       "J. Lapalme and E. M. Aboulhamid and G. Nicolescu and
                 L. Charest and F. R. Boyer and J. P. David and G.
                 Bois",
  title =        "{ESys.Net}: a new solution for embedded systems
                 modeling and simulation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "107--114",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Contreras:2004:XPS,
  author =       "Gilberto Contreras and Margaret Martonosi and Jinzhan
                 Peng and Roy Ju and Guei-Yuan Lueh",
  title =        "{XTREM}: a power simulator for the {Intel
                 XScale\TM{}}; core",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "115--125",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kastens:2004:FDI,
  author =       "Uwe Kastens and Dinh Khoi Le and Adrian Slowik and
                 Michael Thies",
  title =        "Feedback driven instruction-set extension",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "126--135",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Patil:2004:CSI,
  author =       "Kaustubh Patil and Kiran Seth and Frank Mueller",
  title =        "Compositional static instruction cache simulation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "136--145",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Starner:2004:MCI,
  author =       "Johan St{\"a}rner and Lars Asplund",
  title =        "Measuring the cache interference cost in preemptive
                 real-time systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "146--154",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2004:ACU,
  author =       "Lingli Zhang and Chandra Krintz",
  title =        "Adaptive code unloading for resource-constrained
                 {JVMs}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "155--164",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2004:ACF,
  author =       "Peng Li and Steve Zdancewic",
  title =        "Advanced control flow in {Java} card programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "165--174",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zeng:2004:GFC,
  author =       "Jia Zeng and Cristian Soviani and Stephen A. Edwards",
  title =        "Generating fast code from concurrent program
                 dependence graphs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "175--181",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hiser:2004:EEM,
  author =       "Jason D. Hiser and Jack W. Davidson",
  title =        "{EMBARC}: an efficient memory bank assignment
                 algorithm for retargetable compilers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "182--191",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2004:HMR,
  author =       "Xiaotong Zhuang and Tao Zhang and Santosh Pande",
  title =        "Hardware-managed register allocation for embedded
                 processors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "192--201",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Daveau:2004:RRA,
  author =       "Jean-Marc Daveau and Thomas Thery and Thierry Lepley
                 and Miguel Santana",
  title =        "A retargetable register allocation framework for
                 embedded processors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "202--210",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bus:2004:LTO,
  author =       "Bruno De Bus and Bjorn De Sutter and Ludo Van Put and
                 Dominique Chanet and Koen De Bosschere",
  title =        "Link-time optimization of {ARM} binaries",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "211--220",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Scholz:2004:OST,
  author =       "Bernhard Scholz and Nigel Horspool and Jens Knoop",
  title =        "Optimizing for space and time usage with speculative
                 partial redundancy elimination",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "221--230",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Almagor:2004:FEC,
  author =       "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",
  title =        "Finding effective compilation sequences",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "231--239",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Saputra:2004:CPR,
  author =       "H. Saputra and G. Chen and R. Brooks and N.
                 Vijaykrishnan and M. Kandemir and M. J. Irwin",
  title =        "Code protection for resource-constrained embedded
                 devices",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "240--248",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guo:2004:IDR,
  author =       "Zhi Guo and Betul Buyukkurt and Walid Najjar",
  title =        "Input data reuse in compiling window operations onto
                 reconfigurable hardware",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "249--256",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wasowski:2004:FSE,
  author =       "Andrzej Wasowski",
  title =        "Flattening statecharts without explosions",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "7",
  pages =        "257--266",
  month =        jul,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:55 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2004:EF,
  author =       "Paul Frenger",
  title =        "Embed with {Forth}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "8--11",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Creak:2004:PNA,
  author =       "Alan Creak",
  title =        "Parsing by numbers and asparagus",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "12--19",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Reid:2004:OF,
  author =       "John Reid",
  title =        "An overview of {Fortran 2003}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "31--38",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wu:2004:SZS,
  author =       "Fangjun Wu and Tong Yi",
  title =        "Slicing {Z} specifications",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "39--48",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bronnikov:2004:PAP,
  author =       "Dmitri Bronnikov",
  title =        "A practical adoption of partial redundancy
                 elimination",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "49--53",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{deOliveiraGuimaraes:2004:CST,
  author =       "Jos{\'e} {de Oliveira Guimar{\~a}es}",
  title =        "Closures for statically-typed object-oriented
                 languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "54--60",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Babu:2004:MDM,
  author =       "Chitra Babu and D. Janakiram",
  title =        "Method driven model: a unified model for an object
                 composition language",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "61--71",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sandya:2004:JJL,
  author =       "S. M. Sandya",
  title =        "Jazzing up {JVMs} with off-line profile data: does it
                 pay?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "8",
  pages =        "72--80",
  month =        aug,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:2004:CCI,
  author =       "Norman Ramsey and Simon L. Peyton Jones",
  title =        "The {C}--compiler infrastructure",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "1--1",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Launchbury:2004:GHA,
  author =       "John Launchbury",
  title =        "{Galois}: high assurance software",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "3--3",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Marlow:2004:MFC,
  author =       "Simon Marlow and Simon Peyton Jones",
  title =        "Making a fast curry: push\slash enter vs. eval\slash
                 apply for higher-order languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "4--15",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Herman:2004:ISA,
  author =       "David Herman and Philippe Meunier",
  title =        "Improving the static analysis of embedded languages
                 via partial evaluation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "16--27",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Christiansen:2004:SDW,
  author =       "Jan Christiansen and Frank Huch",
  title =        "Searching for deadlocks while debugging {Concurrent
                 Haskell} programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "28--39",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ariola:2004:TTF,
  author =       "Zena M. Ariola and Hugo Herbelin and Amr Sabry",
  title =        "A type-theoretic foundation of continuations and
                 prompts",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "40--53",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wand:2004:RMB,
  author =       "Mitchell Wand and Dale Vaillancourt",
  title =        "Relating models of backtracking",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "54--65",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Graham:2004:DMW,
  author =       "Paul Graham",
  title =        "Don't make the wrong mistakes: programming as
                 debugging",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "66--66",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Broberg:2004:REP,
  author =       "Niklas Broberg and Andreas Farre and Josef
                 Svenningsson",
  title =        "Regular expression patterns",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "67--78",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shivers:2004:MRF,
  author =       "Olin Shivers and David Fisher",
  title =        "Multi-return function call",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "79--89",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tolmach:2004:IFL,
  author =       "Andrew Tolmach and Sergio Antoy and Marius Nita",
  title =        "Implementing functional logic languages using multiple
                 threads and stores",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "90--102",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fluet:2004:MR,
  author =       "Matthew Fluet and Greg Morrisett",
  title =        "Monadic regions",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "103--114",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tse:2004:TDP,
  author =       "Stephen Tse and Steve Zdancewic",
  title =        "Translating dependency into parametricity",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "115--125",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Colazzo:2004:TPC,
  author =       "Dario Colazzo and Giorgio Ghelli and Paolo Manghi and
                 Carlo Sartiani",
  title =        "Types for path correctness of {XML} queries",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "126--137",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Neergaard:2004:TPI,
  author =       "Peter M{\o}ller Neergaard and Harry G. Mairson",
  title =        "Types, potency, and idempotency: why nonlinearity and
                 amnesia make a type system work",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "138--149",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gauthier:2004:NMF,
  author =       "Nadji Gauthier and Fran{\c{c}}ois Pottier",
  title =        "Numbering matters: first-order canonical forms for
                 second-order recursive types",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "150--161",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wiger:2004:YIF,
  author =       "Ulf Wiger",
  title =        "20 years of industrial functional programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "162--162",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Honda:2004:PLP,
  author =       "Kohei Honda",
  title =        "From process logic to program logic",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "163--174",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Yu:2004:VSP,
  author =       "Dachuan Yu and Zhong Shao",
  title =        "Verification of safety properties for concurrent
                 assembly code",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "175--188",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blume:2004:SCM,
  author =       "Matthias Blume and David McAllester",
  title =        "A sound (and complete) model of contracts",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "189--200",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sarkar:2004:NIC,
  author =       "Dipanwita Sarkar and Oscar Waddell and R. Kent
                 Dybvig",
  title =        "A nanopass infrastructure for compiler education",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "201--212",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Forsberg:2004:FM,
  author =       "Markus Forsberg and Aarne Ranta",
  title =        "Functional morphology",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "213--223",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Findler:2004:SFP,
  author =       "Robert Bruce Findler and Matthew Flatt",
  title =        "Slideshow: functional presentations",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "224--235",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hinze:2004:GM,
  author =       "Ralf Hinze",
  title =        "Generics for the masses",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "236--243",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lammel:2004:SMB,
  author =       "Ralf L{\"a}mmel and Simon Peyton Jones",
  title =        "Scrap more boilerplate: reflection, zips, and
                 generalised casts",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "9",
  pages =        "244--255",
  month =        sep,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

%%% TO DO: ACM Portal has v39n10 that disagrees completely with my printed copy (labeled OOPSLA'04).  Why??

@Article{Perera:2004:RRB,
  author =       "Roly Perera",
  title =        "Refactoring: to the {Rubicon}\ldots{} and beyond!",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "2--3",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Freeman:2004:JSR,
  author =       "Steve Freeman and Tim Mackinnon and Nat Pryce and Joe
                 Walnes",
  title =        "{jMock}: supporting responsibility-based design with
                 mock objects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "4--5",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aldrich:2004:MISa,
  author =       "Jonathan Aldrich and David Garlan and Bradley Schmerl
                 and Tony Tseng",
  title =        "Modeling and implementing software architecture with
                 acme and {archJava}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "6--7",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fuhrer:2004:ARE,
  author =       "Robert Fuhrer and Frank Tip and Adam Kie{\.z}un",
  title =        "Advanced refactorings in eclipse",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "8--8",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McCormick:2004:JFY,
  author =       "Edward McCormick and Kris De Volder",
  title =        "{JQuery}: finding your way through tangled code",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "9--10",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kaundinya:2004:MEDa,
  author =       "Murali Kaundinya and Ali Syed",
  title =        "Modeling event driven applications with a
                 specification language {(MEDASL)}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "11--12",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sazawal:2004:DSP,
  author =       "Vibha Sazawal and David Notkin",
  title =        "Design snippets: partial design representations
                 extracted from source code",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "13--14",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fowler:2004:MPR,
  author =       "Matthew Fowler and Brahm van Niekerk",
  title =        "Meta-programming for the real world",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "15--15",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ostlund:2004:JOA,
  author =       "Helena {\AA}berg {\"O}stlund",
  title =        "{JRA}: offline analysis of runtime behaviour",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "16--17",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Spinczyk:2004:MBS,
  author =       "Olaf Spinczyk and Danilo Beuche",
  title =        "Modeling and building software product lines with
                 eclipse",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "18--19",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2004:PRA,
  author =       "Charles Zhang and Hans-Arno Jacobsen",
  title =        "{PRISM} is research in {aSpect} mining",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "20--21",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bhattacharrya:2004:SDE,
  author =       "Arnab Bhattacharrya and Robert Fuhrer",
  title =        "Smell detection for eclipse",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "22--22",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lippert:2004:AAEa,
  author =       "Martin Lippert",
  title =        "{AJEER}: an {aspectJ}-enabled eclipse runtime",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "23--24",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Akers:2004:PTR,
  author =       "Robert L. Akers and Ira D. Baxter and Michael
                 Mehlich",
  title =        "Program transformations for re-engineering {C++}
                 components {[OOPSLA\slash GPCE]}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "25--26",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gray:2004:CSG,
  author =       "Jeff Gray and Jing Zhang and Suman Roychoudhury and
                 Ira Baxter",
  title =        "{C-SAW} and {genAWeave}: a two-level aspect weaving
                 toolsuite",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "27--28",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tarr:2004:CME,
  author =       "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",
  title =        "The concern manipulation environment {[OOPSLA\slash
                 GPCE]}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "29--30",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hauswirth:2004:PEU,
  author =       "Matthias Hauswirth and Peter F. Sweeney and Amer
                 Diwan",
  title =        "Performance explorer: understanding {Java} application
                 behavior",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "31--32",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gordon:2004:C,
  author =       "Donald Gordon and James Noble and Robert Biddle",
  title =        "{ConstrainedJava}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "33--34",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nguyen:2004:OOS,
  author =       "Tien N. Nguyen and Ethan V. Munson and John T.
                 Boyland",
  title =        "Object-oriented, structural software configuration
                 management",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "35--36",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Parigot:2004:TDD,
  author =       "Didier Parigot",
  title =        "Towards domain-driven development: the {smartTools}
                 software factory",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "37--38",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tolvanen:2004:MDS,
  author =       "Juha-Pekka Tolvanen",
  title =        "{MetaEdit+}: domain-specific modeling for full code
                 generation demonstrated {[GPCE]}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "39--40",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Guerrero:2004:IDM,
  author =       "Miguel Guerrero and Edward Pizzi and Robert Rosenbaum
                 and Kedar Swadi and Walid Taha",
  title =        "Implementing {DSLs} in {metaOCaml}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "41--42",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Eichberg:2004:XCA,
  author =       "Michael Eichberg and Thorsten Sch{\"a}fer",
  title =        "{XIRC}: cross-artifact information retrieval
                 {[GPCE]}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "43--44",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cao:2004:MDA,
  author =       "Lan Cao",
  title =        "Modeling dynamics of agile software development",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "46--47",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gestwicki:2004:IVO,
  author =       "Paul V. Gestwicki",
  title =        "Interactive visualization of object-oriented
                 programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "48--49",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Potanin:2004:GOP,
  author =       "Alex Potanin and James Noble and Robert Biddle",
  title =        "Generic ownership: practical ownership control in
                 programming languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "50--51",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Roychoudhury:2004:LIAa,
  author =       "Suman Roychoudhury",
  title =        "A language-independent approach to software
                 maintenance using grammar adapters",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "52--53",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Siek:2004:MG,
  author =       "Jeremy Siek",
  title =        "Modular generics",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "54--55",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nienaltowski:2004:EDR,
  author =       "Piotr Nienaltowski",
  title =        "Efficient data race and deadlock prevention in
                 concurrent object-oriented programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "56--57",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Trofin:2004:FRRa,
  author =       "Mircea Trofin",
  title =        "A framework for removing redundant context management
                 services in {Enterprise JavaBeans} application
                 servers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "58--59",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Silaghi:2004:RDAa,
  author =       "Raul Silaghi",
  title =        "Refining designs along middleware-specific
                 concern-dimensions at different {MDA}-levels of
                 abstraction",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "60--62",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Schmolitzky:2004:OFI,
  author =       "Axel Schmolitzky",
  title =        "``Objects first, interfaces next'' or interfaces
                 before inheritance",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "64--67",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ventura:2004:AWC,
  author =       "Phil Ventura and Christopher Egert and Adrienne
                 Decker",
  title =        "Ancestor worship in {CS1}: on the primacy of arrays",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "68--72",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Henriksen:2004:GCO,
  author =       "Poul Henriksen and Michael K{\"o}lling",
  title =        "{greenfoot}: combining object visualisation with
                 interaction",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "73--82",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1035292.1028701",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Malan:2004:ECD,
  author =       "Katherine Malan and Ken Halland",
  title =        "Examples that can do harm in learning programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "83--87",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fenstermacher:2004:IMI,
  author =       "Kurt D. Fenstermacher",
  title =        "If {I} had a model, {I}'d model in the mornin'",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "88--95",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bruce:2004:EDP,
  author =       "Kim B. Bruce and Andrea Danyluk",
  title =        "Event-driven programming facilitates learning standard
                 programming concepts",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "96--100",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cheng:2004:AFS,
  author =       "Eric Cheng and Dung Zung Nguyen and Mathias Ricken and
                 Stephen Wong",
  title =        "Abstract factories and the shape calculator",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "101--102",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wick:2004:UGL,
  author =       "Michael R. Wick",
  title =        "Using the game of life to introduce freshman students
                 to the power and elegance of design patterns",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "103--105",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nevison:2004:CAP,
  author =       "Christopher H. Nevison",
  title =        "From concrete to abstract: the power of
                 generalization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "106--108",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cheng:2004:MBS,
  author =       "Eric Cheng and Dung Zung Nguyen and Mathias Ricken and
                 Stephen Wong",
  title =        "Marine biology simulation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "109--110",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Noble:2004:NNPa,
  author =       "James Noble and Robert Biddle",
  title =        "Notes on notes on postmodern programming: radio edit",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "112--115",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sheard:2004:LFa,
  author =       "Tim Sheard",
  title =        "Languages of the future",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "116--119",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Singh:2004:PPPa,
  author =       "Munindar P. Singh and Amit K. Chopra and Nirmit V.
                 Desai and Ashok U. Mallya",
  title =        "Protocols for processes: programming in the large for
                 open systems (extended abstract)",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "120--123",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Edwards:2004:ECPa,
  author =       "Jonathan Edwards",
  title =        "Example centric programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "124--124",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Marick:2004:MWOa,
  author =       "Brian Marick",
  title =        "Methodology work is ontology work",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "125--125",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{West:2004:LLAa,
  author =       "David West",
  title =        "Looking for love: (in all the wrong places)",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "126--127",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2004:GOPa,
  author =       "Yinliang Zhao",
  title =        "Granule-oriented programming (extended abstract)",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "128--131",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hovemeyer:2004:FBEa,
  author =       "David Hovemeyer and William Pugh",
  title =        "Finding bugs is easy",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "132--136",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Miller:2004:MDA,
  author =       "Granville Miller and Scott Ambler and Steve Cook and
                 Stephen Mellor and Karl Frank and Jon Kern",
  title =        "Model driven architecture: the realities, a year
                 later",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "138--140",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Haungs:2004:SDA,
  author =       "Jim Haungs and Martin Fowler and Ralph Johnson and
                 Steve McConnell and Richard Gabriel",
  title =        "Software development: arts {\&} crafts or math {\&}
                 science?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "141--142",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fowler:2004:GJV,
  author =       "Martin Fowler and Don Box and Anders Hejlsberg and
                 Alan Knight and Rob High and John Crupi",
  title =        "The great {J2EE} vs. {Microsoft .NET} shootout",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "143--144",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fraser:2004:COG,
  author =       "Steven Fraser and Lougie Anderson and Ron Crocker and
                 Richard Gabriel and Martin Fowler and Ricardo Lopez and
                 Dave Thomas",
  title =        "Challenges in outsourcing and global development: how
                 will your job change?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "145--147",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fraser:2004:RCS,
  author =       "Steven Fraser and Angela Martin and Robert Biddle and
                 David Hussman and Granville Miller and Mary Poppendieck
                 and Linda Rising and Mark Striebeck",
  title =        "The role of the customer in software development: the
                 {XP} customer --- fad or fashion?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "148--150",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Josuttis:2004:VUI,
  author =       "Nicolai M. Josuttis and Jutta Eckstein and Linda
                 Rising and Lise B. Hvatum and Mary Lynn Manns and
                 Rebecca Wirfs-Brock",
  title =        "The view: the ultimate {IT} chat",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "151--152",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Eliassen:2004:QBR,
  author =       "Frank Eliassen and Richard Staehli and Gordon Blair
                 and Jan {\O}yvind Aagedal",
  title =        "{QuA}: building with reusable {QoS}-aware components",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "154--155",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aldrich:2004:MISb,
  author =       "Jonathan Aldrich and David Garlan and Bradley Schmerl
                 and Tony Tseng",
  title =        "Modeling and implementing software architecture with
                 acme and {archJava}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "156--157",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Carleton:2004:IDP,
  author =       "Lawrence Carleton",
  title =        "An invitation to the dance of progress",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "158--159",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Niculescu:2004:OOO,
  author =       "Virginia Niculescu",
  title =        "{OOLACA}: an object oriented library for abstract and
                 computational algebra",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "160--161",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sobering:2004:PCV,
  author =       "Geoff Sobering and Levi Cook and Steve Anderson",
  title =        "Pseudo-classes: very simple and lightweight
                 mockObject-like classes for unit-testing",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "162--163",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Paquet:2004:TFG,
  author =       "Joey Paquet and Aihua Wu and Peter Grogono",
  title =        "Towards a framework for the general intensional
                 programming compiler in the {GIPSY}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "164--165",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kulesza:2004:AOG,
  author =       "Uir{\'a} Kulesza and Alessandro Garcia and Carlos
                 Lucena",
  title =        "An aspect-oriented generative approach",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "166--167",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kaundinya:2004:MEDb,
  author =       "Murali Kaundinya and Ali Syed",
  title =        "Modeling event driven applications with a
                 specification language {(MEDASL)}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "168--169",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hussain:2004:IQC,
  author =       "Tauqeer Hussain and Shafay Shamail and Mian M. Awais",
  title =        "Improving quality in conceptual modeling",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "170--171",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Buytaert:2004:BAJ,
  author =       "Dries Buytaert and Andy Georges and Lieven Eeckhout
                 and Koen De Bosschere",
  title =        "Bottleneck analysis in {Java} applications using
                 hardware performance monitors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "172--173",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Abrahamsson:2004:MDA,
  author =       "Pekka Abrahamsson and Antti Hanhineva and Hanna Hulkko
                 and Tuomas Ihme and Juho J{\"a}{\"a}linoja and Mikko
                 Korkala and Juha Koskela and Pekka Kyll{\"o}nen and
                 Outi Salo",
  title =        "{Mobile-D}: an agile approach for mobile application
                 development",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "174--175",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Szep:2004:DDS,
  author =       "A. Szep and R. Smeikal and M. Jandl and K. M.
                 Goeschka",
  title =        "Dependable distributed systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "176--177",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Khaled:2004:VLO,
  author =       "Rilla Khaled and Anna Maria Luxton and James Noble and
                 Leo Ferres and Judy Brown and Robert Biddle",
  title =        "Visualisation for learning {OOP}, using {AOP} and
                 eclipse",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "178--179",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lippert:2004:AAEb,
  author =       "Martin Lippert",
  title =        "{AJEER}: an aspect{J}-enabled eclipse runtime",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "180--181",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vogler:2004:OMI,
  author =       "Gabriel V{\"o}gler and Thomas Flor and Hajo Eichler
                 and Matthias Kasprowicz",
  title =        "An open model infrastructure for automotive software",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "182--183",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Phattarasukol:2004:DPI,
  author =       "Somsak Phattarasukol and Daisy Sang",
  title =        "Design pattern integrated tool",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "184--185",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Stephenson:2004:AMO,
  author =       "Ben Stephenson and Wade Holst",
  title =        "Advancements in multicode optimization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "186--187",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lancia:2004:JPA,
  author =       "Maurizio Lancia and Paola Garzenini and Roberto
                 Puccinelli and Alessio Marchetti",
  title =        "{J2EE} for the public administration: a success
                 story",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "188--189",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Holst:2004:MEU,
  author =       "Wade Holst",
  title =        "{Meta}: extending and unifying languages",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "190--191",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Amir:2004:UPS,
  author =       "Rafik Amir and Amir Zeid",
  title =        "A {UML} profile for service oriented architectures",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "192--193",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chan:2004:ATA,
  author =       "Hoi Chan and Trieu C. Chieu",
  title =        "An approach and tools to automate externalization of
                 application logic",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "194--195",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Skotiniotis:2004:CAC,
  author =       "Therapon Skotiniotis and David H. Lorenz",
  title =        "{Cona}: aspects for contracts and contracts for
                 aspects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "196--197",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Freeman:2004:CAT,
  author =       "Russ Freeman and Phil Webb",
  title =        "{$<$CTRL$>$} + {$<$ALT$>$} + {$<$TOOL PARADIGM
                 SHIFT$>$}?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "198--199",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Washizaki:2004:SSJ,
  author =       "Hironori Washizaki and Yoshiaki Fukazawa",
  title =        "A search system for {Java} programs by using extracted
                 {JavaBeans} components",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "200--201",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cole:2004:DRA,
  author =       "Leonardo Cole and Paulo Borba",
  title =        "Deriving refactorings for {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "202--203",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pugh:2004:RRW,
  author =       "Bill Pugh and Jaime Spacco",
  title =        "{RUBiS} revisited: why {J2EE} benchmarking is hard",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "204--205",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ueda:2004:MMA,
  author =       "Leo Kazuhiro Ueda and Fabio Kon",
  title =        "Mobile musical agents: the andante project",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "206--207",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bettini:2004:CCM,
  author =       "Lorenzo Bettini and Viviana Bono and Silvia Likavec",
  title =        "A core calculus of mixins and incomplete objects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "208--209",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cabral:2004:RCI,
  author =       "Bruno Cabral and Paulo Marques and Lu{\'\i}s Silva",
  title =        "{RAIL}: code instrumentation for {.NET}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "210--211",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boshernitsan:2004:IIS,
  author =       "Marat Boshernitsan and Susan L. Graham",
  title =        "{iXj}: interactive source-to-source transformations
                 for {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "212--213",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rheinheimer:2004:WAB,
  author =       "Leticia R. Rheinheimer and Junior M. Martins and
                 S{\'e}rgio Crespo C. S. Pinto",
  title =        "{WSAgent}: an agent based on {Web} services to promote
                 interoperability between heterogeneous systems in the
                 health domain",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "214--215",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kojarski:2004:AFC,
  author =       "Sergei Kojarski and David H. Lorenz",
  title =        "{AOP} as a first class reflective mechanism",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "216--217",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gokhale:2004:CAC,
  author =       "Aniruddha Gokhale and Krishnakumar Balasubramanian and
                 Tao Lu",
  title =        "{CoSMIC}: addressing crosscutting deployment and
                 configuration concerns of distributed real-time and
                 embedded systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "218--219",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hamza:2004:SSO,
  author =       "Haitham S. Hamza",
  title =        "{SODA}: a stability-oriented domain analysis method",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "220--221",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ivkovic:2004:MSP,
  author =       "Igor Ivkovic and Kostas Kontogiannis",
  title =        "Model synchronization as a problem of maximizing model
                 dependencies",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "222--223",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Holland:2004:RCD,
  author =       "Simon Holland",
  title =        "Reflective composition: the declarative composition of
                 roles to unify objects, roles, and aspects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "224--225",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gestwicki:2004:JJI,
  author =       "Paul V. Gestwicki and Bharat Jayaraman",
  title =        "{JIVE}: {Java} interactive visualization environment",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "226--228",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McBride:2004:SAE,
  author =       "Matthew R. McBride",
  title =        "The software architect: essence, intuition, and
                 guiding principles",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "230--235",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Freeman:2004:MRO,
  author =       "Steve Freeman and Tim Mackinnon and Nat Pryce and Joe
                 Walnes",
  title =        "Mock roles, objects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "236--246",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Berenbach:2004:CUT,
  author =       "Brian A. Berenbach",
  title =        "Comparison of {UML} and text based requirements
                 engineering",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "247--252",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Blotner:2004:PPP,
  author =       "Joseph A. Blotner",
  title =        "{PIP}: a product planning strategy for the whole
                 family or\ldots{} how we became the brady bunch",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "253--259",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Namioka:2004:EI,
  author =       "Aki Namioka and Cary Bran",
  title =        "{eXtreme ISO} ?!?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "260--263",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Antion:2004:WRM,
  author =       "Daniel Antion",
  title =        "Why reuse matters: {ANI}'s digital archive system",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "264--267",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dvorak:2004:HRT,
  author =       "Daniel L. Dvorak and William K. Reinholtz",
  title =        "Hard real-time: {C++} versus {RTSJ}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "268--274",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Murphy-Hill:2004:TEL,
  author =       "Emerson R. Murphy-Hill and Andrew P. Black",
  title =        "{Traits}: experience with a language feature",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "275--282",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zimmermann:2004:SGW,
  author =       "Olaf Zimmermann and Sven Milinski and Michael Craes
                 and Frank Oellermann",
  title =        "Second generation {Web} services-oriented architecture
                 in production in the finance industry",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "283--289",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kainz:2004:MSD,
  author =       "Joachim F. Kainz",
  title =        "Migrating to simpler distributed applications",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "290--293",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Reimer:2004:VSP,
  author =       "Darrell Reimer and Edith Schonberg and Kavitha
                 Srinivas and Harini Srinivasan and Julian Dolby and
                 Aaron Kershenbaum and Larry Koved",
  title =        "Validating structural properties of nested objects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "294--304",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bodden:2004:LLR,
  author =       "Eric Bodden",
  title =        "A lightweight {LTL} runtime verification tool for
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "306--307",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Salimi:2004:NGF,
  author =       "Hadi Salimi",
  title =        "{NGMF}: a generic framework for constructing
                 graph-based systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "308--309",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2004:SSE,
  author =       "Jing Zhang",
  title =        "Supporting software evolution through model-driven
                 program transformation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "310--311",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Trofin:2004:FRRb,
  author =       "Mircea Trofin",
  title =        "A framework for removing redundant context management
                 services in enterprise {JavaBeans} application
                 servers",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "312--313",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Roychoudhury:2004:LIAb,
  author =       "Suman Roychoudhury",
  title =        "A language-independent approach to software
                 maintenance using grammar adapters",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "314--315",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Parsons:2004:FDA,
  author =       "Trevor Parsons",
  title =        "A framework for detecting, assessing and visualizing
                 performance antipatterns in component based systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "316--317",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Silaghi:2004:RDAb,
  author =       "Raul Silaghi",
  title =        "Refining designs along middleware-specific
                 concern-dimensions at different {MDA}-levels of
                 abstraction",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "318--319",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Krishna:2004:EDO,
  author =       "Arvind S. Krishna",
  title =        "Enhancing distributed object middleware qualities",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "320--321",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xanthos:2004:IRC,
  author =       "Spiros Xanthos",
  title =        "Identification of reusable components within an
                 object-oriented software system using algebraic graph
                 theory",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "322--323",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xie:2004:AIC,
  author =       "Tao Xie",
  title =        "Automatic identification of common and special
                 object-oriented unit tests",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "324--325",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Keschenau:2004:REU,
  author =       "Martin Keschenau",
  title =        "Reverse engineering of {UML} specifications from
                 {Java} programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "326--327",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Layman:2004:EII,
  author =       "Lucas Layman",
  title =        "Empirical investigation of the impact of extreme
                 programming practices on software projects",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "10",
  pages =        "328--329",
  month =        oct,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Dec 2 05:49:56 MST 2004",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hammond:2004:PTC,
  author =       "Lance Hammond and Brian D. Carlstrom and Vicky Wong
                 and Ben Hertzberg and Mike Chen and Christos Kozyrakis
                 and Kunle Olukotun",
  title =        "Programming with transactional coherence and
                 consistency {(TCC)}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "1--13",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Budiu:2004:SC,
  author =       "Mihai Budiu and Girish Venkataramani and Tiberiu
                 Chelcea and Seth Copen Goldstein",
  title =        "Spatial computation",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "14--26",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ekanayake:2004:ULP,
  author =       "Virantha Ekanayake and Clinton Kelly and IV and Rajit
                 Manohar",
  title =        "An ultra low-power processor for sensor networks",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "27--36",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lumb:2004:DSD,
  author =       "Christopher R. Lumb and Richard Golding",
  title =        "{D-SPTF}: decentralized request distribution in
                 brick-based storage systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "37--47",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Saito:2004:FBD,
  author =       "Yasushi Saito and Svend Fr{\o}lund and Alistair Veitch
                 and Arif Merchant and Susan Spence",
  title =        "{FAB}: building distributed enterprise disk arrays
                 from commodity components",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "48--58",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Denehy:2004:DSA,
  author =       "Timothy E. Denehy and John Bent and Florentina I.
                 Popovici and Andrea C. Arpaci-Dusseau and Remzi H.
                 Arpaci-Dusseau",
  title =        "Deconstructing storage arrays",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "59--71",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2004:HIE,
  author =       "Xiaotong Zhuang and Tao Zhang and Santosh Pande",
  title =        "{HIDE}: an infrastructure for efficiently protecting
                 information leakage on the address bus",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "72--84",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Suh:2004:SPE,
  author =       "G. Edward Suh and Jae W. Lee and David Zhang and
                 Srinivas Devadas",
  title =        "Secure program execution via dynamic information flow
                 tracking",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "85--96",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Huh:2004:CDM,
  author =       "Jaehyuk Huh and Jichuan Chang and Doug Burger and
                 Gurindar S. Sohi",
  title =        "Coherence decoupling: making use of incoherence",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "97--106",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Srinivasan:2004:CFP,
  author =       "Srikanth T. Srinivasan and Ravi Rajwar and Haitham
                 Akkary and Amit Gandhi and Mike Upton",
  title =        "Continual flow pipelines",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "107--119",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Desikan:2004:SSR,
  author =       "Rajagopalan Desikan and Simha Sethumadhavan and Doug
                 Burger and Stephen W. Keckler",
  title =        "Scalable selective re-execution for {EDGE}
                 architectures",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "120--132",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Regehr:2004:HSA,
  author =       "John Regehr and Alastair Reid",
  title =        "{HOIST}: a system for automatically deriving static
                 analyzers for embedded systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "133--143",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wang:2004:HTV,
  author =       "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",
  title =        "Helper threads via virtual multithreading on an
                 experimental {Itanium-2} processor-based platform",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "144--155",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hauswirth:2004:LOM,
  author =       "Matthias Hauswirth and Trishul M. Chilimbi",
  title =        "Low-overhead memory leak detection using adaptive
                 statistical profiling",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "156--164",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shen:2004:LPP,
  author =       "Xipeng Shen and Yutao Zhong and Chen Ding",
  title =        "Locality phase prediction",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "165--176",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhou:2004:DTP,
  author =       "Pin Zhou and Vivek Pandey and Jagadeesan Sundaresan
                 and Anand Raghuraman and Yuanyuan Zhou and Sanjeev
                 Kumar",
  title =        "Dynamic tracking of page miss ratio curve for memory
                 management",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "177--188",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rabbah:2004:COP,
  author =       "Rodric M. Rabbah and Hariharan Sandanagobalane and
                 Mongkol Ekpanyapong and Weng-Fai Wong",
  title =        "Compiler orchestrated prefetching via speculation and
                 predication",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "189--198",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cher:2004:SPM,
  author =       "Chen-Yong Cher and Antony L. Hosking and T. N.
                 Vijaykumar",
  title =        "Software prefetching for mark-sweep garbage
                 collection: hardware analysis and software redesign",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "199--210",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lowell:2004:DVM,
  author =       "David E. Lowell and Yasushi Saito and Eileen J.
                 Samberg",
  title =        "Devirtualizable virtual machines enabling general,
                 single-node, online maintenance",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "211--223",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Smolens:2004:FBS,
  author =       "Jared C. Smolens and Brian T. Gold and Jangwoo Kim and
                 Babak Falsafi and James C. Hoe and Andreas G.
                 Nowatzyk",
  title =        "Fingerprinting: bounding soft-error detection latency
                 and bandwidth",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "224--234",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bronevetsky:2004:ALC,
  author =       "Greg Bronevetsky and Daniel Marques and Keshav Pingali
                 and Peter Szwed and Martin Schulz",
  title =        "Application-level checkpointing for shared memory
                 programs",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "235--247",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Wu:2004:FOM,
  author =       "Qiang Wu and Philo Juang and Margaret Martonosi and
                 Douglas W. Clark",
  title =        "Formal online methods for voltage\slash frequency
                 control in multiple clock domain microprocessors",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "248--259",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gomaa:2004:HRL,
  author =       "Mohamed Gomaa and Michael D. Powell and T. N.
                 Vijaykumar",
  title =        "Heat-and-run: leveraging {SMT} and {CMP} to manage
                 power density through the operating system",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "260--270",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2004:PDE,
  author =       "Xiaodong Li and Zhenmin Li and Francis David and Pin
                 Zhou and Yuanyuan Zhou and Sarita Adve and Sanjeev
                 Kumar",
  title =        "Performance directed energy management for main memory
                 and disks",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "271--283",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:A,
  author =       "Anonymous",
  title =        "Architecture",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:MSA,
  author =       "Anonymous",
  title =        "Memory system analysis and optimization",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:NMA,
  author =       "Anonymous",
  title =        "New models and architectures",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:Pa,
  author =       "Anonymous",
  title =        "Potpourri",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:Pb,
  author =       "Anonymous",
  title =        "Power",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:R,
  author =       "Anonymous",
  title =        "Reliability",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:Sa,
  author =       "Anonymous",
  title =        "Storage",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:Sb,
  author =       "Anonymous",
  title =        "Security",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "11",
  pages =        "??--??",
  month =        nov,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2004:FAR,
  author =       "Paul Frenger",
  title =        "{Forth} and {AI} revisited: {BRAIN.FORTH}",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "11--16",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cabana:2004:PPJ,
  author =       "Brian Cabana and Suad Alagi{\'c} and Jeff Faulkner",
  title =        "Parametric polymorphism for {Java}: is there any hope
                 in sight?",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "22--31",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hughes:2004:CSS,
  author =       "Elliott Hughes",
  title =        "Checking spelling in source code",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "32--38",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Noble:2004:NNPb,
  author =       "James Noble and Robert Biddle",
  title =        "Notes on notes on postmodern programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "40--56",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{West:2004:LLAb,
  author =       "David West",
  title =        "Looking for love (in all the wrong places)",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "57--63",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Marick:2004:MWOb,
  author =       "Brian Marick",
  title =        "Methodology work is ontology work",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "64--72",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Singh:2004:PPPb,
  author =       "Munindar P. Singh and Amit K. Chopra and Nirmit Desai
                 and Ashok U. Mallya",
  title =        "Protocols for processes: programming in the large for
                 open systems",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "73--83",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Edwards:2004:ECPb,
  author =       "Jonathan Edwards",
  title =        "Example centric programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "84--91",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hovemeyer:2004:FBEb,
  author =       "David Hovemeyer and William Pugh",
  title =        "Finding bugs is easy",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "92--106",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2004:GOPb,
  author =       "Yinliang Zhao",
  title =        "Granule-oriented programming",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "107--118",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sheard:2004:LFb,
  author =       "Tim Sheard",
  title =        "Languages of the future",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "119--132",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:FRb,
  author =       "Anonymous",
  title =        "{Forth} report",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2004:OO,
  author =       "Anonymous",
  title =        "{OOPSLA} onward!",
  journal =      j-SIGPLAN,
  volume =       "39",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2004",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:14 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chakravarty:2005:ATC,
  author =       "Manuel M. T. Chakravarty and Gabriele Keller and Simon
                 Peyton Jones and Simon Marlow",
  title =        "Associated types with class",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "1--13",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cobbe:2005:EAR,
  author =       "Richard Cobbe and Matthias Felleisen",
  title =        "Environmental acquisition revisited",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "14--25",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ancona:2005:PBC,
  author =       "Davide Ancona and Ferruccio Damiani and Sophia
                 Drossopoulou and Elena Zucca",
  title =        "Polymorphic bytecode: compositional compilation for
                 {Java}-like languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "26--37",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2005:STI,
  author =       "Juan Chen and David Tarditi",
  title =        "A simple typed intermediate language for
                 object-oriented languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "38--49",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hosoya:2005:PPX,
  author =       "Haruo Hosoya and Alain Frisch and Giuseppe Castagna",
  title =        "Parametric polymorphism for {XML}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "50--62",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sumii:2005:BTA,
  author =       "Eijiro Sumii and Benjamin C. Pierce",
  title =        "A bisimulation for type abstraction and recursion",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "63--74",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Goguen:2005:SAE,
  author =       "Healfdene Goguen",
  title =        "A syntactic approach to eta equality in type theory",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "75--84",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ghica:2005:SGQ,
  author =       "Dan R. Ghica",
  title =        "Slot games: a quantitative model of computation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "85--97",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Alur:2005:SIS,
  author =       "Rajeev Alur and Pavol {\v{C}}ern{\'y} and P.
                 Madhusudan and Wonhong Nam",
  title =        "Synthesis of interface specifications for {Java}
                 classes",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "98--109",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2005:DPO,
  author =       "Cormac Flanagan and Patrice Godefroid",
  title =        "Dynamic partial-order reduction for model checking
                 software",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "110--121",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Grumberg:2005:PGU,
  author =       "Orna Grumberg and Flavio Lerda and Ofer Strichman and
                 Michael Theobald",
  title =        "Proof-guided underapproximation-widening for
                 multi-process systems",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "122--131",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Podelski:2005:TPA,
  author =       "Andreas Podelski and Andrey Rybalchenko",
  title =        "Transition predicate abstraction and fair
                 termination",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "132--144",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gay:2005:CQP,
  author =       "Simon J. Gay and Rajagopal Nagarajan",
  title =        "Communicating quantum processes",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "145--157",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2005:DPR,
  author =       "Peng Li and Steve Zdancewic",
  title =        "Downgrading policies and relaxed noninterference",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "158--170",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Park:2005:PLB,
  author =       "Sungwoo Park and Frank Pfenning and Sebastian Thrun",
  title =        "A probabilistic language based upon sampling
                 functions",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "171--182",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Stoyle:2005:MMS,
  author =       "Gareth Stoyle and Michael Hicks and Gavin Bierman and
                 Peter Sewell and Iulian Neamtiu",
  title =        "Mutatis mutandis: safe and predictable dynamic
                 software updating",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "183--194",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Field:2005:TPM,
  author =       "John Field and Carlos A. Varela",
  title =        "{Transactors}: a programming model for maintaining
                 globally consistent distributed state in unreliable
                 environments",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "195--208",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bruni:2005:TFC,
  author =       "Roberto Bruni and Hern{\'a}n Melgratti and Ugo
                 Montanari",
  title =        "Theoretical foundations for compensations in flow
                 composition languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "209--220",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Neubauer:2005:SPM,
  author =       "Matthias Neubauer and Peter Thiemann",
  title =        "From sequential programs to multi-tier applications by
                 program transformation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "221--232",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Foster:2005:CBD,
  author =       "J. Nathan Foster and Michael B. Greenwald and Jonathan
                 T. Moore and Benjamin C. Pierce and Alan Schmitt",
  title =        "Combinators for bi-directional tree transformations: a
                 linguistic approach to the view update problem",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "233--246",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Parkinson:2005:SLA,
  author =       "Matthew Parkinson and Gavin Bierman",
  title =        "Separation logic and abstraction",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "247--258",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bornat:2005:PAS,
  author =       "Richard Bornat and Cristiano Calcagno and Peter
                 O'Hearn and Matthew Parkinson",
  title =        "Permission accounting in separation logic",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "259--270",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Calcagno:2005:CLT,
  author =       "Cristiano Calcagno and Philippa Gardner and Uri
                 Zarfaty",
  title =        "Context logic and tree update",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "271--282",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boyland:2005:CEU,
  author =       "John Tang Boyland and William Retert",
  title =        "Connecting effects and uniqueness with adoption",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "283--295",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rinetzky:2005:SPL,
  author =       "Noam Rinetzky and J{\"o}rg Bauer and Thomas Reps and
                 Mooly Sagiv and Reinhard Wilhelm",
  title =        "A semantics for procedure local heaps and its
                 abstractions",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "296--309",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hackett:2005:RBS,
  author =       "Brian Hackett and Radu Rugina",
  title =        "Region-based shape analysis with tracked locations",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "310--323",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gulwani:2005:PIA,
  author =       "Sumit Gulwani and George C. Necula",
  title =        "Precise interprocedural analysis using random
                 interpretation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "324--337",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gopan:2005:FNA,
  author =       "Denis Gopan and Thomas Reps and Mooly Sagiv",
  title =        "A framework for numeric analysis of array operations",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "338--350",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xie:2005:SED,
  author =       "Yichen Xie and Alex Aiken",
  title =        "Scalable error detection using boolean
                 satisfiability",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "351--363",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lerner:2005:ASP,
  author =       "Sorin Lerner and Todd Millstein and Erika Rice and
                 Craig Chambers",
  title =        "Automated soundness proofs for dataflow analyses and
                 transformations via local rules",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "364--377",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Manson:2005:JMM,
  author =       "Jeremy Manson and William Pugh and Sarita V. Adve",
  title =        "The {Java} memory model",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "1",
  pages =        "378--391",
  month =        jan,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2005:TIP,
  author =       "Paul Frenger",
  title =        "{Tina}: an improbable $3$-pin microcontroller",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "5--10",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Badjonski:2005:AJA,
  author =       "Mihal Badjonski and Mirjana Ivanovic and Zoran
                 Budimac",
  title =        "Adaptable {Java Agents (AJA)}: a tool for programming
                 of multi-agent systems",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "17--26",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jiang:2005:ERO,
  author =       "Shujuan Jiang and Baowen Xu",
  title =        "An efficient and reliable object-oriented exception
                 handling mechanism",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "27--32",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shaw:2005:LDO,
  author =       "Sachin Shaw and Pawan Kumar",
  title =        "Loop-dead optimization",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "33--40",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zerzelidis:2005:RRT,
  author =       "A. Zerzelidis and A. J. Wellings",
  title =        "Requirements for a real-time {.NET} framework",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "41--50",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:F,
  author =       "Anonymous",
  title =        "{Forth}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "??--??",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:TC,
  author =       "Anonymous",
  title =        "Technical correspondence",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "2",
  pages =        "??--??",
  month =        feb,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Proulx:2005:CPD,
  author =       "Viera K. Proulx and Tanya Cashorali",
  title =        "Calculator problem and the design recipe",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "3",
  pages =        "4--11",
  month =        mar,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mueller:2005:ACM,
  author =       "Conrad Mueller",
  title =        "Axiomatic computational model",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "3",
  pages =        "29--39",
  month =        mar,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xian:2005:MMR,
  author =       "Yuqiang Xian and Guangze Xiong",
  title =        "Minimizing memory requirement of real-time systems
                 with concurrent garbage collector",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "3",
  pages =        "40--48",
  month =        mar,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:CP,
  author =       "Anonymous",
  title =        "Circular patterns",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "3",
  pages =        "??--??",
  month =        mar,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Apr 12 09:38:15 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2005:TFY,
  author =       "Paul Frenger",
  title =        "Tired by {Forth}?: you should be!",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "5--8",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Saitou:2005:DAI,
  author =       "Tetsuo Saitou and Mitsugu Suzuki and Tan Watanabe",
  title =        "Dominance analysis of irreducible {CFGs} by
                 reduction",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "10--19",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Beloglavec:2005:ALM,
  author =       "Simon Beloglavec and Marjan Heri{\v{c}}ko and
                 Matja{\v{z}} B. Juri{\v{c}} and Ivan Rozman",
  title =        "Analysis of the limitations of multiple client
                 handling in a {Java} server environment",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "20--28",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Crepinsek:2005:EGPa,
  author =       "Matej {\v{C}}repin{\v{s}}ek and Marjan Mernik and
                 Viljem {\v{Z}}umer",
  title =        "Extracting grammar from programs: brute force
                 approach",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "29--38",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Crepinsek:2005:EGPb,
  author =       "Matej {\v{C}}repin{\v{s}}ek and Marjan Mernik and
                 Faizan Javed and Barrett R. Bryant and Alan Sprague",
  title =        "Extracting grammar from programs: evolutionary
                 approach",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "39--46",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{vanderSpek:2005:SER,
  author =       "P. van der Spek and N. Plat and C. Pronk",
  title =        "Syntax error repair for a {Java}-based parser
                 generator",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "47--50",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bulic:2005:EWF,
  author =       "Patricio Buli{\'c} and Veselko Gu{\v{s}}tin",
  title =        "An efficient way to filter out data dependences with a
                 sufficiently large distance between memory references",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "4",
  pages =        "51--60",
  month =        apr,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gluck:2005:RAP,
  author =       "Robert Gl{\"u}ck and Masahiko Kawabe",
  title =        "Revisiting an automatic program inverter for {Lisp}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "5",
  pages =        "8--17",
  month =        may,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:21 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2005:RMS,
  author =       "Rajeev Kumar and Vikram Agrawal and Anil Mangolia",
  title =        "Realization of multimethods in single dispatch object
                 oriented languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "5",
  pages =        "18--27",
  month =        may,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:21 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sunik:2005:SL,
  author =       "Boris Sunik",
  title =        "The specification language {$T$}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "5",
  pages =        "28--38",
  month =        may,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:21 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Derk:2005:TSM,
  author =       "M. D. Derk",
  title =        "Towards a simpler method of operational semantics for
                 language definition",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "5",
  pages =        "39--44",
  month =        may,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:21 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Barbosa:2005:RPT,
  author =       "Manuel Barbosa and Alcino Cunha and Jorge Sousa
                 Pinto",
  title =        "Recursion patterns and time-analysis",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "5",
  pages =        "45--54",
  month =        may,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:21 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2005:SVD,
  author =       "Min Xu and Rastislav Bod{\'\i}k and Mark D. Hill",
  title =        "A serializability violation detector for shared-memory
                 server programs",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "1--14",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liblit:2005:SSB,
  author =       "Ben Liblit and Mayur Naik and Alice X. Zheng and Alex
                 Aiken and Michael I. Jordan",
  title =        "Scalable statistical bug isolation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "15--26",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Elmas:2005:VVC,
  author =       "Tayfun Elmas and Serdar Tasiran and Shaz Qadeer",
  title =        "{VYRD}: {VerifYing} concurrent programs by runtime
                 {Refinement}-violation {Detection}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "27--37",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jhala:2005:PS,
  author =       "Ranjit Jhala and Rupak Majumdar",
  title =        "Path slicing",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "38--47",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mandelin:2005:JMH,
  author =       "David Mandelin and Lin Xu and Rastislav Bod{\'\i}k and
                 Doug Kimelman",
  title =        "Jungloid mining: helping to navigate the {API}
                 jungle",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "48--61",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Furr:2005:CTS,
  author =       "Michael Furr and Jeffrey S. Foster",
  title =        "Checking type safety of foreign function calls",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "62--72",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Siek:2005:ELS,
  author =       "Jeremy Siek and Andrew Lumsdaine",
  title =        "Essential language support for generic programming",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "73--84",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chin:2005:STQ,
  author =       "Brian Chin and Shane Markstrum and Todd Millstein",
  title =        "Semantic type qualifiers",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "85--95",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Krishnaswami:2005:PBO,
  author =       "Neel Krishnaswami and Jonathan Aldrich",
  title =        "Permission-based ownership: encapsulating state in
                 higher-order typed languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "96--106",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jimenez:2005:CPI,
  author =       "Daniel A. Jim{\'e}nez",
  title =        "Code placement for improving dynamic branch prediction
                 accuracy",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "107--116",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Avgustinov:2005:OA,
  author =       "Pavel Avgustinov and Aske Simon Christensen and Laurie
                 Hendren and Sascha Kuzins and Jennifer Lhot{\'a}k and
                 Ond{\v{r}}ej Lhot{\'a}k and Oege de Moor and Damien
                 Sereni and Ganesh Sittampalam and Julian Tibble",
  title =        "Optimising {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "117--128",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lattner:2005:APA,
  author =       "Chris Lattner and Vikram Adve",
  title =        "Automatic pool allocation: improving performance by
                 controlling data structure layout in the heap",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "129--142",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hertz:2005:GCP,
  author =       "Matthew Hertz and Yi Feng and Emery D. Berger",
  title =        "Garbage collection without paging",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "143--153",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Rong:2005:RAS,
  author =       "Hongbo Rong and Alban Douillet and Guang R. Gao",
  title =        "Register allocation for software pipelined
                 multi-dimensional loops",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "154--167",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhuang:2005:DRA,
  author =       "Xiaotong Zhuang and Santosh Pande",
  title =        "Differential register allocation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "168--179",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Aleta:2005:DFS,
  author =       "Alex Alet{\`a} and Josep M. Codina and Antonio
                 Gonz{\`a}lez and David Kaeli",
  title =        "Demystifying on-the-fly spill code",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "180--189",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Luk:2005:PBC,
  author =       "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",
  title =        "{Pin}: building customized program analysis tools with
                 dynamic instrumentation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "190--200",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ayers:2005:TFF,
  author =       "Andrew Ayers and Richard Schooler and Chris Metcalf
                 and Anant Agarwal and Junghwan Rhee and Emmett
                 Witchel",
  title =        "{TraceBack}: first fault diagnosis by reconstruction
                 of distributed control flow",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "201--212",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Godefroid:2005:DDA,
  author =       "Patrice Godefroid and Nils Klarlund and Koushik Sen",
  title =        "{DART}: directed automated random testing",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "213--223",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2005:SAH,
  author =       "Michael K. Chen and Xiao Feng Li and Ruiqi Lian and
                 Jason H. Lin and Lixia Liu and Tao Liu and Roy Ju",
  title =        "{Shangri-La}: achieving high performance from compiled
                 network applications while enabling ease of
                 programming",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "224--236",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dai:2005:APP,
  author =       "Jinquan Dai and Bo Huang and Long Li and Luddy
                 Harrison",
  title =        "Automatically partitioning packet processing
                 applications for pipelined architectures",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "237--248",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ni:2005:PAH,
  author =       "Yang Ni and Ulrich Kremer and Adrian Stere and Liviu
                 Iftode",
  title =        "Programming ad-hoc networks of mobile and
                 resource-constrained devices",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "249--260",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Boehm:2005:TCI,
  author =       "Hans-J. Boehm",
  title =        "Threads cannot be implemented as a library",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "261--268",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1065010.1065042",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In many environments, multi-threaded code is written
                 in a language that was originally designed without
                 thread support (e.g. C), to which a library of
                 threading primitives was subsequently added. There
                 appears to be a general understanding that this is not
                 the right approach. We provide specific arguments that
                 a pure library approach, in which the compiler is
                 designed independently of threading issues, cannot
                 guarantee correctness of the resulting code. We first
                 review why the approach almost works, and then examine
                 some of the surprising behavior it may entail. We
                 further illustrate that there are very simple cases in
                 which a pure library-based approach seems incapable of
                 expressing an efficient parallel algorithm. Our
                 discussion takes place in the context of C with
                 Pthreads, since it is commonly used, reasonably well
                 specified, and does not attempt to ensure type-safety,
                 which would entail even stronger constraints. The
                 issues we raise are not specific to that context.",
  acknowledgement = ack-nhfb,
  remark =       "This is an important paper: it shows that current
                 languages cannot be reliable for threaded programming
                 without language changes that prevent compiler
                 optimizations from foiling synchronization methods and
                 memory barriers. The article's author and others are
                 collaborating on a proposal for changes to the C++
                 language to remedy this, but that still leaves threads
                 unreliable in C code, even with POSIX threads.",
}

@Article{Quinones:2005:MCI,
  author =       "Carlos Garc{\'\i}a Qui{\~n}ones and Carlos Madriles
                 and Jes{\'u}s S{\'a}nchez and Pedro Marcuello and
                 Antonio Gonz{\'a}lez and Dean M. Tullsen",
  title =        "{Mitosis} compiler: an infrastructure for speculative
                 threading based on pre-computation slices",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "269--279",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Solar-Lezama:2005:PSB,
  author =       "Armando Solar-Lezama and Rodric Rabbah and Rastislav
                 Bod{\'\i}k and Kemal Ebcio{\u{g}}lu",
  title =        "Programming by sketching for bit-streaming programs",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "281--294",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Fisher:2005:PDS,
  author =       "Kathleen Fisher and Robert Gruber",
  title =        "{PADS}: a domain-specific language for processing ad
                 hoc data",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "295--304",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bauer:2005:CSP,
  author =       "Lujo Bauer and Jay Ligatti and David Walker",
  title =        "Composing security policies with polymer",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "305--314",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Franchetti:2005:FLM,
  author =       "Franz Franchetti and Yevgen Voronenko and Markus
                 P{\"u}schel",
  title =        "Formal loop merging for signal transforms",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "6",
  pages =        "315--326",
  month =        jun,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 21 17:04:05 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2005:EEP,
  author =       "Ruibin Xu and Dakai Zhu and Cosmin Rusu and Rami
                 Melhem and Daniel Moss{\'e}",
  title =        "Energy-efficient policies for embedded clusters",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "1--10",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhang:2005:EAM,
  author =       "Kun Zhang and Santosh Pande",
  title =        "Efficient application migration under compiler
                 guidance",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "10--20",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Henzinger:2005:CCG,
  author =       "Thomas A. Henzinger and Christoph M. Kirsch and
                 Slobodan Matic",
  title =        "Composable code generation for distributed giotto",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "21--30",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Farcas:2005:TDR,
  author =       "Emilia Farcas and Claudiu Farcas and Wolfgang Pree and
                 Josef Templ",
  title =        "Transparent distribution of real-time components based
                 on logical execution time",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "31--39",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gay:2005:SDP,
  author =       "David Gay and Phil Levis and David Culler",
  title =        "Software design patterns for {TinyOS}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "40--49",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Regehr:2005:PIO,
  author =       "John Regehr and Usit Duongsaa",
  title =        "Preventing interrupt overload",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "50--58",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Titzer:2005:NPI,
  author =       "Ben L. Titzer and Jens Palsberg",
  title =        "Nonintrusive precision instrumentation of
                 microcontroller software",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "59--68",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cooper:2005:AAC,
  author =       "Keith D. Cooper and Alexander Grosul and Timothy J.
                 Harvey and Steven Reeves and Devika Subramanian and
                 Linda Torczon and Todd Waterman",
  title =        "{ACME}: adaptive compilation made efficient",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "69--77",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Franke:2005:PSL,
  author =       "Bj{\"o}rn Franke and Michael O'Boyle and John Thomson
                 and Grigori Fursin",
  title =        "Probabilistic source-level optimisation of embedded
                 programs",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "78--86",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Oi:2005:DLV,
  author =       "Hitoshi Oi",
  title =        "On the design of the local variable cache in a
                 hardware translation-based {Java Virtual Machine}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "87--94",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chanet:2005:SWC,
  author =       "Dominique Chanet and Bjorn De Sutter and Bruno De Bus
                 and Ludo Van Put and Koen De Bosschere",
  title =        "System-wide compaction and specialization of the
                 {Linux} kernel",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "95--104",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Brisk:2005:DCT,
  author =       "Philip Brisk and Jamie Macbeth and Ani Nahapetian and
                 Majid Sarrafzadeh",
  title =        "A dictionary construction technique for code
                 compression systems with echo instructions",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "105--114",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sermulins:2005:CAO,
  author =       "Janis Sermulins and William Thies and Rodric Rabbah
                 and Saman Amarasinghe",
  title =        "Cache aware optimization of stream programs",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "115--126",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sassone:2005:SSS,
  author =       "Peter G. Sassone and D. Scott Wills and Gabriel H.
                 Loh",
  title =        "Static strands: safely collapsing dependence chains
                 for increasing embedded power efficiency",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "127--136",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{So:2005:CSP,
  author =       "Won So and Alexander G. Dean",
  title =        "Complementing software pipelining with software thread
                 integration",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "137--146",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kudriavtsev:2005:GPS,
  author =       "Alexei Kudriavtsev and Peter Kogge",
  title =        "Generation of permutations for {SIMD} processors",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "147--156",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Staschulat:2005:SPC,
  author =       "Jan Staschulat and Rolf Ernst",
  title =        "Scalable precision cache analysis for preemptive
                 scheduling",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "157--165",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Xu:2005:SBC,
  author =       "Rong Xu and Zhiyuan Li",
  title =        "A sample-based cache mapping scheme",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "166--174",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tan:2005:WAU,
  author =       "Yudong Tan and Vincent J. Mooney and III",
  title =        "{WCRT} analysis for a uniprocessor with a unified
                 prioritized cache",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "175--182",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bacon:2005:SGR,
  author =       "David F. Bacon and Perry Cheng and David Grove and
                 Martin T. Vechev",
  title =        "{Syncopation}: generational real-time garbage
                 collection in the metronome",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "183--192",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Mann:2005:SDA,
  author =       "Tobias Mann and Morgan Deters and Rob LeGrand and Ron
                 K. Cytron",
  title =        "Static determination of allocation rates to support
                 real-time garbage collection",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "193--202",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zhu:2005:FES,
  author =       "Yifan Zhu and Frank Mueller",
  title =        "Feedback {EDF} scheduling exploiting hardware-assisted
                 asynchronous dynamic voltage scaling",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "203--212",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kandemir:2005:CME,
  author =       "Mahmut Kandemir and Guangyu Chen and Ismail Kadayif",
  title =        "Compiling for memory emergency",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "213--221",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Defoe:2005:UBD,
  author =       "Delvin C. Defoe and Sharath R. Cholleti and Ron K.
                 Cytron",
  title =        "Upper bound for defragmenting buddy heaps",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "222--229",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Griffin:2005:EEG,
  author =       "Paul Griffin and Witawas Srisa-an and J. Morris
                 Chang",
  title =        "An energy efficient garbage collector for {Java}
                 embedded devices",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "7",
  pages =        "230--238",
  month =        jul,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2005:FSF,
  author =       "Paul Frenger",
  title =        "{Forth} sorts fruit down under",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "8",
  pages =        "7--10",
  month =        aug,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Furlong:2005:HSA,
  author =       "Jeff Furlong and Atanas Radenski",
  title =        "Handling the subclassing anomaly with {Object Teams}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "8",
  pages =        "12--18",
  month =        aug,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Greiner:2005:ZTE,
  author =       "Saso Greiner and Damijan Rebernak and Janez Brest and
                 Viljem Zumer",
  title =        "{Z0} --- a tiny experimental language",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "8",
  pages =        "19--28",
  month =        aug,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Draheim:2005:GPC,
  author =       "Dirk Draheim and Christof Lutteroth and Gerald Weber",
  title =        "Generative programming for {C\#}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "8",
  pages =        "29--33",
  month =        aug,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jiang:2005:AAT,
  author =       "Shujuan Jiang and Yongping Zhang and Dashun Yan and
                 Yuanpeng Jiang",
  title =        "An approach to automatic testing exception handling",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "8",
  pages =        "34--39",
  month =        aug,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pottier:2005:MTI,
  author =       "Fran{\c{c}}ois Pottier",
  title =        "From {ML} type inference to stratified type
                 inference",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "1--1",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shivers:2005:ALS,
  author =       "Olin Shivers",
  title =        "The anatomy of a loop: a story of scope and control",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "2--14",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sewell:2005:AHL,
  author =       "Peter Sewell and James J. Leifer and Keith Wansbrough
                 and Francesco Zappa Nardelli and Mair Allen-Williams
                 and Pierre Habouzit and Viktor Vafeiadis",
  title =        "{Acute}: high-level programming language design for
                 distributed computation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "15--26",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:2005:ELS,
  author =       "Norman Ramsey and Kathleen Fisher and Paul Govereau",
  title =        "An expressive language of signatures",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "27--40",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dreyer:2005:RTG,
  author =       "Derek Dreyer",
  title =        "Recursive type generativity",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "41--53",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nilsson:2005:DOF,
  author =       "Henrik Nilsson",
  title =        "Dynamic optimization for functional reactive
                 programming using generalized algebraic data types",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "54--65",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chen:2005:CPT,
  author =       "Chiyan Chen and Hongwei Xi",
  title =        "Combining programming with theorem proving",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "66--77",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ahmed:2005:SIM,
  author =       "Amal Ahmed and Matthew Fluet and Greg Morrisett",
  title =        "A step-indexed model of substructural state",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "78--91",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ringenburg:2005:AFC,
  author =       "Michael F. Ringenburg and Dan Grossman",
  title =        "{AtomCaml}: first-class atomicity via rollback",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "92--104",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Terauchi:2005:WSE,
  author =       "Tachio Terauchi and Alex Aiken",
  title =        "Witnessing side-effects",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "105--115",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hallgren:2005:PAO,
  author =       "Thomas Hallgren and Mark P. Jones and Rebekah Leslie
                 and Andrew Tolmach",
  title =        "A principled approach to operating system construction
                 in {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "116--128",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Eich:2005:JTY,
  author =       "Brendan Eich",
  title =        "{JavaScript} at ten years",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "129--129",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Remy:2005:SPT,
  author =       "Didier R{\'e}my",
  title =        "Simple, partial type-inference for {System F} based on
                 type-containment",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "130--143",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Leijen:2005:QTM,
  author =       "Daan Leijen and Andres L{\"o}h",
  title =        "Qualified types for {MLF}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "144--155",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Makholm:2005:TIP,
  author =       "Henning Makholm and J. B. Wells",
  title =        "Type inference, principal typings, and
                 let-polymorphism for first-class mixin modules",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "156--167",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Diatchki:2005:HLV,
  author =       "Iavor S. Diatchki and Mark P. Jones and Rebekah
                 Leslie",
  title =        "High-level views on low-level representations",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "168--179",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cheney:2005:SYN,
  author =       "James Cheney",
  title =        "Scrap your nameplate: (functional pearl)",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "180--191",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kiselyov:2005:BIT,
  author =       "Oleg Kiselyov and Chung-chieh Shan and Daniel P.
                 Friedman and Amr Sabry",
  title =        "Backtracking, interleaving, and terminating monad
                 transformers: (functional pearl)",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "192--203",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lammel:2005:SYB,
  author =       "Ralf L{\"a}mmel and Simon Peyton Jones",
  title =        "Scrap your boilerplate with class: extensible generic
                 functions",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "204--215",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Pettyjohn:2005:CGS,
  author =       "Greg Pettyjohn and John Clements and Joe Marshall and
                 Shriram Krishnamurthi and Matthias Felleisen",
  title =        "Continuations from generalized stack inspection",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "216--227",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ramos:2005:FND,
  author =       "J. Guadalupe Ramos and Josep Silva and Germ{\'a}n
                 Vidal",
  title =        "Fast narrowing-driven partial evaluation for
                 inductively sequential programs",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "228--239",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Harper:2005:MMT,
  author =       "Robert Harper",
  title =        "Mechanizing the meta-theory of programming languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "240--240",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Chakravarty:2005:ATS,
  author =       "Manuel M. T. Chakravarty and Gabriele Keller and Simon
                 Peyton Jones",
  title =        "Associated type synonyms",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "241--253",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Feng:2005:MVC,
  author =       "Xinyu Feng and Zhong Shao",
  title =        "Modular verification of concurrent assembly code with
                 dynamic thread creation and termination",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "254--267",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Westbrook:2005:LBA,
  author =       "Edwin Westbrook and Aaron Stump and Ian Wehrman",
  title =        "A language-based approach to functionally correct
                 imperative programming",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "268--279",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Berger:2005:LAA,
  author =       "Martin Berger and Kohei Honda and Nobuko Yoshida",
  title =        "A logical analysis of aliasing in imperative
                 higher-order functions",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "280--293",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ghani:2005:MAG,
  author =       "Neil Ghani and Patricia Johann and Tarmo Uustalu and
                 Varmo Vene",
  title =        "Monadic augment and generalised short cut fusion",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "294--305",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Dantas:2005:PPA,
  author =       "Daniel S. Dantas and David Walker and Geoffrey
                 Washburn and Stephanie Weirich",
  title =        "{PolyAML}: a polymorphic aspect-oriented functional
                 programming language",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "306--319",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Masuhara:2005:ACA,
  author =       "Hidehiko Masuhara and Hideaki Tatsuzawa and Akinori
                 Yonezawa",
  title =        "Aspectual {Caml}: an aspect-oriented functional
                 language",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "9",
  pages =        "320--330",
  month =        sep,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 7 15:09:34 MDT 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jarvi:2005:ATC,
  author =       "Jaakko J{\"a}rvi and Jeremiah Willcock and Andrew
                 Lumsdaine",
  title =        "Associated types and constraint propagation for
                 mainstream object-oriented generics",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "1--19",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kennedy:2005:GAD,
  author =       "Andrew Kennedy and Claudio V. Russo",
  title =        "Generalized algebraic data types and object-oriented
                 programming",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "21--40",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Odersky:2005:SCA,
  author =       "Martin Odersky and Matthias Zenger",
  title =        "Scalable component abstractions",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "41--57",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sridharan:2005:DDP,
  author =       "Manu Sridharan and Denis Gopan and Lexin Shan and
                 Rastislav Bod{\'\i}k",
  title =        "Demand-driven points-to analysis for {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "59--76",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Nanda:2005:DOT,
  author =       "Mangala Gowri Nanda and Christian Grothoff and Satish
                 Chandra",
  title =        "Deriving object typestates in the presence of
                 inter-object references",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "77--96",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gil:2005:MPJ,
  author =       "Joseph (Yossi) Gil and Itay Maman",
  title =        "Micro patterns in {Java} code",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "97--116",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Diaz-Pace:2005:AAS,
  author =       "J. Andr{\'e}s D{\'\i}az-Pace and Marcelo R. Campo",
  title =        "{ArchMatE}: from architectural styles to
                 object-oriented models through exploratory tool
                 support",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "117--132",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Zdun:2005:MAP,
  author =       "Uwe Zdun and Paris Avgeriou",
  title =        "Modeling architectural patterns using architectural
                 primitives",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "133--146",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Oancea:2005:PPS,
  author =       "Cosmin E. Oancea and Stephen M. Watt",
  title =        "Parametric polymorphism for software component
                 architectures",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "147--166",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sangal:2005:UDM,
  author =       "Neeraj Sangal and Ev Jordan and Vineet Sinha and
                 Daniel Jackson",
  title =        "Using dependency models to manage complex software
                 architecture",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "167--176",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Bergel:2005:CJC,
  author =       "Alexandre Bergel and St{\'e}phane Ducasse and Oscar
                 Nierstrasz",
  title =        "{Classbox\slash J}: controlling the scope of change in
                 {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "177--189",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2005:IBP,
  author =       "Yu David Liu and Scott F. Smith",
  title =        "Interaction-based programming with classages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "191--209",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Tschantz:2005:JAR,
  author =       "Matthew S. Tschantz and Michael D. Ernst",
  title =        "{Javari}: adding reference immutability to {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "211--230",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gray:2005:FGI,
  author =       "Kathryn E. Gray and Robert Bruce Findler and Matthew
                 Flatt",
  title =        "Fine-grained interoperability through mirrors and
                 contracts",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "231--245",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kojarski:2005:PAD,
  author =       "Sergei Kojarski and David H. Lorenz",
  title =        "Pluggable {AOP}: designing aspect mechanisms for
                 third-party composition",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "247--263",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Balaban:2005:RSC,
  author =       "Ittai Balaban and Frank Tip and Robert Fuhrer",
  title =        "Refactoring support for class library migration",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "265--279",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hauswirth:2005:AVP,
  author =       "Matthias Hauswirth and Amer Diwan and Peter F. Sweeney
                 and Michael C. Mozer",
  title =        "Automating vertical profiling",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "281--296",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Arnold:2005:IVM,
  author =       "Matthew Arnold and Adam Welc and V. T. Rajan",
  title =        "Improving virtual machine performance using a
                 cross-run profile repository",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "297--311",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Hertz:2005:QPG,
  author =       "Matthew Hertz and Emery D. Berger",
  title =        "Quantifying the performance of garbage collection vs.
                 explicit memory management",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "313--326",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Shankar:2005:RSO,
  author =       "Ajeet Shankar and S. Subramanya Sastry and Rastislav
                 Bod{\'\i}k and James E. Smith",
  title =        "Runtime specialization with optimistic heap analysis",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "327--343",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Allan:2005:ATM,
  author =       "Chris Allan and Pavel Avgustinov and Aske Simon
                 Christensen and Laurie Hendren and Sascha Kuzins and
                 Ond{\v{r}}ej Lhot{\'a}k and Oege de Moor and Damien
                 Sereni and Ganesh Sittampalam and Julian Tibble",
  title =        "Adding trace matching with free variables to
                 {AspectJ}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "345--364",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Martin:2005:FAE,
  author =       "Michael Martin and Benjamin Livshits and Monica S.
                 Lam",
  title =        "Finding application errors and security flaws using
                 {PQL}: a program query language",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "365--383",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Goldsmith:2005:RQP,
  author =       "Simon Goldsmith and Robert O'Callahan and Alex Aiken",
  title =        "Relational queries over program traces",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "385--402",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Ahern:2005:FJR,
  author =       "Alexander Ahern and Nobuko Yoshida",
  title =        "Formalising {Java RMI} with explicit code mobility",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "403--422",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Gregor:2005:LSG,
  author =       "Douglas Gregor and Andrew Lumsdaine",
  title =        "Lifting sequential graph algorithms for
                 distributed-memory parallel computation",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "423--437",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Welc:2005:SFJ,
  author =       "Adam Welc and Suresh Jagannathan and Antony Hosking",
  title =        "Safe futures for {Java}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "439--453",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{vanDooren:2005:CRC,
  author =       "Marko van Dooren and Eric Steegmans",
  title =        "Combining the robustness of checked exceptions with
                 the flexibility of unchecked exceptions using anchored
                 exception declarations",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "455--471",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2005:IAO,
  author =       "Yanhong A. Liu and Scott D. Stoller and Michael
                 Gorbovitski and Tom Rothamel and Yanni Ellen Liu",
  title =        "Incrementalization across object abstraction",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "473--486",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Cunei:2005:PFD,
  author =       "Antonio Cunei and Jan Vitek",
  title =        "{PolyD}: a flexible dispatching framework",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "487--503",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Edwards:2005:SUS,
  author =       "Jonathan Edwards",
  title =        "{Subtext}: uncovering the simplicity of programming",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "505--518",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Charles:2005:XOO,
  author =       "Philippe Charles and Christian Grothoff and Vijay
                 Saraswat and Christopher Donawa and Allan Kielstra and
                 Kemal Ebcioglu and Christoph von Praun and Vivek
                 Sarkar",
  title =        "{X10}: an object-oriented approach to non-uniform
                 cluster computing",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "519--538",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Vanderburg:2005:SMA,
  author =       "Glenn Vanderburg",
  title =        "A simple model of agile software processes --- or ---
                 extreme programming annealed",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "10",
  pages =        "539--545",
  month =        oct,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Dec 13 08:30:58 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2005:FRT,
  author =       "Paul Frenger",
  title =        "Forth report: Ten years of {Forth} in {ACM Sigplan
                 Notices}: part 1",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "11",
  pages =        "4--16",
  month =        nov,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 28 05:41:54 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Behera:2005:IAL,
  author =       "Chandan Kumar Behera and Pawan Kumar",
  title =        "An improved algorithm for loop dead optimization",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "11",
  pages =        "18--28",
  month =        nov,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 28 05:41:54 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Li:2005:MBC,
  author =       "Bixin Li and Ying Zhou and Yancheng Wang and Junhui
                 Mo",
  title =        "Matrix-based component dependence representation and
                 its applications in software quality assurance",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "11",
  pages =        "29--36",
  month =        nov,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 28 05:41:54 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Siegfried:2005:ESL,
  author =       "Robert M. Siegfried and Denis Diakoniarakis and
                 Kenneth G. Franqueiro and Amol Jain",
  title =        "Extending a scripting language for {Visual Basic}
                 forms",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "11",
  pages =        "37--40",
  month =        nov,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 28 05:41:54 MST 2005",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Savidis:2005:MDI,
  author =       "A. Savidis",
  title =        "More dynamic imperative languages",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "12",
  pages =        "6--13",
  month =        dec,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:22 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Kumar:2005:PCO,
  author =       "Rajeev Kumar and Amit Gupta and B. S. Pankaj and
                 Mrinmoy Ghosh and P. P. Chakrabarti",
  title =        "Post-compilation optimization for multiple gains with
                 pattern matching",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "12",
  pages =        "14--23",
  month =        dec,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:22 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Loka:2005:HCC,
  author =       "Raghavendra Rao Loka",
  title =        "Hybrid compilation: a case study",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "12",
  pages =        "24--27",
  month =        dec,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:22 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Sierra:2005:IDO,
  author =       "Jos{\'e} L. Sierra and Antonio Navarro and Baltasar
                 Fern{\'a}ndez-Manj{\'o}n and Alfredo
                 Fern{\'a}ndez-Valmayor",
  title =        "Incremental definition and operationalization of
                 domain-specific markup languages in {ADDS}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "12",
  pages =        "28--37",
  month =        dec,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Mar 7 16:19:22 MST 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{McKinna:2006:WDT,
  author =       "James McKinna",
  title =        "Why dependent types matter",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "1--1",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111038",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Language designers have in recent years proposed a
                 wealth of richer type systems for programming which
                 seek to extend the range of statically enforced
                 guarantees on data and code. Most such proposals have
                 been evolutionary extensions of ML or Haskell, offering
                 programmers a balanced compromise between expressive
                 strength and existing well-understood technology.
                 Typically they revolve around type- or kind-indexed
                 types such as GADTs, supported by limited equality
                 reasoning at the type-checking level, thus separating
                 the dynamic behaviour of programs from the (simpler)
                 static behaviour of indexing information occurring in
                 their types. I want to argue in this talk for a more
                 radical departure from such practice by examining full
                 spectrum type dependency, lifting such restrictions on
                 the data upon which types may depend. Conor McBride and
                 I designed the language EPIGRAM for experiments in
                 programming with inductive families of data (of which
                 GADTs are a special case). Using it for illustration, I
                 will explore some of the possibilities and challenges
                 afforded by full spectrum type dependency at the static
                 and dynamic level:\par

                 types directly support modelling complex invariants in
                 terms of other data (rather than their types), with a
                 Curry--Howard flavour of data-as-evidence; such
                 complexity is on a 'pay-as-you-go' basis, while keeping
                 type annotations and other syntactic overheads to a
                 minimum;\par

                 data decomposition steps, e.g. case analysis, furnish
                 more informative interactions between types and values
                 during typechecking; such steps may moreover be
                 abstractly specified by their types, and thus user
                 definable; this supports a style of programming
                 embracing 'learning by testing', views, and Burstall's
                 'hand simulation plus a little induction';\par

                 the absence of a rigid phase distinction need not lead
                 to type-passing or excessive run-time overhead;
                 effectful computation, in particular partiality, can be
                 incorporated via variations on existing ideas such as
                 monads.\par

                 This talk is based on joint work with Conor McBride,
                 Edwin Brady and Thorsten Altenkirch.",
  acknowledgement = ack-nhfb,
}

@Article{Fisher:2006:NDD,
  author =       "Kathleen Fisher and Yitzhak Mandelbaum and David
                 Walker",
  title =        "The next 700 data description languages",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "2--15",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111039",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In the spirit of Landin, we present a calculus of
                 dependent types to serve as the semantic foundation for
                 a family of languages called data description
                 languages. Such languages, which include pads,
                 datascript, and packet types, are designed to
                 facilitate programming with ad hoc data, i.e., data not
                 in well-behaved relational or XML formats. In the
                 calculus, each type describes the physical layout and
                 semantic properties of a data source. In the semantics,
                 we interpret types simultaneously as the in-memory
                 representation of the data described and as parsers for
                 the data source. The parsing functions are robust,
                 automatically detecting and recording errors in the
                 data stream without halting parsing. We show the
                 parsers are type-correct, returning data whose type
                 matches the simple-type interpretation of the
                 specification. We also prove the parsers are
                 error-correct,' accurately reporting the number of
                 physical and semantic errors that occur in the returned
                 data. We use the calculus to describe the features of
                 various data description languages, and we discuss how
                 we have used the calculus to improve PADS.",
  acknowledgement = ack-nhfb,
  keywords =     "data description language; dependent types;
                 domain-specific languages",
}

@Article{Zhang:2006:HMD,
  author =       "Chengliang Zhang and Chen Ding and Mitsunori Ogihara
                 and Yutao Zhong and Youfeng Wu",
  title =        "A hierarchical model of data locality",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "16--29",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111040",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In POPL 2002, Petrank and Rawitz showed a universal
                 result---finding optimal data placement is not only
                 NP-hard but also impossible to approximate within a
                 constant factor if P $\neq$ NP. Here we study a
                 recently published concept called reference affinity,
                 which characterizes a group of data that are always
                 accessed together in computation. On the theoretical
                 side, we give the complexity for finding reference
                 affinity in program traces, using a novel reduction
                 that converts the notion of distance into
                 satisfiability. We also prove that reference affinity
                 automatically captures the hierarchical locality in
                 divide-and-conquer computations including matrix
                 solvers and N-body simulation. The proof establishes
                 formal links between computation patterns in time and
                 locality relations in space. On the practical side, we
                 show that efficient heuristics exist. In particular, we
                 present a sampling method and show that it is more
                 effective than the previously published technique,
                 especially for data that are often but not always
                 accessed together. We show the effect on generated and
                 real traces. These theoretical and empirical results
                 demonstrate that effective data placement is still
                 attainable in general-purpose programs because common
                 (albeit not all) locality patterns can be precisely
                 modeled and efficiently analyzed.",
  acknowledgement = ack-nhfb,
  keywords =     "hierarchical data placement; N-body simulation;
                 NP-complete; program locality; reference affinity;
                 volume distance",
}

@Article{Gautam:2006:SR,
  author =       "Gautam and S. Rajopadhye",
  title =        "Simplifying reductions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "30--41",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111041",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present optimization techniques for high level
                 equational programs that are generalizations of affine
                 control loops (ACLs). Significant parts of the SpecFP
                 and PerfectClub benchmarks are ACLs. They often contain
                 reductions: associative and commutative operators
                 applied to a collection of values. They also often
                 exhibit reuse: intermediate values computed or used at
                 different index points being identical. We develop
                 various techniques to automatically exploit reuse to
                 simplify the computational complexity of evaluating
                 reductions. Finally, we present an algorithm for the
                 optimal application of such simplifications resulting
                 in an equivalent specification with minimum
                 complexity.",
  acknowledgement = ack-nhfb,
  keywords =     "equational programming; incremental computation; loop
                 optimization; polyhedral model; program
                 transformation",
}

@Article{Leroy:2006:FCC,
  author =       "Xavier Leroy",
  title =        "Formal certification of a compiler back-end or:
                 programming a compiler with a proof assistant",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "42--54",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111042",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper reports on the development and formal
                 certification (proof of semantic preservation) of a
                 compiler from Cminor (a C-like imperative language) to
                 PowerPC assembly code, using the Coq proof assistant
                 both for programming the compiler and for proving its
                 correctness. Such a certified compiler is useful in the
                 context of formal methods applied to the certification
                 of critical software: the certification of the compiler
                 guarantees that the safety properties proved on the
                 source code hold for the executable compiled code as
                 well.",
  acknowledgement = ack-nhfb,
  keywords =     "certified compilation; compiler transformations and
                 optimizations; program proof; semantic preservation;
                 the Coq theorem prover",
}

@Article{Bishop:2006:ELH,
  author =       "Steve Bishop and Matthew Fairbairn and Michael Norrish
                 and Peter Sewell and Michael Smith and Keith
                 Wansbrough",
  title =        "Engineering with logic: {HOL} specification and
                 symbolic-evaluation testing for {TCP} implementations",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "55--66",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111043",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The TCP/IP protocols and Sockets API underlie much of
                 modern computation, but their semantics have
                 historically been very complex and ill-defined. The
                 real standard is the de facto one of the common
                 implementations, including, for example, the
                 15,000--20,000 lines of C in the BSD implementation.
                 Dealing rigorously with the behaviour of such bodies of
                 code is challenging. We have recently developed a
                 post-hoc specification of TCP, UDP, and Sockets that is
                 rigorous, detailed, readable, has broad coverage, and
                 is remarkably accurate. In this paper we describe the
                 novel techniques that were required. Working within a
                 general-purpose proof assistant (HOL), we developed
                 language idioms (within higher-order logic) in which to
                 write the specification: operational semantics with
                 nondeterminism, time, system calls, monadic relational
                 programming, etc. We followed an experimental semantics
                 approach, validating the specification against several
                 thousand traces captured from three implementations
                 (FreeBSD, Linux, and WinXP). Many differences between
                 these were identified, and a number of bugs. Validation
                 was done using a special-purpose symbolic model checker
                 programmed above HOL. We suggest that similar logic
                 engineering techniques could be applied to future
                 critical software infrastructure at design time,
                 leading to cleaner designs and (via specification-based
                 testing using a similar checker) more predictable
                 implementations.",
  acknowledgement = ack-nhfb,
  keywords =     "API; conformance testing; higher-order logic; HOL;
                 network protocols; operational semantics; sockets;
                 specification; TCP/IP",
}

@Article{Dam:2006:DPS,
  author =       "Mads Dam",
  title =        "Decidability and proof systems for language-based
                 noninterference relations",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "67--78",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111044",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Noninterference is the basic semantical condition used
                 to account for confidentiality and integrity-related
                 properties in programming languages. There appears to
                 be an at least implicit belief in the programming
                 languages community that partial approaches based on
                 type systems or other static analysis techniques are
                 necessary for noninterference analyses to be tractable.
                 In this paper we show that this belief is not
                 necessarily true. We focus on the notion of strong low
                 bisimulation proposed by Sabelfeld and Sands. We show
                 that, relative to a decidable expression theory, strong
                 low bisimulation is decidable for a simple parallel
                 while-language, and we give a sound and relatively
                 complete proof system for deriving noninterference
                 assertions. The completeness proof provides an
                 effective proof search strategy. Moreover, we show that
                 common alternative noninterference relations based on
                 traces or input-output relations are undecidable. The
                 first part of the paper is cast in terms of multi-level
                 security. In the second part of the paper we generalize
                 the setting to accommodate a form of intransitive
                 interference. We discuss the model and show how the
                 decidability and proof system results generalize to
                 this richer setting.",
  acknowledgement = ack-nhfb,
  keywords =     "information flow; intransitive noninterference;
                 language-based security; multi-level security;
                 noninterference",
}

@Article{Hunt:2006:FSS,
  author =       "Sebastian Hunt and David Sands",
  title =        "On flow-sensitive security types",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "79--90",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111045",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This article investigates formal properties of a
                 family of semantically sound flow-sensitive type
                 systems for tracking information flow in simple While
                 programs. The family is indexed by the choice of flow
                 lattice. By choosing the flow lattice to be the
                 powerset of program variables, we obtain a system
                 which, in a very strong sense, subsumes all other
                 systems in the family (in particular, for each program,
                 it provides a principal typing from which all others
                 may be inferred). This distinguished system is shown to
                 be equivalent to, though more simply described than,
                 Amtoft and Banerjee's Hoare-style independence logic
                 (SAS'04). In general, some lattices are more expressive
                 than others. Despite this, we show that no type system
                 in the family can give better results for a given
                 choice of lattice than the type system for that lattice
                 itself. Finally, for any program typeable in one of
                 these systems, we show how to construct an equivalent
                 program which is typeable in a simple flow-insensitive
                 system. We argue that this general approach could be
                 useful in a proof-carrying-code setting.",
  acknowledgement = ack-nhfb,
  keywords =     "flow-sensitivity; information flow; non-interference;
                 static analysis; type systems",
}

@Article{Amtoft:2006:LIF,
  author =       "Torben Amtoft and Sruthi Bandhakavi and Anindya
                 Banerjee",
  title =        "A logic for information flow in object-oriented
                 programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "91--102",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111046",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper specifies, via a Hoare-like logic, an
                 interprocedural and flow sensitive (but termination
                 insensitive) information flow analysis for
                 object-oriented programs. Pointer aliasing is
                 ubiquitous in such programs, and can potentially leak
                 confidential information. Thus the logic employs
                 independence assertions to describe the noninterference
                 property that formalizes confidentiality, and employs
                 region assertions to describe possible aliasing.
                 Programmer assertions, in the style of JML, are also
                 allowed, thereby permitting a more fine-grained
                 specification of information flow policy. The logic
                 supports local reasoning about state in the style of
                 separation logic. Small specifications are used; they
                 mention only the variables and addresses relevant to a
                 command. Specifications are combined using a frame
                 rule. An algorithm for the computation of
                 postconditions is described: under certain assumptions,
                 there exists a strongest postcondition which the
                 algorithm computes.",
  acknowledgement = ack-nhfb,
  keywords =     "aliasing; confidentiality; information flow",
}

@Article{Vouillon:2006:PRT,
  author =       "J{\'e}r{\^o}me Vouillon",
  title =        "Polymorphic regular tree types and patterns",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "103--114",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111047",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We propose a type system based on regular tree
                 grammars, where algebraic datatypes are interpreted in
                 a structural way. Thus, the same constructors can be
                 reused for different types and a flexible subtyping
                 relation can be defined between types, corresponding to
                 the inclusion of their semantics. For instance, one can
                 define a type for lists and a subtype of this type
                 corresponding to lists of even length. Patterns are
                 simply types annotated with binders. This provides a
                 generalization of algebraic patterns with the ability
                 of matching arbitrarily deep in a value. Our main
                 contribution, compared to languages such as XDuce and
                 CDuce, is that we are able to deal with both
                 polymorphism and function types.",
  acknowledgement = ack-nhfb,
  keywords =     "polymorphism; subtyping; tree automata",
}

@Article{Lahiri:2006:VPW,
  author =       "Shuvendu K. Lahiri and Shaz Qadeer",
  title =        "Verifying properties of well-founded linked lists",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "115--126",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111048",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We describe a novel method for verifying programs that
                 manipulate linked lists, based on two new predicates
                 that characterize reachability of heap cells. These
                 predicates allow reasoning about both acyclic and
                 cyclic lists uniformly with equal ease. The crucial
                 insight behind our approach is that a circular list
                 invariably contains a distinguished head cell that
                 provides a handle on the list. This observation
                 suggests a programming methodology that requires the
                 heap of the program at each step to be well-founded,
                 i.e., for any field $f$ in the program, every sequence
                 $u.f, u.f.f, \ldots{}$ contains at least one head cell.
                 We believe that our methodology captures the most
                 common idiom of programming with linked data
                 structures. We enforce our methodology by automatically
                 instrumenting the program with updates to two auxiliary
                 variables representing these predicates and adding
                 assertions in terms of these auxiliary variables. To
                 prove program properties and the instrumented
                 assertions, we provide a first-order axiomatization of
                 our two predicates. We also introduce a novel induction
                 principle made possible by the well-foundedness of the
                 heap. We use our induction principle to derive from two
                 basic axioms a small set of additional first-order
                 axioms that are useful for proving the correctness of
                 several programs. We have implemented our method in a
                 tool and used it to verify the correctness of a variety
                 of nontrivial programs manipulating both acyclic and
                 cyclic singly-linked lists and doubly-linked lists. We
                 also demonstrate the use of indexed predicate
                 abstraction to automatically synthesize loop invariants
                 for these examples.",
  acknowledgement = ack-nhfb,
  keywords =     "automated theorem proving; decision procedure;
                 first-order axiomatization; heap abstraction;
                 well-founded linked lists",
}

@Article{Might:2006:EAD,
  author =       "Matthew Might and Olin Shivers",
  title =        "Environment analysis via {{$\Delta$}CFA}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "127--140",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111049",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We describe a new program-analysis framework, based on
                 CPS and procedure-string abstractions, that can handle
                 critical analyses which the $k$-CFA framework cannot.
                 We present the main theorems concerning correctness,
                 show an application analysis, and describe a running
                 implementation.",
  acknowledgement = ack-nhfb,
  keywords =     "continuations; CPS; delta-CFA; environment analysis;
                 flow analysis; functional languages; inlining; lambda
                 calculus; program analysis; super-beta",
}

@Article{Koutavas:2006:SBR,
  author =       "Vasileios Koutavas and Mitchell Wand",
  title =        "Small bisimulations for reasoning about higher-order
                 imperative programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "141--152",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111050",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We introduce a new notion of bisimulation for showing
                 contextual equivalence of expressions in an untyped
                 lambda-calculus with an explicit store, and in which
                 all expressed values, including higher-order values,
                 are storable. Our notion of bisimulation leads to
                 smaller and more tractable relations than does the
                 method of Sumii and Pierce [31]. In particular, our
                 method allows one to write down a bisimulation relation
                 directly in cases where [31] requires an inductive
                 specification, and where the principle of local
                 invariants [22] is inapplicable. Our method can also
                 express examples with higher-order functions, in
                 contrast with the most widely known previous methods
                 [4, 22, 32] which are limited in their ability to deal
                 with such examples. The bisimulation conditions are
                 derived by manually extracting proof obligations from a
                 hypothetical direct proof of contextual equivalence.",
  acknowledgement = ack-nhfb,
  keywords =     "bisimulations; contextual equivalence; higher-order
                 procedures; imperative languages; lambda-calculus",
}

@Article{Alur:2006:FCL,
  author =       "Rajeev Alur and Swarat Chaudhuri and P. Madhusudan",
  title =        "A fixpoint calculus for local and global program
                 flows",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "153--165",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111051",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We define a new fixpoint modal logic, the visibly
                 pushdown $\mu$-calculus (VP-$\mu$), as an extension of
                 the modal $\mu$-calculus. The models of this logic are
                 execution trees of structured programs where the
                 procedure calls and returns are made visible. This new
                 logic can express pushdown specifications on the model
                 that its classical counterpart cannot, and is motivated
                 by recent work on visibly pushdown languages [4]. We
                 show that our logic naturally captures several
                 interesting program specifications in program
                 verification and dataflow analysis. This includes a
                 variety of program specifications such as computing
                 combinations of local and global program flows,
                 pre/post conditions of procedures, security properties
                 involving the context stack, and interprocedural
                 dataflow analysis properties. The logic can capture
                 flow-sensitive and inter-procedural analysis, and it
                 has constructs that allow skipping procedure calls so
                 that local flows in a procedure can also be tracked.
                 The logic generalizes the semantics of the modal
                 $\mu$-calculus by considering summaries instead of
                 nodes as first-class objects, with appropriate
                 constructs for concatenating summaries, and naturally
                 captures the way in which pushdown models are
                 model-checked. The main result of the paper is that the
                 model-checking problem for VP-$\mu$ is effectively
                 solvable against pushdown models with no more effort
                 than that required for weaker logics such as CTL. We
                 also investigate the expressive power of the logic
                 VP-$\mu$: we show that it encompasses all properties
                 expressed by a corresponding pushdown temporal logic on
                 linear structures (caret [2]) as well as by the
                 classical $\mu$-calculus. This makes VP-$\mu$ the most
                 expressive known program logic for which algorithmic
                 software model checking is feasible. In fact, the
                 decidability of most known program logics
                 ($\mu$-calculus, temporal logics LTL and CTL, caret,
                 etc.) can be understood by their interpretation in the
                 monadic second-order logic over trees. This is not true
                 for the logic VP-$\mu$, making it a new powerful
                 tractable program logic.",
  acknowledgement = ack-nhfb,
  keywords =     "{\mu} -calculus; games; infinite-state; logic;
                 model-checking; pushdown systems; specification;
                 verification",
}

@Article{Odersky:2006:SEC,
  author =       "Martin Odersky",
  title =        "The {Scala} experiment: can we provide better language
                 support for component systems?",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "166--167",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111052",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Danner:2006:ATS,
  author =       "Norman Danner and James S. Royer",
  title =        "Adventures in time and space",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "168--179",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111053",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper investigates what is essentially a
                 call-by-value version of PCF under a
                 complexity-theoretically motivated type system. The
                 programming formalism, ATR1, has its first-order
                 programs characterize the poly-time computable
                 functions, and its second-order programs characterize
                 the type-2 basic feasible functionals of Mehlhorn and
                 of Cook and Urquhart. (The ATR1-types are confined to
                 levels 0, 1, and 2.) The type system comes in two
                 parts, one that primarily restricts the sizes of values
                 of expressions and a second that primarily restricts
                 the time required to evaluate expressions. The
                 size-restricted part is motivated by Bellantoni and
                 Cook's and Leivant's implicit characterizations of
                 poly-time. The time-restricting part is an affine
                 version of Barber and Plotkin's DILL. Two semantics are
                 constructed for ATR 1. The first is a pruning of the
                 na{\"\i}ve denotational semantics for ATR1. This
                 pruning removes certain functions that cause otherwise
                 feasible forms of recursion to go wrong. The second
                 semantics is a model for ATR1's time complexity
                 relative to a certain abstract machine. This model
                 provides a setting for complexity recurrences arising
                 from ATR1 recursions, the solutions of which yield
                 second-order polynomial time bounds. The
                 time-complexity semantics is also shown to be sound
                 relative to the costs of interpretation on the abstract
                 machine.",
  acknowledgement = ack-nhfb,
}

@Article{Cohen:2006:SKN,
  author =       "Albert Cohen and Marc Duranton and Christine Eisenbeis
                 and Claire Pagetti and Florence Plateau and Marc
                 Pouzet",
  title =        "{$N$}-synchronous {Kahn} networks: a relaxed model of
                 synchrony for real-time systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "180--193",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111054",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The design of high-performance stream-processing
                 systems is a fast growing domain, driven by markets
                 such like high-end TV, gaming, 3D animation and medical
                 imaging. It is also a surprisingly demanding task, with
                 respect to the algorithmic and conceptual simplicity of
                 streaming applications. It needs the close cooperation
                 between numerical analysts, parallel programming
                 experts, real-time control experts and computer
                 architects, and incurs a very high level of quality
                 insurance and optimization. In search for improved
                 productivity, we propose a programming model and
                 language dedicated to high-performance stream
                 processing. This language builds on the synchronous
                 programming model and on domain knowledge -- the
                 periodic evolution of streams -- to allow
                 correct-by-construction properties to be proven by the
                 compiler. These properties include resource
                 requirements and delays between input and output
                 streams. Automating this task avoids tedious and
                 error-prone engineering, due to the combinatorics of
                 the composition of filters with multiple data rates and
                 formats. Correctness of the implementation is also
                 difficult to assess with traditional (asynchronous,
                 simulation-based) approaches. This language is thus
                 provided with a relaxed notion of synchronous
                 composition, called n-synchrony: two processes are
                 n-synchronous if they can communicate in the ordinary
                 (0-)synchronous model with a FIFO buffer of size n.
                 Technically, we extend a core synchronous data-flow
                 language with a notion of periodic clocks, and design a
                 relaxed clock calculus (a type system for clocks) to
                 allow non strictly synchronous processes to be composed
                 or correlated. This relaxation is associated with two
                 sub-typing rules in the clock calculus. Delay, buffer
                 insertion and control code for these buffers are
                 automatically inferred from the clock types through a
                 systematic transformation into a standard synchronous
                 program. We formally define the semantics of the
                 language and prove the soundness and completeness of
                 its clock calculus and synchronization transformation.
                 Finally, the language is compared with existing
                 formalisms.",
  acknowledgement = ack-nhfb,
  keywords =     "correctness by construction; resource constraints;
                 streaming applications; subtyping; synchronous
                 languages",
}

@Article{Chen:2006:CDC,
  author =       "Guangyu Chen and Feihui Li and Mahmut Kandemir",
  title =        "Compiler-directed channel allocation for saving power
                 in on-chip networks",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "194--205",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111055",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Increasing complexity in the communication patterns of
                 embedded applications parallelized over multiple
                 processing units makes it difficult to continue using
                 the traditional bus-based on-chip communication
                 techniques. The main contribution of this paper is to
                 demonstrate the importance of compiler technology in
                 reducing power consumption of applications designed for
                 emerging multi processor, NoC (Network-on-Chip) based
                 embedded systems. Specifically, we propose and evaluate
                 a compiler-directed approach to NoC power management in
                 the context of array-intensive applications, used
                 frequently in embedded image/video processing. The
                 unique characteristic of the compiler-based approach
                 proposed in this paper is that it increases the idle
                 periods of communication channels by reusing the same
                 set of channels for as many communication messages as
                 possible. The unused channels in this case take better
                 advantage of the underlying power saving mechanism
                 employed by the network architecture. However, this
                 channel reuse optimization should be applied with care
                 as it can hurt performance if two or more simultaneous
                 communications are mapped onto the same set of
                 channels. Therefore, the problem addressed in this
                 paper is one of reducing the number of channels used to
                 implement a set of communications without increasing
                 the communication latency significantly. To test the
                 effectiveness of our approach, we implemented it within
                 an optimizing compiler and performed experiments using
                 twelve application codes and a network simulation
                 environment. Our experiments show that the proposed
                 compiler-based approach is very successful in practice
                 and works well under both hardware based and software
                 based channel turn-off schemes.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler; energy consumption; NoC",
}

@Article{Danielsson:2006:FLR,
  author =       "Nils Anders Danielsson and John Hughes and Patrik
                 Jansson and Jeremy Gibbons",
  title =        "Fast and loose reasoning is morally",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "206--217",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111056",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Functional programmers often reason about programs as
                 if they were written in a total language, expecting the
                 results to carry over to non-total (partial) languages.
                 We justify such reasoning. Two languages are defined,
                 one total and one partial, with identical syntax. The
                 semantics of the partial language includes partial and
                 infinite values, and all types are lifted, including
                 the function spaces. A partial equivalence relation
                 (PER) is then defined, the domain of which is the total
                 subset of the partial language. For types not
                 containing function spaces the PER relates equal
                 values, and functions are related if they map related
                 values to related values. It is proved that if two
                 closed terms have the same semantics in the total
                 language, then they have related semantics in the
                 partial language. It is also shown that the PER gives
                 rise to a biCartesian closed category which can be used
                 to reason about values in the domain of the relation.",
  acknowledgement = ack-nhfb,
  keywords =     "equational reasoning; inductive and coinductive types;
                 lifted types; non-strict and strict languages; partial
                 and infinite values; partial and total languages",
}

@Article{Meunier:2006:MSB,
  author =       "Philippe Meunier and Robert Bruce Findler and Matthias
                 Felleisen",
  title =        "Modular set-based analysis from contracts",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "218--231",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111057",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In PLT Scheme, programs consist of modules with
                 contracts. The latter describe the inputs and outputs
                 of functions and objects via predicates. A run-time
                 system enforces these predicates; if a predicate fails,
                 the enforcer raises an exception that blames a specific
                 module with an explanation of the fault. In this paper,
                 we show how to use such module contracts to turn
                 set-based analysis into a fully modular parameterized
                 analysis. Using this analysis, a static debugger can
                 indicate for any given contract check whether the
                 corresponding predicate is always satisfied, partially
                 satisfied, or (potentially) completely violated. The
                 static debugger can also predict the source of
                 potential errors, i.e., it is sound with respect to the
                 blame assignment of the contract system.",
  acknowledgement = ack-nhfb,
  keywords =     "modular analysis; runtime contracts; set-based
                 analysis; static debugging",
}

@Article{Pottier:2006:STI,
  author =       "Fran{\c{c}}ois Pottier and Yann R{\'e}gis-Gianas",
  title =        "Stratified type inference for generalized algebraic
                 data types",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "232--244",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111058",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Stratified type inference for generalized algebraic
                 data types.",
  acknowledgement = ack-nhfb,
}

@Article{Flanagan:2006:HTC,
  author =       "Cormac Flanagan",
  title =        "Hybrid type checking",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "245--256",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111059",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Traditional static type systems are very effective for
                 verifying basic interface specifications, but are
                 somewhat limited in the kinds specifications they
                 support. Dynamically-checked contracts can enforce more
                 precise specifications, but these are not checked until
                 run time, resulting in incomplete detection of defects.
                 Hybrid type checking is a synthesis of these two
                 approaches that enforces precise interface
                 specifications, via static analysis where possible, but
                 also via dynamic checks where necessary. This paper
                 explores the key ideas and implications of hybrid type
                 checking, in the context of the simply-typed \lambda
                 -calculus with arbitrary refinements of base types.",
  acknowledgement = ack-nhfb,
  keywords =     "contracts; dynamic checking; static checking; type
                 systems",
}

@Article{Kim:2006:PMT,
  author =       "Ik-Soon Kim and Kwangkeun Yi and Cristiano Calcagno",
  title =        "A polymorphic modal type system for {Lisp}-like
                 multi-staged languages",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "257--268",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111060",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This article presents a polymorphic modal type system
                 and its principal type inference algorithm that
                 conservatively extend ML by all of Lisp's staging
                 constructs (the quasi-quotation system). The
                 combination is meaningful because ML is a practical
                 higher-order, impure, and typed language, while Lisp's
                 quasi-quotation system has long evolved complying with
                 the demands from multi-staged programming practices.
                 Our type system supports open code, unrestricted
                 operations on references, intentional
                 variable-capturing substitution as well as
                 capture-avoiding substitution, and lifting values into
                 code, whose combination escaped all the previous
                 systems.",
  acknowledgement = ack-nhfb,
  keywords =     "let-polymorphism; lisp; ML; modal types; multi-staged
                 languages; polymorphic types; quasi-quotation; record
                 type; scheme; type inference; type systems",
}

@Article{Sweeney:2006:NMP,
  author =       "Tim Sweeney",
  title =        "The next mainstream programming language: a game
                 developer's perspective",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "269--269",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111061",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Game developers have long been early adopters of new
                 technologies. This is so because we are largely
                 unburdened by legacy code: With each new hardware
                 generation, we are free to rethink our software
                 assumptions and develop new products using new tools
                 and even new programming languages. As a result, games
                 are fertile ground for applying academic advances in
                 these areas. And never has our industry been in need of
                 such advances as it is now! The scale and scope of game
                 development has increased more than ten-fold over the
                 past ten years, yet the underlying limitations of the
                 mainstream C/C++/Java/C\# language family remain
                 largely unaddressed. The talk begins with a high-level
                 presentation of the game developer's world: the kinds
                 of algorithms we employ on modern CPUs and GPUs, the
                 difficulties of componentization and concurrency, and
                 the challenges of writing very complex software with
                 real-time performance requirements. The talk then
                 outlines the ways that future programming languages
                 could help us write better code, providing examples
                 derived from experience writing games and software
                 frameworks that support games. The major areas covered
                 are abstraction facilities -- how we can use them to
                 develop more extensible frameworks and components;
                 practical opportunities for employing stronger typing
                 to reduce run-time failures; and the need for pervasive
                 concurrency support, both implicit and explicit, to
                 effectively exploit the several forms of parallelism
                 present in games and graphics.",
  acknowledgement = ack-nhfb,
}

@Article{Ernst:2006:VCC,
  author =       "Erik Ernst and Klaus Ostermann and William R. Cook",
  title =        "A virtual class calculus",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "270--282",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111062",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Virtual classes are class-valued attributes of
                 objects. Like virtual methods, virtual classes are
                 defined in an object's class and may be redefined
                 within subclasses. They resemble inner classes, which
                 are also defined within a class, but virtual classes
                 are accessed through object instances, not as static
                 components of a class. When used as types, virtual
                 classes depend upon object identity -- each object
                 instance introduces a new family of virtual class
                 types. Virtual classes support large-scale program
                 composition techniques, including higher-order
                 hierarchies and family polymorphism. The original
                 definition of virtual classes in BETA left open the
                 question of static type safety, since some type errors
                 were not caught until runtime. Later the languages
                 Caesar and gbeta have used a more strict static
                 analysis in order to ensure static type safety.
                 However, the existence of a sound, statically typed
                 model for virtual classes has been a long-standing open
                 question. This paper presents a virtual class calculus,
                 VC, that captures the essence of virtual classes in
                 these full-fledged programming languages. The key
                 contributions of the paper are a formalization of the
                 dynamic and static semantics of VC and a proof of the
                 soundness of VC.",
  acknowledgement = ack-nhfb,
  keywords =     "soundness; virtual classes",
}

@Article{Liu:2006:II,
  author =       "Jed Liu and Aaron Kimball and Andrew C. Myers",
  title =        "Interruptible iterators",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "283--294",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111063",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper introduces interruptible iterators, a
                 language feature that makes expressive iteration
                 abstractions much easier to implement. Iteration
                 abstractions are valuable for software design, as shown
                 by their frequent use in well-designed data structure
                 libraries such as the Java Collections Framework. While
                 Java iterators support iteration abstraction well from
                 the standpoint of client code, they are awkward to
                 implement correctly and efficiently, especially if the
                 iterator needs to support imperative update of the
                 underlying collection, such as removing the current
                 element. Some languages, such as CLU and C\# 2.0,
                 support iteration through a limited coroutine
                 mechanism, but these mechanisms do not support
                 imperative updates. Interruptible iterators are more
                 powerful coroutines in which the loop body is able to
                 interrupt the iterator with requests to perform
                 updates. Interrupts are similar to exceptions, but
                 propagate differently and have resumption semantics.
                 Interruptible iterators have been implemented as part
                 of the JMatch programming language, an extended version
                 of Java. A JMatch reimplementation of the Java
                 Collections Framework shows that implementations can be
                 made substantially shorter and simpler; performance
                 results show that this language mechanism can also be
                 implemented efficiently.",
  acknowledgement = ack-nhfb,
  keywords =     "coroutine; exception; Java; JMatch; logic
                 programming",
}

@Article{Reis:2006:SCC,
  author =       "Gabriel Dos Reis and Bjarne Stroustrup",
  title =        "Specifying {C++} concepts",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "295--308",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111064",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "C++ templates are key to the design of current
                 successful mainstream libraries and systems. They are
                 the basis of programming techniques in diverse areas
                 ranging from conventional general-purpose programming
                 to software for safety-critical embedded systems.
                 Current work on improving templates focuses on the
                 notion of concepts (a type system for templates), which
                 promises significantly improved error diagnostics and
                 increased expressive power such as concept-based
                 overloading and function template partial
                 specialization. This paper presents C++ templates with
                 an emphasis on problems related to separate
                 compilation. We consider the problem of how to express
                 concepts in a precise way that is simple enough to be
                 usable by ordinary programmers. In doing so, we expose
                 a few weakness of the current specification of the C++
                 standard library and suggest a far more precise and
                 complete specification. We also present a systematic
                 way of translating our proposed concept definitions,
                 based on use-patterns rather than function signatures,
                 into constraint sets that can serve as convenient basis
                 for concept checking in a compiler.",
  acknowledgement = ack-nhfb,
  keywords =     "C++ concepts; C++ templates; generic programming;
                 separate compilation; type systems",
}

@Article{Thielecke:2006:FRA,
  author =       "Hayo Thielecke",
  title =        "Frame rules from answer types for code pointers",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "309--319",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111065",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We define a type system, which may also be considered
                 as a simple Hoare logic, for a fragment of an assembly
                 language that deals with code pointers and jumps. The
                 typing is aimed at local reasoning in the sense that
                 only the type of a code pointer is needed, and there is
                 no need to know the whole code itself. The main
                 features of the type system are separation logic
                 connectives for describing the heap, and polymorphic
                 answer types of continuations for keeping track of
                 jumps. Specifically, we address an interaction between
                 separation and answer types: frame rules for local
                 reasoning in the presence of jumps are recovered by
                 instantiating the answer type. However, the
                 instantiation of answer types is not sound for all
                 types. To guarantee soundness, we restrict
                 instantiation to closed types, where the notion of
                 closedness arises from biorthogonality (in a sense
                 inspired by Krivine and Pitts). A machine state is
                 orthogonal to a disjoint heap if their combination does
                 not lead to a fault. Closed types are sets of machine
                 states that are orthogonal to a set of heaps. We use
                 closed types as well-behaved answer types.",
  acknowledgement = ack-nhfb,
  keywords =     "code pointers; continuations; Hoare logic;
                 polymorphism; typed assembly language",
}

@Article{Ni:2006:CAP,
  author =       "Zhaozhong Ni and Zhong Shao",
  title =        "Certified assembly programming with embedded code
                 pointers",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "320--333",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111066",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Embedded code pointers (ECPs) are stored handles of
                 functions and continuations commonly seen in low-level
                 binaries as well as functional or higher-order
                 programs. ECPs are known to be very hard to support
                 well in Hoare-logic style verification systems. As a
                 result, existing proof-carrying code (PCC) systems have
                 to either sacrifice the expressiveness or the
                 modularity of program specifications, or resort to
                 construction of complex semantic models. In Reynolds's
                 LICS'02 paper, supporting ECPs is listed as one of the
                 main open problems for separation logic. In this paper
                 we present a simple and general technique for solving
                 the ECP problem for Hoare-logic-based PCC systems. By
                 adding a small amount of syntax to the assertion
                 language, we show how to combine semantic consequence
                 relation with syntactic proof techniques. The result is
                 a new powerful framework that can perform modular
                 reasoning on ECPs while still retaining the
                 expressiveness of Hoare logic. We show how to use our
                 techniques to support polymorphism, closures, and other
                 language extensions and how to solve the ECP problem
                 for separation logic. Our system is fully mechanized.
                 We give its complete soundness proof and a full
                 verification of Reynolds's CPS-style 'list-append'
                 example in the Coq proof assistant.",
  acknowledgement = ack-nhfb,
  keywords =     "embedded code pointers; higher-order functions; Hoare
                 logic; proof-carrying code",
}

@Article{Vaziri:2006:ASC,
  author =       "Mandana Vaziri and Frank Tip and Julian Dolby",
  title =        "Associating synchronization constraints with data in
                 an object-oriented language",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "334--345",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111067",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Concurrency-related bugs may happen when multiple
                 threads access shared data and interleave in ways that
                 do not correspond to any sequential execution. Their
                 absence is not guaranteed by the traditional notion of
                 'data race' freedom. We present a new definition of
                 data races in terms of 11 problematic interleaving
                 scenarios, and prove that it is complete by showing
                 that any execution not exhibiting these scenarios is
                 serializable for a chosen set of locations. Our
                 definition subsumes the traditional definition of a
                 data race as well as high-level data races such as
                 stale-value errors and inconsistent views. We also
                 propose a language feature called atomic sets of
                 locations, which lets programmers specify the existence
                 of consistency properties between fields in objects,
                 without specifying the properties themselves. We use
                 static analysis to automatically infer those points in
                 the code where synchronization is needed to avoid data
                 races under our new definition. An important benefit of
                 this approach is that, in general, far fewer
                 annotations are required than is the case with existing
                 approaches such as synchronized blocks or atomic
                 sections. Our implementation successfully inferred the
                 appropriate synchronization for a significant subset of
                 Java's Standard Collections framework.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrent object-oriented programming; data races;
                 programming model; serializability",
}

@Article{McCloskey:2006:ASI,
  author =       "Bill McCloskey and Feng Zhou and David Gay and Eric
                 Brewer",
  title =        "{Autolocker}: synchronization inference for atomic
                 sections",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "346--358",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111068",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The movement to multi-core processors increases the
                 need for simpler, more robust parallel programming
                 models. Atomic sections have been widely recognized for
                 their ease of use. They are simpler and safer to use
                 than manual locking and they increase modularity. But
                 existing proposals have several practical problems,
                 including high overhead and poor interaction with I/O.
                 We present pessimistic atomic sections, a fresh
                 approach that retains many of the advantages of
                 optimistic atomic sections as seen in 'transactional
                 memory' without sacrificing performance or
                 compatibility. Pessimistic atomic sections employ the
                 locking mechanisms familiar to programmers while
                 relieving them of most burdens of lock-based
                 programming, including deadlocks. Significantly,
                 pessimistic atomic sections separate correctness from
                 performance: they allow programmers to extract more
                 parallelism via finer-grained locking without fear of
                 introducing bugs. We believe this property is crucial
                 for exploiting multi-core processor designs. We
                 describe a tool, Autolocker, that automatically
                 converts pessimistic atomic sections into standard
                 lock-based code. Autolocker relies extensively on
                 program analysis to determine a correct locking policy
                 free of deadlocks and race conditions. We evaluate the
                 expressiveness of Autolocker by modifying a 50,000 line
                 high-performance web server to use atomic sections
                 while retaining the original locking policy. We analyze
                 Autolocker's performance using microbenchmarks, where
                 Autolocker outperforms software transactional memory by
                 more than a factor of 3.",
  acknowledgement = ack-nhfb,
  keywords =     "atomic; lock; pessimistic",
}

@Article{Lu:2006:PRE,
  author =       "Yi Lu and John Potter",
  title =        "Protecting representation with effect encapsulation",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "359--371",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111069",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Representation exposure is a well-known problem in the
                 object-oriented realm. Object encapsulation mechanisms
                 have established a tradition for solving this problem
                 based on a principle of reference containment. This
                 paper proposes a novel type system which is based on a
                 different principle, we call effect encapsulation,
                 which confines side effects, rather than object
                 references, according to an ownership structure.
                 Compared to object encapsulation, effect encapsulation
                 liberates us from the restriction on object
                 referenceability and offers more flexibility. In this
                 paper, we show that effect encapsulation can be
                 statically type checked.",
  acknowledgement = ack-nhfb,
  keywords =     "effect systems; object encapsulation; ownership types;
                 representation exposure; types",
}

@Article{Su:2006:ECI,
  author =       "Zhendong Su and Gary Wassermann",
  title =        "The essence of command injection attacks in {Web}
                 applications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "372--382",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111070",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Web applications typically interact with a back-end
                 database to retrieve persistent data and then present
                 the data to the user as dynamically generated output,
                 such as HTML web pages. However, this interaction is
                 commonly done through a low-level API by dynamically
                 constructing query strings within a general-purpose
                 programming language, such as Java. This low-level
                 interaction is ad hoc because it does not take into
                 account the structure of the output language.
                 Accordingly, user inputs are treated as isolated
                 lexical entities which, if not properly sanitized, can
                 cause the web application to generate unintended
                 output. This is called a command injection attack,
                 which poses a serious threat to web application
                 security. This paper presents the first formal
                 definition of command injection attacks in the context
                 of web applications, and gives a sound and complete
                 algorithm for preventing them based on context-free
                 grammars and compiler parsing techniques. Our key
                 observation is that, for an attack to succeed, the
                 input that gets propagated into the database query or
                 the output document must change the intended syntactic
                 structure of the query or document. Our definition and
                 algorithm are general and apply to many forms of
                 command injection attacks. We validate our approach
                 with SqlCheckS, an implementation for the setting of
                 SQL command injection attacks. We evaluated SqlCheckS
                 on real-world web applications with systematically
                 compiled real-world attack data as input. SqlCheckS
                 produced no false positives or false negatives,
                 incurred low runtime overhead, and applied
                 straightforwardly to web applications written in
                 different languages.",
  acknowledgement = ack-nhfb,
  keywords =     "command injection attacks; grammars; parsing; runtime
                 verification; web applications",
}

@Article{Dantas:2006:HA,
  author =       "Daniel S. Dantas",
  title =        "Harmless advice",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "383--396",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111071",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper defines an object-oriented language with
                 harmless aspect-oriented advice. A piece of harmless
                 advice is a computation that, like ordinary
                 aspect-oriented advice, executes when control reaches a
                 designated control-flow point. However, unlike ordinary
                 advice, harmless advice is designed to obey a weak
                 non-interference property. Harmless advice may change
                 the termination behavior of computations and use I/O,
                 but it does not otherwise influence the final result of
                 the mainline code. The benefit of harmless advice is
                 that it facilitates local reasoning about program
                 behavior. More specifically, programmers may ignore
                 harmless advice when reasoning about the partial
                 correctness properties of their programs. In addition,
                 programmers may add new pieces of harmless advice to
                 pre-existing programs in typical 'after-the-fact'
                 aspect-oriented style without fear they will break
                 important data invariants used by the mainline code. In
                 order to detect and enforce harmlessness, the paper
                 defines a novel type and effect system related to
                 information-flow type systems. The central technical
                 result is that well-typed harmless advice does not
                 interfere with the mainline computation. The paper also
                 presents an implementation of the language and a case
                 study using harmless advice to implement security
                 policies.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented; aspects; harmless advice;
                 noninterference",
}

@Article{Menon:2006:VSP,
  author =       "Vijay S. Menon and Neal Glew and Brian R. Murphy and
                 Andrew McCreight and Tatiana Shpeisman and Ali-Reza
                 Adl-Tabatabai and Leaf Petersen",
  title =        "A verifiable {SSA} program representation for
                 aggressive compiler optimization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "397--408",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111072",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a verifiable low-level program
                 representation to embed, propagate, and preserve safety
                 information in high performance compilers for safe
                 languages such as Java and C\#. Our representation
                 precisely encodes safety information via static
                 single-assignment (SSA) [11, 3] proof variables that
                 are first-class constructs in the program. We argue
                 that our representation allows a compiler to both (1)
                 express aggressively optimized machine-independent code
                 and (2) leverage existing compiler infrastructure to
                 preserve safety information during optimization. We
                 demonstrate that this approach supports standard
                 compiler optimizations, requires minimal changes to the
                 implementation of those optimizations, and does not
                 artificially impede those optimizations to preserve
                 safety. We also describe a simple type system that
                 formalizes type safety in an SSA-style control-flow
                 graph program representation. Through the types of
                 proof variables, our system enables compositional
                 verification of memory safety in optimized code.
                 Finally, we discuss experiences integrating this
                 representation into the machine-independent global
                 optimizer of STARJIT, a high-performance just-in-time
                 compiler that performs aggressive control-flow,
                 data-flow, and algebraic optimizations and is
                 competitive with top production systems.",
  acknowledgement = ack-nhfb,
  keywords =     "check elimination; intermediate representations; proof
                 variables; safety dependences; SSA formalization;
                 typeability preservation; typed intermediate languages;
                 type systems",
}

@Article{Olinsky:2006:SAC,
  author =       "Reuben Olinsky and Christian Lindig and Norman
                 Ramsey",
  title =        "Staged allocation: a compositional technique for
                 specifying and implementing procedure calling
                 conventions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "409--421",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1111037.1111073",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present staged allocation, a technique for
                 specifying calling conventions by composing tiny
                 allocators called stages. A specification written using
                 staged allocation has a precise, formal semantics, and
                 it can be executed directly inside a compiler.
                 Specifications of nine standard C~calling conventions
                 range in size from 15 to 30 lines each. An
                 implementation of staged allocation takes about 250
                 lines of ML or 650~lines of C++. Each specification can
                 be used not only to help a compiler implement the
                 calling convention but also to generate a test suite.",
  acknowledgement = ack-nhfb,
  keywords =     "calling conventions",
}

@Article{Xue:2006:DSL,
  author =       "Deyi Xue",
  title =        "Developing a superset language of {Smalltalk} for
                 modeling distributed mechanical design systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "2",
  pages =        "8--17",
  month =        feb,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1137933.1137935",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:42 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper presents our experience on further
                 development of a superset language of Smalltalk for
                 modeling distributed mechanical design systems. In this
                 language, mechanical system modeling primitives are
                 called features. Features are described at two levels,
                 class level and instance level, representing standard
                 product libraries and special product data,
                 respectively. Features modeled at different locations
                 are associated by Internet. Class features at remote
                 locations can be used for generating instance features
                 at the local site. Instance features at remote
                 locations can be accessed from the local site. This new
                 language was implemented using Smalltalk.",
  acknowledgement = ack-nhfb,
  keywords =     "computer language; distributed systems; mechanical
                 design; object-oriented modeling",
}

@Article{Borah:2006:IOO,
  author =       "Kallol Borah",
  title =        "{Indus}: an object oriented language for {Ubiquitous}
                 computing",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "2",
  pages =        "18--24",
  month =        feb,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1137933.1137936",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:42 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Indus is a new object oriented programming language
                 for Ubiquitous computing. The Indus programming
                 language enables implementation of software agents that
                 have the ability to cooperatively execute tasks by
                 coordinating with other agents and composing components
                 using connectors. The Indus programming model tightly
                 integrates a set of run time libraries that automates
                 the management of distributed agents and components
                 across a variety of platforms and networks. Indus also
                 differentiates itself from other general purpose,
                 object oriented programming languages by being able to
                 generate code on a variety of 8/16/32/64 bit platforms,
                 thus making it ideal as a language for implementing
                 pervasive applications.",
  acknowledgement = ack-nhfb,
  keywords =     "adaptive systems; ad hoc networks; distributed
                 systems; software agents; wireless sensor networks",
}

@Article{Anonymous:2006:MPG,
  author =       "Anonymous",
  title =        "{MxYacc}: parser generator for mixed languages",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "2",
  pages =        "25--28",
  month =        feb,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1137933.1137937",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:42 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In the recent years mixed language programming has
                 received much attention. In this paper we introduce
                 MxYacc, a parser generator for mixed languages. We
                 discuss the concepts of mixed language parsing with an
                 example. We present a simple and elegant parsing
                 algorithm to parse mixed grammars.",
  acknowledgement = ack-nhfb,
  keywords =     "mixed language programming; parser generator; yacc",
}

@Article{Murphy:2006:SSU,
  author =       "Mike Murphy",
  title =        "Some suggestions for the use of tables in compilers",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "2",
  pages =        "29--33",
  month =        feb,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1137933.1137938",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:42 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "It is common practice in compilers to use tables to
                 represent data, and then automatically generate code
                 based on those tables (often known as 'table-driven
                 code'). Many compilers use machine description tables
                 from which is automatically generated parts of the code
                 generator, and there are often small pieces of
                 table-driven code within a compiler. Sometimes these
                 tables are very useful, but other times the tables
                 themselves can become a maintenance nightmare. This
                 paper uses examples from several SGI compilers to try
                 and enumerate some guidelines for designing good tables
                 and table-driven code.",
  acknowledgement = ack-nhfb,
  keywords =     "compilers; software engineering; tables",
}

@Article{Bailey:2006:PPA,
  author =       "Mark W. Bailey and John Hatcliff and Frank Tip",
  title =        "{PEPM} 2006 paper abstracts",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "4--8",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1140543.1140545",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:56 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The ACM SIGPLAN Workshop on Partial Evaluation and
                 Program Manipulation (PEPM 2006) was held on January
                 9th and 10th in Charleston, South Carolina and this
                 article contains abstracts for the 19 papers presented
                 at the workshop. The PEPM workshops focus on
                 techniques, supporting theory, tools, and applications
                 of the analysis and manipulation of programs. The full
                 proceedings for this workshop are available from ACM.",
  acknowledgement = ack-nhfb,
}

@Article{Janakiram:2006:SCL,
  author =       "D. Janakiram and R. Venkateswarlu and A. Vijay
                 Srinivas and A. Uday Kumar",
  title =        "{Soma}: a compositional language for distributed
                 systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "10--19",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1140543.1140547",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:56 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Current mobile and distributed applications are being
                 developed using J2ME, J2EE, CORBA, DCOM, etc.
                 Developing applications for distributed and mobile
                 systems is a tedious process, because the applications
                 in these systems are open for change in requirements.
                 So providing a language support for application
                 development in open systems is vital.
                 Component-oriented programming is well suited for open
                 systems [1]. The component interactions is the key
                 issue in composition languages. Software systems can be
                 viewed in two distinct ways. A running system can be
                 seen as a collection of interacting entities. However,
                 at the level of system specification we can view the
                 system as a composition of various software components
                 [1]. To specify systems consisting of interacting
                 components, a composition language is required.
                 Applications built in these languages satisfy the
                 requirements of an open system. Thus there is a need to
                 develop a composition language. The key challenge is to
                 define a set of operators in the language which
                 represent different coordination styles.",
  acknowledgement = ack-nhfb,
}

@Article{Ning:2006:MGW,
  author =       "Zhang Ning and Guangze Xiong",
  title =        "Minimizing {GC} work by analysis of live objects",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "20--29",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1140543.1140548",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:56 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "As complex embedded real-time systems are widely used,
                 automatic memory management, or garbage collection, is
                 a technique that significantly reduces the complex
                 problem of correct memory management. In recent years,
                 people often use time-based real-time GC to meet the
                 deadline of real-time tasks. Some algorithms are
                 proposed to reduce memory requirement based on
                 time-based approaches. However, they mainly focus on
                 scheduling strategy and GC algorithms such as copying
                 algorithm and mark-sweep algorithm et al. This paper
                 treats GC as a dynamical process and gives the analysis
                 of amount of live objects. We propose that GC should
                 process memory space of each task one by one based on
                 the variance of amount of live objects. The proposed
                 approach can minimize GC work and further reduce memory
                 requirement.",
  acknowledgement = ack-nhfb,
  keywords =     "embedded systems; garbage collector; real-time;
                 scheduling",
}

@Article{Dekker:2006:LFP,
  author =       "Anthony H. Dekker",
  title =        "Lazy functional programming in {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "30--39",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1140543.1140549",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:56 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In this paper, we show how lazy functional programming
                 techniques can be used within the Java programming
                 language. We provide Java implementations of classic
                 examples of lazy lists, such as the Sieve of
                 Eratosthenes, the Eight Queens Problem, and
                 natural-language parsing. We discuss how well these
                 implementations succeed, compared to their original
                 counterparts. We also point out the potential synergy
                 between adding lazy techniques to Java, and adding
                 generic types. The examples we provide would be
                 suitable for teaching functional programming concepts
                 in the context of a Java-based syllabus.",
  acknowledgement = ack-nhfb,
  keywords =     "functional programming; Java; lazy lists",
}

@Article{Chang:2006:SCA,
  author =       "Byeong-Mo Chang",
  title =        "Static check analysis for {Java} stack inspection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "3",
  pages =        "40--48",
  month =        mar,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1140543.1140550",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:41:56 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Most static analysis techniques for optimizing stack
                 inspection approximate permission sets such as granted
                 permissions and denied permissions. Because they
                 compute permission sets following control flow, they
                 usually take intra-procedural control flow into
                 consideration as well as call relationship. In this
                 paper, we observed that it is necessary for more
                 precise optimization on stack inspection to compute
                 more specific information on checks instead of
                 permissions. We propose a backward static analysis
                 based on simple call graph to approximate redundant
                 permission checks which must fail. In a similar way, we
                 also propose a backward static analysis to approximate
                 success permission checks, which must pass stack
                 inspection.",
  acknowledgement = ack-nhfb,
  keywords =     "Java; security; stack inspection; static analysis",
}

@Article{Frenger:2006:TYF,
  author =       "Paul Frenger",
  title =        "Ten years of {Forth} in {ACM Sigplan Notices}: part
                 2",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "4",
  pages =        "3--14",
  month =        apr,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1147214.1147216",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Last column, we began a two-part retrospective to
                 recap the first ten years of the ACM Sigplan Notices
                 Forth Report. Our walk through memory lane began with a
                 history lesson: who Chuck Moore is, the origins of the
                 Forth programming language, Forth software and hardware
                 incarnations, some vendors, conferences, and a few tall
                 tales. We looked at little pioneer ACM SIG-Forth and
                 its four-year Newsletter, and how phoenix-like their
                 ashes gave rise to the ten-year run of the Forth Report
                 in Sigplan Notices.",
  acknowledgement = ack-nhfb,
}

@Article{Mann:2006:TBG,
  author =       "Paul B. Mann",
  title =        "A translational {BNF} grammar notation {(TBNF)}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "4",
  pages =        "16--23",
  month =        apr,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1147214.1147218",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "BNF grammar notation came into existence about 1960
                 for the specification of programming languages. It was
                 first used for the automatic generation of parsers
                 about 1972. BNF was later replaced with EBNF offering
                 regular expression notation in the right side of
                 grammar rules. EBNF is powerful, however, it describes
                 only the recognition phase, which is only 1/3 of the
                 process of language translation. The second phase is
                 the construction of an abstract-syntax tree and the
                 third phase is the creation of an instruction code
                 sequence. Some parser generators automate the
                 construction of an AST, but none, that I know of,
                 automate the output of instruction codes. Certainly if
                 these second and third phases are to be automated, a
                 suitable notation is required in the grammar. This
                 paper proposes a notation that permits the construction
                 of the AST in the correct order and the creation of
                 instruction codes. In effect, the complete translation
                 process can be described in the grammar and correct
                 translators generated automatically. A working system
                 has been implemented and tested with good results. The
                 generator is called LRgen and the new grammar notation
                 is called TBNF.",
  acknowledgement = ack-nhfb,
  keywords =     "AST; BNF; compiler compiler; EBNF; grammar;
                 grammarware; intermediate code; LALR; language
                 recognition; LL; LR; parser; parser generator; syntax",
}

@Article{Lenka:2006:SML,
  author =       "Dillip Kumar Lenka and Pawan Kumar",
  title =        "States merging in {LR} parser",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "4",
  pages =        "24--29",
  month =        apr,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1147214.1147219",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Here a scheme is presented, which reduces the size of
                 an LR parser. It is accomplished by merging two states,
                 which do not perform differently on the same input
                 symbol or non-terminal. This state merging has
                 following advantages:1. The reduction in number of
                 states is greater than the reduction in an LALR
                 parser.2. The power of parser is not reduced as it
                 would be in an LALR parser. The above merging scheme
                 has following disadvantages:1. Even erroneous inputs
                 are accepted. However, it is stopped by changing the
                 notion of acceptance.2. Errors are report late and in a
                 misleading manner.3. Parsing takes more time because
                 string matching is done during reduction.",
  acknowledgement = ack-nhfb,
}

@Article{Jiang:2006:AAR,
  author =       "Shujuan Jiang and Baowen Xu and Liang Shi",
  title =        "An approach to analyzing recursive programs with
                 exception handling constructs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "4",
  pages =        "30--35",
  month =        apr,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1147214.1147220",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Exception handling in modern programming languages is
                 a mechanism that can improve software reliability.
                 Since the signature of a C++ function may not specify
                 the set of exceptions that the function can propagate,
                 it is necessary to figure out the exceptions that may
                 be raised during executing program, the origins of them
                 and their propagation paths. Unfortunately, in large
                 programs that contain recursive functions, this
                 exceptional information can be difficult, if not
                 impossible, to determine. Therefore, the paper proposes
                 a new static analysis approach to analyze C++ recursive
                 functions with exception handling constructs. Firstly,
                 it presents a model that can describe the exception
                 handling information for a C++ single function. Then,
                 it proposes a new method to compute the set of
                 exception types that propagate from a recursive
                 function. Finally, the limitations and the applications
                 of the model are discussed.",
  acknowledgement = ack-nhfb,
  keywords =     "exception handling; exception propagation; programming
                 language; recursive function; reliability; static
                 analysis",
}

@Article{Tuya:2006:PGS,
  author =       "Javier Tuya and M. Jos{\'e} Su{\'a}rez-Cabal and
                 Claudio de la Riva",
  title =        "A practical guide to {SQL} white-box testing",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "4",
  pages =        "36--41",
  month =        apr,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1147214.1147221",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "SQL is a ubiquitous language used in a wide range of
                 applications for accessing the data stored in
                 relational databases. However, the usual software
                 testing techniques are not designed to address some
                 important features of SQL. We present a set of
                 practical guidelines for designing white-box tests
                 cases that reasonably exercise the way in which an SQL
                 query processes the stored data. These guidelines are
                 illustrated using an example.",
  acknowledgement = ack-nhfb,
  keywords =     "database testing; software testing; SQL query
                 language",
}

@Article{Loka:2006:CRH,
  author =       "Raghavendra Rao Loka",
  title =        "Compilation reuse and hybrid compilation: an
                 experiment",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "4",
  pages =        "42--49",
  month =        apr,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1147214.1147222",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Compiling hardware models to machine code poses some
                 unusual problems. While compilers for traditional
                 programming languages are well understood, they tend to
                 take very long to compile the C code generated from
                 hardware models. The code generated from hardware
                 models, unlike in the inputs seen by traditional
                 compilers, have too many simple routines. These
                 routines have much simpler control flow, and the
                 patterns of the routines are repeated several times
                 over. This paper discusses the approaches developed at
                 Synopsys to compile these routines as optimally as
                 traditional compilers, but taking less time.",
  acknowledgement = ack-nhfb,
}

@Article{Behera:2006:IAL,
  author =       "Chandan Kumar Behera and Pawan Kumar",
  title =        "An improved algorithm for loop dead optimization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "5",
  pages =        "11--20",
  month =        may,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1149982.1149984",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:34 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Loop dead variables are the variables, which are
                 defined in a loop, but not used in that loop. On
                 successive execution of loop, these get different
                 value, however all values (except last value) are not
                 used. Hence in optimized program, the definition of a
                 loop dead variable can be moved outside the loop (after
                 the loop), rather than computing every time, inside the
                 loop. In our discussion, we have assumed only simple
                 loop. Every loop has one entry and one exit point.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler design; loop invariant computations; loop
                 optimization",
}

@Article{Moon:2006:TMS,
  author =       "Sewon Moon and Byeong-Mo Chang",
  title =        "A thread monitoring system for multithreaded {Java}
                 programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "5",
  pages =        "21--29",
  month =        may,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1149982.1149985",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:34 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "To assist developing robust multithreaded software, we
                 develop a thread monitoring system for multithreaded
                 Java programs, which can trace or monitor running
                 threads and synchronization. We design a monitoring
                 system which has options to select interesting threads
                 and synchronized actions. Using this tool, programmers
                 can monitor only interesting threads and
                 synchronization in more details by selecting options,
                 and can detect a deadlock. It also provides profile
                 information after execution, which summarizes behavior
                 of running threads and synchronized actions during
                 execution. We implement the system based on code
                 inlining, and presents some experimental results.",
  acknowledgement = ack-nhfb,
  keywords =     "Java; monitoring; synchronization; thread",
}

@Article{Zhang:2006:MPS,
  author =       "Yingzhou Zhang and Jose Emilio Labra Gayo and
                 Agust{\'\i}n Cernuda del R{\'\i}o",
  title =        "A monadic program slicer",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "5",
  pages =        "30--38",
  month =        may,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1149982.1149986",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:34 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Program slicing is an important decomposition
                 technique. It has been widely used in many software
                 activities, such as software analyzing, understanding,
                 debugging, testing, and maintenance. The current
                 slicing methods and tools, however, are monolithic, and
                 mainly based on program or system dependence graph.
                 This paper presents a novel formal tool for program
                 slicing. It abstracts the computation of program
                 slicing as a language-independent slice monad
                 transformer, which can be applied to the semantic
                 descriptions of the program in a modular way, forming
                 the corresponding slicing algorithms. Such algorithms
                 allow program slices to be computed directly on
                 abstract syntax, with no need to explicitly construct
                 intermediate structures such as dependence graphs or to
                 record an execution history. It has reusability and
                 language-flexibility properties in comparison with the
                 current program slicing methods/tools.",
  acknowledgement = ack-nhfb,
  keywords =     "modular monadic semantics; monad; monad transformer;
                 program slicer",
}

@Article{Adams:2006:FAM,
  author =       "Michael D. Adams and David S. Wise",
  title =        "Fast additions on masked integers",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "5",
  pages =        "39--45",
  month =        may,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1149982.1149987",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:34 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Suppose the bits of a computer word are partitioned
                 into $d$ disjoint sets, each of which is used to
                 represent one of a $d$-tuple of Cartesian indices into
                 $d$-dimensional space. Then, regardless of the
                 partition, simple group operations and comparisons can
                 be implemented for each index on a conventional
                 processor in a sequence of two or three register
                 operations. These indexings allow any blocked algorithm
                 from linear algebra to use some non-standard matrix
                 orderings that increase locality and enhance their
                 performance. The underlying implementations were
                 designed for alternating bit positions to index
                 Morton-ordered matrices, but they apply, as well, to
                 any bit partitioning. A hybrid ordering of the elements
                 of a matrix becomes possible, therefore, with
                 row-\slash column-major ordering within cache-sized
                 blocks and Morton ordering of those blocks, themselves.
                 So, one can enjoy the temporal locality of nested
                 blocks, as well as compiler optimizations on row- or
                 column-major ordering in base blocks.",
  acknowledgement = ack-nhfb,
  keywords =     "compilers; dilated integers; index arithmetic; Morton
                 order; quadtrees",
}

@Article{Frost:2006:NTP,
  author =       "Richard A. Frost and Rahmatullah Hafiz",
  title =        "A new top-down parsing algorithm to accommodate
                 ambiguity and left recursion in polynomial time",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "5",
  pages =        "46--54",
  month =        may,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1149982.1149988",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:34 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Top-down backtracking language processors are highly
                 modular, can handle ambiguity, and are easy to
                 implement with clear and maintainable code. However, a
                 widely-held, and incorrect, view is that top-down
                 processors are inherently exponential for ambiguous
                 grammars and cannot accommodate left-recursive
                 productions. It has been known for many years that
                 exponential complexity can be avoided by memoization,
                 and that left-recursive productions can be accommodated
                 through a variety of techniques. However, until now,
                 memoization and techniques for handling left recursion
                 have either been presented independently, or else
                 attempts at their integration have compromised
                 modularity and clarity of the code.",
  acknowledgement = ack-nhfb,
  keywords =     "backtracking; left-recursion; memoization; parser
                 combinators; top-down parsing",
}

@Article{Carlstrom:2006:ATP,
  author =       "Brian D. Carlstrom and Austen McDonald and Hassan
                 Chafi and JaeWoong Chung and Chi Cao Minh and Christos
                 Kozyrakis and Kunle Olukotun",
  title =        "The {ATOMOS} transactional programming language",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "1--13",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1133983",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Atomos is the first programming language with implicit
                 transactions, strong atomicity, and a scalable
                 multiprocessor implementation. Atomos is derived from
                 Java, but replaces its synchronization and conditional
                 waiting constructs with simpler transactional
                 alternatives. The Atomos watch statement allows
                 programmers to specify fine-grained watch sets used
                 with the Atomos retry conditional waiting statement for
                 efficient transactional conflict-driven wakeup even in
                 transactional memory systems with a limited number of
                 transactional contexts. Atomos supports open-nested
                 transactions, which are necessary for building both
                 scalable application programs and virtual machine
                 implementations. The implementation of the Atomos
                 scheduler demonstrates the use of open nesting within
                 the virtual machine and introduces the concept of
                 transactional memory violation handlers that allow
                 programs to recover from data dependency violations
                 without rolling back. Atomos programming examples are
                 given to demonstrate the usefulness of transactional
                 programming primitives. Atomos and Java are compared
                 through the use of several benchmarks. The results
                 demonstrate both the improvements in parallel
                 programming ease and parallel program performance
                 provided by Atomos.",
  acknowledgement = ack-nhfb,
  keywords =     "conditional synchronization; Java; multiprocessor
                 architecture; transactional memory",
}

@Article{Harris:2006:OMT,
  author =       "Tim Harris and Mark Plesko and Avraham Shinnar and
                 David Tarditi",
  title =        "Optimizing memory transactions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "14--25",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1133984",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Atomic blocks allow programmers to delimit sections of
                 code as 'atomic', leaving the language's implementation
                 to enforce atomicity. Existing work has shown how to
                 implement atomic blocks over word-based transactional
                 memory that provides scalable multi-processor
                 performance without requiring changes to the basic
                 structure of objects in the heap. However, these
                 implementations perform poorly because they interpose
                 on all accesses to shared memory in the atomic block,
                 redirecting updates to a thread-private log which must
                 be searched by reads in the block and later reconciled
                 with the heap when leaving the block. This paper takes
                 a four-pronged approach to improving performance: (1)
                 we introduce a new 'direct access' implementation that
                 avoids searching thread-private logs, (2) we develop
                 compiler optimizations to reduce the amount of logging
                 (e.g. when a thread accesses the same data repeatedly
                 in an atomic block), (3) we use runtime filtering to
                 detect duplicate log entries that are missed
                 statically, and (4) we present a series of GC-time
                 techniques to compact the logs generated by
                 long-running atomic blocks. Our implementation supports
                 short-running scalable concurrent benchmarks with less
                 than 50\\% overhead over a non-thread-safe baseline. We
                 support long atomic blocks containing millions of
                 shared memory accesses with a 2.5-4.5x slowdown.",
  acknowledgement = ack-nhfb,
  keywords =     "atomicity; critical regions; transactional memory",
}

@Article{Adl-Tabatabai:2006:CRS,
  author =       "Ali-Reza Adl-Tabatabai and Brian T. Lewis and Vijay
                 Menon and Brian R. Murphy and Bratin Saha and Tatiana
                 Shpeisman",
  title =        "Compiler and runtime support for efficient software
                 transactional memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "26--37",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133985",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Programmers have traditionally used locks to
                 synchronize concurrent access to shared data.
                 Lock-based synchronization, however, has well-known
                 pitfalls: using locks for fine-grain synchronization
                 and composing code that already uses locks are both
                 difficult and prone to deadlock. Transactional memory
                 provides an alternate concurrency control mechanism
                 that avoids these pitfalls and significantly eases
                 concurrent programming. Transactional memory language
                 constructs have recently been proposed as extensions to
                 existing languages or included in new concurrent
                 language specifications, opening the door for new
                 compiler optimizations that target the overheads of
                 transactional memory. This paper presents compiler and
                 runtime optimizations for transactional memory language
                 constructs. We present a high-performance software
                 transactional memory system (STM) integrated into a
                 managed runtime environment. Our system efficiently
                 implements nested transactions that support both
                 composition of transactions and partial roll back. Our
                 JIT compiler is the first to optimize the overheads of
                 STM, and we show novel techniques for enabling JIT
                 optimizations on STM operations. We measure the
                 performance of our optimizations on a 16-way SMP
                 running multi-threaded transactional workloads. Our
                 results show that these techniques enable transactional
                 memory's performance to compete with that of well-tuned
                 synchronization.",
  acknowledgement = ack-nhfb,
  keywords =     "code generation; compiler optimizations; locking;
                 synchronization; transactional memory; virtual
                 machines",
}

@Article{Grimm:2006:BET,
  author =       "Robert Grimm",
  title =        "Better extensibility through modular syntax",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "38--51",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133987",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We explore how to make the benefits of modularity
                 available for syntactic specifications and present
                 Rats!, a parser generator for Java that supports easily
                 extensible syntax. Our parser generator builds on
                 recent research on parsing expression grammars (PEGs),
                 which, by being closed under composition, prioritizing
                 choices, supporting unlimited lookahead, and
                 integrating lexing and parsing, offer an attractive
                 alternative to context-free grammars. PEGs are
                 implemented by so-called packrat parsers, which are
                 recursive descent parsers that memoize all intermediate
                 results (hence their name). Memoization ensures
                 linear-time performance in the presence of unlimited
                 lookahead, but also results in an essentially lazy,
                 functional parsing technique. In this paper, we explore
                 how to leverage PEGs and packrat parsers as the
                 foundation for extensible syntax. In particular, we
                 show how make packrat parsing more widely applicable by
                 implementing this lazy, functional technique in a
                 strict, imperative language, while also generating
                 better performing parsers through aggressive
                 optimizations. Next, we develop a module system for
                 organizing, modifying, and composing large-scale
                 syntactic specifications. Finally, we describe a new
                 technique for managing (global) parsing state in
                 functional parsers. Our experimental evaluation
                 demonstrates that the resulting parser generator
                 succeeds at providing extensible syntax. In particular,
                 Rats! enables other grammar writers to realize
                 real-world language extensions in little time and code,
                 and it generates parsers that consistently out-perform
                 parsers created by two GLR parser generators.",
  acknowledgement = ack-nhfb,
  keywords =     "extensible syntax; module system; packrat parsing;
                 parser generator; parsing expression grammar",
}

@Article{Ertl:2006:FFI,
  author =       "M. Anton Ertl and Kevin Casey and David Gregg",
  title =        "Fast and flexible instruction selection with on-demand
                 tree-parsing automata",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "52--60",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133988",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Tree parsing as supported by code generator generators
                 like BEG, burg, iburg, lburg and ml-burg is a popular
                 instruction selection method. There are two existing
                 approaches for implementing tree parsing: dynamic
                 programming, and tree-parsing automata; each approach
                 has its advantages and disadvantages. We propose a new
                 implementation approach that combines the advantages of
                 both existing approaches: we start out with dynamic
                 programming at compile time, but at every step we
                 generate a state for a tree-parsing automaton, which is
                 used the next time a tree matching the state is found,
                 turning the instruction selector into a fast
                 tree-parsing automaton. We have implemented this
                 approach in the Gforth code generator. The
                 implementation required little effort and reduced the
                 startup time of Gforth by up to a factor of 2.5.",
  acknowledgement = ack-nhfb,
  keywords =     "automaton; dynamic programming; instruction selection;
                 lazy; tree parsing",
}

@Article{Triantafyllis:2006:FUW,
  author =       "Spyridon Triantafyllis and Matthew J. Bridges and
                 Easwaran Raman and Guilherme Ottoni and David I.
                 August",
  title =        "A framework for unrestricted whole-program
                 optimization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "61--71",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133989",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Procedures have long been the basic units of
                 compilation in conventional optimization frameworks.
                 However, procedures are typically formed to serve
                 software engineering rather than optimization goals,
                 arbitrarily constraining code transformations.
                 Techniques, such as aggressive inlining and
                 interprocedural optimization, have been developed to
                 alleviate this problem, but, due to code growth and
                 compile time issues, these can be applied only
                 sparingly. This paper introduces the Procedure Boundary
                 Elimination (PBE) compilation framework, which allows
                 unrestricted whole-program optimization. PBE allows all
                 intra-procedural optimizations and analyses to operate
                 on arbitrary subgraphs of the program, regardless of
                 the original procedure boundaries and without resorting
                 to inlining. In order to control compilation time, PBE
                 also introduces novel extensions of region formation
                 and encapsulation. PBE enables targeted code
                 specialization, which recovers the specialization
                 benefits of inlining while keeping code growth in
                 check. This paper shows that PBE attains better
                 performance than inlining with half the code growth.",
  acknowledgement = ack-nhfb,
  keywords =     "inlining; interprocedural analysis; interprocedural
                 optimization; path-sensitive analysis; procedure
                 unification; region-based compilation; region
                 encapsulation; region formation; specialization;
                 superblock; whole-program analysis; whole-program
                 optimization",
}

@Article{Neamtiu:2006:PDS,
  author =       "Iulian Neamtiu and Michael Hicks and Gareth Stoyle and
                 Manuel Oriol",
  title =        "Practical dynamic software updating for {C}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "72--83",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133991",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Software updates typically require stopping and
                 restarting an application, but many systems cannot
                 afford to halt service, or would prefer not to. Dynamic
                 software updating (DSU) addresses this difficulty by
                 permitting programs to be updated while they run. DSU
                 is appealing compared to other approaches for on-line
                 upgrades because it is quite general and requires no
                 redundant hardware. The challenge is in making DSU
                 practical: it should be flexible, and yet safe,
                 efficient, and easy to use. In this paper, we present
                 Ginseng, a DSU implementation for C that aims to meet
                 this challenge. We compile programs specially so that
                 they can be dynamically patched, and generate most of a
                 dynamic patch automatically. Ginseng performs a series
                 of analyses that when combined with some simple runtime
                 support ensure that an update will not violate
                 type-safety while guaranteeing that data is kept
                 up-to-date. We have used Ginseng to construct and
                 dynamically apply patches to three substantial
                 open-source server programs--- Very Secure FTP daemon,
                 OpenSSH sshd daemon, and GNU Zebra. In total, we
                 dynamically patched each program with three years'
                 worth of releases. Though the programs changed
                 substantially, the majority of updates were easy to
                 generate. Performance experiments show that all patches
                 could be applied in less than 5 ms, and that the
                 overhead on application throughput due to updating
                 support ranged from 0 to at most 32\%.",
  acknowledgement = ack-nhfb,
  keywords =     "dynamic software updating; function indirection; loop
                 extraction; type wrapping",
}

@Article{Fei:2006:APR,
  author =       "Long Fei and Samuel P. Midkiff",
  title =        "{Artemis}: practical runtime monitoring of
                 applications for execution anomalies",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "84--95",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133992",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A number of hardware and software techniques have been
                 proposed to detect dynamic program behaviors that may
                 indicate a bug in a program. Because these techniques
                 suffer from high overheads they are useful in finding
                 bugs in programs before they are released, but are
                 significantly less useful in finding bugs in
                 long-running programs on production systems -- the same
                 bugs that are the most difficult to find using
                 traditional techniques. In this paper we propose the
                 Artemis$^1$ is the Greek goddess of the hunt and wild
                 animals. Our framework guides the hunt for wild bugs.
                 compiler-based instrumentation framework that
                 complements many pre-existing runtime monitoring
                 techniques. The Artemis framework guides baseline
                 monitoring techniques toward regions of the program
                 where bugs are likely to occur, yielding a low
                 asymptotic monitoring overhead. Artemis also
                 facilitates system-load aware runtime monitoring that
                 allows the monitoring coverage to be dynamically scaled
                 up to take advantage of extra cycles when the system
                 load is low, and dynamically scaled down to monitor
                 only the most suspicious regions when the system load
                 is high. Our experiments show that Artemis' asymptotic
                 overhead can outperform the performance floor overhead
                 of random sampling for many tools, and that Artemis can
                 effectively guide a monitoring tool to the buggy
                 regions of a program. Our experimental results show
                 that Artemis applied to a hardware-based PC-invariance
                 monitoring scheme and a value-based invariance
                 detection and checking scheme significantly improves
                 their runtime monitoring overhead (by up to 4.6 times)
                 with moderate impact on their bug-detecting
                 capabilities.",
  acknowledgement = ack-nhfb,
  keywords =     "context invariant; debugging; dynamic context;
                 pointer-type table; runtime monitoring; selective
                 monitoring; value invariant",
}

@Article{Acar:2006:EAS,
  author =       "Umut A. Acar and Guy E. Blelloch and Matthias Blume
                 and Kanat Tangwongsan",
  title =        "An experimental analysis of self-adjusting
                 computation",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "96--107",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133993",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Dependence graphs and memoization can be used to
                 efficiently update the output of a program as the input
                 changes dynamically. Recent work has studied techniques
                 for combining these approaches to effectively dynamize
                 a wide range of applications. Toward this end various
                 theoretical results were given. In this paper we
                 describe the implementation of a library based on these
                 ideas, and present experimental results on the
                 efficiency of this library on a variety of
                 applications. The results of the experiments indicate
                 that the approach is effective in practice, often
                 requiring orders of magnitude less time than
                 recomputing the output from scratch. We believe this is
                 the first experimental evidence that incremental
                 computation of any type is effective in practice for a
                 reasonably broad set of applications.",
  acknowledgement = ack-nhfb,
  keywords =     "computational geometry; dynamic algorithms; dynamic
                 dependence graphs; memorization; performance;
                 self-adjusting computation",
}

@Article{Barton:2006:SMP,
  author =       "Christopher Barton and C{\'C}lin Cas{\c{c}}aval and
                 George Alm{\'a}si and Yili Zheng and Montse Farreras
                 and Siddhartha Chatterje and Jos{\'e} Nelson Amaral",
  title =        "Shared memory programming for large scale machines",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "108--117",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133995",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper describes the design and implementation of
                 a scalable run-time system and an optimizing compiler
                 for Unified Parallel C (UPC). An experimental
                 evaluation on BlueGene/L{\reg}, a distributed-memory
                 machine, demonstrates that the combination of the
                 compiler with the runtime system produces programs with
                 performance comparable to that of efficient MPI
                 programs and good performance scalability up to
                 hundreds of thousands of processors. Our runtime system
                 design solves the problem of maintaining shared object
                 consistency efficiently in a distributed memory
                 machine. Our compiler infrastructure simplifies the
                 code generated for parallel loops in UPC through the
                 elimination of affinity tests, eliminates several
                 levels of indirection for accesses to segments of
                 shared arrays that the compiler can prove to be local,
                 and implements remote update operations through a
                 lower-cost asynchronous message. The performance
                 evaluation uses three well-known benchmarks --- HPC
                 RandomAccess, HPC STREAM and NAS CG --- to obtain
                 scaling and absolute performance numbers for these
                 benchmarks on up to 131072 processors, the full
                 BlueGene/L machine. These results were used to win the
                 HPC Challenge Competition at SC05 in Seattle WA,
                 demonstrating that PGAS languages support both
                 productivity and performance.",
  acknowledgement = ack-nhfb,
  keywords =     "BlueGene; PGAS programming model; UPC",
}

@Article{Ren:2006:ODP,
  author =       "Gang Ren and Peng Wu and David Padua",
  title =        "Optimizing data permutations for {SIMD} devices",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "118--131",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1133996",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The widespread presence of SIMD devices in today's
                 microprocessors has made compiler techniques for these
                 devices tremendously important. One of the most
                 important and difficult issues that must be addressed
                 by these techniques is the generation of the data
                 permutation instructions needed for non-contiguous and
                 misaligned memory references. These instructions are
                 expensive and, therefore, it is of crucial importance
                 to minimize their number to improve performance and, in
                 many cases, enable speedups over scalar code. Although
                 it is often difficult to optimize an isolated data
                 reorganization operation, a collection of related data
                 permutations can often be manipulated to reduce the
                 number of operations. This paper presents a strategy to
                 optimize all forms of data permutations. The strategy
                 is organized into three steps. First, all data
                 permutations in the source program are converted into a
                 generic representation. These permutations can
                 originate from vector accesses to non-contiguous and
                 misaligned memory locations or result from compiler
                 transformations. Second, an optimization algorithm is
                 applied to reduce the number of data permutations in a
                 basic block. By propagating permutations across
                 statements and merging consecutive permutations
                 whenever possible, the algorithm can significantly
                 reduce the number of data permutations. Finally, a code
                 generation algorithm translates generic permutation
                 operations into native permutation instructions for the
                 target platform. Experiments were conducted on various
                 kinds of applications. The results show that up to 77\%
                 of the permutation instructions are eliminated and, as
                 a result, the average performance improvement is 48\%
                 on VMX and 68\% on SSE2. For several applications, near
                 perfect speedups have been achieved on both
                 platforms.",
  acknowledgement = ack-nhfb,
  keywords =     "data permutation; optimization; SIMD compilation",
}

@Article{Nuzman:2006:AVI,
  author =       "Dorit Nuzman and Ira Rosen and Ayal Zaks",
  title =        "Auto-vectorization of interleaved data for {SIMD}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "132--143",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1133997",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Most implementations of the Single Instruction
                 Multiple Data (SIMD) model available today require that
                 data elements be packed in vector registers. Operations
                 on disjoint vector elements are not supported directly
                 and require explicit data reorganization manipulations.
                 Computations on non-contiguous and especially
                 interleaved data appear in important applications,
                 which can greatly benefit from SIMD instructions once
                 the data is reorganized properly. Vectorizing such
                 computations efficiently is therefore an ambitious
                 challenge for both programmers and vectorizing
                 compilers. We demonstrate an automatic compilation
                 scheme that supports effective vectorization in the
                 presence of interleaved data with constant strides that
                 are powers of 2, facilitating data reorganization. We
                 demonstrate how our vectorization scheme applies to
                 dominant SIMD architectures, and present experimental
                 results on a wide range of key kernels, showing
                 speedups in execution time up to 3.7 for interleaving
                 levels (stride) as high as 8.",
  acknowledgement = ack-nhfb,
  keywords =     "data reuse; SIMD; subword parallelism; vectorization;
                 Viterbi",
}

@Article{Dhurjati:2006:SEA,
  author =       "Dinakar Dhurjati and Sumant Kowshik and Vikram Adve",
  title =        "{SAFECode}: enforcing alias analysis for weakly typed
                 languages",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "144--157",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1133999",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Static analysis of programs in weakly typed languages
                 such as C and C++ is generally not sound because of
                 possible memory errors due to dangling pointer
                 references, uninitialized pointers, and array bounds
                 overflow. We describe a compilation strategy for
                 standard C programs that guarantees that aggressive
                 interprocedural pointer analysis (or less precise
                 ones), a call graph, and type information for a subset
                 of memory, are never invalidated by any possible memory
                 errors. We formalize our approach as a new type system
                 with the necessary run-time checks in operational
                 semantics and prove the correctness of our approach for
                 a subset of C. Our semantics provide the foundation for
                 other sophisticated static analyses to be applied to C
                 programs with a guarantee of soundness. Our work builds
                 on a previously published transformation called
                 Automatic Pool Allocation to ensure that hard-to-detect
                 memory errors (dangling pointer references and certain
                 array bounds errors) cannot invalidate the call graph,
                 points-to information or type information. The key
                 insight behind our approach is that pool allocation can
                 be used to create a run-time partitioning of memory
                 that matches the compile-time memory partitioning in a
                 points-to graph, and efficient checks can be used to
                 isolate the run-time partitions. Furthermore, we show
                 that the sound analysis information enables static
                 checking techniques that eliminate many run-time
                 checks. Our approach requires no source code changes,
                 allows memory to be managed explicitly, and does not
                 use meta-data on pointers or individual tag bits for
                 memory. Using several benchmarks and system codes, we
                 show experimentally that the run-time overheads are low
                 (less than 10\% in nearly all cases and 30\% in the
                 worst case we have seen). We also show the
                 effectiveness of static analyses in eliminating
                 run-time checks.",
  acknowledgement = ack-nhfb,
  keywords =     "alias analysis; automatic pool allocation; compilers;
                 programming languages; region management",
}

@Article{Berger:2006:DPM,
  author =       "Emery D. Berger and Benjamin G. Zorn",
  title =        "{DieHard}: probabilistic memory safety for unsafe
                 languages",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "158--168",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134000",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Applications written in unsafe languages like C and
                 C++ are vulnerable to memory errors such as buffer
                 overflows, dangling pointers, and reads of
                 uninitialized data. Such errors can lead to program
                 crashes, security vulnerabilities, and unpredictable
                 behavior. We present DieHard, a runtime system that
                 tolerates these errors while probabilistically
                 maintaining soundness. DieHard uses randomization and
                 replication to achieve probabilistic memory safety by
                 approximating an infinite-sized heap. DieHard's memory
                 manager randomizes the location of objects in a heap
                 that is at least twice as large as required. This
                 algorithm prevents heap corruption and provides a
                 probabilistic guarantee of avoiding memory errors. For
                 additional safety, DieHard can operate in a replicated
                 mode where multiple replicas of the same application
                 are run simultaneously. By initializing each replica
                 with a different random seed and requiring agreement on
                 output, the replicated version of Die-Hard increases
                 the likelihood of correct execution because errors are
                 unlikely to have the same effect across all replicas.
                 We present analytical and experimental results that
                 show DieHard's resilience to a wide range of memory
                 errors, including a heap-based buffer overflow in an
                 actual application.",
  acknowledgement = ack-nhfb,
  keywords =     "DieHard; dynamic memory allocation; probabilistic
                 memory safety; randomization; replication",
}

@Article{Zhang:2006:PDS,
  author =       "Xiangyu Zhang and Neelam Gupta and Rajiv Gupta",
  title =        "Pruning dynamic slices with confidence",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "169--180",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134002",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Given an incorrect value produced during a failed
                 program run (e.g., a wrong output value or a value that
                 causes the program to crash), the backward dynamic
                 slice of the value very frequently captures the faulty
                 code responsible for producing the incorrect value.
                 Although the dynamic slice often contains only a small
                 percentage of the statements executed during the failed
                 program run, the dynamic slice can still be large and
                 thus considerable effort may be required by the
                 programmer to locate the faulty code. In this paper we
                 develop a strategy for pruning the dynamic slice to
                 identify a subset of statements in the dynamic slice
                 that are likely responsible for producing the incorrect
                 value. We observe that some of the statements used in
                 computing the incorrect value may also have been
                 involved in computing correct values (e.g., a value
                 produced by a statement in the dynamic slice of the
                 incorrect value may also have been used in computing a
                 correct output value prior to the incorrect value). For
                 each such executed statement in the dynamic slice,
                 using the value profiles of the executed statements, we
                 compute a confidence value ranging from 0 to 1 --- a
                 higher confidence value corresponds to greater
                 likelihood that the execution of the statement produced
                 a correct value. Given a failed run involving execution
                 of a single error, we demonstrate that the pruning of a
                 dynamic slice by excluding only the statements with the
                 confidence value of 1 is highly effective in reducing
                 the size of the dynamic slice while retaining the
                 faulty code in the slice. Our experiments show that the
                 number of distinct statements in a pruned dynamic slice
                 are 1.79 to 190.57 times less than the full dynamic
                 slice. Confidence values also prioritize the statements
                 in the dynamic slice according to the likelihood of
                 them being faulty. We show that examining the
                 statements in the order of increasing confidence values
                 is an effective strategy for reducing the effort of
                 fault location.",
  acknowledgement = ack-nhfb,
  keywords =     "data and control dependences; debugging; dynamic
                 slicing",
}

@Article{Johnson:2006:CSD,
  author =       "Troy A. Johnson and Rudolf Eigenmann",
  title =        "Context-sensitive domain-independent algorithm
                 composition and selection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "181--192",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134003",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Progressing beyond the productivity of present-day
                 languages appears to require using domain-specific
                 knowledge. Domain-specific languages and libraries
                 (DSLs) proliferate, but most optimizations and language
                 features have limited portability because each
                 language's semantics are related closely to its domain.
                 We explain how any DSL compiler can use a
                 domain-independent AI planner to implement algorithm
                 composition as a language feature. Our notion of
                 composition addresses a common DSL problem: good
                 library designers tend to minimize redundancy by
                 including only fundamental procedures that users must
                 chain together into call sequences. Novice users are
                 confounded by not knowing an appropriate sequence to
                 achieve their goal. Composition allows the programmer
                 to define and call an abstract algorithm (AA) like a
                 procedure. The compiler replaces an AA call with a
                 sequence of library calls, while considering the
                 calling context. Because AI planners compute a sequence
                 of operations to reach a goal state, the compiler can
                 implement composition by analyzing the calling context
                 to provide the planner's initial state. Nevertheless,
                 mapping composition onto planning is not
                 straightforward because applying planning to software
                 requires extensions to classical planning, and
                 procedure specifications may be incomplete when
                 expressed in a planning language. Compositions may not
                 be provably correct, so our approach mitigates semantic
                 incompleteness with unobtrusive programmer-compiler
                 interaction. This tradeoff is key to making composition
                 a practical and natural feature of otherwise imperative
                 languages, whose users eschew complex logical
                 specifications. Compositions satisfying an AA may not
                 be equal in performance, memory usage, or precision and
                 require selection of a preferred solution. We examine
                 language design and implementation issues, and we
                 perform a case study on the BioPerl bioinformatics
                 library.",
  acknowledgement = ack-nhfb,
  keywords =     "algorithm composition; algorithm selection; automated
                 planning; bioinformatics; domain-specific languages",
}

@Article{Chen:2006:RNE,
  author =       "Guangyu Chen and Feihui Li and Mahmut Kandemir and
                 Mary Jane Irwin",
  title =        "Reducing {NoC} energy consumption through
                 compiler-directed channel voltage scaling",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "193--203",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134004",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "While scalable NoC (Network-on-Chip) based
                 communication architectures have clear advantages over
                 long point-to-point communication channels, their power
                 consumption can be very high. In contrast to most of
                 the existing hardware-based efforts on NoC power
                 optimization, this paper proposes a compiler-directed
                 approach where the compiler decides the appropriate
                 voltage/frequency levels to be used for each
                 communication channel in the NoC. Our approach builds
                 and operates on a novel graph based representation of a
                 parallel program and has been implemented within an
                 optimizing compiler and tested using 12 embedded
                 benchmarks. Our experiments indicate that the proposed
                 approach behaves better --- from both performance and
                 power perspectives --- than a hardware-based scheme and
                 the energy savings it achieves are very close to the
                 savings that could be obtained from an optimal, but
                 hypothetical voltage/frequency scaling scheme.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler; energy; network-on-chip",
}

@Article{Koes:2006:GPR,
  author =       "David Ryan Koes and Seth Copen Goldstein",
  title =        "A global progressive register allocator",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "204--215",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134006",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper describes a global progressive register
                 allocator, a register allocator that uses an expressive
                 model of the register allocation problem to quickly
                 find a good allocation and then progressively find
                 better allocations until a provably optimal solution is
                 found or a preset time limit is reached. The key
                 contributions of this paper are an expressive model of
                 global register allocation based on multicommodity
                 network flows that explicitly represents spill code
                 optimization, register preferences, copy insertion, and
                 constant rematerialization; two fast, but effective,
                 heuristic allocators based on this model; and a more
                 elaborate progressive allocator that uses Lagrangian
                 relaxation to compute the optimality of its
                 allocations. Our progressive allocator demonstrates
                 code size improvements as large as 16.75\% compared to
                 a traditional graph allocator. On average, we observe
                 an initial improvement of 3.47\%, which increases
                 progressively to 6.84\% as more time is permitted for
                 compilation.",
  acknowledgement = ack-nhfb,
  keywords =     "progressive solver; register allocation",
}

@Article{Nakaike:2006:PBG,
  author =       "Takuya Nakaike and Tatsushi Inagaki and Hideaki
                 Komatsu and Toshio Nakatani",
  title =        "Profile-based global live-range splitting",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "216--227",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134007",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Live-range splitting is a technique to split the live
                 range of a given variable into multiple subranges, each
                 of which can be assigned to a different register or
                 spilled out to memory in order to improve results of
                 coloring register allocation. Previous techniques, such
                 as aggressive live-range splitting, tend to produce
                 extra spill code in the frequently executed (called
                 hot) regions of the code, since they don't distinguish
                 hot regions from others. We propose a new live-range
                 splitting algorithm, which can reduce the amount of
                 spill code in hot regions by coalescing the live ranges
                 based on profile information after splitting the live
                 ranges at every join and fork point in the control-flow
                 graph. Our experimental results have shown that our new
                 algorithm improved the performance of SPECjvm98 by up
                 to 33\% over aggressive live-range splitting and 7\%
                 over the base coloring algorithm without any live-range
                 splitting.",
  acknowledgement = ack-nhfb,
  keywords =     "graph coloring; live-range splitting; register
                 allocation",
}

@Article{Bridges:2006:AIS,
  author =       "Matthew J. Bridges and Neil Vachharajani and Guilherme
                 Ottoni and David I. August",
  title =        "Automatic instruction scheduler retargeting by
                 reverse-engineering",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "228--238",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134008",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In order to generate high-quality code for modern
                 processors, a compiler must aggressively schedule
                 instructions, maximizing resource utilization for
                 execution efficiency. For a compiler to produce such
                 code, it must avoid structural hazards by being aware
                 of the processor's available resources and of how these
                 resources are utilized by each instruction.
                 Unfortunately, the most prevalent approach to
                 constructing such a scheduler, manually discovering and
                 specifying this information, is both tedious and
                 error-prone. This paper presents a new approach which,
                 when given a processor or processor model,
                 automatically determines this information. After
                 establishing that the problem of perfectly determining
                 a processor's structural hazards through probing is not
                 solvable, this paper proposes a heuristic algorithm
                 that discovers most of this information in practice.
                 This can be used either to alleviate the problems
                 associated with manual creation or to verify an
                 existing specification. Scheduling with these
                 automatically derived structural hazards yields almost
                 all of the performance gain achieved using perfect
                 hazard information.",
  acknowledgement = ack-nhfb,
  keywords =     "automatic retargeting; compilers; instruction
                 scheduling; reverse-engineering; structural hazard",
}

@Article{Lau:2006:OPA,
  author =       "Jeremy Lau and Matthew Arnold and Michael Hind and
                 Brad Calder",
  title =        "Online performance auditing: using hot optimizations
                 without getting burned",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "239--251",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134010",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "As hardware complexity increases and virtualization is
                 added at more layers of the execution stack, predicting
                 the performance impact of optimizations becomes
                 increasingly difficult. Production compilers and
                 virtual machines invest substantial development effort
                 in performance tuning to achieve good performance for a
                 range of benchmarks. Although optimizations typically
                 perform well on average, they often have unpredictable
                 impact on running time, sometimes degrading performance
                 significantly. Today's VMs perform sophisticated
                 feedback-directed optimizations, but these techniques
                 do not address performance degradations, and they
                 actually make the situation worse by making the system
                 more unpredictable. This paper presents an online
                 framework for evaluating the effectiveness of
                 optimizations, enabling an online system to
                 automatically identify and correct performance
                 anomalies that occur at runtime. This work opens the
                 door for a fundamental shift in the way optimizations
                 are developed and tuned for online systems, and may
                 allow the body of work in offline empirical
                 optimization search to be applied automatically at
                 runtime. We present our implementation and evaluation
                 of this system in a product Java VM.",
  acknowledgement = ack-nhfb,
  keywords =     "feedback-directed optimizations; Java; virtual
                 machines",
}

@Article{Chilimbi:2006:CCC,
  author =       "Trishul M. Chilimbi and Ran Shaham",
  title =        "Cache-conscious coallocation of hot data streams",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "252--262",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134011",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The memory system performance of many programs can be
                 improved by coallocating contemporaneously accessed
                 heap objects in the same cache block. We present a
                 novel profile-based analysis for producing such a
                 layout. The analysis achieves cache-conscious
                 coallocation of a hot data stream H (i.e., a regular
                 data access pattern that frequently repeats) by
                 isolating and combining allocation sites of object
                 instances that appear in H such that intervening
                 allocations coming from other sites are separated. The
                 coallocation solution produced by the analysis is
                 enforced by an automatic tool, cminstr, that redirects
                 a program's heap allocations to a run-time coallocation
                 library comalloc. We also extend the analysis to
                 coallocation at object field granularity. The resulting
                 field coallocation solution generalizes common data
                 restructuring techniques, such as field reordering,
                 object splitting, and object merging, and allows their
                 combination. Furthermore, it provides insight into
                 object restructuring by breaking down the coallocation
                 benefit on a per-technique basis, which provides the
                 opportunity to pick the 'sweet spot' for each program.
                 Experimental results using a set of
                 memory-performance-limited benchmarks, including a few
                 SPECInt2000 programs, and Microsoft VisualFoxPro,
                 indicate that programs possess significant coallocation
                 opportunities. Automatic object coallocation improves
                 execution time by 13\% on average in the presence of
                 hardware prefetching. Hand-implemented field
                 coallocation solutions for two of the benchmarks
                 produced additional improvements (12\% and 22\%) but
                 the effort involved suggests implementing an automated
                 version for type-safe languages, such as Java and
                 C\#.",
  acknowledgement = ack-nhfb,
  keywords =     "cache optimization; data locality; data profiling;
                 dynamic allocation; hot data streams; memory layout",
}

@Article{Zhuang:2006:AEA,
  author =       "Xiaotong Zhuang and Mauricio J. Serrano and Harold W.
                 Cain and Jong-Deok Choi",
  title =        "Accurate, efficient, and adaptive calling context
                 profiling",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "263--271",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134012",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Calling context profiles are used in many
                 inter-procedural code optimizations and in overall
                 program understanding. Unfortunately, the collection of
                 profile information is highly intrusive due to the high
                 frequency of method calls in most applications.
                 Previously proposed calling-context profiling
                 mechanisms consequently suffer from either low
                 accuracy, high overhead, or both. We have developed a
                 new approach for building the calling context tree at
                 runtime, called adaptive bursting. By selectively
                 inhibiting redundant profiling, this approach
                 dramatically reduces overhead while preserving profile
                 accuracy. We first demonstrate the drawbacks of
                 previously proposed calling context profiling
                 mechanisms. We show that a low-overhead solution using
                 sampled stack-walking alone is less than 50\% accurate,
                 based on degree of overlap with a complete
                 calling-context tree. We also show that a static
                 bursting approach collects a highly accurate profile,
                 but causes an unacceptable application slowdown. Our
                 adaptive solution achieves 85\% degree of overlap and
                 provides an 88\% hot-edge coverage when using a 0.1
                 hot-edge threshold, while dramatically reducing
                 overhead compared to the static bursting approach.",
  acknowledgement = ack-nhfb,
  keywords =     "adaptive; call graph; calling context; calling context
                 tree; Java Virtual Machine; profiling",
}

@Article{Jarvi:2006:ASG,
  author =       "Jaakko J{\"a}rvi and Douglas Gregor and Jeremiah
                 Willcock and Andrew Lumsdaine and Jeremy Siek",
  title =        "Algorithm specialization in generic programming:
                 challenges of constrained generics in {C++}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "272--282",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 13 17:31:46 MDT 2006",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Jxervi:2006:ASG,
  author =       "Jaakko J{\"a}rvi and Douglas Gregor and Jeremiah
                 Willcock and Andrew Lumsdaine and Jeremy Siek",
  title =        "Algorithm specialization in generic programming:
                 challenges of constrained generics in {C++}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "272--282",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134014",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Generic programming has recently emerged as a paradigm
                 for developing highly reusable software libraries, most
                 notably in C++. We have designed and implemented a
                 constrained generics extension for C++ to support
                 modular type checking of generic algorithms and to
                 address other issues associated with unconstrained
                 generics. To be as broadly applicable as possible,
                 generic algorithms are defined with minimal
                 requirements on their inputs. At the same time, to
                 achieve a high degree of efficiency, generic algorithms
                 may have multiple implementations that exploit features
                 of specific classes of inputs. This process of
                 algorithm specialization relies on non-local type
                 information and conflicts directly with the local
                 nature of modular type checking. In this paper, we
                 review the design and implementation of our extensions
                 for generic programming in C++, describe the issues of
                 algorithm specialization and modular type checking in
                 detail, and discuss the important design tradeoffs in
                 trying to accomplish both. We present the particular
                 design that we chose for our implementation, with the
                 goal of hitting the sweet spot in this interesting
                 design space.",
  acknowledgement = ack-nhfb,
  keywords =     "concepts; constrained generics; generic programming;
                 parametric polymorphism; specialization",
}

@Article{Spoonhower:2006:ESP,
  author =       "Daniel Spoonhower and Joshua Auerbach and David F.
                 Bacon and Perry Cheng and David Grove",
  title =        "{Eventrons}: a safe programming construct for
                 high-frequency hard real-time applications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "283--294",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134015",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "While real-time garbage collection has achieved
                 worst-case latencies on the order of a millisecond,
                 this technology is approaching its practical limits.
                 For tasks requiring extremely low latency, and
                 especially periodic tasks with frequencies above 1 KHz,
                 Java programmers must currently resort to the
                 NoHeapRealtimeThread construct of the Real-Time
                 Specification for Java. This technique requires
                 expensive run-time checks, can result in unpredictable
                 low-level exceptions, and inhibits communication with
                 the rest of the garbage-collected application. We
                 present Eventrons, a programming construct that can
                 arbitrarily preempt the garbage collector, yet
                 guarantees safety and allows its data to be visible to
                 the garbage-collected heap. Eventrons are a strict
                 subset of Java, and require no run-time memory access
                 checks. Safety is enforced using a data-sensitive
                 analysis and simple run-time support with extremely low
                 overhead. We have implemented Eventrons in IBM's J9
                 Java virtual machine, and present experimental results
                 in which we ran Eventrons at frequencies up to 22 KHz
                 (a 45 $\mu$s period). Across 10 million periods,
                 99.997\% of the executions ran within 10 $\mu$ ss of
                 their deadline, compared to 99.999\% of the executions
                 of the equivalent program written in C.",
  acknowledgement = ack-nhfb,
  keywords =     "allocation; real-time; scheduling",
}

@Article{Shivers:2006:CTC,
  author =       "Olin Shivers and Matthew Might",
  title =        "Continuations and transducer composition",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "295--307",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134016",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "On-line transducers are an important class of
                 computational agent; we construct and compose together
                 many software systems using them, such as stream
                 processors, layered network protocols, DSP networks and
                 graphics pipelines. We show an interesting use of
                 continuations, that, when taken in a CPS setting,
                 exposes the control flow of these systems. This enables
                 a CPS-based compiler to optimise systems composed of
                 these transducers, using only standard, known analyses
                 and optimisations. Critically, the analysis permits
                 optimisation across the composition of these
                 transducers, allowing efficient construction of systems
                 in a hierarchical way.",
  acknowledgement = ack-nhfb,
  keywords =     "calculus; continuation-passing style (CPS);
                 continuations; coroutines; flow analysis; functional
                 languages; fusion; lambda; language design; program
                 analysis; stream processing",
}

@Article{Naik:2006:ESR,
  author =       "Mayur Naik and Alex Aiken and John Whaley",
  title =        "Effective static race detection for {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "308--319",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134018",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a novel technique for static race detection
                 in Java programs, comprised of a series of stages that
                 employ a combination of static analyses to successively
                 reduce the pairs of memory accesses potentially
                 involved in a race. We have implemented our technique
                 and applied it to a suite of multi-threaded Java
                 programs. Our experiments show that it is precise,
                 scalable, and useful, reporting tens to hundreds of
                 serious and previously unknown concurrency bugs in
                 large, widely-used programs with few false alarms.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; Java; multi-threading; static race
                 detection; synchronization",
}

@Article{Pratikakis:2006:LCS,
  author =       "Polyvios Pratikakis and Jeffrey S. Foster and Michael
                 Hicks",
  title =        "{LOCKSMITH}: context-sensitive correlation analysis
                 for race detection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "320--331",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134019",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "One common technique for preventing data races in
                 multi-threaded programs is to ensure that all accesses
                 to shared locations are consistently protected by a
                 lock. We present a tool called LOCKSMITH for detecting
                 data races in C programs by looking for violations of
                 this pattern. We call the relationship between locks
                 and the locations they protect consistent correlation,
                 and the core of our technique is a novel
                 constraint-based analysis that infers consistent
                 correlation context-sensitively, using the results to
                 check that locations are properly guarded by locks. We
                 present the core of our algorithm for a simple formal
                 language \lambda$_>$ which we have proven sound, and
                 discuss how we scale it up to an algorithm that aims to
                 be sound for all of C. We develop several techniques to
                 improve the precision and performance of the analysis,
                 including a sharing analysis for inferring thread
                 locality; existential quantification for modeling locks
                 in data structures; and heuristics for modeling unsafe
                 features of C such as type casts. When applied to
                 several benchmarks, including multi-threaded servers
                 and Linux device drivers, LOCKSMITH found several races
                 while producing a modest number of false alarm.",
  acknowledgement = ack-nhfb,
  keywords =     "context-sensitivity; correlation; locksmith;
                 multi-threaded programming; race detection; type
                 inference",
}

@Article{Chen:2006:PGP,
  author =       "Wen-ke Chen and Sanjay Bhansali and Trishul Chilimbi
                 and Xiaofeng Gao and Weihaw Chuang",
  title =        "Profile-guided proactive garbage collection for
                 locality optimization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "332--340",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134021",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Many applications written in garbage collected
                 languages have large dynamic working sets and poor data
                 locality. We present a new system for continuously
                 improving program data locality at run time with low
                 overhead. Our system proactively reorganizes the heap
                 by leveraging the garbage collector and uses profile
                 information collected through a low-overhead mechanism
                 to guide the reorganization at run time. The key
                 contributions include making a case that garbage
                 collection should be viewed as a proactive technique
                 for improving data locality by triggering garbage
                 collection for locality optimization independently of
                 normal garbage collection for space, combining page and
                 cache locality optimization in the same system, and
                 demonstrating that sampling provides sufficiently
                 detailed data access information to guide both page and
                 cache locality optimization with low runtime overhead.
                 We present experimental results obtained by modifying a
                 commercial, state-of-the-art garbage collector to
                 support our claims. Independently triggering garbage
                 collection for locality optimization significantly
                 improved optimizations benefits. Combining page and
                 cache locality optimizations in the same system
                 provided larger average execution time improvements
                 (17\%) than either alone (page 8\%, cache 7\%).
                 Finally, using sampling limited profiling overhead to
                 less than 3\%, on average.",
  acknowledgement = ack-nhfb,
  keywords =     "cache optimization; data locality; garbage collectors;
                 memory optimization; page optimization",
}

@Article{Vechev:2006:CPD,
  author =       "Martin T. Vechev and Eran Yahav and David F. Bacon",
  title =        "Correctness-preserving derivation of concurrent
                 garbage collection algorithms",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "341--353",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134022",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Constructing correct concurrent garbage collection
                 algorithms is notoriously hard. Numerous such
                 algorithms have been proposed, implemented, and
                 deployed --- and yet the relationship among them in
                 terms of speed and precision is poorly understood, and
                 the validation of one algorithm does not carry over to
                 others. As programs with low latency requirements
                 written in garbage-collected languages become part of
                 society's mission-critical infrastructure, it is
                 imperative that we raise the level of confidence in the
                 correctness of the underlying system, and that we
                 understand the trade-offs inherent in our algorithmic
                 choice. In this paper we present correctness-preserving
                 transformations that can be applied to an initial
                 abstract concurrent garbage collection algorithm which
                 is simpler, more precise, and easier to prove correct
                 than algorithms used in practice--but also more
                 expensive and with less concurrency. We then show how
                 both pre-existing and new algorithms can be synthesized
                 from the abstract algorithm by a series of our
                 transformations. We relate the algorithms formally
                 using a new definition of precision, and informally
                 with respect to overhead and concurrency. This provides
                 many insights about the nature of concurrent
                 collection, allows the direct synthesis of new and
                 useful algorithms, reduces the burden of proof to a
                 single simple algorithm, and lays the groundwork for
                 the automated synthesis of correct concurrent
                 collectors.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrent algorithms; concurrent garbage collection;
                 synthesis; verification",
}

@Article{Kermany:2006:CCI,
  author =       "Haim Kermany and Erez Petrank",
  title =        "The {Compressor}: concurrent, incremental, and
                 parallel compaction",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "354--363",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134023",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The widely used Mark-and-Sweep garbage collector has a
                 drawback in that it does not move objects during
                 collection. As a result, large long-running realistic
                 applications, such as Web application servers,
                 frequently face the fragmentation problem. To eliminate
                 fragmentation, a heap compaction is run periodically.
                 However, compaction typically imposes very long
                 undesirable pauses in the application. While efficient
                 concurrent collectors are ubiquitous in production
                 runtime systems (such as JVMs), an efficient
                 non-intrusive compactor is still missing. In this paper
                 we present the Compressor, a novel compaction algorithm
                 that is concurrent, parallel, and incremental. The
                 Compressor compacts the entire heap to a single
                 condensed area, while preserving the objects' order,
                 but reduces pause times significantly, thereby allowing
                 acceptable runs on large heaps. Furthermore, the
                 Compressor is the first compactor that requires only a
                 single heap pass. As such, it is the most efficient
                 compactors known today, even when run in a parallel
                 Stop-the-World manner (i.e., when the program threads
                 are halted). Thus, to the best of our knowledge, the
                 Compressor is the most efficient compactor known today.
                 The Compressor was implemented on a Jikes Research RVM
                 and we provide measurements demonstrating its
                 qualities.",
  acknowledgement = ack-nhfb,
  keywords =     "compaction; concurrent garbage collection; garbage
                 collection; memory management; runtime systems",
}

@Article{Guyer:2006:FMS,
  author =       "Samuel Z. Guyer and Kathryn S. McKinley and Daniel
                 Frampton",
  title =        "{Free-Me}: a static analysis for automatic individual
                 object reclamation",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "364--375",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134024",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Garbage collection has proven benefits, including
                 fewer memory related errors and reduced programmer
                 effort. Garbage collection, however, trades space for
                 time. It reclaims memory only when it is invoked:
                 invoking it more frequently reclaims memory quickly,
                 but incurs a significant cost; invoking it less
                 frequently fills memory with dead objects. In contrast,
                 explicit memory management provides prompt low cost
                 reclamation, but at the expense of programmer effort.
                 This work comes closer to the best of both worlds by
                 adding novel compiler and runtime support for compiler
                 inserted frees to a garbage-collected system. The
                 compiler's free-me analysis identifies when objects
                 become unreachable and inserts calls to free. It
                 combines a lightweight pointer analysis with liveness
                 information that detects when short-lived objects die.
                 Our approach differs from stack and region allocation
                 in two crucial ways. First, it frees objects
                 incrementally exactly when they become unreachable,
                 instead of based on program scope. Second, our system
                 does not require allocation-site lifetime homogeneity,
                 and thus frees objects on some paths and not on others.
                 It also handles common patterns: it can free objects in
                 loops and objects created by factory methods. We
                 evaluate free() variations for free-list and
                 bump-pointer allocators. Explicit freeing improves
                 performance by promptly reclaiming objects and reducing
                 collection load. Compared to marksweep alone, free-me
                 cuts total time by 22\% on average, collector time by
                 50\% to 70\%, and allows programs to run in 17\% less
                 memory. This combination retains the software
                 engineering benefits of garbage collection while
                 increasing space efficiency and improving performance,
                 and thus is especially appealing for real-time and
                 space constrained systems.",
  acknowledgement = ack-nhfb,
  keywords =     "adaptive; compiler-assisted; copying; generational;
                 liveness; locality; mark-sweep; pointer analysis",
}

@Article{Gulwani:2006:CAI,
  author =       "Sumit Gulwani and Ashish Tiwari",
  title =        "Combining abstract interpreters",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "376--386",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134026",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a methodology for automatically combining
                 abstract interpreters over given lattices to construct
                 an abstract interpreter for the combination of those
                 lattices. This lends modularity to the process of
                 design and implementation of abstract interpreters. We
                 define the notion of logical product of lattices. This
                 kind of combination is more precise than the reduced
                 product combination. We give algorithms to obtain the
                 join operator and the existential quantification
                 operator for the combined lattice from the
                 corresponding operators of the individual lattices. We
                 also give a bound on the number of steps required to
                 reach a fixed point across loops during analysis over
                 the combined lattice in terms of the corresponding
                 bounds for the individual lattices. We prove that our
                 combination methodology yields the most precise
                 abstract interpretation operators over the logical
                 product of lattices when the individual lattices are
                 over theories that are convex, stably infinite, and
                 disjoint. We also present an interesting application of
                 logical product wherein some lattices can be reduced to
                 combination of other (unrelated) lattices with known
                 abstract interpreters.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract interpreter; logical product; Nelson-Oppen
                 combination; reduced product",
}

@Article{Sridharan:2006:RBC,
  author =       "Manu Sridharan and Rastislav Bod{\'\i}k",
  title =        "Refinement-based context-sensitive points-to analysis
                 for {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "387--400",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133255.1134027",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a scalable and precise context-sensitive
                 points-to analysis with three key properties: (1)
                 filtering out of unrealizable paths, (2) a
                 context-sensitive heap abstraction, and (3) a
                 context-sensitive call graph. Previous work [21] has
                 shown that all three properties are important for
                 precisely analyzing large programs, e.g., to show
                 safety of downcasts. Existing analyses typically give
                 up one or more of the properties for scalability. We
                 have developed a refinement-based analysis that
                 succeeds by simultaneously refining handling of method
                 calls and heap accesses, allowing the analysis to
                 precisely analyze important code while entirely
                 skipping irrelevant code. The analysis is demand-driven
                 and client-driven, facilitating refinement specific to
                 each queried variable and increasing scalability. In
                 our experimental evaluation, our analysis proved the
                 safety of 61\% more casts than one of the most precise
                 existing analyses across a suite of large benchmarks.
                 The analysis checked the casts in under 13 minutes per
                 benchmark (taking less than 1 second per query) and
                 required only 35MB of memory, far less than previous
                 approaches.",
  acknowledgement = ack-nhfb,
  keywords =     "context-sensitive analysis; demand-driven analysis;
                 points-to analysis; refinement",
}

@Article{Feng:2006:MVA,
  author =       "Xinyu Feng and Zhong Shao and Alexander Vaynberg and
                 Sen Xiang and Zhaozhong Ni",
  title =        "Modular verification of assembly code with stack-based
                 control abstractions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "401--414",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134028",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Runtime stacks are critical components of any modern
                 software--they are used to implement powerful control
                 structures such as function call/return, stack cutting
                 and unwinding, coroutines, and thread context switch.
                 Stack operations, however, are very hard to reason
                 about: there are no known formal specifications for
                 certifying C-style setjmp/longjmp, stack cutting and
                 unwinding, or weak continuations (in C--). In many
                 proof-carrying code (PCC) systems, return code pointers
                 and exception handlers are treated as general
                 first-class functions (as in continuation-passing
                 style) even though both should have more limited
                 scopes. In this paper we show that stack-based control
                 abstractions follow a much simpler pattern than general
                 first-class code pointers. We present a simple but
                 flexible Hoare-style framework for modular verification
                 of assembly code with all kinds of stack-based control
                 abstractions, including function call/return, tail
                 call, setjmp/longjmp, weak continuation, stack cutting,
                 stack unwinding, multi-return function call,
                 coroutines, and thread context switch. Instead of
                 presenting a specific logic for each control structure,
                 we develop all reasoning systems as instances of a
                 generic framework. This allows program modules and
                 their proofs developed in different PCC systems to be
                 linked together. Our system is fully mechanized. We
                 give the complete soundness proof and a full
                 verification of several examples in the Coq proof
                 assistant.",
  acknowledgement = ack-nhfb,
  keywords =     "assembly code verification; control abstractions;
                 modularity; proof-carrying code; stack-based",
}

@Article{Cook:2006:TPS,
  author =       "Byron Cook and Andreas Podelski and Andrey
                 Rybalchenko",
  title =        "Termination proofs for systems code",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "415--426",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1133981.1134029",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Program termination is central to the process of
                 ensuring that systems code can always react. We
                 describe a new program termination prover that performs
                 a path-sensitive and context-sensitive program analysis
                 and provides capacity for large program fragments (i.e.
                 more than 20,000 lines of code) together with support
                 for programming language features such as arbitrarily
                 nested loops, pointers, function-pointers,
                 side-effects, etc. We also present experimental results
                 on device driver dispatch routines from the Windows
                 operating system. The most distinguishing aspect of our
                 tool is how it shifts the balance between the two tasks
                 of constructing and respectively checking the
                 termination argument. Checking becomes the hard step.
                 In this paper we show how we solve the corresponding
                 challenge of checking with binary reachability
                 analysis.",
  acknowledgement = ack-nhfb,
  keywords =     "formal verification; model checking; program
                 termination; program verification",
}

@Article{Martonosi:2006:ESW,
  author =       "Margaret Martonosi",
  title =        "Embedded systems in the wild: {ZebraNet} software,
                 hardware, and deployment experiences",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "1--1",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134651",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The Princeton ZebraNet project is a collaboration of
                 engineers and biologists to build mobile, wireless
                 embedded systems for wildlife tracking. Over the
                 lifetime of the project, we have implemented a number
                 of compression, communication, and data management
                 algorithms specifically tailored for the small memory,
                 constrained energy and sparse connectivity of these
                 long-lifetime systems. We have gone through three major
                 generations of hardware and software implementations,
                 and have done two successful real-world deployments on
                 Plains Zebras in Kenya, with a third deployment planned
                 for Summer, 2007. In this talk, I will discuss our
                 real-life experiences with crafting embedded systems
                 hardware and software, and our deployment experiences
                 in Africa. I will also put forward a vision for how
                 portability, reliability, and energy-efficiency can be
                 well-supported in future embedded systems.",
  acknowledgement = ack-nhfb,
}

@Article{vonPlaten:2006:FLO,
  author =       "Carl von Platen and Johan Eker",
  title =        "Feedback linking: optimizing object code layout for
                 updates",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "2--11",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134653",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Firmware over the air (FOTA) is becoming a standard
                 procedure for maintaining and updating wireless
                 embedded systems. To cope with bandwidth and storage
                 constraints this is facilitated using incremental
                 updates based on delta technology, i.e. only the
                 modifications are transmitted. The performance of a
                 FOTA update is highly dependent on the size of the
                 delta, and the type of modifications. Application of a
                 delta update involves mutating the present version,
                 byte by byte, into the new version. The problem is that
                 even the smallest change in the source code may cause
                 almost every single memory position to be affected, and
                 thus requiring the complete memory to be rewritten.
                 This has two implications: First, the time spent
                 updating memory becomes unnecessary long. Secondly, and
                 much worse, since a large part of the system is
                 affected, the system is not functional during
                 application. This paper introduces the concept of a
                 feedback linker, which uses the object code layout of
                 the previous version, when building a new version. The
                 feedback linker maximizes the similarities between two
                 versions allowing for smaller update packages and
                 faster upgrades. The feedback linker is described in
                 terms of an optimization procedure, a prototype test
                 bed and a set of experimental results.",
  acknowledgement = ack-nhfb,
  keywords =     "flash memory; incremental software update",
}

@Article{Zhang:2006:MDS,
  author =       "Kun Zhang and Santosh Pande",
  title =        "Minimizing downtime in seamless migrations of mobile
                 applications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "12--21",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134654",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Application migration is a key enabling technology
                 component of mobile computing that allows rich
                 semantics involving location awareness, trust and
                 timeliness of information processing by moving the
                 application where the data is. Seamlessness is one of
                 the key properties of mobile computing and downtime
                 must be eliminated/minimized during the migration to
                 achieve seamlessness. But migration involves large
                 overheads, dominant of which are the overheads due to
                 serialization and de-serialization [1]. To achieve
                 seamless migration, an application state could be
                 pre-serialized during the program's execution, and upon
                 migration, the serialized data could be transmitted and
                 de-serialized to get the execution started. Previous
                 approach to this problem [1] removed dead state but
                 still suffered from large migration overheads due to
                 serialization on-demand that could lead to an
                 unacceptable downtime. In this work, we develop a
                 static compiler analysis plus runtime assisted
                 framework to decrease the migration overhead to almost
                 zero while minimizing the degradation in the program's
                 performance. We achieve such a goal by deciding which
                 data to be pre-serialized through analysis, and
                 pre-serializing the state in the program. A safe state
                 is kept that would allow immediate migration upon the
                 arrival of an interrupt while minimizing frequent
                 pre-serialization. When the migration interrupt comes
                 in, the serialized data can be transmitted directly to
                 the destination machine. This allows an application to
                 resume its execution at the destination machine with
                 almost no interruption (only a small amount of
                 non-serialized data needs to be serialized during
                 migration). The optimization serializes the data in
                 such a way that a maximal number of functions can
                 execute without interruption after migration. Our
                 experiments with multimedia applications show that the
                 migration latency is significantly reduced leading to a
                 small downtime. Thus, the contribution of the paper is
                 to provide an efficient methodology to perform seamless
                 migration while limiting the overhead.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler; mobile computing; seamless migration",
}

@Article{Spivak:2006:SPT,
  author =       "Michal Spivak and Sivan Toledo",
  title =        "Storing a persistent transactional object heap on
                 flash memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "22--33",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134655",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present the design and implementation of TinyStore,
                 a persistent, transactional, garbage-collected
                 memory-management system, designed to be called from
                 the Java virtual machine of a Java Card. The system is
                 designed for flash-based implementations of Java Card,
                 a variant of the Java platform for smart cards. In the
                 Java Card platform, objects are persistent by default.
                 The platform supports transactions: a sequence of
                 accesses to objects can be explicitly declared to
                 constitute a transaction. TinyStore supports explicit
                 transactions and atomically executes individual
                 accesses that are not part of transactions; it also
                 supports garbage collection, even on systems with a
                 small constant amount of ram. TinyStore uses a novel
                 approach and specialized data structures to efficiently
                 manage flash memory. We demonstrate its effectiveness
                 by comparing it to a traditional eeprom-based memory
                 management system for Java Cards.",
  acknowledgement = ack-nhfb,
  keywords =     "flash; Java Card; nor flash; persistent heaps;
                 persistent object stores; smart cards; transactions",
}

@Article{Regehr:2006:DAT,
  author =       "John Regehr and Usit Duongsaa",
  title =        "Deriving abstract transfer functions for analyzing
                 embedded software",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "34--43",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134657",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper addresses the problem of creating abstract
                 transfer functions supporting dataflow analyses.
                 Writing these functions by hand is problematic:
                 transfer functions are difficult to understand,
                 difficult to make precise, and difficult to debug. Bugs
                 in transfer functions are particularly serious since
                 they defeat the soundness of any program analysis
                 running on top of them. Furthermore, implementing
                 transfer functions by hand is wasteful because the
                 resulting code is often difficult to reuse in new
                 analyzers and to analyze new languages. We have
                 developed algorithms and tools for deriving transfer
                 functions for the bitwise and unsigned interval
                 abstract domains. The interval domain is standard; in
                 the bitwise domain, values are vectors of three-valued
                 bits. For both domains, important challenges are to
                 derive transfer functions that are sound in the
                 presence of integer overflow, and to derive precise
                 transfer functions for operations whose semantics are a
                 mismatch for the domain (i.e., bit-vector operations in
                 the interval domain and arithmetic operations in the
                 bitwise domain). We can derive transfer functions, and
                 execute them, in time linear in the bitwidth of the
                 operands. These functions are maximally precise in most
                 cases. Our generated transfer functions are
                 parameterized by a bitwidth and are independent of the
                 language being analyzed, and also of the language in
                 which the analyzer is written. Currently, we generate
                 interval and bitwise transfer functions in C and OCaml
                 for analyzing C source code, ARM object code, and AVR
                 object code. We evaluate our derived functions by using
                 them in an interprocedural dataflow analyzer.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract interpretation; embedded software; static
                 analysis; transfer functions",
}

@Article{Cooprider:2006:PAD,
  author =       "Nathan Cooprider and John Regehr",
  title =        "Pluggable abstract domains for analyzing embedded
                 software",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "44--53",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134658",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Many abstract value domains such as intervals,
                 bitwise, constants, and value-sets have been developed
                 to support dataflow analysis. Different domains offer
                 alternative tradeoffs between analysis speed and
                 precision. Furthermore, some domains are a better match
                 for certain kinds of code than others. This paper
                 presents the design and implementation of cXprop, an
                 analysis and transformation tool for C that implements
                 'conditional X propagation,' a generalization of the
                 well-known conditional constant propagation algorithm
                 where X is an abstract value domain supplied by the
                 user. cXprop is interprocedural, context-insensitive,
                 and achieves reasonable precision on pointer-rich
                 codes. We have applied cXprop to sensor network
                 programs running on TinyOS, in order to reduce code
                 size through interprocedural dead code elimination, and
                 to find limited-bitwidth global variables. Our analysis
                 of global variables is supported by a novel concurrency
                 model for interrupt-driven software. cXprop reduces
                 TinyOS application code size by an average of 9.2\% and
                 predicts an average data size reduction of 8.2\%
                 through RAM compression.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract interpretation; embedded software; TinyOS",
}

@Article{Mine:2006:FSV,
  author =       "Antoine Min{\'e}",
  title =        "Field-sensitive value analysis of embedded {C}
                 programs with union types and pointer arithmetics",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "54--63",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134659",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We propose a memory abstraction able to lift existing
                 numerical static analyses to C programs containing
                 union types, pointer casts, and arbitrary pointer
                 arithmetics. Our framework is that of a combined
                 points-to and data-value analysis. We abstract the
                 contents of compound variables in a field-sensitive
                 way, whether these fields contain numeric or pointer
                 values, and use stock numerical abstract domains to
                 find an overapproximation of all possible memory
                 states---with the ability to discover relationships
                 between variables. A main novelty of our approach is
                 the dynamic mapping scheme we use to associate a flat
                 collection of abstract cells of scalar type to the set
                 of accessed memory locations, while taking care of
                 byte-level aliases--- i.e., C variables with
                 incompatible types allocated in overlapping memory
                 locations. We do not rely on static type information
                 which can be misleading in C programs as it does not
                 account for all the uses a memory zone may be put to.
                 Our work was incorporated within the Astr{\'e}e static
                 analyzer that checks for the absence of run-time-errors
                 in embedded, safety-critical, numerical-intensive
                 software. It replaces the former memory domain limited
                 to well-typed, union-free, pointer-cast free
                 data-structures. Early results demonstrate that this
                 abstraction allows analyzing a larger class of C
                 programs, without much cost overhead.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract interpretation; critical software; numerical
                 analysis; points-to analysis",
}

@Article{Kreahling:2006:RCC,
  author =       "William Kreahling and Stephen Hines and David Whalley
                 and Gary Tyson",
  title =        "Reducing the cost of conditional transfers of control
                 by using comparison specifications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "64--71",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134661",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A significant portion of a program's execution cycles
                 are typically dedicated to performing conditional
                 transfers of control. Much of the research on reducing
                 the costs of these operations has focused on the
                 branch, while the comparison has been largely ignored.
                 In this paper we investigate reducing the cost of
                 comparisons in conditional transfers of control. We
                 decouple the specification of the values to be compared
                 from the actual comparison itself, which now occurs as
                 part of the branch instruction. The specification of
                 the register or immediate values involved in the
                 comparison is accomplished via a new instruction called
                 a comparison specification, which is loop invariant.
                 Decoupling the specification of the comparison from the
                 actual comparison performed before the branch reduces
                 the number of instructions in the loop, which provides
                 performance benefits not possible when using
                 conventional comparison instructions. Results from
                 applying this technique on the ARM processor show that
                 both the number of instructions executed and execution
                 cycles are reduced.",
  acknowledgement = ack-nhfb,
  keywords =     "branch; comparison; compiler; optimization",
}

@Article{Zhuang:2006:ETM,
  author =       "Xiaotong Zhuang and Santosh Pande",
  title =        "Effective thread management on network processors with
                 compiler analysis",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "72--82",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134662",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Mapping packet processing tasks on network processor
                 micro-engines involves complex tradeoffs that relating
                 to maximizing parallelism and pipelining. Due to an
                 increase in the size of the code store and complexity
                 of the application requirements, network processors are
                 being programmed with heterogeneous threads that may
                 execute code belonging to different tasks on a given
                 micro-engine. Also, most network applications are
                 streaming applications that are typically processed in
                 a pipelined fashion. Thus, the tasks on different
                 micro-engines are pipelined in such a way as to
                 maximize the throughput. Tasks themselves could have
                 different run time performance demands. Traditionally,
                 runtime management involving processor sharing,
                 real-time scheduling etc. is provided by the runtime
                 environment (typically an operating system) using the
                 hardware support for timers and interrupts that allows
                 time slicing the resource amongst the tasks. However,
                 due to stringent performance requirements on network
                 processors (which process packets from very high speed
                 network traffic), neither OS nor hardware mechanisms
                 are typically feasible/available. In this paper, we
                 show that it is very difficult and inefficient for the
                 programmer to meet the constraints of runtime
                 management by coding them statically. Due to the
                 infeasibility of hardware or OS solution (even in the
                 near future), the only choice left is a compiler
                 approach. We propose a complete compiler solution to
                 automatically insert explicit context switch (ctx)
                 instructions provided on the processors so that the
                 execution of programs is better manipulated at runtime
                 to meet their constraints. We show that such an
                 approach is feasible opening new application domains
                 that would need heterogeneous thread programming. Such
                 approaches would in general become important for
                 multi-core processors.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler optimizations; CPU scheduling; network
                 processors; real-time scheduling",
}

@Article{Kulkarni:2006:SNO,
  author =       "Prasad A. Kulkarni and David B. Whalley and Gary S.
                 Tyson and Jack W. Davidson",
  title =        "In search of near-optimal optimization phase
                 orderings",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "83--92",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134663",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Phase ordering is a long standing challenge for
                 traditional optimizing compilers. Varying the order of
                 applying optimization phases to a program can produce
                 different code, with potentially significant
                 performance variation amongst them. A key insight to
                 addressing the phase ordering problem is that many
                 different optimization sequences produce the same code.
                 In an earlier study, we used this observation to
                 restate the phase ordering problem to concentrate on
                 finding all distinct function instances that can be
                 produced due to different phase orderings, instead of
                 attempting to generate code for all possible
                 optimization sequences. Using a novel search algorithm
                 we were able to show that it is possible to
                 exhaustively enumerate the set of all possible function
                 instances that can be produced by different phase
                 orderings in our compiler for most of the functions in
                 our benchmark suite [1]. Finding the optimal function
                 instance within this set for almost any dynamic measure
                 of performance still appears impractical since that
                 would involve execution/simulation of all generated
                 function instances. To find the dynamically optimal
                 function instance we exploit the observation that the
                 enumeration space for a function typically contains a
                 very small number of distinct control flow paths. We
                 simulate only one function instance from each group of
                 function instances having the identical control flow,
                 and use that information to estimate the dynamic
                 performance of the remaining functions in that group.
                 We further show that the estimated dynamic frequency
                 counts obtained by using our method correlate extremely
                 well to simulated processor cycle counts. Thus, by
                 using our measure of dynamic frequencies to identify a
                 small number of the best performing function instances
                 we can often find the optimal phase ordering for a
                 function within a reasonable amount of time. Finally,
                 we perform a case study to evaluate how adept our
                 genetic algorithm is for finding optimal phase
                 orderings within our compiler, and demonstrate how the
                 algorithm can be improved.",
  acknowledgement = ack-nhfb,
  keywords =     "exhaustive search; genetic algorithms; phase
                 ordering",
}

@Article{Danne:2006:EST,
  author =       "Klaus Danne and Marco Platzner",
  title =        "An {EDF} schedulability test for periodic tasks on
                 reconfigurable hardware devices",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "93--102",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134665",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In this paper, we consider the scheduling of periodic
                 real-time tasks on reconfigurable hardware devices.
                 Such devices can execute several tasks in parallel. All
                 executing tasks share the hardware resource, which
                 makes the scheduling problem differ from single- and
                 multiprocessor scheduling. We adapt the global EDF
                 multiprocessor scheduling approach to the
                 reconfigurable hardware execution model and define two
                 preemptive scheduling algorithms, EDF-First-k-Fit and
                 EDF-Next-Fit. For these algorithms, we present a novel
                 linear-time schedulability test and give a proof based
                 on a resource augmentation technique. Then, we propose
                 a task placement and relocation scheme utilizing
                 partial device reconfiguration. This scheme allows us
                 to extend the schedulability test to include
                 reconfiguration time overheads. Experiments with
                 synthetic workloads compare the scheduling test with
                 the actual scheduling performance of EDF-First-k-Fit
                 and EDF-Next-Fit. The main evaluation result is that
                 the reconfiguration overhead is acceptable if the task
                 computation times are one order of magnitude higher
                 than the device reconfiguration time.",
  acknowledgement = ack-nhfb,
  keywords =     "FPGA; periodic tasks; real-time; reconfigurable
                 hardware; scheduling",
}

@Article{Sandberg:2006:FWF,
  author =       "Christer Sandberg and Andreas Ermedahl and Jan
                 Gustafsson and Bj{\"o}rn Lisper",
  title =        "Faster {WCET} flow analysis by program slicing",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "103--112",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134666",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Static Worst-Case Execution Time (WCET) analysis is a
                 technique to derive upper bounds for the execution
                 times of programs. Such bounds are crucial when
                 designing and verifying real-time systems. WCET
                 analysis needs a program flow analysis to derive
                 constraints on the possible execution paths of the
                 analysed program, like iteration bounds for loops and
                 dependences between conditionals. Current WCET analysis
                 tools typically obtain flow information through manual
                 annotations. Better support for automatic flow analysis
                 would eliminate much of the need for this laborious
                 work. However, to automatically derive high-quality
                 flow information is hard, and solution techniques with
                 large time and space complexity are often required. In
                 this paper we describe how to use program slicing to
                 reduce the computational need of flow analysis methods.
                 The slicing identifies statements and variables which
                 are guaranteed not to influence the program flow. When
                 these are removed, the calculation time of our
                 different flow analyses decreases, in some cases
                 considerably. We also show how program slicing can be
                 used to identify the input variables and globals that
                 control the outcome of a particular loop or
                 conditional. This should be valuable aid when
                 performing WCET analysis and systematic testing of
                 large and complex real-time programs.",
  acknowledgement = ack-nhfb,
  keywords =     "hard real time; worst-case execution time analysis",
}

@Article{Prochnow:2006:SSS,
  author =       "Steffen Prochnow and Claus Traulsen and Reinhard von
                 Hanxleden",
  title =        "Synthesizing safe state machines from {Esterel}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "113--124",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134667",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Esterel and Safe State Machines (SSMs) are synchronous
                 languages dedicated to the modeling of embedded
                 reactive systems. While Esterel is a textual language,
                 SSMs are based on the graphical Statecharts formalism.
                 Statecharts are often more intuitive to understand than
                 their textual counterpart, and their animated
                 simulation can help to visualize subtle behaviors of a
                 program. However, in terms of editing speed, revision
                 management, and meta-modeling, the textual nature of
                 Esterel is advantageous. We present an approach to
                 transform Esterel v5 programs into equivalent SSMs.
                 This permits a design flow where the designer develops
                 a system at the Esterel level, but uses a graphical
                 browser and simulator to inspect and validate the
                 system under development. We synthesize SSMs in two
                 phases. The first phase transforms an Esterel program
                 into an equivalent SSM, using a structural translation
                 that results in correct, but typically not very compact
                 SSMs. The second phase iteratively applies optimization
                 rules that aim to reduce the number of states,
                 transitions and hierarchy levels to enhance readability
                 of the SSM. As it turned out, this optimization is also
                 useful for the traditional, manual design of SSMs. The
                 complete transformation has been implemented in a
                 prototypical modeling environment, which allows to
                 demonstrate the practicality of this approach and the
                 compactness of the generated SSMs.",
  acknowledgement = ack-nhfb,
  keywords =     "Esterel; reactive systems; safe state machines;
                 Statecharts; SyncCharts; textual/graphical languages",
}

@Article{Edwards:2006:ECG,
  author =       "Stephen A. Edwards and Olivier Tardieu",
  title =        "Efficient code generation from {SHIM} models",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "125--134",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134669",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Programming concurrent systems is substantially more
                 difficult than programming sequential systems, yet most
                 embedded systems need concurrency. We believe this
                 should be addressed through higher-level models of
                 concurrency that eliminate many of the usual
                 challenges, such as nondeterminism arising from races.
                 The shim model of computation provides deterministic
                 concurrency, and there already exist ways of
                 implementing it in hardware and software. In this work,
                 we describe how to produce more efficient C code from
                 shim systems. We propose two techniques: a largely
                 mechanical one that produces tail-recursive code for
                 simulating concurrency, and a more clever one that
                 statically analyzes the communication pattern of
                 multiple processes to produce code with far less
                 overhead. Experimentally, we find our tail-recursive
                 technique produces code that runs roughly twice as fast
                 as a baseline; our statically-scheduled code can run up
                 to twelve times faster.",
  acknowledgement = ack-nhfb,
  keywords =     "code synthesis; computed gotos; concurrency; embedded
                 systems; the shim model",
}

@Article{Rothamel:2006:GOC,
  author =       "Tom Rothamel and Yanhong A. Liu and Constance L.
                 Heitmeyer and Elizabeth I. Leonard",
  title =        "Generating optimized code from {SCR} specifications",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "135--144",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134670",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A promising trend in software development is the
                 increasing adoption of model-driven design. In this
                 approach, a developer first constructs an abstract
                 model of the required program behavior in a language,
                 such as Statecharts or Stateflow, and then uses a code
                 generator to automatically transform the model into an
                 executable program. This approach has many
                 advantages---typically, a model is not only more
                 concise than code and hence more understandable, it is
                 also more amenable to mechanized analysis. Moreover,
                 automatic generation of code from a model usually
                 produces code with fewer errors than hand-crafted code.
                 One serious problem, however, is that a code generator
                 may produce inefficient code. To address this problem,
                 this paper describes a method for generating efficient
                 code from SCR (Software Cost Reduction) specifications.
                 While the SCR tabular notation and tools have been used
                 successfully to specify, simulate, and verify numerous
                 embedded systems, until now SCR has lacked an automated
                 method for generating optimized code. This paper
                 describes an efficient method for automatic code
                 generation from SCR specifications, together with an
                 implementation and an experimental evaluation. The
                 method first synthesizes an execution-flow graph from
                 the specification, then applies three optimizations to
                 the graph, namely, input slicing, simplification, and
                 output slicing, and then automatically generates code
                 from the optimized graph. Experiments on seven
                 benchmarks demonstrate that the method produces
                 significant performance improvements in code generated
                 from large specifications. Moreover, code generation is
                 relatively fast, and the code produced is relatively
                 compact.",
  acknowledgement = ack-nhfb,
  keywords =     "code generation; code synthesis; formal
                 specifications; optimization; requirements
                 specifications; SCR",
}

@Article{Farfeleder:2006:ECG,
  author =       "Stefan Farfeleder and Andreas Krall and Edwin Steiner
                 and Florian Brandner",
  title =        "Effective compiler generation by architecture
                 description",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "145--152",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134671",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Embedded systems have an extremely short time to
                 market and therefore require easily retargetable
                 compilers. Architecture description languages (ADLs)
                 provide a single concise architecture specification for
                 the generation of hardware, instruction set simulators
                 and compilers. In this article, we present an ADL for
                 compiler generation. From a specification, we can
                 derive an optimized tree pattern matching instruction
                 selector, a register allocator and an instruction
                 scheduler. Compared to a hand-crafted back end, the
                 generated compiler produces smaller and faster code.
                 The ADL is rich enough that other tools, such as
                 assemblers, linkers, simulators and documentation, can
                 all be obtained from a single specification.",
  acknowledgement = ack-nhfb,
  keywords =     "architecture description language; code generation;
                 compiler generation",
}

@Article{Chen:2006:PLA,
  author =       "Jian-Jia Chen and Tei-Wei Kuo",
  title =        "Procrastination for leakage-aware rate-monotonic
                 scheduling on a dynamic voltage scaling processor",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "153--162",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134673",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "As the dynamic voltage scaling (DVS) technique
                 provides system engineers the flexibility to trade-off
                 the performance and the energy consumption, DVS has
                 been adopted in many computing systems. However, the
                 longer a job executes, the more energy in the leakage
                 current the device/processor consumes for the job. To
                 reduce the energy consumption resulting from the
                 leakage current, a system might enter the dormant mode.
                 This paper targets energy-efficient rate-monotonic
                 scheduling for periodic real-time tasks on a
                 uniprocessor DVS system with non-negligible leakage
                 power consumption. An on-line simulated scheduling
                 strategy and a virtually blocking time strategy are
                 developed for procrastination scheduling to reduce
                 energy consumption. The proposed algorithms derive a
                 feasible schedule for real-time tasks with worst-case
                 guarantees for any input instance. Experimental results
                 show that our proposed algorithms could derive
                 energy-efficient solutions.",
  acknowledgement = ack-nhfb,
  keywords =     "dynamic voltage scaling; energy-aware systems;
                 fixed-priority scheduling; leakage-aware scheduling;
                 rate-monotonic scheduling; scheduling",
}

@Article{Mutyam:2006:CDT,
  author =       "Madhu Mutyam and Feihui Li and Vijaykrishnan Narayanan
                 and Mahmut Kandemir and Mary Jane Irwin",
  title =        "Compiler-directed thermal management for {VLIW}
                 functional units",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "163--172",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134674",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "As processors, memories, and other components of
                 today's embedded systems are pushed to higher
                 performance in more enclosed spaces, processor thermal
                 management is quickly becoming a limiting design
                 factor. While previous proposals mostly approached this
                 thermal management problem from circuit and
                 architecture angles, software can also play an
                 important role in identifying and eliminating thermal
                 hotspots as it is the main factor that shapes the order
                 and frequency of accesses to different hardware
                 components in the chip. This is particularly true for
                 compiler-scheduled Very Long Instruction Word (VLIW)
                 datapath. In this paper, we focus on a compiler-based
                 approach to make the thermal profile more balanced in
                 the integer functional units of VLIW architectures. For
                 balanced thermal behavior and peak temperature
                 minimization, we propose techniques based on load
                 balancing across the integer functional units with or
                 without rotation of functional unit usage. As leakage
                 power is exponentially dependent on temperature and
                 temperature is dependent on total power (i.e.,
                 switching and leakage), in our techniques, we also
                 consider leakage power optimization by IPC tuning
                 (instructions issued per cycle). By taking a code that
                 is already scheduled for maximum performance as input,
                 our scheduling strategies modify this
                 performance-oriented schedule for balanced thermal
                 behavior with negligible performance degradation. We
                 simulate our scheduling strategies using a framework
                 that consists of the Trimaran infrastructure, a power
                 model, and the HotSpot. Our experimental results using
                 several benchmark programs reveal that the peak
                 temperature can be reduced through compiler
                 scheduling.",
  acknowledgement = ack-nhfb,
  keywords =     "IPC; thermal; VLIW",
}

@Article{Park:2006:BAI,
  author =       "Sanghyun Park and Aviral Shrivastava and Nikil Dutt
                 and Alex Nicolau and Yunheung Paek and Eugene Earlie",
  title =        "Bypass aware instruction scheduling for register file
                 power reduction",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "173--181",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159974.1134675",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Since register files suffer from some of the highest
                 power densities within processors, designers have
                 investigated several architectural strategies for
                 register file power reduction, including 'On Demand RF
                 Read' where the register file is read only if the
                 operand value is not available from the bypasses.
                 However, we show in this paper that significant
                 additional reductions in the register file power
                 consumption can be obtained by scheduling instructions
                 so that they transfer the operands via bypasses, rather
                 than reading from the register file. Such instruction
                 scheduling requires the compiler to be cognizant of the
                 bypasses in the processor pipeline. In this paper, we
                 develop several bypass aware instruction scheduling
                 heuristics varying in time complexity, and study their
                 effectiveness on the Intel XScale processor pipeline
                 running MiBench benchmarks. Our experimental results
                 show additional power consumption reductions of up to
                 26\% and on average 12\% over and above the register
                 file power reduction achieved through existing
                 techniques.",
  acknowledgement = ack-nhfb,
  keywords =     "architecture-sensitive compiler; bypass-sensitive;
                 forwarding paths; operation table; power consumption;
                 processor bypasses; register file; reservation table",
}

@Article{Yan:2006:ADE,
  author =       "Leipo Yan and Thambipillai Srikanthan and Niu Gang",
  title =        "Area and delay estimation for {FPGA} implementation of
                 coarse-grained reconfigurable architectures",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "182--188",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134677",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Reconfigurable architecture is one solution to the
                 increasing computational requirement that often cannot
                 be met by the low-end embedded processors. Compiling
                 applications to such architectures involves
                 hardware/software partitioning. To partition the
                 applications, a set of parameters, such as the hardware
                 execution time and hardware area consumption, is
                 required for each application block. Quick derivation
                 of the parameters for all the blocks is essential.
                 Previous research has shown that the coarse-grained
                 reconfigurable architectures are able to accelerate the
                 applications. However, no research effort has been made
                 to find the area and time for application blocks
                 implemented on such architectures. In this paper we
                 present an estimation model for the coarse-grained
                 reconfigurable architectures implemented on FPGA
                 platforms. The estimation model is able to quickly
                 produce an area-time graph, which shows the area and
                 time relationship, for each application block. The
                 accuracy of the estimation model has been verified on
                 real applications. Experiment shows that the estimation
                 error for the area consumption is within 13\% and the
                 estimation error for the time is within 8\%.",
  acknowledgement = ack-nhfb,
  keywords =     "area estimation; CGRA; delay estimation;
                 hardware/software partitioning; VLIW",
}

@Article{Pandey:2006:BCB,
  author =       "Raju Pandey and Jeffrey Wu",
  title =        "{BOTS}: a constraint-based component system for
                 synthesizing scalable software systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "189--198",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134678",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Embedded application developers create applications
                 for a wide range of devices with different resource
                 constraints. Developers want to maximize the use of the
                 limited resources available on the device while still
                 not exceeding the capabilities of the device. To do
                 this, the developer must be able to scale his software
                 for different platforms. In this paper, we present a
                 software engineering methodology that automatically
                 scales software to different platforms. We intend to
                 have the application developer write high level
                 functional specifications of his software and have
                 tools that automatically scale the underlying runtime.
                 These tools will use the functional and non-functional
                 constraints of both the hardware and client application
                 to produce an appropriate runtime. Our initial results
                 show that the proposed approach can scale operating
                 systems and virtual machines that satisfy the
                 constraints of varying hardware/application
                 combinations.",
  acknowledgement = ack-nhfb,
  keywords =     "components; constraints; embedded systems; generative
                 programming; runtime systems; wireless sensor
                 networks",
}

@Article{Zhang:2006:OCS,
  author =       "Weihua Zhang and Xinglong Qian and Ye Wang and Binyu
                 Zang and Chuanqi Zhu",
  title =        "Optimizing compiler for shared-memory multiple {SIMD}
                 architecture",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "7",
  pages =        "199--208",
  month =        jul,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1134650.1134679",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:44:55 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "With the rapid growth of multimedia and game, these
                 applications put more and more pressure on the
                 processing ability of modern processors. Multiple SIMD
                 architecture is widely used in multimedia processing
                 field as a multimedia accelerator. With the
                 consideration of power consumption and chip size,
                 shared memory multiple SIMD architecture is mainly used
                 in embedded SOCs. In order to further fit mobile
                 environment, there is the constraint of limited
                 register number as well. Although shared memory
                 multiple SIMD architecture simplify the chip design,
                 these constraints are the major obstacles to map the
                 real multimedia applications to these architectures.
                 Until now, to our best knowledge, there is little
                 research on the optimizing techniques for shared memory
                 multiple SIMD architecture. In this paper, we present a
                 compiler framework, which aims at automatically
                 generating high performance codes for shared memory
                 multiple SIMD architecture. In this framework, we
                 reduce the competition of shared data bus through
                 increasing the register locality, improve the
                 utilization of data bus by read-only data vector
                 replication and solve the problem of limited register
                 number through a resource allocation algorithm. The
                 framework also handlers the issues concerning on data
                 transformation. As the experimental results shown, this
                 framework is successful in mapping real multimedia
                 applications to shared memory multiple SIMD
                 architecture. It leads to an average speedup by a
                 factor of 3.19 and an average utilization of SM-SIMD
                 architecture with 8 SIMD units by a factor of 52.6\%.",
  acknowledgement = ack-nhfb,
  keywords =     "locality; multiple SIMD; optimization; replication;
                 shared memory",
}

@Article{Findler:2006:SFP,
  author =       "Robert Bruce Findler",
  title =        "Scheme and {Functional Programming} 2006: paper
                 abstracts",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "8",
  pages =        "6--9",
  month =        aug,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1163566.1163568",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:06 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The Scheme and Functional Programming workshop will be
                 held in Portland, OR on September 17th 2006, in
                 conjunction with ICFP. The purpose of the workshop is
                 to discuss experience with and future developments of
                 the Scheme programming language, as well as general
                 aspects of computer science loosely centered on the
                 general theme of Scheme. Come to hear Manuel Serrano
                 talk about HOP, his new language for programming the
                 web, a status report from the R6RS editors, and
                 presentations of the work below. I look forward to
                 seeing you in Portland!",
  acknowledgement = ack-nhfb,
}

@Article{Frenger:2006:BRD,
  author =       "Paul Frenger",
  title =        "Book review: {Designing Embedded Hardware}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "8",
  pages =        "10--14",
  month =        aug,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1163566.1163570",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:06 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "My last column finished up a two-part retrospective to
                 recap the first ten years of ACM Sigplan Notices Forth
                 Report. If you have access to back issues of Sigplan or
                 ACM Portal, you must have enjoyed the review that much
                 more. I hope so.",
  acknowledgement = ack-nhfb,
}

@Article{Denckla:2006:MCB,
  author =       "Ben Denckla",
  title =        "Many cyclic block diagrams do not need parallel
                 semantics",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "8",
  pages =        "16--20",
  month =        aug,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1163566.1163572",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:06 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Some cyclic block diagrams need parallel semantics:
                 they are syntactically invalid or semantically
                 nonterminating in any block diagram language with
                 sequential semantics. Yet, many cyclic block diagrams
                 do not need parallel semantics: they behave the same in
                 a block diagram language with non-strict sequential
                 semantics. We show that a block diagram used to
                 motivate the parallel semantics of the Ptolemy SR
                 domain behaves the same in BdHas, a block diagram
                 language with non-strict sequential semantics. BdHas is
                 implemented as syntactic sugar on top of Haskell.",
  acknowledgement = ack-nhfb,
  keywords =     "block diagrams; Esterel; Haskell; Ptolemy; semantics",
}

@Article{Das:2006:OSO,
  author =       "Dibyendu Das",
  title =        "Optimizing subroutines with optional parameters in
                 {F90} via function cloning",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "8",
  pages =        "21--28",
  month =        aug,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1163566.1163573",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:06 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Optional parameters are a feature of Fortran90. The
                 objective of this feature is to allow the F90
                 programmer to declare a subroutine using a number of
                 arguments and specify a subset of these parameters as
                 optional, which in turn, allows the programmer to omit
                 any of these optional parameters during invocation of
                 the subroutine. The body of such a subroutine uses an
                 F90 intrinsic function called present(), to test
                 whether an optional parameter has meaningful values at
                 run-time. The optional parameter can be written/read if
                 and only if present() returns a true value. In this
                 work, we describe a mechanism by which such subroutines
                 which use optional parameters can be efficiently
                 optimized using function cloning or specialization.
                 Function Cloning is a well-known optimization technique
                 that creates multiple copies of a function f(), in
                 order to exploit better optimization opportunities. We
                 will show how cloning/specialization can be utilized
                 such that all calls to present() can be totally
                 eliminated in the body of such subroutines. Cloning
                 will also result in optimization opportunities not
                 exploitable in the original source.",
  acknowledgement = ack-nhfb,
  keywords =     "compilers",
}

@Article{Chen:2006:ICT,
  author =       "Fuh-Gwo Chen and Ting-Wei Hou",
  title =        "Instruction-coated translation: an approach to
                 restructure directly threaded interpreters with low
                 cohesion",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "8",
  pages =        "29--33",
  month =        aug,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1163566.1163574",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:06 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A directly threaded interpreter is used to speedup the
                 virtual instruction dispatch. It is composed of
                 translation and interpretation functions. It has low
                 cohesion naturally due to the use of 'label as value'.
                 This paper presents a restructuring method to envelop
                 the translation function as a new virtual instruction
                 to make the directly threaded interpreter have a single
                 interpreting task and have high cohesion. The reformed
                 translation is named as the instruction-coated
                 translation, a term similar to sugar-coated tablet.",
  acknowledgement = ack-nhfb,
  keywords =     "module cohesion; software architecture and
                 restructuring; threaded interpreter",
}

@Article{Velazquez-Iturbide:2006:PDL,
  author =       "J. {\'A}ngel Vel{\'a}zquez-Iturbide",
  title =        "Principled design of logical fisheye views of
                 functional expressions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "8",
  pages =        "34--43",
  month =        aug,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1163566.1163575",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:06 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We face the problem of simplifying automatically the
                 visualization of expressions in an eager functional
                 language. The problem is relevant for debugging in a
                 programming environment, based on a rewriting model of
                 expression evaluation that displays large intermediate
                 expressions. The simplification technique must filter
                 automatically the parts of an expression which are not
                 interesting for debugging/understanding. We propose the
                 use of logical fisheye views because they provide a
                 balance between showing global context and local
                 information (focus). A straightforward implementation
                 of fisheye views displays too simplified expressions.
                 In the article, we identify five design requirements
                 and describe how they are satisfied. We also include
                 several examples, a discussion and related work.",
  acknowledgement = ack-nhfb,
  keywords =     "expressions; fisheye views; focus+context; functional
                 programming; program visualization",
}

@Article{Dybvig:2006:DCS,
  author =       "R. Kent Dybvig",
  title =        "The development of {Chez Scheme}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "1--12",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159805",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Chez Scheme is now over 20 years old, the first
                 version having been released in 1985. This paper takes
                 a brief look back on the history of Chez Scheme's
                 development to explore how and why it became the system
                 it is today.",
  acknowledgement = ack-nhfb,
  keywords =     "chez scheme; scheme implementation",
}

@Article{Might:2006:IFA,
  author =       "Matthew Might and Olin Shivers",
  title =        "Improving flow analyses via {$\Gamma$CFA}: abstract
                 garbage collection and counting",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "13--25",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159807",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present two independent and complementary
                 improvements for flow-based analysis of higher-order
                 languages: (1) abstract garbage collection and (2)
                 abstract counting, collectively titled $\Gamma$CFA.
                 Abstract garbage collection is an analog to its
                 concrete counterpart: we determine when an abstract
                 resource has become unreachable, and then reallocate it
                 as fresh. This prevents flow sets from merging in the
                 abstract, which has two immediate effects: (1) the
                 precision of the analysis is increased, and (2) the
                 running time of the analysis is frequently reduced. In
                 some nontrivial cases, we achieve an order of magnitude
                 improvement in precision and time simultaneously .In
                 abstract counting, we track how many times an abstract
                 resource has been allocated. A count of one implies
                 that the abstract resource momentarily represents only
                 one concrete resource. This, in turn, allows us to
                 perform environment analysis and to expand the kinds
                 (rather than just the degree) of optimizations
                 available to the compiler.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract counting; abstract garbage collection;
                 continuations; CPS; environment analysis; flow
                 analysis; functional languages; gamma-CFA; inlining;
                 lambda calculus; program analysis; superbeta",
}

@Article{Kiselyov:2006:DDB,
  author =       "Oleg Kiselyov and Chung-chieh Shan and Amr Sabry",
  title =        "Delimited dynamic binding",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "26--37",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159808",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Dynamic binding and delimited control are useful
                 together in many settings, including Web applications,
                 database cursors, and mobile code. We examine this pair
                 of language features to show that the semantics of
                 their interaction is ill-defined yet not expressive
                 enough for these uses. We solve this open and subtle
                 problem. We formalise a typed language DB+DC that
                 combines a calculus DB of dynamic binding and a
                 calculus DC of delimited control. We argue from
                 theoretical and practical points of view that its
                 semantics should be based on delimited dynamic binding:
                 capturing a delimited continuation closes over part of
                 the dynamic environment, rather than all or none of it;
                 reinstating the captured continuation supplements the
                 dynamic environment, rather than replacing or
                 inheriting it. We introduce a type- and
                 reduction-preserving translation from DB + DC to DC,
                 which proves that delimited control macro-expresses
                 dynamic binding. We use this translation to implement
                 DB+DC in Scheme, OCaml, and Haskell. We extend DB + DC
                 with mutable dynamic variables and a facility to obtain
                 not only the latest binding of a dynamic variable but
                 also older bindings. This facility provides for stack
                 inspection and (more generally) folding over the
                 execution context as an inductive data structure.",
  acknowledgement = ack-nhfb,
  keywords =     "delimited continuations; dynamic binding; monads",
}

@Article{Walker:2006:STF,
  author =       "David Walker and Lester Mackey and Jay Ligatti and
                 George A. Reis and David I. August",
  title =        "Static typing for a faulty lambda calculus",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "38--49",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159809",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A transient hardware fault occurs when an energetic
                 particle strikes a transistor, causing it to change
                 state. These faults do not cause permanent damage, but
                 may result in incorrect program execution by altering
                 signal transfers or stored values. While the likelihood
                 that such transient faults will cause any significant
                 damage may seem remote, over the last several years
                 transient faults have caused costly failures in
                 high-end machines at America Online, eBay, and the Los
                 Alamos Neutron Science Center, among others [6, 44,
                 15]. Because susceptibility to transient faults is
                 proportional to the size and density of transistors,
                 the problem of transient faults will become
                 increasingly important in the coming decades. This
                 paper defines the first formal, type-theoretic
                 framework for studying reliable computation in the
                 presence of transient faults. More specifically, it
                 defines \lambda zap, a lambda calculus that exhibits
                 intermittent data faults. In order to detect and
                 recover from these faults, \lambda zap programs
                 replicate intermediate computations and use majority
                 voting, thereby modeling software-based fault tolerance
                 techniques studied extensively, but informally [10, 20,
                 30, 31, 32, 33, 41]. To ensure that programs maintain
                 the proper invariants and use \lambda zap primitives
                 correctly, the paper defines a type system for the
                 language. This type system guarantees that well-typed
                 programs can tolerate any single data fault. To
                 demonstrate that \lambda zap can serve as an idealized
                 typed intermediate language, we define a
                 type-preserving translation from a standard
                 simply-typed lambda calculus into \lambda zap.",
  acknowledgement = ack-nhfb,
  keywords =     "fault tolerance; lambda calculus; reliable computing;
                 soft faults; transient hardware faults; typed
                 intermediate languages; type systems",
}

@Article{Jones:2006:SUB,
  author =       "Simon Peyton Jones and Dimitrios Vytiniotis and
                 Stephanie Weirich and Geoffrey Washburn",
  title =        "Simple unification-based type inference for {GADTs}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "50--61",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159811",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Generalized algebraic data types (GADTs), sometimes
                 known as 'guarded recursive data types' or 'first-class
                 phantom types', are a simple but powerful
                 generalization of the data types of Haskell and ML.
                 Recent works have given compelling examples of the
                 utility of GADTs, although type inference is known to
                 be difficult. Our contribution is to show how to
                 exploit programmer-supplied type annotations to make
                 the type inference task almost embarrassingly easy. Our
                 main technical innovation is wobbly types, which
                 express in a declarative way the uncertainty caused by
                 the incremental nature of typical type-inference
                 algorithms.",
  acknowledgement = ack-nhfb,
  keywords =     "generalized algebraic data types; type inference",
}

@Article{Nanevski:2006:PSH,
  author =       "Aleksandar Nanevski and Greg Morrisett and Lars
                 Birkedal",
  title =        "Polymorphism and separation in {Hoare} type theory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "62--73",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159812",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In previous work, we proposed a Hoare Type Theory
                 (HTT) which combines effectful higher-order functions,
                 dependent types and Hoare Logic specifications into a
                 unified framework. However, the framework did not
                 support polymorphism, and failed to provide a modular
                 treatment of state in specifications. In this paper, we
                 address these shortcomings by showing that the addition
                 of polymorphism alone is sufficient for capturing
                 modular state specifications in the style of Separation
                 Logic. Furthermore, we argue that polymorphism is an
                 essential ingredient of the extension, as the treatment
                 of higher-order functions requires operations not
                 encodable via the spatial connectives of Separation
                 Logic.",
  acknowledgement = ack-nhfb,
  keywords =     "Hoare logic; separation logic; type theory",
}

@Article{Nakata:2006:RMP,
  author =       "Keiko Nakata and Jacques Garrigue",
  title =        "Recursive modules for programming",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "74--86",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159813",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The ML module system is useful for building
                 large-scale programs. The programmer can factor
                 programs into nested and parameterized modules, and can
                 control abstraction with signatures. Yet ML prohibits
                 recursion between modules. As a result of this
                 constraint, the programmer may have to consolidate
                 conceptually separate components into a single module,
                 intruding on modular programming. Introducing recursive
                 modules is a natural way out of this predicament.
                 Existing proposals, however, vary in expressiveness and
                 verbosity. In this paper, we propose a type system for
                 recursive modules, which can infer their signatures.
                 Opaque signatures can also be given explicitly, to
                 provide type abstraction either inside or outside the
                 recursion. The type system is decidable, and is sound
                 for a call-by-value semantics. We also present a
                 solution to the expression problem, in support of our
                 design choices.",
  acknowledgement = ack-nhfb,
  keywords =     "applicative functors; recursive modules; the
                 expression problem; type inference; type systems",
}

@Article{Owens:2006:SFM,
  author =       "Scott Owens and Matthew Flatt",
  title =        "From structures and functors to modules and units",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "87--98",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159815",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Component programming techniques encourage abstraction
                 and reuse through external linking. Some parts of a
                 program, however, must use concrete, internally
                 specified references, so a pure component system is not
                 a sufficient mechanism for structuring programs. We
                 present the combination of a static, internally-linked
                 module system and a purely abstractive component
                 system. The latter extends our previous model of typed
                 units to properly account for translucency and sharing.
                 We also show how units and modules can express an
                 SML-style system of structures and functors, and we
                 explore the consequences for recursive structures and
                 functors.",
  acknowledgement = ack-nhfb,
  keywords =     "component; functor; module; structure; unit",
}

@Article{Rossberg:2006:MLD,
  author =       "Andreas Rossberg",
  title =        "The missing link: dynamic components for {ML}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "99--110",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159816",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Despite its powerful module system, ML has not yet
                 evolved for the modern world of dynamic and open
                 modular programming, to which more primitive languages
                 have adapted better so far. We present the design and
                 semantics of a simple yet expressive first-class
                 component system for ML. It provides dynamic linking in
                 a type-safe and type-flexible manner, and allows
                 selective execution in sandboxes. The system is defined
                 solely by reduction to higher-order modules plus an
                 extension with simple module-level dynamics, which we
                 call packages. To represent components outside
                 processes we employ generic pickling. We give a module
                 calculus formalising the semantics of packages and
                 pickling.",
  acknowledgement = ack-nhfb,
  keywords =     "components; distributed programming; dynamic linking;
                 dynamic typing; modules; pickling; separate
                 compilation; units",
}

@Article{Fisher:2006:SAS,
  author =       "David Fisher and Olin Shivers",
  title =        "Static analysis for syntax objects",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "111--121",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159817",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We describe an s-expression based syntax-extension
                 framework much like Scheme macros, with a key
                 additional facility: the ability to define static
                 semantics, such as type systems or program analysis,
                 for the new, user-defined forms or embedded languages,
                 thus allowing us to construct 'towers' of language
                 levels. In addition, the static semantics of the
                 languages at two adjacent levels in the tower can be
                 connected, allowing improved reasoning power at a
                 higher (and perhaps more restricted) level to be
                 reflected down to the static semantics of the language
                 level below. We demonstrate our system by designing
                 macros for an assembly language, together with some
                 example static analyses (termination analysis, type
                 inference and control-flow analysis).",
  acknowledgement = ack-nhfb,
  keywords =     "domain-specific languages; extensible programming
                 languages; flow analysis; language towers; lazy
                 delegation; macros; static analysis; type inference",
}

@Article{Shapiro:2006:PPC,
  author =       "Marc Shapiro",
  title =        "Practical proofs of concurrent programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "123--123",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159819",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  keywords =     "assertions; concurrent programming; Hoare logic;
                 program proofs; rely-guarantee",
}

@Article{Donnelly:2006:TE,
  author =       "Kevin Donnelly and Matthew Fluet",
  title =        "Transactional events",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "124--135",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159821",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Concurrent programs require high-level abstractions in
                 order to manage complexity and enable compositional
                 reasoning. In this paper, we introduce a novel
                 concurrency abstraction, dubbed transactional events,
                 which combines first-class synchronous message-passing
                 events with all-or-nothing transactions. This
                 combination enables simple solutions to interesting
                 problems in concurrent programming. For example,
                 guarded synchronous receive can be implemented as an
                 abstract transactional event, whereas in other
                 languages it requires a non-abstract, non-modular
                 protocol. Likewise, three-way rendezvous can also be
                 implemented as an abstract transactional event, which
                 is impossible using first-class events alone. Both
                 solutions are easy to code and easy to reason about.
                 The expressive power of transactional events arises
                 from a sequencing combinator whose semantics enforces
                 an all-or-nothing transactional property --- either
                 both of the constituent events synchronize in sequence
                 or neither of them synchronizes. This sequencing
                 combinator, along with a non-deterministic choice
                 combinator, gives transactional events the
                 compositional structure of a monad-with-plus. We
                 provide a formal semantics for and a preliminary
                 implementation of transactional events.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; first-class events; monads; synchronous
                 message passing; transactions",
}

@Article{Ziarek:2006:SMC,
  author =       "Lukasz Ziarek and Philip Schatz and Suresh
                 Jagannathan",
  title =        "Stabilizers: a modular checkpointing abstraction for
                 concurrent functional programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "136--147",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159822",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Transient faults that arise in large-scale software
                 systems can often be repaired by re-executing the code
                 in which they occur. Ascribing a meaningful semantics
                 for safe re-execution in multi-threaded code is not
                 obvious, however. For a thread to correctly re-execute
                 a region of code, it must ensure that all other threads
                 which have witnessed its unwanted effects within that
                 region are also reverted to a meaningful earlier state.
                 If not done properly, data inconsistencies and other
                 undesirable behavior may result. however, automatically
                 determining what constitutes a consistent global
                 checkpoint is not straightforward since thread
                 interactions are a dynamic property of the program. In
                 this paper, we present a safe and efficient
                 checkpointing mechanism for Concurrent ML (CML) that
                 can be used to recover from transient faults. We
                 introduce a new linguistic abstraction called
                 stabilizers that permits the specification of
                 per-thread monitors and the restoration of globally
                 consistent checkpoints. Safe global states are computed
                 through lightweight monitoring of communication events
                 among threads (e.g. message-passing operations or
                 updates to shared variables). Our experimental results
                 on several realistic, multithreaded, server-style CML
                 applications, including a web server and a windowing
                 toolkit, show that the overheads to use stabilizers are
                 small, and lead us to conclude that they are a viable
                 mechanism for defining safe checkpoints in concurrent
                 functional programs.",
  acknowledgement = ack-nhfb,
  keywords =     "checkpointing; concurrent ML; concurrent programming;
                 error recovery; exception handling; transactions",
}

@Article{Dowse:2006:MDC,
  author =       "Malcolm Dowse and Andrew Butterfield",
  title =        "Modelling deterministic concurrent {I/O}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "148--159",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159823",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The problem of expressing I/O and side effects in
                 functional languages is a well-established one. This
                 paper addresses this problem from a general semantic
                 viewpoint by giving a unified framework for describing
                 shared state, I/O and deterministic concurrency. We
                 develop a modified state transformer which lets us
                 mathematically model the API, then investigate and
                 machine verify some broad conditions under which
                 confluence holds. This semantics is used as the basis
                 for a small deterministic Haskell language extension
                 called CURIO, which enforces determinism using runtime
                 checks. Our confluence condition is first shown to hold
                 for a variety of small components, such as individual
                 shared variables, 1-to-1 communication channels, and
                 I-structures. We then show how models of substantial
                 APIs (like a modification of Haskell's file I/O API
                 which permits inter-process communication) may be
                 constructed from these smaller components using
                 'combinators' in such a way that determinism is always
                 preserved. We describe combinators for product,
                 name-indexing and dynamic allocation, the last of which
                 requires some small extensions to cater for process
                 locality.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; determinism; effects; I/O; monads",
}

@Article{Chlipala:2006:MDC,
  author =       "Adam Chlipala",
  title =        "Modular development of certified program verifiers
                 with a proof assistant",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "160--171",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159825",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "I report on an experience using the Coq proof
                 assistant to develop a program verification tool with a
                 machine-checkable proof of full correctness. The
                 verifier is able to prove memory safety of x86 machine
                 code programs compiled from code that uses algebraic
                 datatypes. The tool's soundness theorem is expressed in
                 terms of the bit-level semantics of x86 programs, so
                 its correctness depends on very few assumptions. I take
                 advantage of Coq's support for programming with
                 dependent types and modules in the structure of my
                 development. The approach is based on developing a
                 library of reusable functors for transforming a
                 verifier at one level of abstraction into a verifier at
                 a lower level. Using this library, it's possible to
                 prototype a verifier based on a new type system with a
                 minimal amount of work, while obtaining a very strong
                 soundness theorem about the final product.",
  acknowledgement = ack-nhfb,
  keywords =     "interactive proof assistants; programming with
                 dependent types; proof-carrying code",
}

@Article{Hickey:2006:MMR,
  author =       "Jason Hickey and Aleksey Nogin and Xin Yu and Alexei
                 Kopylov",
  title =        "Mechanized meta-reasoning using a hybrid {HOAS\slash
                 de Bruijn} representation and reflection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "172--183",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159826",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We investigate the development of a general-purpose
                 framework for mechanized reasoning about the
                 meta-theory of programming languages. In order to
                 provide a standard, uniform account of a programming
                 language, we propose to define it as a logic in a
                 logical framework, using the same mechanisms for
                 definition, reasoning, and automation that are
                 available to other logics. Then, in order to reason
                 about the language's meta-theory, we use reflection to
                 inject the programming language into (usually richer
                 and more expressive) meta-theory. One of the key
                 features of our approach is that structure of the
                 language is preserved when it is reflected, including
                 variables, meta-variables, and binding structure. This
                 allows the structure of proofs to be preserved as well,
                 and there is a one-to-one map from proof steps in the
                 original programming logic to proof steps in the
                 reflected logic. The act of reflecting a language is
                 automated; all definitions, theorems, and proofs are
                 preserved by the transformation and all the key lemmas
                 (such as proof and structural induction) are
                 automatically derived. The principal representation
                 used by the reflected logic is higher-order abstract
                 syntax (HOAS). However, reasoning about terms in HOAS
                 can be awkward in some cases, especially for variables.
                 For this reason, we define a computationally equivalent
                 variable-free de Bruijn representation that is
                 interchangeable with the HOAS in all contexts. The de
                 Bruijn representation inherits the properties of
                 substitution and alpha-equality from the logical
                 framework, and it is not complicated by administrative
                 issues like variable renumbering. We further develop
                 the concepts and principles of proofs, provability, and
                 structural and proof induction. This work is fully
                 implemented in the MetaPRL theorem prover. We
                 illustrate with an application to F",
  acknowledgement = ack-nhfb,
  keywords =     "higher-order abstract syntax; languages with bindings;
                 mechanized reasoning; metaPRL; meta-theory; nuPRL;
                 reflection; type theory",
}

@Article{Rosu:2006:ESC,
  author =       "Grigore Ro{\c{s}}u",
  title =        "Equality of streams is a {$\Pi 0$} over $2$-complete
                 problem",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "184--191",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159827",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper gives a precise characterization for the
                 complexity of the problem of proving equal two streams
                 defined with a finite number of equations: $\Pi$0 over
                 2. Since the $\Pi$ 0 over 2 class includes properly
                 both the reursively enumerable and the corecursively
                 enumerable classes, this result implies that neither
                 the set of pairs of equal streams nor the set of pairs
                 of unequal streams is recursively enumerable.
                 Consequently, one can find no algorithm for determining
                 equality of streams, as well as no algorithm for
                 determining inequality of streams. In particular, there
                 is no complete proof system for equality of streams and
                 no complete system for inequality of streams.",
  acknowledgement = ack-nhfb,
  keywords =     "algebraic specification; infinite structures;
                 streams",
}

@Article{Frisch:2006:OX,
  author =       "Alain Frisch",
  title =        "{OCaml} + {XDuce}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "192--200",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159829",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper presents the core type system and type
                 inference algorithm of OCamlDuce, a merger between
                 OCaml and XDuce. The challenge was to combine two type
                 checkers of very different natures while preserving the
                 best properties of both (principality and automatic
                 type reconstruction on one side; very precise types and
                 implicit subtyping on the other side). Type inference
                 can be described by two successive passes: the first
                 one is an ML-like unification-based algorithm which
                 also extracts data flow constraints about XML values;
                 the second one is an XDuce-like algorithm which
                 computes XML types in a direct way. An optional
                 preprocessing pass, called strengthening, can be added
                 to allow more implicit use of XML subtyping. This pass
                 is also very similar to an ML type checker.",
  acknowledgement = ack-nhfb,
  keywords =     "CDuce; OCaml; regular expression types; type
                 inference; XDuce; XML",
}

@Article{Kawanaka:2006:BBT,
  author =       "Shinya Kawanaka and Haruo Hosoya",
  title =        "{biXid}: a bidirectional transformation language for
                 {XML}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "201--214",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159830",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Often, independent organizations define and advocate
                 different XML formats for a similar purpose and, as a
                 result, application programs need to mutually convert
                 between such formats. Existng XML transformation
                 languages, such as XSLT and XDuce, are unsatisfactory
                 for this purpose since we would have to write, e.g.,
                 two programs for the forward and the backward
                 transformations in case of two formats, incur high
                 developing and maintenance costs. This paper proposes
                 the bidirectional XML transformation language biXid,
                 allowing us to write only one program for both
                 directions of conversion. Our language adopts a common
                 paradigm programming-by-relation, where a program
                 defines a relation over documents and transforms a
                 document to another in a way satisfying this relation.
                 Our contributions here are specific language features
                 for facilitating realistic conversions whose target
                 formats are loosely in parallel but have many
                 discrepancies in details. Concretely, we (1) adopt
                 XDuce-style regular expression patterns for describing
                 and analyzing XML structures, (2) fully permit
                 ambiguity for treating formats that do not have
                 equivalent expressivenesses, and (3) allow non-linear
                 pattern variables for expressing non-trivial
                 transformations that cannot be written only with linear
                 patterns, such as conversion between unordered and
                 ordered data. We further develop an efficient
                 evaluation algorithm for biXid, consisting of the
                 'parsing' phase that transforms the input document to
                 an intermediate 'parse tree' structure and the
                 'unparsing' phase that transforms it to an output
                 document. Both phases use a variant of finite tree
                 automata for performing a one-pass scan on the input or
                 the parse tree by using a standard technique that
                 'maintains the set of all transitable states.' However,
                 the construction of the 'unparsing' phase is
                 challenging since ambiguity causes different ways of
                 consuming the parse tree and thus results in multiple
                 possible outputs that may have different structures. We
                 have implemented a prototype system of biXid and
                 confirmed that it has enough expressiveness and a
                 linear-time performance from experiments with several
                 realistic bidirectional transformations including one
                 between vCard-XML and ContactXML.",
  acknowledgement = ack-nhfb,
  keywords =     "tree automata; XML",
}

@Article{Bird:2006:FYF,
  author =       "Richard S. Bird",
  title =        "Fifteen years of functional pearls",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "215--215",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159832",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In 1991, when the Journal of Functional Programming
                 was inaugurated, the editors, Simon Peyton Jones and
                 Philip Wadler, asked me to contribute a regular column
                 to be called Functional Pearls. The idea was to emulate
                 the very successful series of essays that Jon Bentley
                 had written under the title Programming Pearls in the
                 Communications of the ACM. A possible alternative model
                 for the column was Martin Rem's Small Programming
                 Exercises that appeared regularly in the Science of
                 Computer Programming in the 1980s. In Rem's articles,
                 various programming tasks were posed in one issue, and
                 solved in the subsequent one. It was felt that similar
                 material could be adapted to a functional style, using
                 equational reasoning rather than the Dijkstra-Hoare
                 framework to derive the final product. After all, one
                 reason that functional programming stimulated the
                 interest of many at that time was that it was good for
                 equational reasoning, a slogan captured in Mark Jone's
                 GOFER system (Good For Equational Reasoning). I agreed
                 to the suggestion, but only under the proviso that
                 other contributors to the column should be sought.
                 Counting to the end of the present year, 2006, about 64
                 pearls will have appeared in JFP, of which I have
                 written 14. There are also various pearls that have
                 been presented at ICFP and at MPC (Mathematics of
                 Program Construction). The pearls range in content,
                 from (hopefully) instructive exercises in program
                 calculation --- my own area of interest, to attractive
                 presentations of new functional data structures --- of
                 which Ralf Hinze and Chris Okasaki were the main
                 contributors, as well as interesting algorithms in
                 their own right, such as Runciman's Lazy wheel sieves,
                 and Huet's Zipper .This talk will review a little of
                 the history of Functional Pearls, and tentatively try
                 to suggest what ingredients make a good pearl and how
                 pearls differ from normal research papers. Indeed, my
                 brief from the Program Chair for this talk was
                 expressed as follows: 'Well done Functional Pearls are
                 often the highlight of an ICFP conference, but many of
                 the submitted ones somehow miss the mark, by being too
                 trivial, too complicated, or somehow not quite the
                 elegant solution one hopes for. So it would be
                 interesting to hear about your experiences as to what
                 makes a good one and how to go about creating it.
                 Having accepted this daunting commission, and being
                 mindful of Horace's remark that good advice should be
                 short, I am now busily engaged in finding a pearl that
                 is not too trivial, nor too complicated, and is
                 sufficiently elegant to serve as a decent example, both
                 to illustrate the talk and to provide some technical
                 content.",
  acknowledgement = ack-nhfb,
}

@Article{Bringert:2006:PAC,
  author =       "Bj{\"o}rn Bringert and Aarne Ranta",
  title =        "A pattern for almost compositional functions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "216--226",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159834",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper introduces a pattern for almost
                 compositional functions over recursive data types, and
                 over families of mutually recursive data types. Here
                 'almost compositional' means that for a number of the
                 constructors in the type(s), the result of the function
                 depends only on the constructor and the results of
                 calling the function on the constructor's arguments.
                 The pattern consists of a generic part constructed once
                 for each data type or family of data types, and a
                 task-specific part. The generic part contains the code
                 for the predictable compositional cases, leaving the
                 interesting work to the task-specific part. Examples of
                 the pattern implemented in dependent type theory with
                 inductive families, in Haskell with generalized
                 algebraic data types and rank-2 polymorphism, and in
                 Java using a variant of the Visitor design pattern are
                 given. The relationship to the 'Scrap Your Boilerplate'
                 approach to generic programming, and to general tree
                 types in dependent type theory are also investigated.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract syntax; dependent type theory; Haskell; Java;
                 traversal; visitor pattern",
}

@Article{Katsumata:2006:AFF,
  author =       "Shin-ya Katsumata and Susumu Nishimura",
  title =        "Algebraic fusion of functions with an accumulating
                 parameter and its improvement",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "227--238",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1159803.1159835",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a unifying solution to the problem of
                 fusion of functions, where both the producer function
                 and the consumer function have one accumulating
                 parameter. The key idea in this development is to
                 formulate the producer function as a function which
                 computes over a monoid of data contexts. Upon this
                 formulation, we develop a fusion method called
                 algebraic fusion based on the elementary theory of
                 universal algebra and monoids. The producer function is
                 fused with a monoid homomorphism that is derived from
                 the definition of the consumer function, and is turned
                 into a higher-order function $f$ that computes over the
                 monoid of endofunctions. We then introduce a general
                 concept called improvement, in order to reduce the cost
                 of computing over the monoid of endofunctions (i.e.,
                 function closures). An improvement of the function $f$
                 via a monoid homomorphism $h$ is a function $g$ that
                 satisfies $f = h^\circ g$. This provides a principled
                 way of finding a first-order function representing a
                 solution to the fusion problem. It also presents a
                 clean and unifying account for varying fusion methods
                 that have been proposed so far. Furthermore, we show
                 that our method extends to support partial and infinite
                 data structures, by means of an appropriate monoid
                 structure.",
  acknowledgement = ack-nhfb,
  keywords =     "accumulating parameter; data contexts; higher-order
                 removal; monoids and monoid homomorphisms; partial and
                 infinite data structures; shortcut fusion",
}

@Article{Blume:2006:EPF,
  author =       "Matthias Blume and Umut A. Acar and Wonseok Chae",
  title =        "Extensible programming with first-class cases",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "239--250",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159836",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present language mechanisms for polymorphic,
                 extensible records and their exact dual, polymorphic
                 sums with extensible first-class cases. These features
                 make it possible to easily extend existing code with
                 new cases. In fact, such extensions do not require any
                 changes to code that adheres to a particular
                 programming style. Using that style, individual
                 extensions can be written independently and later be
                 composed to form larger components. These language
                 mechanisms provide a solution to the expression
                 problem. We study the proposed mechanisms in the
                 context of an implicitly typed, purely functional
                 language PolyR. We give a type system for the language
                 and provide rules for a 2-phase transformation: first
                 into an explicitly typed \lambda -calculus with record
                 polymorphism, and finally to efficient index-passing
                 code. The first phase eliminates sums and cases by
                 taking advantage of the duality with records. We
                 implement a version of PolyR extended with imperative
                 features and pattern matching --- we call this language
                 MLPolyR. Programs in MLPolyR require no type
                 annotations --- the implementation employs a
                 reconstruction algorithm to infer all types. The
                 compiler generates machine code (currently for PowerPC)
                 and optimizes the representation of sums by eliminating
                 closures generated by the dual construction.",
  acknowledgement = ack-nhfb,
  keywords =     "duality; first-class cases; records; sums",
}

@Article{Vytiniotis:2006:BTI,
  author =       "Dimitrios Vytiniotis and Stephanie Weirich and Simon
                 Peyton Jones",
  title =        "Boxy types: inference for higher-rank types and
                 impredicativity",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "251--262",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159838",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Languages with rich type systems are beginning to
                 employ a blend of type inference and type checking, so
                 that the type inference engine is guided by
                 programmer-supplied type annotations. In this paper we
                 show, for the first time, how to combine the virtues of
                 two well-established ideas: unification-based
                 inference, and bidirectional propagation of type
                 annotations. The result is a type system that
                 conservatively extends Hindley--Milner, and yet
                 supports both higher-rank types and impredicativity.",
  acknowledgement = ack-nhfb,
  keywords =     "higher-rank types; impredicativity; type inference",
}

@Article{Abadi:2006:ACC,
  author =       "Mart{\'\i}n Abadi",
  title =        "Access control in a core calculus of dependency",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "263--273",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159839",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The Dependency Core Calculus (DCC) is an extension of
                 the computational lambda calculus that was designed in
                 order to capture the notion of dependency that arises
                 in information-flow control, partial evaluation, and
                 other programming-language settings. We show that,
                 unexpectedly, DCC can also be used as a calculus for
                 access control in distributed systems. Initiating the
                 study of DCC from this perspective, we explore some of
                 its appealing properties.",
  acknowledgement = ack-nhfb,
  keywords =     "authorization; types",
}

@Article{Lin:2006:PMO,
  author =       "Chuan-kai Lin",
  title =        "Programming monads operationally with {Unimo}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "274--285",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159840",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Monads are widely used in Haskell for modeling
                 computational effects, but defining monads remains a
                 daunting challenge. Since every part of a monad's
                 definition depends on its computational effects,
                 programmers cannot leverage the common behavior of all
                 monads easily and thus must build from scratch each
                 monad that models a new computational effect. I propose
                 the Unimo framework which allows programmers to define
                 monads and monad transformers in a modular manner.
                 Unimo contains a heavily parameterized observer
                 function which enforces the monad laws, and programmers
                 define a monad by invoking the observer function with
                 arguments that specify the computational effects of the
                 monad. Since Unimo provides the common behavior of all
                 monads in a reusable form, programmers no longer need
                 to rebuild the semantic boilerplate for each monad and
                 can instead focus on the more interesting and rewarding
                 task of modeling the desired computational effects.",
  acknowledgement = ack-nhfb,
  keywords =     "Haskell; monads; monad transformers; Unimo",
}

@Article{Denielou:2006:APS,
  author =       "Pierre-Malo Deni{\'e}lou and James J. Leifer",
  title =        "Abstraction preservation and subtyping in distributed
                 languages",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "9",
  pages =        "286--297",
  month =        sep,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1160074.1159841",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:46:22 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In most programming languages, type abstraction is
                 guaranteed by syntactic scoping in a single program,
                 but is not preserved by marshalling during distributed
                 communication. A solution is to generate hash types at
                 compile time that consist of a fingerprint of the
                 source code implementing the data type. These hash
                 types can be tupled with a marshalled value and
                 compared efficiently at unmarshall time to guarantee
                 abstraction safety. In this paper, we extend a core
                 calculus of ML-like modules, functions, distributed
                 communication, and hash types, to integrate structural
                 subtyping, user-declared subtyping between abstract
                 types, and bounded existential types. Our semantics
                 makes two contributions: (1) the explicit tracking of
                 the interaction between abstraction boundaries and
                 subtyping; (2) support for user-declared module
                 upgrades with propagation of the resulting subhashing
                 relation throughout the network during communication.
                 We prove type preservation, progress, determinacy, and
                 erasure for our system.",
  acknowledgement = ack-nhfb,
  keywords =     "module systems; programming language semantics;
                 serialisation and distributed computation; subtyping;
                 type theory",
}

@Article{Hutchins:2006:EDCa,
  author =       "DeLesley Hutchins",
  title =        "Eliminating distinctions of class: using prototypes to
                 model virtual classes",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "1--20",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167475",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In mainstream OO languages, inheritance can be used to
                 add new methods, or to override existing methods.
                 Virtual classes and feature oriented programming are
                 techniques which extend the mechanism of inheritance so
                 that it is possible to refine nested classes as well.
                 These techniques are attractive for programming in the
                 large, because inheritance becomes a tool for
                 manipulating whole class hierarchies rather than
                 individual classes. Nevertheless, it has proved
                 difficult to design static type systems for virtual
                 classes, because virtual classes introduce dependent
                 types. The compile-time type of an expression may
                 depend on the run-time values of objects in that
                 expression. We present a formal object calculus which
                 implements virtual classes in a type-safe manner. Our
                 type system uses a novel technique based on prototypes,
                 which blur the distinction between compile-time and
                 run-time. At run-time, prototypes act as objects, and
                 they can be used in ordinary computations. At
                 compile-time, they act as types. Prototypes are similar
                 in power to dependent types, and subtyping is shown to
                 be a form of partial evaluation. We prove that
                 prototypes are type-safe but undecidable, and briefly
                 outline a decidable semi-algorithm for dealing with
                 them.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract interpretation; dependent types; features;
                 mixins; partial evaluation; prototypes; singleton
                 types; virtual classes; virtual types",
}

@Article{Nystrom:2006:JNIa,
  author =       "Nathaniel Nystrom and Xin Qi and Andrew C. Myers",
  title =        "{J\&}: nested intersection for scalable software
                 composition",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "21--36",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167476",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper introduces a programming language that
                 makes it convenient to compose large software systems,
                 combining their features in a modular way. J\& supports
                 nested intersection, building on earlier work on nested
                 inheritance in the language Jx. Nested inheritance
                 permits modular, type-safe extension of a package
                 (including nested packages and classes), while
                 preserving existing type relationships. Nested
                 intersection enables composition and extension of two
                 or more packages, combining their types and behavior
                 while resolving conflicts with a relatively small
                 amount of code. The utility of J\& is demonstrated by
                 using it to construct two composable, extensible
                 frameworks: a compiler framework for Java, and a
                 peer-to-peer networking system. Both frameworks support
                 composition of extensions. For example, two compilers
                 adding different, domain-specific features to Java can
                 be composed to obtain a compiler for a language that
                 supports both sets of features.",
  acknowledgement = ack-nhfb,
  keywords =     "compilers; nested inheritance; nested intersection",
}

@Article{Warth:2006:SSOa,
  author =       "Alessandro Warth and Milan Stanojevi{\'c} and Todd
                 Millstein",
  title =        "Statically scoped object adaptation with expanders",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "37--56",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167477",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper introduces the expander, a new
                 object-oriented (OO) programming language construct
                 designed to support object adaptation. Expanders allow
                 existing classes to be noninvasively updated with new
                 methods, fields, and superinterfaces. Each client can
                 customize its view of a class by explicitly importing
                 any number of expanders. This view then applies to all
                 instances of that class, including objects passed to
                 the client from other components. A form of expander
                 overriding allows expanders to interact naturally with
                 OO-style inheritance. We describe the design,
                 implementation, and evaluation of eJava, an extension
                 to Java supporting expanders. We illustrate eJava's
                 syntax and semantics through several examples. The
                 statically scoped nature of expander usage allows for a
                 modular static type system that prevents several
                 important classes of errors. We describe this modular
                 static type system informally, formalize eJava and its
                 type system in an extension to Featherweight Java, and
                 prove a type soundness theorem for the formalization.
                 We also describe a modular compilation strategy for
                 eJava, which we have implemented using the Polyglot
                 extensible compiler framework. Finally, we illustrate
                 the practical benefits of eJava by using this compiler
                 in two experiments.",
  acknowledgement = ack-nhfb,
  keywords =     "expanders; modular typechecking; object adaptation",
}

@Article{Andreae:2006:FIP,
  author =       "Chris Andreae and James Noble and Shane Markstrum and
                 Todd Millstein",
  title =        "A framework for implementing pluggable type systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "57--74",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167479",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:51:58 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Pluggable types have been proposed to support multiple
                 type systems in the same programming language. We have
                 designed and implemented JavaCOP, a program constraint
                 system for implementing practical pluggable type
                 systems for Java. JavaCOP enforces user-defined typing
                 constraints written in a declarative and expressive
                 rule language. We have validated our design by
                 (re)implementing a range of type systems and program
                 checkers. By using a program constraint system to
                 implement pluggable types, programmers are able to
                 check that their programs will operate correctly in
                 restricted environments, adhere to strict programming
                 rules, avoid null pointer errors or scoped memory
                 exceptions, and meet style guidelines, while
                 programming language researchers can easily experiment
                 with novel type systems.",
  acknowledgement = ack-nhfb,
  keywords =     "JavaCOP; pluggable type systems",
}

@Article{Fairbanks:2006:DFMa,
  author =       "George Fairbanks and David Garlan and William
                 Scherlis",
  title =        "Design fragments make using frameworks easier",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "75--88",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167480",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Object oriented frameworks impose additional burdens
                 on programmers that libraries did not, such as
                 requiring the programmer to understand the method
                 callback sequence, respecting behavior constraints
                 within these methods, and devising solutions within a
                 constrained solution space. To overcome these burdens,
                 we express the repeated patterns of engagement with the
                 framework as a design fragment. We analyzed the 20 demo
                 applets provided by Sun and created a representative
                 catalog of design fragments of conventional best
                 practice. By evaluating 36 applets pulled from the
                 Internet we show that these design fragments are
                 common, many applets copied the structure of the Sun
                 demos, and that creation of a catalog of design
                 fragments is practical. Design fragments give
                 programmers immediate benefit through tool-based
                 conformance assurance and long-term benefit through
                 expression of design intent.",
  acknowledgement = ack-nhfb,
  keywords =     "design fragments; frameworks; object-oriented
                 programming; patterns",
}

@Article{Cohen:2006:JJTa,
  author =       "Tal Cohen and Joseph (Yossi) Gil and Itay Maman",
  title =        "{JTL}: the {Java} tools language",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "89--108",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167481",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present an overview of JTL (the Java Tools
                 Language, pronounced 'Gee-tel'), a novel language for
                 querying JAVA [8] programs. JTL was designed to serve
                 the development of source code software tools for JAVA,
                 and as a small language which to aid programming
                 language extensions to JAVA. Applications include
                 definition of pointcuts for aspect-oriented
                 programming, fixing type constraints for generic
                 programming, specification of encapsulation policies,
                 definition of micro-patterns, etc. We argue that the
                 JTL expression of each of these is systematic, concise,
                 intuitive and general. JTL relies on a simply-typed
                 relational database for program representation, rather
                 than an abstract syntax tree. The underlying semantics
                 of the language is restricted to queries formulated in
                 First Order Predicate Logic augmented with transitive
                 closure (FOPL). Special effort was taken to ensure
                 terse, yet readable expression of logical conditions.
                 The JTL pattern public abstract class, for example,
                 matches all abstract classes which are publicly
                 accessible, while class (public clone();) matches all
                 classes in which method clone is public. To this end,
                 JTL relies on a DATALOG-like syntax and semantics,
                 enriched with quantifiers and pattern matching which
                 all but entirely eliminate the need for recursive
                 calls. JTL's query analyzer gives special attention to
                 the fragility of the 'closed world assumption' in
                 examining JAVA software, and determines whether a query
                 relies on such an assumption. The performance of the
                 JTL interpreter is comparable to that of JQuery after
                 it generated its database cache, and at least an order
                 of magnitude faster when the cache has to be rebuilt.",
  acknowledgement = ack-nhfb,
  keywords =     "declarative programming; reverse engineering",
}

@Article{Bockisch:2006:AVMa,
  author =       "Christoph Bockisch and Matthew Arnold and Tom
                 Dinkelaker and Mira Mezini",
  title =        "Adapting virtual machine techniques for seamless
                 aspect support",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "109--124",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167483",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Current approaches to compiling aspect-oriented
                 programs are inefficient. This inefficiency has
                 negative effects on the productivity of the development
                 process and is especially prohibitive for dynamic
                 aspect deployment. In this work, we present how
                 well-known virtual machine techniques can be used with
                 only slight modifications to support fast aspect
                 deployment while retaining runtime performance. Our
                 implementation accelerates dynamic aspect deployment by
                 several orders of magnitude relative to mainstream
                 aspect-oriented environments. We also provide a
                 detailed comparison of alternative implementations of
                 execution environments with support for dynamic aspect
                 deployment.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented programming; aspect weaving; dynamic
                 deployment; envelope-based weaving; virtual machine
                 support",
}

@Article{Bockisch:2006:ECFa,
  author =       "Christoph Bockisch and Sebastian Kanthak and Michael
                 Haupt and Matthew Arnold and Mira Mezini",
  title =        "Efficient control flow quantification",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "125--138",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167484",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Aspect-oriented programming (AOP) is increasingly
                 gaining in popularity. However, the focus of
                 aspect-oriented language research has been mostly on
                 language design issues; efficient implementation
                 techniques have been less popular. As a result, the
                 performance of certain AOP constructs is still poor.
                 This is in particular true for constructs that rely on
                 dynamic properties of the execution (e.g., the cflow
                 construct). In this paper, we present efficient
                 implementation techniques for cflow that exploit direct
                 access to internal structures of the virtual machine
                 running an application, such as the call stack, as well
                 as the integration of these techniques into the
                 just-in-time compiler code generation process. Our
                 results show that AOP has the potential to make
                 programs that need to define control flow-dependent
                 behavior not only more modular but also more efficient.
                 By making means for control flow-dependent behavior
                 part of the language, AOP opens the possibility of
                 applying sophisticated compiler optimizations that are
                 out of reach for application programmers.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented programming; control flow; virtual
                 machine support",
}

@Article{Eugster:2006:UPJa,
  author =       "Patrick Eugster",
  title =        "Uniform proxies for {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "139--152",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167485",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The proxy abstraction has a longlasting tradition in
                 object settings. From design pattern to inherent
                 language support, from remote method invocations to
                 simple forms of behavioral reflection --- incarnations
                 as well as applications of proxies are innumerable.
                 Since version 1.3, Java supports the concept of dynamic
                 proxy. Such an object conforms to a set of types
                 specified by the program and can be used wherever an
                 expression of any of these types is expected, yet
                 reifies invocations performed on it. Dynamic proxies
                 have been applied to implement paradigms as diverse as
                 behavioral reflection, structural conformance, or
                 multi-methods. Alas, these proxies are only available
                 'for interfaces'. The case of creating dynamic proxies
                 for a set of types including a class type has not been
                 considered, meaning that it is currently not possible
                 to create a dynamic proxy mimicking an instance of a
                 given class. This weakness strongly limits any
                 application of dynamic proxies. In this paper we unfold
                 the current support for dynamic proxies in Java,
                 assessing it in the light of a set of generic criteria
                 for proxy implementations. We present an approach to
                 supporting dynamic proxies 'for classes' in Java,
                 consisting in transformations performed on classes at
                 load-time, including a generic scheme for enforcing
                 encapsulation upon field accesses. These
                 transformations seemlessly extend the scope of the
                 current support for dynamic proxies. We discuss the
                 precise benefits and costs of our extension in terms of
                 the criteria introduced, and illustrate the usefulness
                 of uniformly available proxies by implementing future
                 method invocations both safely and transparently.",
  acknowledgement = ack-nhfb,
  keywords =     "future; Java; proxy; transformation",
}

@Article{Maebe:2006:JSBa,
  author =       "Jonas Maebe and Dries Buytaert and Lieven Eeckhout and
                 Koen De Bosschere",
  title =        "{Javana}: a system for building customized {Java}
                 program analysis tools",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "153--168",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167487",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Understanding the behavior of applications running on
                 high-level language virtual machines, as is the case in
                 Java, is non-trivial because of the tight entanglement
                 at the lowest execution level between the application
                 and the virtual machine. This paper proposes Javana, a
                 system for building Java program analysis tools. Javana
                 provides an easy-to-use instrumentation infrastructure
                 that allows for building customized profiling tools
                 very quickly. Javana runs a dynamic binary
                 instrumentation tool underneath the virtual machine.
                 The virtual machine communicates with the
                 instrumentation layer through an event handling
                 mechanism for building a vertical map that links
                 low-level native instruction pointers and memory
                 addresses to high-level language concepts such as
                 objects, methods, threads, lines of code, etc. The
                 dynamic binary instrumentation tool then intercepts all
                 memory accesses and instructions executed and provides
                 the Javana end user with high-level language
                 information for all memory accesses and natively
                 executed instructions. We demonstrate the power of
                 Javana through a number of applications: memory address
                 tracing, vertical cache simulation and object lifetime
                 computation. For each of these applications, the
                 instrumentation specification requires only a small
                 number of lines of code. Developing similarly powerful
                 profiling tools within a virtual machine (as done in
                 current practice) is both time-consuming and
                 error-prone; in addition, the accuracy of the obtained
                 profiling results might be questionable as we show in
                 this paper.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented instrumentation; customized program
                 analysis tool; Java",
}

@Article{Blackburn:2006:DBJa,
  author =       "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",
  title =        "The {DaCapo} benchmarks: {Java} benchmarking
                 development and analysis",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "169--190",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167488",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Since benchmarks drive computer science research and
                 industry product development, which ones we use and how
                 we evaluate them are key questions for the community.
                 Despite complex runtime tradeoffs due to dynamic
                 compilation and garbage collection required for Java
                 programs, many evaluations still use methodologies
                 developed for C, C++, and Fortran. SPEC, the dominant
                 purveyor of benchmarks, compounded this problem by
                 institutionalizing these methodologies for their Java
                 benchmark suite. This paper recommends benchmarking
                 selection and evaluation methodologies, and introduces
                 the DaCapo benchmarks, a set of open source,
                 client-side Java benchmarks. We demonstrate that the
                 complex interactions of (1) architecture, (2) compiler,
                 (3) virtual machine, (4) memory management, and (5)
                 application require more extensive evaluation than C,
                 C++, and Fortran which stress (4) much less, and do not
                 require \1. We use and introduce new value,
                 time-series, and statistical metrics for static and
                 dynamic properties such as code complexity, code size,
                 heap composition, and pointer mutations. No benchmark
                 suite is definitive, but these metrics show that DaCapo
                 improves over SPEC Java in a variety of ways, including
                 more complex code, richer object behaviors, and more
                 demanding memory system requirements. This paper takes
                 a step towards improving methodologies for choosing and
                 evaluating benchmarks to foster innovation in system
                 design and implementation for Java and other managed
                 languages.",
  acknowledgement = ack-nhfb,
  keywords =     "benchmark; DaCapo; Java; methodology; SPEC",
}

@Article{Titzer:2006:VOHa,
  author =       "Ben L. Titzer",
  title =        "{Virgil}: objects on the head of a pin",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "191--208",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167489",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Embedded microcontrollers are becoming increasingly
                 prolific, serving as the primary or auxiliary processor
                 in products and research systems from microwaves to
                 sensor networks. Microcontrollers represent perhaps the
                 most severely resource-constrained embedded processors,
                 often with as little as a few bytes of memory and a few
                 kilobytes of code space. Language and compiler
                 technology has so far been unable to bring the benefits
                 of modern object-oriented languages to such processors.
                 In this paper, I will present the design and
                 implementation of Virgil, a lightweight object-oriented
                 language designed with careful consideration for
                 resource-limited domains. Virgil explicitly separates
                 initialization time from runtime, allowing an
                 application to build complex data structures during
                 compilation and then run directly on the bare hardware
                 without a virtual machine or any language runtime. This
                 separation allows the entire program heap to be
                 available at compile time and enables three new
                 data-sensitive optimizations: reachable members
                 analysis, reference compression, and ROM-ization.
                 Experimental results demonstrate that Virgil is well
                 suited for writing microcontroller programs, with five
                 demonstrative applications fitting in less than 256
                 bytes of RAM with fewer than 50 bytes of metadata.
                 Further results show that the optimizations presented
                 in this paper reduced code size between 20\% and 80\%
                 and RAM size by as much as 75\%.",
  acknowledgement = ack-nhfb,
  keywords =     "data-sensitive optimization; dead code elimination;
                 embedded systems; heap compression; microcontrollers;
                 multi-stage computation; sensor networks; standalone
                 programs; static analysis; systems software;
                 whole-program compilation",
}

@Article{Bravenboer:2006:DFEa,
  author =       "Martin Bravenboer and {\'E}ric Tanter and Eelco
                 Visser",
  title =        "Declarative, formal, and extensible syntax definition
                 for {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "209--228",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167491",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Aspect-Oriented Programming (AOP) is attracting
                 attention from both research and industry, as
                 illustrated by the ever-growing popularity of AspectJ,
                 the de facto standard AOP extension of Java. From a
                 compiler construction perspective AspectJ is
                 interesting as it is a typical example of compositional
                 language, i.e., a language composed of a number of
                 separate languages with different syntactical styles:
                 in addition to plain Java, AspectJ includes a language
                 for defining pointcuts and one for defining advices.
                 Language composition represents a non-trivial challenge
                 for conventional parsing techniques. First, combining
                 several languages with different lexical syntax leads
                 to considerable complexity in the lexical states to
                 processed. Second, as new language features for AOP are
                 being explored, many research proposals are concerned
                 with further extending the AspectJ language, resulting
                 in a need for an extensible syntax definition. This
                 paper shows how scannerless parsing elegantly addresses
                 the issues encountered by conventional techniques when
                 parsing AspectJ . We present the design of a modular,
                 extensible, and formal definition of the lexical and
                 context-free aspects of the AspectJ syntax in the
                 Syntax Definition Formalism SDF, which is implemented
                 by a scannerless, generalized-LR parser (SGLR). We
                 introduce grammar mixins as a novel application of
                 SDF's modularity features, which allows the declarative
                 definition of different keyword policies and
                 combination of extensions. We illustrate the modular
                 extensibility of our definition with syntax extensions
                 taken from current research on aspect languages.
                 Finally, benchmarks show the reasonable performance of
                 scannerless generalized-LR parsing for this grammar.",
  acknowledgement = ack-nhfb,
  keywords =     "aspectJ; generalized-LR parsing; grammar mixins;
                 lexical syntax; scannerless parsing; syntax definition;
                 syntax extension",
}

@Article{Cavazos:2006:MSDa,
  author =       "John Cavazos and Michael F. P. O'Boyle",
  title =        "Method-specific dynamic compilation using logistic
                 regression",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "229--240",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167492",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Determining the best set of optimizations to apply to
                 a program has been a long standing problem for compiler
                 writers. To reduce the complexity of this task,
                 existing approaches typically apply the same set of
                 optimizations to all procedures within a program,
                 without regard to their particular structure. This
                 paper develops a new method-specific approach that
                 automatically selects the best optimizations on a per
                 method basis within a dynamic compiler. Our approach
                 uses the machine learning technique of logistic
                 regression to automatically derive a predictive model
                 that determines which optimizations to apply based on
                 the features of a method. This technique is implemented
                 in the Jikes RVM Java JIT compiler. Using this approach
                 we reduce the average total execution time of the
                 SPECjvm98 benchmarks by 29\%. When the same heuristic
                 is applied to the DaCapo+ benchmark suite, we obtain an
                 average 33\% reduction over the default level O2
                 setting.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler optimization; Java; Jikes RVM; logistic
                 regression; machine learning",
}

@Article{Ogata:2006:RCIa,
  author =       "Kazunori Ogata and Tamiya Onodera and Kiyokuni
                 Kawachiya and Hideaki Komatsu and Toshio Nakatani",
  title =        "Replay compilation: improving debuggability of a
                 just-in-time compiler",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "241--252",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167493",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The performance of Java has been tremendously improved
                 by the advance of Just-in-Time (JIT) compilation
                 technologies. However, debugging such a dynamic
                 compiler is much harder than a static compiler.
                 Recompiling the problematic method to produce a
                 diagnostic output does not necessarily work as
                 expected, because the compilation of a method depends
                 on runtime information at the time of compilation. In
                 this paper, we propose a new approach, called replay
                 JIT compilation, which can reproduce the same
                 compilation remotely by using two compilers, the
                 state-saving compiler and the replaying compiler. The
                 state-saving compiler is used in a normal run, and,
                 while compiling a method, records into a log all of the
                 input for the compiler. The replaying compiler is then
                 used in a debugging run with the system dump, to
                 recompile a method with the options for diagnostic
                 output. We reduced the overhead to save the input by
                 using the system dump and by categorizing the input
                 based on how its value changes. In our experiment, the
                 increase of the compilation time for saving the input
                 was only 1\%, and the size of the additional memory
                 needed for saving the input was only 10\% of the
                 compiler-generated code.",
  acknowledgement = ack-nhfb,
  keywords =     "debuggability; deterministic replay; dynamic
                 optimization; Java; JIT compiler; problem
                 determination; replay compilation",
}

@Article{Herlihy:2006:FFIa,
  author =       "Maurice Herlihy and Victor Luchangco and Mark Moir",
  title =        "A flexible framework for implementing software
                 transactional memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "253--262",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167495",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We describe DSTM2, a Java{\TM} software library that
                 provides a flexible framework for implementing
                 object-based software transactional memory (STM). The
                 library uses transactional factories to transform
                 sequential (unsynchronized) classes into atomic
                 (transactionally synchronized) ones, providing a
                 substantial improvement over the awkward programming
                 interface of our previous DSTM library. Furthermore,
                 researchers can experiment with alternative STM
                 mechanisms by providing their own factories. We
                 demonstrate this flexibility by presenting two
                 factories: one that uses essentially the same
                 mechanisms as the original DSTM (with some
                 enhancements),and another that uses a completely
                 different approach. Because DSTM2 is packaged as a Java
                 library, a wide range of programmers can easily try it
                 out, and the community can begin to gain experience
                 with transactional programming. Furthermore,
                 researchers will be able to use the body of
                 transactional programs that arises from this community
                 experience to test and evaluate different STM
                 mechanisms simply by supplying new transactional
                 factories. We believe that this flexible approach will
                 help to build consensus about the best ways to
                 implement transactions, and will avoid the premature
                 'lock-in' that may arise if STM mechanisms are baked
                 into compilers before such experimentation is done.",
  acknowledgement = ack-nhfb,
  keywords =     "atomicity; concurrency; Java library; obstruction-free
                 factory; shadow factory; software transactional memory
                 (STM); transactions",
}

@Article{Russell:2006:ESRa,
  author =       "Kenneth Russell and David Detlefs",
  title =        "Eliminating synchronization-related atomic operations
                 with biased locking and bulk rebiasing",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "263--272",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167496",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The Java{\TM} programming language contains built-in
                 synchronization primitives for use in constructing
                 multithreaded programs. Efficient implementation of
                 these synchronization primitives is necessary in order
                 to achieve high performance. Recent research [9, 12,
                 10, 3, 7] has focused on the run-time elimination of
                 the atomic operations required to implement object
                 monitor synchronization primitives. This paper
                 describes a novel technique called store-free biased
                 locking which eliminates all synchronization-related
                 atomic operations on uncontended object monitors. The
                 technique supports the bulk transfer of object
                 ownership from one thread to another, and the selective
                 disabling of the optimization where unprofitable, using
                 epoch-based bulk rebiasing and revocation. It has been
                 implemented in the production version of the Java
                 HotSpot{\TM}VM and has yielded significant performance
                 improvements on a range of benchmarks and applications.
                 The technique is applicable to any virtual
                 machine-based programming language implementation with
                 mostly block-structured locking primitives.",
  acknowledgement = ack-nhfb,
  keywords =     "atomic; bias; Java; lock; monitor; optimization;
                 rebias; reservation; revoke; synchronization",
}

@Article{Chin:2006:FBAa,
  author =       "Wei-Ngan Chin and Florin Craciun and Siau-Cheng Khoo
                 and Corneliu Popeea",
  title =        "A flow-based approach for variant parametric types",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "273--290",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167498",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A promising approach for type-safe generic codes in
                 the object-oriented paradigm is variant parametric
                 type, which allows covariant and contravariant
                 subtyping on fields where appropriate. Previous
                 approaches formalise variant type as a special case of
                 the existential type system. In this paper, we present
                 a new framework based on flow analysis and modular type
                 checking to provide a simple but accurate model for
                 capturing generic types. Our scheme stands to benefit
                 from past (and future) advances in flow analysis and
                 subtyping constraints. Furthermore, it fully supports
                 casting for variant types with a special reflection
                 mechanism, called cast capture, to handle objects with
                 unknown types. We have built a constraint-based type
                 checker and have proven its soundness. We have also
                 successfully annotated a suite of Java libraries and
                 client code with our flow-based variant type system.",
  acknowledgement = ack-nhfb,
  keywords =     "constraints; flow analysis; genericity; subtyping;
                 variant parametric types",
}

@Article{Gregor:2006:CLSa,
  author =       "Douglas Gregor and Jaakko J{\"a}rvi and Jeremy Siek
                 and Bjarne Stroustrup and Gabriel Dos Reis and Andrew
                 Lumsdaine",
  title =        "{Concepts}: linguistic support for generic programming
                 in {C++}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "291--310",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167499",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Generic programming has emerged as an important
                 technique for the development of highly reusable and
                 efficient software libraries. In C++, generic
                 programming is enabled by the flexibility of templates,
                 the C++ type parametrization mechanism. However, the
                 power of templates comes with a price: generic
                 (template) libraries can be more difficult to use and
                 develop than non-template libraries and their misuse
                 results in notoriously confusing error messages. As
                 currently defined in C++98, templates are
                 unconstrained, and type-checking of templates is
                 performed late in the compilation process, i.e., after
                 the use of a template has been combined with its
                 definition. To improve the support for generic
                 programming in C++, we introduce concepts to express
                 the syntactic and semantic behavior of types and to
                 constrain the type parameters in a C++ template. Using
                 concepts, type-checking of template definitions is
                 separated from their uses, thereby making templates
                 easier to use and easier to compile. These improvements
                 are achieved without limiting the flexibility of
                 templates or decreasing their performance --- in fact
                 their expressive power is increased. This paper
                 describes the language extensions supporting concepts,
                 their use in the expression of the C++ Standard
                 Template Library, and their implementation in the
                 ConceptGCC compiler. Concepts are candidates for
                 inclusion in the upcoming revision of the ISO C++
                 standard, C++0x.",
  acknowledgement = ack-nhfb,
  keywords =     "C++0x; concepts; constrained generics; C++ templates;
                 generic programming; parametric polymorphism",
}

@Article{Potanin:2006:GOGa,
  author =       "Alex Potanin and James Noble and Dave Clarke and
                 Robert Biddle",
  title =        "Generic ownership for generic {Java}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "311--324",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167500",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Ownership types enforce encapsulation in
                 object-oriented programs by ensuring that objects
                 cannot be leaked beyond object(s) that own them.
                 Existing ownership programming languages either do not
                 support parametric polymorphism (type genericity) or
                 attempt to add it on top of ownership restrictions.
                 Generic Ownership provides per-object ownership on top
                 of a sound generic imperative language. The resulting
                 system not only provides ownership guarantees
                 comparable to established systems, but also requires
                 few additional language mechanisms due to full reuse of
                 parametric polymorphism. We formalise the core of
                 Generic Ownership, highlighting that only restriction
                 of this calls and owner subtype preservation are
                 required to achieve deep ownership. Finally we describe
                 how Ownership Generic Java (OGJ) was implemented as a
                 minimal extension to Generic Java in the hope of
                 bringing ownership types into mainstream programming.",
  acknowledgement = ack-nhfb,
  keywords =     "generics; Java; ownership; type systems",
}

@Article{Liu:2006:FFCa,
  author =       "Yu David Liu and Scott F. Smith",
  title =        "A formal framework for component deployment",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "325--344",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167502",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Software deployment is a complex process, and
                 industrial-strength frameworks such as .NET, Java, and
                 CORBA all provide explicit support for component
                 deployment. However, these frameworks are not built
                 around fundamental principles as much as they are
                 engineering efforts closely tied to particulars of the
                 respective systems. Here we aim to elucidate the
                 fundamental principles of software deployment, in a
                 platform-independent manner. Issues that need to be
                 addressed include deployment unit design, when, where
                 and how to wire components together, versioning,
                 version dependencies, and hot-deployment of components.
                 We define the application buildbox as the place where
                 software is developed and deployed, and define a formal
                 Labeled Transition System (LTS) on the buildbox with
                 transitions for deployment operations that include
                 build, install, ship, and update. We establish formal
                 properties of the LTS, including the fact that if a
                 component is shipped with a certain version dependency,
                 then at run time that dependency must be satisfied with
                 a compatible version. Our treatment of deployment is
                 both platform- and vendor-independent, and we show how
                 it models the core mechanisms of the
                 industrial-strength deployment frameworks.",
  acknowledgement = ack-nhfb,
  keywords =     "component; deployment; version",
}

@Article{Wasserrab:2006:OSTa,
  author =       "Daniel Wasserrab and Tobias Nipkow and Gregor Snelting
                 and Frank Tip",
  title =        "An operational semantics and type safety proof for
                 multiple inheritance in {C++}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "345--362",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167503",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present an operational semantics and type safety
                 proof for multiple inheritance in C++. The semantics
                 models the behaviour of method calls, field accesses,
                 and two forms of casts in C++ class hierarchies
                 exactly, and the type safety proof was formalized and
                 machine-checked in Isabelle/HOL. Our semantics enables
                 one, for the first time, to understand the behaviour of
                 operations on C++ class hierarchies without referring
                 to implementation-level artifacts such as virtual
                 function tables. Moreover, it can --- as the semantics
                 is executable --- act as a reference for compilers, and
                 it can form the basis for more advanced correctness
                 proofs of, e.g., automated program transformations. The
                 paper presents the semantics and type safety proof, and
                 a discussion of the many subtleties that we encountered
                 in modeling the intricate multiple inheritance model of
                 C++.",
  acknowledgement = ack-nhfb,
  keywords =     "C++; multiple inheritance; semantics; type safety",
}

@Article{Darga:2006:ESMa,
  author =       "Paul T. Darga and Chandrasekhar Boyapati",
  title =        "Efficient software model checking of data structure
                 properties",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "363--382",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167504",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper presents novel language and analysis
                 techniques that significantly speed up software model
                 checking of data structure properties. Consider
                 checking a red-black tree implementation. Traditional
                 software model checkers systematically generate all
                 red-black tree states (within some given bounds) and
                 check every red-black tree operation (such as insert,
                 delete, or lookup) on every red-black tree state. Our
                 key idea is as follows. As our checker checks a
                 red-black tree operation $o$ on a red-black tree state
                 s, it uses program analysis techniques to identify
                 other red-black tree states ${s'}_1$, ${s'}_2$, ...,
                 ${s'}_k$ on which the operation $o$ behaves similarly.
                 Our analyses guarantee that if $o$ executes correctly
                 on s, then $o$ will execute correctly on every
                 ${s'}_i$. Our checker therefore does not need to check
                 $o$ on any ${s'}_i$ once it checks $o$ on s. It thus
                 safely prunes those state transitions from its search
                 space, while still achieving complete test coverage
                 within the bounded domain. Our preliminary results show
                 orders of magnitude improvement over previous
                 approaches. We believe our techniques can make model
                 checking significantly faster, and thus enable checking
                 of much larger programs and complex program properties
                 than currently possible.",
  acknowledgement = ack-nhfb,
  keywords =     "program analysis; software model checking",
}

@Article{Kit:2006:IRCa,
  author =       "Lo Kwun Kit and Chan Kwun Man and Elisa Baniassad",
  title =        "Isolating and relating concerns in requirements using
                 latent semantic analysis",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "383--396",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167506",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Aspect-oriented requirements analysis involves the
                 identification of concerns that behaviorally influence
                 other concerns. Such concerns are described in
                 requirements called emphaspectual requirements:
                 requirements that detail the influence of one concern
                 over another. The current state of the art for
                 aspect-oriented requirements analysis is Theme/Doc,
                 which allows lexical analysis of requirements based on
                 a set of developer-chosen keywords. It provides a
                 graphical depiction of how concerns relate to
                 requirements, and affords identification of potential
                 aspectual requirements. In addition, clusters of
                 requirements and concerns are identified to arrive at a
                 more useful set of concerns than those initially
                 identified. Because of the lexical nature of the
                 Theme/Doc approach, aspectual requirements are missed,
                 or wrongly identified. Additionally, requirements may
                 be wrongly clustered if they contain ambiguous terms.
                 In this work we explored whether the use of a
                 statistical approach for textual analysis, Latent
                 Semantic Analysis (LSA), would improve upon the lexical
                 approach used by Theme/Doc. We found that LSA helps
                 identify useful concern clusters, and helps reduce the
                 number of falsely identified aspectual requirements.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented requirements analysis; early aspects;
                 latent semantic analysis; theme/doc; visualisation",
}

@Article{Baxter:2006:USJa,
  author =       "Gareth Baxter and Marcus Frean and James Noble and
                 Mark Rickerby and Hayden Smith and Matt Visser and
                 Hayden Melton and Ewan Tempero",
  title =        "Understanding the shape of {Java} software",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "397--412",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167507",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Large amounts of Java software have been written since
                 the language's escape into unsuspecting software
                 ecology more than ten years ago. Surprisingly little is
                 known about the structure of Java programs in the wild:
                 about the way methods are grouped into classes and then
                 into packages, the way packages relate to each other,
                 or the way inheritance and composition are used to put
                 these programs together. We present the results of the
                 first in-depth study of the structure of Java programs.
                 We have collected a number of Java programs and
                 measured their key structural attributes. We have found
                 evidence that some relationships follow power-laws,
                 while others do not. We have also observed variations
                 that seem related to some characteristic of the
                 application itself. This study provides important
                 information for researchers who can investigate how and
                 why the structural relationships we find may have
                 originated, what they portend, and how they can be
                 managed.",
  acknowledgement = ack-nhfb,
  keywords =     "Java; object-oriented design; power-law
                 distributions",
}

@Article{Sahavechaphan:2006:XMSa,
  author =       "Naiyana Sahavechaphan and Kajal Claypool",
  title =        "{XSnippet}: mining {For} sample code",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "413--430",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167508",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "It is common practice for software developers to use
                 examples to guide development efforts. This largely
                 unwritten, yet standard, practice of 'develop by
                 example' is often supported by examples bundled with
                 library or framework packages, provided in textbooks,
                 and made available for download on both official and
                 unofficial web sites. However, the vast number of
                 examples that are embedded in the billions of lines of
                 already developed library and framework code are
                 largely untapped. We have developed XSnippet, a
                 context-sensitive code assistant framework that allows
                 developers to query a sample repository for code
                 snippets that are relevant to the programming task at
                 hand. In particular, our work makes three primary
                 contributions. First, a range of queries is provided to
                 allow developers to switch between a
                 context-independent retrieval of code snippets to
                 various degrees of context-sensitive retrieval for
                 object instantiation queries. Second, a novel
                 graph-based code mining algorithm is provided to
                 support the range of queries and enable mining within
                 and across method boundaries. Third, an innovative
                 context-sensitive ranking heuristic is provided that
                 has been experimentally proven to provide better
                 ranking for best-fit code snippets than
                 context-independent heuristics such as shortest path
                 and frequency. Our experimental evaluation has shown
                 that XSnippet has significant potential to assist
                 developers, and provides better coverage of tasks and
                 better rankings for best-fit snippets than other code
                 assistant systems.",
  acknowledgement = ack-nhfb,
  keywords =     "code assistants; code mining; code reuse; ranking code
                 samples",
}

@Article{Gabriel:2006:CSa,
  author =       "Richard P. Gabriel and Ron Goldman",
  title =        "Conscientious software",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "433--450",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167473.1167510",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Software needs to grow up and become responsible for
                 itself and its own future by participating in its own
                 installation and customization, maintaining its own
                 health, and adapting itself to new circumstances, new
                 users, and new uses. To create such software will
                 require us to change some of our underlying assumptions
                 about how we write programs. A promising approach seems
                 to be to separate software that does the work
                 (allopoietic)from software that keeps the system alive
                 (autopoietic).",
  acknowledgement = ack-nhfb,
  keywords =     "autopoiesis; continuous (re)design; emergence;
                 feedback; repair; robustness; self-sustaining systems;
                 self-testing; software; software complexity;
                 stigmergy",
}

@Article{Simonyi:2006:ISa,
  author =       "Charles Simonyi and Magnus Christerson and Shane
                 Clifford",
  title =        "Intentional software",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "451--464",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167511",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Wysiwyg editors simplified document creation by
                 separating the document contents from the looks and by
                 automating the re-application of the looks to changing
                 contents. In the same way Intentional Software
                 simplifies software creation by separating the software
                 contents in terms of their various domains from the
                 implementation of the software and by enabling
                 automatic re-generation of the software as the contents
                 change. This way, domain experts can work in parallel
                 with programmers in their respective areas of
                 expertise; and the repeated intermingling can be
                 automated. Intentional Software is supported by a
                 Domain Workbench tool where multiple domains can be
                 defined, created, edited, transformed and integrated
                 during software creation. Key features include a
                 uniform representation of multiple interrelated
                 domains, the ability to project the domains in multiple
                 editable notations, and simple access for a program
                 generator.",
  acknowledgement = ack-nhfb,
  keywords =     "generative programming; intentional software",
}

@Article{Waldo:2006:SDa,
  author =       "Jim Waldo",
  title =        "On system design",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "467--480",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167513",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In this essay, I consider some of the factors that are
                 making it more and more difficult to expend the effort
                 necessary to do system design. Because of changes in
                 the economics of the field in both industry and
                 research, we have become less able to take the time
                 needed to do real system design, and to train the next
                 generation of designers. Because of the intellectual
                 property landscape, we are less able to discuss system
                 design. The end result is that we do less good system
                 design than we used to, at least in those environments
                 where system design used to be most common. But there
                 are reasons to be optimistic about the future of system
                 design, which appears to be happening in
                 non-traditional ways and in non-traditional venues.",
  acknowledgement = ack-nhfb,
  keywords =     "education; system design; training",
}

@Article{Steimann:2006:PSAa,
  author =       "Friedrich Steimann",
  title =        "The paradoxical success of aspect-oriented
                 programming",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "10",
  pages =        "481--497",
  month =        oct,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1167515.1167514",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:47:35 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Aspect-oriented programming is considered a promising
                 new technology. As object-oriented programming did
                 before, it is beginning to pervade all areas of
                 software engineering. With its growing popularity,
                 practitioners and academics alike are wondering whether
                 they should start looking into it, or otherwise risk
                 having missed an important development. The author of
                 this essay finds that much of aspect-oriented
                 programming's success seems to be based on the
                 conception that it improves both modularity and the
                 structure of code, while in fact, it works against the
                 primary purposes of the two, namely independent
                 development and understandability of programs. Not
                 seeing any way of fixing this situation, he thinks the
                 success of aspect-oriented programming to be
                 paradoxical.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented programming; globalization of
                 variables; independent development; modularization;
                 program structure; readability; software engineering",
}

@Article{Rosenblum:2006:IVC,
  author =       "Mendel Rosenblum",
  title =        "Impact of virtualization on computer architecture and
                 operating systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "1--1",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168858",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Abstract This talk describes how virtualization is
                 changing the way computing is done in the industry
                 today and how it is causing users to rethink how they
                 view hardware, operating systems, and application
                 programs. The talk will describe this new view on
                 computing and the benefits driving users to adopt it.
                 The changing roles for hardware and operating systems
                 will be discussed along with what changes will be
                 needed to efficiently and simply support this new
                 computing model. I will conclude with a discussion of
                 areas where industry could use input from the ASPLOS
                 research community.",
  acknowledgement = ack-nhfb,
}

@Article{Adams:2006:CSH,
  author =       "Keith Adams and Ole Agesen",
  title =        "A comparison of software and hardware techniques for
                 x86 virtualization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "2--13",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168860",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Until recently, the x86 architecture has not permitted
                 classical trap-and-emulate virtualization. Virtual
                 Machine Monitors for x86, such as VMware {\reg}
                 Workstation and Virtual PC, have instead used binary
                 translation of the guest kernel code. However, both
                 Intel and AMD have now introduced architectural
                 extensions to support classical virtualization. We
                 compare an existing software VMM with a new VMM
                 designed for the emerging hardware support.
                 Surprisingly, the hardware VMM often suffers lower
                 performance than the pure software VMM. To determine
                 why, we study architecture-level events such as page
                 table updates, context switches and I/O, and find their
                 costs vastly different among native, software VMM and
                 hardware VMM execution. We find that the hardware
                 support fails to provide an unambiguous performance
                 advantage for two primary reasons: first, it offers no
                 support for MMU virtualization; second, it fails to
                 co-exist with existing software techniques for MMU
                 virtualization. We look ahead to emerging techniques
                 for addressing this MMU virtualization problem in the
                 context of hardware-assisted virtualization.",
  acknowledgement = ack-nhfb,
  keywords =     "dynamic binary translation; MMU; nested paging; SVM;
                 TLB; virtualization; virtual machine monitor; VT; x86",
}

@Article{Jones:2006:GMB,
  author =       "Stephen T. Jones and Andrea C. Arpaci-Dusseau and
                 Remzi H. Arpaci-Dusseau",
  title =        "{Geiger}: monitoring the buffer cache in a virtual
                 machine environment",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "14--24",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168861",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Virtualization is increasingly being used to address
                 server management and administration issues like
                 flexible resource allocation, service isolation and
                 workload migration. In a virtualized environment, the
                 virtual machine monitor (VMM) is the primary resource
                 manager and is an attractive target for implementing
                 system features like scheduling, caching, and
                 monitoring. However, the lack of runtime information
                 within the VMM about guest operating systems, sometimes
                 called the semantic gap, is a significant obstacle to
                 efficiently implementing some kinds of services. In
                 this paper we explore techniques that can be used by a
                 VMM to passively infer useful information about a guest
                 operating system's unified buffer cache and virtual
                 memory system. We have created a prototype
                 implementation of these techniques inside the Xen VMM
                 called Geiger and show that it can accurately infer
                 when pages are inserted into and evicted from a
                 system's buffer cache. We explore several nuances
                 involved in passively implementing eviction detection
                 that have not previously been addressed, such as the
                 importance of tracking disk block liveness, the effect
                 of file system journaling, and the importance of
                 accounting for the unified caches found in modern
                 operating systems. Using case studies we show that the
                 information provided by Geiger enables a VMM to
                 implement useful VMM-level services. We implement a
                 novel working set size estimator which allows the VMM
                 to make more informed memory allocation decisions. We
                 also show that a VMM can be used to drastically improve
                 the hit rate in remote storage caches by using
                 eviction-based cache placement without modifying the
                 application or operating system storage interface. Both
                 case studies hint at a future where inference
                 techniques enable a broad new class of VMM-level
                 functionality.",
  acknowledgement = ack-nhfb,
  keywords =     "inference; virtual machine",
}

@Article{Crandall:2006:TSD,
  author =       "Jedidiah R. Crandall and Gary Wassermann and Daniela
                 A. S. de Oliveira and Zhendong Su and S. Felix Wu and
                 Frederic T. Chong",
  title =        "Temporal search: detecting hidden malware timebombs
                 with virtual machines",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "25--36",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168862",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Worms, viruses, and other malware can be ticking bombs
                 counting down to a specific time, when they might, for
                 example, delete files or download new instructions from
                 a public web server. We propose a novel
                 virtual-machine-based analysis technique to
                 automatically discover the timetable of a piece of
                 malware, or when events will be triggered, so that
                 other types of analysis can discern what those events
                 are. This information can be invaluable for responding
                 to rapid malware, and automating its discovery can
                 provide more accurate information with less delay than
                 careful human analysis. Developing an automated system
                 that produces the timetable of a piece of malware is a
                 challenging research problem. In this paper, we
                 describe our implementation of a key component of such
                 a system: the discovery of timers without making
                 assumptions about the integrity of the infected
                 system's kernel. Our technique runs a virtual machine
                 at slightly different rates of perceived time (time as
                 seen by the virtual machine), and identifies time
                 counters by correlating memory write frequency to timer
                 interrupt frequency. We also analyze real malware to
                 assess the feasibility of using full-system,
                 machine-level symbolic execution on these timers to
                 discover predicates. Because of the intricacies of the
                 Gregorian calendar (leap years, different number of
                 days in each month, etc.) these predicates will not be
                 direct expressions on the timer but instead an
                 annotated trace; so we formalize the calculation of a
                 timetable as a weakest precondition calculation. Our
                 analysis of six real worms sheds light on two
                 challenges for future work: 1) time-dependent malware
                 behavior often does not follow a linear timetable; and
                 2) that an attacker with knowledge of the analysis
                 technique can evade analysis. Our current results are
                 promising in that with simple symbolic execution we are
                 able to discover predicates on the day of the month for
                 four real worms. Then through more traditional manual
                 analysis we conclude that a more control-flow-sensitive
                 symbolic execution implementation would discover all
                 predicates for the malware we analyzed.",
  acknowledgement = ack-nhfb,
  keywords =     "malware; virtual machines; worms",
}

@Article{Lu:2006:ADA,
  author =       "Shan Lu and Joseph Tucek and Feng Qin and Yuanyuan
                 Zhou",
  title =        "{AVIO}: detecting atomicity violations via access
                 interleaving invariants",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "37--48",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168864",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Concurrency bugs are among the most difficult to test
                 and diagnose of all software bugs. The multicore
                 technology trend worsens this problem. Most previous
                 concurrency bug detection work focuses on one bug
                 subclass, data races, and neglects many other important
                 ones such as atomicity violations, which will soon
                 become increasingly important due to the emerging trend
                 of transactional memory models. This paper proposes an
                 innovative, comprehensive, invariant-based approach
                 called AVIO to detect atomicity violations. Our idea is
                 based on a novel observation called access interleaving
                 invariant, which is a good indication of programmers'
                 assumptions about the atomicity of certain code
                 regions. By automatically extracting such invariants
                 and detecting violations of these invariants at run
                 time, AVIO can detect a variety of atomicity
                 violations. Based on this idea, we have designed and
                 built two implementations of AVIO and evaluated the
                 trade-offs between them. The first implementation,
                 AVIO-S, is purely in software, while the second,
                 AVIO-H, requires some simple extensions to the cache
                 coherence hardware. AVIO-S is cheaper and more accurate
                 but incurs much higher overhead and thus more run-time
                 perturbation than AVIOH. Therefore, AVIO-S is more
                 suitable for in-house bug detection and postmortem bug
                 diagnosis, while AVIO-H can be used for bug detection
                 during production runs. We evaluate both
                 implementations of AVIO using large realworld server
                 applications (Apache and MySQL) with six representative
                 real atomicity violation bugs, and SPLASH-2 benchmarks.
                 Our results show that AVIO detects more tested
                 atomicity violations of various types and has 25 times
                 fewer false positives than previous solutions on
                 average.",
  acknowledgement = ack-nhfb,
  keywords =     "atomicity violation; bug detection; concurrency bug;
                 concurrent program; hardware support; program
                 invariant",
}

@Article{Xu:2006:RTR,
  author =       "Min Xu and Mark D. Hill and Rastislav Bodik",
  title =        "A regulated transitive reduction {(RTR)} for longer
                 memory race recording",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "49--60",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168919.1168865",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Multithreaded deterministic replay has important
                 applications in cyclic debugging, fault tolerance and
                 intrusion analysis. Memory race recording is a key
                 technology for multithreaded deterministic replay. In
                 this paper, we considerably improve our previous
                 always-on Flight Data Recorder (FDR) in four ways:\par
                 \begin{itemize} \item Longer recording by reducing the
                 log size growth rate to approximately one byte per
                 thousand dynamic instructions. \item Lower hardware
                 cost by reducing the cost to 24 KB per processor core.
                 \item Simpler design by modifying only the cache
                 coherence protocol, but not the cache. \item Broader
                 applicability by supporting both Sequential Consistency
                 (SC) and Total Store Order (TSO) memory consistency
                 models (existing recorders support only SC).
                 \end{itemize} These improvements stem from several
                 ideas: (1) a Regulated Transitive Reduction (RTR)
                 recording algorithm that creates stricter and
                 vectorizable dependencies to reduce the log growth
                 rate; (2) a Set/LRU timestamp approximation method that
                 better approximates timestamps of uncached memory
                 locations to reduce the hardware cost; (3) an
                 order-value-hybrid recording method that explicitly
                 logs the value of potential SC-violating load
                 instructions to support multiprocessor systems with
                 TSO.",
  acknowledgement = ack-nhfb,
  keywords =     "determinism; multithreading; race recording",
}

@Article{Bond:2006:BBE,
  author =       "Michael D. Bond and Kathryn S. McKinley",
  title =        "{Bell}: bit-encoding online memory leak detection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "61--72",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168866",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Memory leaks compromise availability and security by
                 crippling performance and crashing programs. Leaks are
                 difficult to diagnose because they have no immediate
                 symptoms. Online leak detection tools benefit from
                 storing and reporting per-object sites (e.g.,
                 allocation sites) for potentially leaking objects. In
                 programs with many small objects, per-object sites add
                 high space overhead, limiting their use in production
                 environments. This paper introduces Bit-Encoding Leak
                 Location (Bell), a statistical approach that encodes
                 per-object sites to a single bit per object. A bit
                 loses information about a site, but given sufficient
                 objects that use the site and a known, finite set of
                 possible sites, Bell uses brute-force decoding to
                 recover the site with high accuracy. We use this
                 approach to encode object allocation and last-use sites
                 in Sleigh, a new leak detection tool. Sleigh detects
                 stale objects (objects unused for a long time) and uses
                 Bell decoding to report their allocation and last-use
                 sites. Our implementation steals four unused bits in
                 the object header and thus incurs no per-object space
                 overhead. Sleigh's instrumentation adds 29\% execution
                 time overhead, which adaptive profiling reduces to
                 11\%. Sleigh's output is directly useful for finding
                 and fixing leaks in SPEC JBB2000 and Eclipse, although
                 sufficiently many objects must leak before Bell
                 decoding can report sites with confidence. Bell is
                 suitable for other leak detection approaches that store
                 per-object sites, and for other problems amenable to
                 statistical per-object metadata.",
  acknowledgement = ack-nhfb,
  keywords =     "low-overhead monitoring; managed languages; memory
                 leaks; probabilistic approaches",
}

@Article{Shyam:2006:ULC,
  author =       "Smitha Shyam and Kypros Constantinides and Sujay
                 Phadke and Valeria Bertacco and Todd Austin",
  title =        "Ultra low-cost defect protection for microprocessor
                 pipelines",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "73--82",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168868",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The sustained push toward smaller and smaller
                 technology sizes has reached a point where device
                 reliability has moved to the forefront of concerns for
                 next-generation designs. Silicon failure mechanisms,
                 such as transistor wearout and manufacturing defects,
                 are a growing challenge that threatens the yield and
                 product lifetime of future systems. In this paper we
                 introduce the BulletProof pipeline, the first ultra
                 low-cost mechanism to protect a microprocessor pipeline
                 and on-chip memory system from silicon defects. To
                 achieve this goal we combine area-frugal on-line
                 testing techniques and system-level checkpointing to
                 provide the same guarantees of reliability found in
                 traditional solutions, but at much lower cost. Our
                 approach utilizes a microarchitectural checkpointing
                 mechanism which creates coarse-grained epochs of
                 execution, during which distributed on-line built in
                 self-test (BIST) mechanisms validate the integrity of
                 the underlying hardware. In case a failure is detected,
                 we rely on the natural redundancy of instruction-level
                 parallel processors to repair the system so that it can
                 still operate in a degraded performance mode. Using
                 detailed circuit-level and architectural simulation, we
                 find that our approach provides very high coverage of
                 silicon defects (89\%) with little area cost (5.8\%).
                 In addition, when a defect occurs, the subsequent
                 degraded mode of operation was found to have only
                 moderate performance impacts, (from 4\% to 18\%
                 slowdown).",
  acknowledgement = ack-nhfb,
  keywords =     "defect-protection; low-cost; pipelines; reliability",
}

@Article{Reddy:2006:UPB,
  author =       "Vimal K. Reddy and Eric Rotenberg and Sailashri
                 Parthasarathy",
  title =        "Understanding prediction-based partial redundant
                 threading for low-overhead, high- coverage fault
                 tolerance",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "83--94",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168869",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Redundant threading architectures duplicate all
                 instructions to detect and possibly recover from
                 transient faults. Several lighter weight Partial
                 Redundant Threading (PRT) architectures have been
                 proposed recently. (i) Opportunistic Fault Tolerance
                 duplicates instructions only during periods of poor
                 single-thread performance. (ii) ReStore does not
                 explicitly duplicate instructions and instead exploits
                 mispredictions among highly confident branch
                 predictions as symptoms of faults. (iii) Slipstream
                 creates a reduced alternate thread by replacing many
                 instructions with highly confident predictions. We
                 explore PRT as a possible direction for achieving the
                 fault tolerance of full duplication with the
                 performance of single-thread execution. Opportunistic
                 and ReStore yield partial coverage since they are
                 restricted to using only partial duplication or only
                 confident predictions, respectively. Previous analysis
                 of Slipstream fault tolerance was cursory and concluded
                 that only duplicated instructions are covered. In this
                 paper, we attempt to better understand Slipstream's
                 fault tolerance, conjecturing that the mixture of
                 partial duplication and confident predictions actually
                 closely approximates the coverage of full duplication.
                 A thorough dissection of prediction scenarios confirms
                 that faults in nearly 100\% of instructions are
                 detectable. Fewer than 0.1\% of faulty instructions are
                 not detectable due to coincident faults and
                 mispredictions. Next we show that the current recovery
                 implementation fails to leverage excellent detection
                 capability, since recovery sometimes initiates
                 belatedly, after already retiring a detected faulty
                 instruction. We propose and evaluate a suite of simple
                 microarchitectural alterations to recovery and
                 checking. Using the best alterations, Slipstream can
                 recover from faults in 99\% of instructions, compared
                 to only 78\% of instructions without alterations. Both
                 results are much higher than predicted by past
                 research, which claims coverage for only duplicated
                 instructions, or 65\% of instructions. On an 8-issue
                 SMT processor, Slipstream performs within 1.3\% of
                 single-thread execution whereas full duplication slows
                 performance by 14\%. A key byproduct of this paper is a
                 novel analysis framework in which every dynamic
                 instruction is considered to be hypothetically faulty,
                 thus not requiring explicit fault injection. Fault
                 coverage is measured in terms of the fraction of
                 candidate faulty instructions that are directly or
                 indirectly detectable before.",
  acknowledgement = ack-nhfb,
  keywords =     "branch prediction; chip multiprocessor (CMP);
                 redundant multithreading; simultaneous multithreading
                 (SMT); slipstream processor; time redundancy; transient
                 faults; value prediction",
}

@Article{Parashar:2006:SSB,
  author =       "Angshuman Parashar and Anand Sivasubramaniam and
                 Sudhanva Gurumurthi",
  title =        "{SlicK}: slice-based locality exploitation for
                 efficient redundant multithreading",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "95--105",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168870",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Transient faults are expected a be a major design
                 consideration in future microprocessors. Recent
                 proposals for transient fault detection in processor
                 cores have revolved around the idea of redundant
                 threading, which involves redundant execution of a
                 program across multiple execution contexts. This paper
                 presents a new approach to redundant threading by
                 bringing together the concepts of slice-level execution
                 and value and control-flow locality into a novel
                 partial redundant threading mechanism called SlicK .The
                 purpose of redundant execution is to check the
                 integrity of the outputs propagating out of the core
                 (typically through stores). SlicK implements redundancy
                 at the granularity of backward-slices of these output
                 instructions and exploits value and control-flow
                 locality to avoid redundantly executing slices that
                 lead to predictable outputs, thereby avoiding redundant
                 execution of a significant fraction of instructions
                 while maintaining extremely low vulnerabilities for
                 critical processor structures. We propose the
                 microarchitecture of a backward-slice extractor called
                 SliceEM that is able to identify backward slices
                 without interrupting the instruction flow, and show how
                 this extractor and a set of predictors can be
                 integrated into a redundant threading mechanism to form
                 SlicK. Detailed simulations with SPEC CPU2000
                 benchmarks show that SlicK can provide around 10.2\%
                 performance improvement over a well known redundant
                 threading mechanism, buying back over 50\% of the loss
                 suffered due to redundant execution. SlicK can keep the
                 Architectural Vulnerability Factors of processor
                 structures to typically 0\%-2\%. More importantly,
                 SlicK's slice-based mechanisms provide future
                 opportunities for exploring interesting points in the
                 performance-reliability design space based on market
                 segment needs.",
  acknowledgement = ack-nhfb,
  keywords =     "backward slice extraction; microarchitecture;
                 redundant threading; transient faults",
}

@Article{Heath:2006:MFT,
  author =       "Taliver Heath and Ana Paula Centeno and Pradeep George
                 and Luiz Ramos and Yogesh Jaluria",
  title =        "{Mercury} and {Freon}: temperature emulation and
                 management for server systems",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "106--116",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168872",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Power densities have been increasing rapidly at all
                 levels of server systems. To counter the high
                 temperatures resulting from these densities, systems
                 researchers have recently started work on
                 software-based thermal management. Unfortunately,
                 research in this new area has been hindered by the
                 limitations imposed by simulators and real
                 measurements. In this paper, we introduce Mercury, a
                 software suite that avoids these limitations by
                 accurately emulating temperatures based on simple
                 layout, hardware, and component utilization data. Most
                 importantly, Mercury runs the entire software stack
                 natively, enables repeatable experiments, and allows
                 the study of thermal emergencies without harming
                 hardware reliability. We validate Mercury using real
                 measurements and a widely used commercial simulator. We
                 use Mercury to develop Freon, a system that manages
                 thermal emergencies in a server cluster without
                 unnecessary performance degradation. Mercury will soon
                 become available from
                 \url{http://www.darklab.rutgers.edu}.",
  acknowledgement = ack-nhfb,
  keywords =     "energy conservation; server clusters; temperature
                 modeling; thermal management",
}

@Article{Kgil:2006:PUS,
  author =       "Taeho Kgil and Shaun D'Souza and Ali Saidi and Nathan
                 Binkert and Ronald Dreslinski and Trevor Mudge and
                 Steven Reinhardt and Krisztian Flautner",
  title =        "{PicoServer}: using {$3$D} stacking technology to
                 enable a compact energy efficient chip multiprocessor",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "117--128",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168873",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In this paper, we show how 3D stacking technology can
                 be used to implement a simple, low-power,
                 high-performance chip multiprocessor suitable for
                 throughput processing. Our proposed architecture,
                 PicoServer, employs 3D technology to bond one die
                 containing several simple slow processing cores to
                 multiple DRAM dies sufficient for a primary memory. The
                 3D technology also enables wide low-latency buses
                 between processors and memory. These remove the need
                 for an L2 cache allowing its area to be re-allocated to
                 additional simple cores. The additional cores allow the
                 clock frequency to be lowered without impairing
                 throughput. Lower clock frequency in turn reduces power
                 and means that thermal constraints, a concern with 3D
                 stacking, are easily satisfied. The PicoServer
                 architecture specifically targets Tier 1 server
                 applications, which exhibit a high degree of thread
                 level parallelism. An architecture targeted to
                 efficient throughput is ideal for this application
                 domain. We find for a similar logic die area, a 12 CPU
                 system with 3D stacking and no L2 cache outperforms an
                 8 CPU system with a large on-chip L2 cache by about
                 14\% while consuming 55\% less power. In addition, we
                 show that a PicoServer performs comparably to a Pentium
                 4-like class machine while consuming only about 1/10 of
                 the power, even when conservative assumptions are made
                 about the power consumption of the PicoServer.",
  acknowledgement = ack-nhfb,
  keywords =     "3D stacking technology; chip multiprocessor;
                 full-system simulation; low power; tier 1 server;
                 web/file/streaming server",
}

@Article{Coons:2006:SPS,
  author =       "Katherine E. Coons and Xia Chen and Doug Burger and
                 Kathryn S. McKinley and Sundeep K. Kushwaha",
  title =        "A spatial path scheduling algorithm for {EDGE}
                 architectures",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "129--140",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168875",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Growing on-chip wire delays are motivating
                 architectural features that expose on-chip
                 communication to the compiler. EDGE architectures are
                 one example of communication-exposed microarchitectures
                 in which the compiler forms dataflow graphs that
                 specify how the microarchitecture maps instructions
                 onto a distributed execution substrate. This paper
                 describes a compiler scheduling algorithm called
                 spatial path scheduling that factors in previously
                 fixed locations --- called anchor points --- for each
                 placement. This algorithm extends easily to different
                 spatial topologies. We augment this basic algorithm
                 with three heuristics: (1) local and global ALU and
                 network link contention modeling, (2) global critical
                 path estimates, and (3) dependence chain path
                 reservation. We use simulated annealing to explore
                 possible performance improvements and to motivate the
                 augmented heuristics and their weighting functions. We
                 show that the spatial path scheduling algorithm
                 augmented with these three heuristics achieves a 21\%
                 average performance improvement over the best prior
                 algorithm and comes within an average of 5\% of the
                 annealed performance for our benchmarks.",
  acknowledgement = ack-nhfb,
  keywords =     "EDGE architecture; instruction scheduling; path
                 scheduling; simulated annealing",
}

@Article{Mercaldi:2006:IST,
  author =       "Martha Mercaldi and Steven Swanson and Andrew Petersen
                 and Andrew Putnam and Andrew Schwerin and Mark Oskin
                 and Susan J. Eggers",
  title =        "Instruction scheduling for a tiled dataflow
                 architecture",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "141--150",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168876",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper explores hierarchical instruction
                 scheduling for a tiled processor. Our results show that
                 at the top level of the hierarchy, a simple
                 profile-driven algorithm effectively minimizes operand
                 latency. After this schedule has been partitioned into
                 large sections, the bottom-level algorithm must more
                 carefully analyze program structure when producing the
                 final schedule. Our analysis reveals that at this
                 bottom level, good scheduling depends upon carefully
                 balancing instruction contention for processing
                 elements and operand latency between producer and
                 consumer instructions. We develop a parameterizable
                 instruction scheduler that more effectively optimizes
                 this trade-off. We use this scheduler to determine the
                 contention-latency sweet spot that generates the best
                 instruction schedule for each application. To avoid
                 this application-specific tuning, we also determine the
                 parameters that produce the best performance across all
                 applications. The result is a contention-latency
                 setting that generates instruction schedules for all
                 applications in our workload that come within 17\% of
                 the best schedule for each.",
  acknowledgement = ack-nhfb,
  keywords =     "dataflow; instruction scheduling; tiled
                 architectures",
}

@Article{Gordon:2006:ECG,
  author =       "Michael I. Gordon and William Thies and Saman
                 Amarasinghe",
  title =        "Exploiting coarse-grained task, data, and pipeline
                 parallelism in stream programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "151--162",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168877",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "As multicore architectures enter the mainstream, there
                 is a pressing demand for high-level programming models
                 that can effectively map to them. Stream programming
                 offers an attractive way to expose coarse-grained
                 parallelism, as streaming applications (image, video,
                 DSP, etc.) are naturally represented by independent
                 filters that communicate over explicit data channels.
                 In this paper, we demonstrate an end-to-end stream
                 compiler that attains robust multicore performance in
                 the face of varying application characteristics. As
                 benchmarks exhibit different amounts of task, data, and
                 pipeline parallelism, we exploit all types of
                 parallelism in a unified manner in order to achieve
                 this generality. Our compiler, which maps from the
                 StreamIt language to the 16-core Raw architecture,
                 attains a 11.2x mean speedup over a single-core
                 baseline, and a 1.84x speedup over our previous work.",
  acknowledgement = ack-nhfb,
  keywords =     "coarse-grained dataflow; multicore; Raw; software
                 pipelining; StreamIt; streams",
}

@Article{Mishra:2006:TES,
  author =       "Mahim Mishra and Timothy J. Callahan and Tiberiu
                 Chelcea and Girish Venkataramani and Seth C. Goldstein
                 and Mihai Budiu",
  title =        "{Tartan}: evaluating spatial computation for whole
                 program execution",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "163--174",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168878",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Spatial Computing (SC) has been shown to be an
                 energy-efficient model for implementing program
                 kernels. In this paper we explore the feasibility of
                 using SC for more than small kernels. To this end, we
                 evaluate the performance and energy efficiency of
                 entire applications on Tartan, a general-purpose
                 architecture which integrates a reconfigurable fabric
                 (RF) with a superscalar core. Our compiler
                 automatically partitions and compiles an application
                 into an instruction stream for the core and a
                 configuration for the RF. We use a detailed simulator
                 to capture both timing and energy numbers for all parts
                 of the system. Our results indicate that a hierarchical
                 RF architecture, designed around a scalable
                 interconnect, is instrumental in harnessing the
                 benefits of spatial computation. The interconnect uses
                 static configuration and routing at the lower levels
                 and a packet-switched, dynamically-routed network at
                 the top level. Tartan is most energy efficient when
                 almost all of the application is mapped to the RF,
                 indicating the need for the RF to support most
                 general-purpose programming constructs. Our initial
                 investigation reveals that such a system can provide,
                 on average, an order of magnitude improvement in
                 energy-delay compared to an aggressive superscalar core
                 on single-threaded workloads.",
  acknowledgement = ack-nhfb,
  keywords =     "asynchronous circuits; dataflow machine; defect
                 tolerance; low power; reconfigurable hardware; spatial
                 computation",
}

@Article{Eyerman:2006:PCA,
  author =       "Stijn Eyerman and Lieven Eeckhout and Tejas Karkhanis
                 and James E. Smith",
  title =        "A performance counter architecture for computing
                 accurate {CPI} components",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "175--184",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168880",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A common way of representing processor performance is
                 to use Cycles per Instruction (CPI) `stacks' which
                 break performance into a baseline CPI plus a number of
                 individual miss event CPI components. CPI stacks can be
                 very helpful in gaining insight into the behavior of an
                 application on a given microprocessor; consequently,
                 they are widely used by software application developers
                 and computer architects. However, computing CPI stacks
                 on superscalar out-of-order processors is challenging
                 because of various overlaps among execution and miss
                 events (cache misses, TLB misses, and branch
                 mispredictions). This paper shows that meaningful and
                 accurate CPI stacks can be computed for superscalar
                 out-of-order processors. Using interval analysis, a
                 novel method for analyzing out-of-order processor
                 performance, we gain understanding into the performance
                 impact of the various miss events. Based on this
                 understanding, we propose a novel way of architecting
                 hardware performance counters for building accurate CPI
                 stacks. The additional hardware for implementing these
                 counters is limited and comparable to existing hardware
                 performance counter architectures while being
                 significantly more accurate than previous approaches.",
  acknowledgement = ack-nhfb,
  keywords =     "hardware performance counter architecture; superscalar
                 processor performance modeling",
}

@Article{Lee:2006:AER,
  author =       "Benjamin C. Lee and David M. Brooks",
  title =        "Accurate and efficient regression modeling for
                 microarchitectural performance and power prediction",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "185--194",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168881",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We propose regression modeling as an efficient
                 approach for accurately predicting performance and
                 power for various applications executing on any
                 microprocessor configuration in a large
                 microarchitectural design space. This paper addresses
                 fundamental challenges in microarchitectural simulation
                 cost by reducing the number of required simulations and
                 using simulated results more effectively via
                 statistical modeling and inference. Specifically, we
                 derive and validate regression models for performance
                 and power. Such models enable computationally efficient
                 statistical inference, requiring the simulation of only
                 1 in 5 million points of a joint
                 microarchitecture-application design space while
                 achieving median error rates as low as 4.1 percent for
                 performance and 4.3 percent for power. Although both
                 models achieve similar accuracy, the sources of
                 accuracy are strikingly different. We present
                 optimizations for a baseline regression model to obtain
                 (1) application-specific models to maximize accuracy in
                 performance prediction and (2) regional power models
                 leveraging only the most relevant samples from the
                 microarchitectural design space to maximize accuracy in
                 power prediction. Assessing sensitivity to the number
                 of samples simulated for model formulation, we find
                 fewer than 4,000 samples from a design space of
                 approximately 22 billion points are sufficient.
                 Collectively, our results suggest significant potential
                 in accurate and efficient statistical inference for
                 microarchitectural design space exploration via
                 regression models.",
  acknowledgement = ack-nhfb,
  keywords =     "inference; microarchitecture; regression; simulation;
                 statistics",
}

@Article{Ipek:2006:EEA,
  author =       "Engin {\"I}pek and Sally A. McKee and Rich Caruana and
                 Bronis R. de Supinski and Martin Schulz",
  title =        "Efficiently exploring architectural design spaces via
                 predictive modeling",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "195--206",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168882",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Architects use cycle-by-cycle simulation to evaluate
                 design choices and understand tradeoffs and
                 interactions among design parameters. Efficiently
                 exploring exponential-size design spaces with many
                 interacting parameters remains an open problem: the
                 sheer number of experiments renders detailed simulation
                 intractable. We attack this problem via an automated
                 approach that builds accurate, confident predictive
                 design-space models. We simulate sampled points, using
                 the results to teach our models the function describing
                 relationships among design parameters. The models
                 produce highly accurate performance estimates for other
                 points in the space, can be queried to predict
                 performance impacts of architectural changes, and are
                 very fast compared to simulation, enabling efficient
                 discovery of tradeoffs among parameters in different
                 regions. We validate our approach via sensitivity
                 studies on memory hierarchy and CPU design spaces: our
                 models generally predict IPC with only 1-2\% error and
                 reduce required simulation by two orders of magnitude.
                 We also show the efficacy of our technique for
                 exploring chip multiprocessor (CMP) design spaces: when
                 trained on a 1\% sample drawn from a CMP design space
                 with 250K points and up to 55x performance swings among
                 different system configurations, our models predict
                 performance with only 4-5\% error on average. Our
                 approach combines with techniques to reduce time per
                 simulation, achieving net time savings of three-four
                 orders of magnitude.",
  acknowledgement = ack-nhfb,
  keywords =     "artificial neural networks; design space exploration;
                 performance prediction; sensitivity studies",
}

@Article{Kharbutli:2006:CEP,
  author =       "Mazen Kharbutli and Xiaowei Jiang and Yan Solihin and
                 Guru Venkataramani and Milos Prvulovic",
  title =        "Comprehensively and efficiently protecting the heap",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "207--218",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168884",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The goal of this paper is to propose a scheme that
                 provides comprehensive security protection for the
                 heap. Heap vulnerabilities are increasingly being
                 exploited for attacks on computer programs. In most
                 implementations, the heap management library keeps the
                 heap meta-data (heap structure information) and the
                 application's heap data in an interleaved fashion and
                 does not protect them against each other. Such
                 implementations are inherently unsafe: vulnerabilities
                 in the application can cause the heap library to
                 perform unintended actions to achieve control-flow and
                 non-control attacks. Unfortunately, current heap
                 protection techniques are limited in that they use too
                 many assumptions on how the attacks will be performed,
                 require new hardware support, or require too many
                 changes to the software developers' toolchain. We
                 propose Heap Server, a new solution that does not have
                 such drawbacks. Through existing virtual memory and
                 inter-process protection mechanisms, Heap Server
                 prevents the heap meta-data from being illegally
                 overwritten, and heap data from being meaningfully
                 overwritten. We show that through aggressive
                 optimizations and parallelism, Heap Server protects the
                 heap with nearly-negligible performance overheads even
                 on heap-intensive applications. We also verify the
                 protection against several real-world exploits and
                 attack kernels.",
  acknowledgement = ack-nhfb,
  keywords =     "computer security; heap attacks; heap security; heap
                 server",
}

@Article{Chilimbi:2006:HIH,
  author =       "Trishul M. Chilimbi and Vinod Ganapathy",
  title =        "{HeapMD}: identifying heap-based bugs using anomaly
                 detection",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "219--228",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168919.1168885",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present the design, implementation, and evaluation
                 of HeapMD, a dynamic analysis tool that finds
                 heap-based bugs using anomaly detection. HeapMD is
                 based upon the observation that, in spite of the
                 evolving nature of the heap, several of its properties
                 remain stable. HeapMD uses this observation in a novel
                 way: periodically, during the execution of the program,
                 it computes a suite of metrics which are sensitive to
                 the state of the heap. These metrics track heap
                 behavior, and the stability of the heap reflects
                 quantitatively in the values of these metrics. The
                 'normal' ranges of stable metrics, obtained by running
                 a program on multiple inputs, are then treated as
                 indicators of correct behaviour, and are used in
                 conjunction with an anomaly detector to find heap-based
                 bugs. Using HeapMD, we were able to find 40 heap-based
                 bugs, 31 of them previously unknown, in 5 large,
                 commercial applications.",
  acknowledgement = ack-nhfb,
  keywords =     "anomaly detection; bugs; debugging; heap; metrics",
}

@Article{Narayanasamy:2006:RSM,
  author =       "Satish Narayanasamy and Cristiano Pereira and Brad
                 Calder",
  title =        "Recording shared memory dependencies using strata",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "229--240",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168886",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Significant time is spent by companies trying to
                 reproduce and fix bugs. BugNet and FDR are recent
                 architecture proposals that provide architecture
                 support for deterministic replay debugging. They focus
                 on continuously recording information about the
                 program's execution, which can be communicated back to
                 the developer. Using that information, the developer
                 can deterministically replay the program's execution to
                 reproduce and fix the bugs. In this paper, we propose
                 using Strata to efficiently capture the shared memory
                 dependencies. A stratum creates a time layer across all
                 the logs for the running threads, which separates all
                 the memory operations executed before and after the
                 stratum. A strata log allows us to determine all the
                 shared memory dependencies during replay and thereby
                 supports deterministic replay debugging for
                 multi-threaded programs.",
  acknowledgement = ack-nhfb,
  keywords =     "debugging; dependencies; logging; replay; shared
                 memory; strata",
}

@Article{Patwardhan:2006:DTS,
  author =       "Jaidev P. Patwardhan and Vijeta Johri and Chris Dwyer
                 and Alvin R. Lebeck",
  title =        "A defect tolerant self-organizing nanoscale {SIMD}
                 architecture",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "241--251",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168888",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The continual decrease in transistor size (through
                 either scaled CMOS or emerging nano-technologies)
                 promises to usher in an era of tera to peta-scale
                 integration. However, this decrease in size is also
                 likely to increase defect densities, contributing to
                 the exponentially increasing cost of top-down
                 lithography. Bottom-up manufacturing techniques, like
                 self assembly, may provide a viable lower-cost
                 alternative to top-down lithography, but may also be
                 prone to higher defects. Therefore, regardless of
                 fabrication methodology, defect tolerant architectures
                 are necessary to exploit the full potential of future
                 increased device densities. This paper explores a
                 defect tolerant SIMD architecture. A key feature of our
                 design is the ability of a large number of limited
                 capability nodes with high defect rates (up to 30\%) to
                 self-organize into a set of SIMD processing elements.
                 Despite node simplicity and high defect rates, we show
                 that by supporting the familiar data parallel
                 programming model the architecture can execute a
                 variety of programs. The architecture efficiently
                 exploits a large number of nodes and higher device
                 densities to keep device switching speeds and power
                 density low. On a medium sized system (~1cm$^2$ area),
                 the performance of the proposed architecture on our
                 data parallel programs matches or exceeds the
                 performance of an aggressively scaled out-of-order
                 processor (128-wide, 8k reorder buffer, perfect memory
                 system). For larger systems (>1cm$^2$), the proposed
                 architecture can match the performance of a chip
                 multiprocessor with 16 aggressively scaled out-of-order
                 cores.",
  acknowledgement = ack-nhfb,
  keywords =     "bit-serial; data parallel; defect tolerance; DNA;
                 nanocomputing; self-organizing; SIMD",
}

@Article{Schuchman:2006:PTA,
  author =       "Ethan Schuchman and T. N. Vijaykumar",
  title =        "A program transformation and architecture support for
                 quantum uncomputation",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "252--263",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168889",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Quantum computing's power comes from new algorithms
                 that exploit quantum mechanical phenomena for
                 computation. Quantum algorithms are different from
                 their classical counterparts in that quantum algorithms
                 rely on algorithmic structures that are simply not
                 present in classical computing. Just as classical
                 program transformations and architectures have been
                 designed for common classical algorithm structures,
                 quantum program transformations and quantum
                 architectures should be designed with quantum
                 algorithms in mind. Because quantum algorithms come
                 with these new algorithmic structures, resultant
                 quantum program transformations and architectures may
                 look very different from their classical counterparts.
                 This paper focuses on uncomputation, a critical and
                 prevalent structure in quantum algorithms, and
                 considers how program transformations, and architecture
                 support should be designed to accommodate
                 uncomputation. In this paper,we show a simple quantum
                 program transformation that exposes independence
                 between uncomputation and later computation. We then
                 propose a multicore architecture tailored to this
                 exposed parallelism and propose a scheduling policy
                 that efficiently maps such parallelism to the multicore
                 architecture. Our policy achieves parallelism between
                 uncomputation and later computation while reducing
                 cumulative communication distance. Our scheduling and
                 architecture allows significant speedup of quantum
                 programs (between 1.8x and 2.8x speedup in Shor's
                 factoring algorithm), while reducing cumulative
                 communication distance 26\%.",
  acknowledgement = ack-nhfb,
  keywords =     "QLA; quantum computing; uncomputation",
}

@Article{Mysore:2006:IC,
  author =       "Shashidhar Mysore and Banit Agrawal and Navin
                 Srivastava and Sheng-Chih Lin and Kaustav Banerjee and
                 Tim Sherwood",
  title =        "Introspective {$3$D} chips",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "264--273",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168890",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "While the number of transistors on a chip increases
                 exponentially over time, the productivity that can be
                 realized from these systems has not kept pace. To deal
                 with the complexity of modern systems, software
                 developers are increasingly dependent on specialized
                 development tools such as security profilers, memory
                 leak identifiers, data flight recorders, and dynamic
                 type analysis. Many of these tools require full-system
                 data which covers multiple interacting threads,
                 processes, and processors. Reducing the performance
                 penalty and complexity of these software tools is
                 critical to those developing next generation
                 applications, and many researchers have proposed adding
                 specialized hardware to assist in profiling and
                 introspection. Unfortunately, while this additional
                 hardware would be incredibly beneficial to developers,
                 the cost of this hardware must be paid on every single
                 die that is manufactured. In this paper, we argue that
                 a new way to attack this problem is with the addition
                 of specialized analysis hardware built on separate
                 active layers stacked vertically on the processor die
                 using 3D IC technology. This provides a modular
                 'snap-on' functionality that could be included with
                 developer systems, and omitted from consumer systems to
                 keep the cost impact to a minimum. In this paper we
                 describe the advantage of using inter-die vias for
                 introspection and we quantify the impact they can have
                 in terms of the area, power, temperature, and
                 routability of the resulting systems. We show that
                 hardware stubs could be inserted into commodity
                 processors at design time that would allow analysis
                 layers to be bonded to development chips, and that
                 these stubs would increase area and power by no more
                 than 0.021mm$^2$ and 0.9\% respectively.",
  acknowledgement = ack-nhfb,
  keywords =     "3D Architectures; hardware support for profiling;
                 introspection",
}

@Article{Cantin:2006:SP,
  author =       "Jason F. Cantin and Mikko H. Lipasti and James E.
                 Smith",
  title =        "Stealth prefetching",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "274--282",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168892",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Prefetching in shared-memory multiprocessor systems is
                 an increasingly difficult problem. As system designs
                 grow to incorporate larger numbers of faster
                 processors, memory latency and interconnect traffic
                 increase. While aggressive prefetching techniques can
                 mitigate the increasing memory latency, they can harm
                 performance by wasting precious interconnect bandwidth
                 and prematurely accessing shared data, causing state
                 downgrades at remote nodes that force later upgrades.
                 This paper investigates Stealth Prefetching, a new
                 technique that utilizes information from Coarse-Grain
                 Coherence Tracking (CGCT) for prefetching data
                 aggressively, stealthily, and efficiently in a
                 broadcast-based shared-memory multiprocessor system.
                 Stealth Prefetching utilizes CGCT to identify regions
                 of memory that are not shared by other processors,
                 aggressively fetches these lines from DRAM in open-page
                 mode, and moves them close to the processor in
                 anticipation of future references. Our analysis with
                 commercial, scientific, and multiprogrammed workloads
                 show that Stealth Prefetching provides an average
                 speedup of 20\% over an aggressive baseline system with
                 conventional prefetching.",
  acknowledgement = ack-nhfb,
  keywords =     "coherence; multiprocessors; prefetching",
}

@Article{Chakraborty:2006:CSE,
  author =       "Koushik Chakraborty and Philip M. Wells and Gurindar
                 S. Sohi",
  title =        "Computation spreading: employing hardware migration to
                 specialize {CMP} cores on-the-fly",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "283--292",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168919.1168893",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In canonical parallel processing, the operating system
                 (OS) assigns a processing core to a single thread from
                 a multithreaded server application. Since different
                 threads from the same application often carry out
                 similar computation, albeit at different times, we
                 observe extensive code reuse among different
                 processors, causing redundancy (e.g., in our server
                 workloads, 45-65\% of all instruction blocks are
                 accessed by all processors). Moreover, largely
                 independent fragments of computation compete for the
                 same private resources causing destructive
                 interference. Together, this redundancy and
                 interference lead to poor utilization of private
                 microarchitecture resources such as caches and branch
                 predictors. We present Computation Spreading (CSP),
                 which employs hardware migration to distribute a
                 thread's dissimilar fragments of computation across the
                 multiple processing cores of a chip multiprocessor
                 (CMP), while grouping similar computation fragments
                 from different threads together. This paper focuses on
                 a specific example of CSP for OS intensive server
                 applications: separating application level (user)
                 computation from the OS calls it makes. When performing
                 CSP, each core becomes temporally specialized to
                 execute certain computation fragments, and the same
                 core is repeatedly used for such fragments. We examine
                 two specific thread assignment policies for CSP, and
                 show that these policies, across four server workloads,
                 are able to reduce instruction misses in private L2
                 caches by 27-58\%, private L2 load misses by 0-19\%,
                 and branch mispredictions by 9-25\%.",
  acknowledgement = ack-nhfb,
  keywords =     "cache locality; dynamic specialization",
}

@Article{Miller:2006:SBI,
  author =       "Jason E. Miller and Anant Agarwal",
  title =        "Software-based instruction caching for embedded
                 processors",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "293--302",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168894",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "While hardware instruction caches are present in
                 virtually all general-purpose and high-performance
                 microprocessors today, many embedded processors use
                 SRAM or scratchpad memories instead. These are simple
                 array memory structures that are directly addressed and
                 explicitly managed by software. Compared to hardware
                 caches of the same data capacity, they are smaller,
                 have shorter access times and consume less energy per
                 access. Access times are also easier to predict with
                 simple memories since there is no possibility of a
                 'miss.' On the other hand, they are more difficult for
                 the programmer to use since they are not automatically
                 managed. In this paper, we present a software system
                 that allows all or part of an SRAM or scratchpad memory
                 to be automatically managed as a cache. This system
                 provides the programming convenience of a cache for
                 processors that lack dedicated caching hardware. It has
                 been implemented for an actual processor and runs on
                 real hardware. Our results show that a software-based
                 instruction cache can be built that provides
                 performance within 10\% of a traditional hardware cache
                 on many benchmarks while using a cheaper, simpler, SRAM
                 memory. On these same benchmarks, energy consumption is
                 up to 3\% lower than it would be using a hardware
                 cache.",
  acknowledgement = ack-nhfb,
  keywords =     "chaining; instruction cache; software caching",
}

@Article{Li:2006:MEM,
  author =       "Xin Li and Marian Boldt and Reinhard von Hanxleden",
  title =        "Mapping {Esterel} onto a multi-threaded embedded
                 processor",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "303--314",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168857.1168896",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The synchronous language Esterel is well-suited for
                 programming control-dominated reactive systems at the
                 system level. It provides non-traditional control
                 structures, in particular concurrency and various forms
                 of preemption, which allow to concisely express
                 reactive behavior. As these control structures cannot
                 be mapped easily onto traditional, sequential
                 processors, an alternative approach that has emerged
                 recently makes use of special-purpose reactive
                 processors. However, the designs proposed so far have
                 limitations regarding completeness of the language
                 support, and did not really take advantage of
                 compile-time knowledge to optimize resource usage. This
                 paper presents a reactive processor, the Kiel Esterel
                 Processor 3a (KEP3a), and its compiler. The KEP3a
                 improves on earlier designs in several areas; most
                 notable are the support for exception handling and the
                 provision of context-dependent preemption handling
                 instructions. The KEP3a compiler presented here is to
                 our knowledge the first for multi-threaded reactive
                 processors. The translation of Esterel's preemption
                 constructs onto KEP3a assembler is straightforward;
                 however, a challenge is the correct and efficient
                 representation of Esterel's concurrency. The compiler
                 generates code that respects data and control
                 dependencies using the KEP3a priority-based scheduling
                 mechanism. We present a priority assignment approach
                 that makes use of a novel concurrent control flow graph
                 and has a complexity that in practice tends to be
                 linear in the size of the program. Unlike earlier
                 Esterel compilation schemes, this approach avoids
                 unnecessary context switches by considering each
                 thread's actual execution state at run time.
                 Furthermore, it avoids code replication present in
                 other approaches.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; Esterel; low-power processing;
                 multi-threading; reactive systems",
}

@Article{Binkert:2006:INI,
  author =       "Nathan L. Binkert and Ali G. Saidi and Steven K.
                 Reinhardt",
  title =        "Integrated network interfaces for high-bandwidth
                 {TCP\slash IP}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "315--324",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168897",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper proposes new network interface controller
                 (NIC) designs that take advantage of integration with
                 the host CPU to provide increased flexibility for
                 operating system kernel-based performance optimization.
                 We believe that this approach is more likely to meet
                 the needs of current and future high-bandwidth TCP/IP
                 networking on end hosts than the current trend of
                 putting more complexity in the NIC, while avoiding the
                 need to modify applications and protocols. This paper
                 presents two such NICs. The first, the simple
                 integrated NIC (SINIC), is a minimally complex design
                 that moves the responsibility for managing the network
                 FIFOs from the NIC to the kernel. Despite this closer
                 interaction between the kernel and the NIC, SINIC
                 provides performance equivalent to a conventional
                 DMA-based NIC without increasing CPU overhead. The
                 second design, V-SINIC, adds virtual per-packet
                 registers to SINIC, enabling parallel packet processing
                 while maintaining a FIFO model. V-SINIC allows the
                 kernel to decouple examining a packet's header from
                 copying its payload to memory. We exploit this
                 capability to implement a true zero-copy receive
                 optimization in the Linux 2.6 kernel, providing
                 bandwidth improvements of over 50\% on unmodified
                 sockets-based receive-intensive benchmarks.",
  acknowledgement = ack-nhfb,
  keywords =     "interfaces; network; TCP/IP performance; zero-copy",
}

@Article{Tarditi:2006:AUD,
  author =       "David Tarditi and Sidd Puri and Jose Oglesby",
  title =        "Accelerator: using data parallelism to program {GPUs}
                 for general-purpose uses",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "325--335",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168919.1168898",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "GPUs are difficult to program for general-purpose
                 uses. Programmers can either learn graphics APIs and
                 convert their applications to use graphics pipeline
                 operations or they can use stream programming
                 abstractions of GPUs. We describe Accelerator, a system
                 that uses data parallelism to program GPUs for
                 general-purpose uses instead. Programmers use a
                 conventional imperative programming language and a
                 library that provides only high-level data-parallel
                 operations. No aspects of GPUs are exposed to
                 programmers. The library implementation compiles the
                 data-parallel operations on the fly to optimized GPU
                 pixel shader code and API calls. We describe the
                 compilation techniques used to do this. We evaluate the
                 effectiveness of using data parallelism to program GPUs
                 by providing results for a set of compute-intensive
                 benchmarks. We compare the performance of Accelerator
                 versions of the benchmarks against hand-written pixel
                 shaders. The speeds of the Accelerator versions are
                 typically within 50\% of the speeds of hand-written
                 pixel shader code. Some benchmarks significantly
                 outperform C versions on a CPU: they are up to 18 times
                 faster than C code running on a CPU.",
  acknowledgement = ack-nhfb,
  keywords =     "data parallelism; graphics processing units; just-in
                 time compilation",
}

@Article{Damron:2006:HTM,
  author =       "Peter Damron and Alexandra Fedorova and Yossi Lev and
                 Victor Luchangco and Mark Moir and Daniel Nussbaum",
  title =        "Hybrid transactional memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "336--346",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168900",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Transactional memory (TM) promises to substantially
                 reduce the difficulty of writing correct, efficient,
                 and scalable concurrent programs. But 'bounded' and
                 'best-effort' hardware TM proposals impose unreasonable
                 constraints on programmers, while more flexible
                 software TM implementations are considered too slow.
                 Proposals for supporting 'unbounded' transactions in
                 hardware entail significantly higher complexity and
                 risk than best-effort designs. We introduce Hybrid
                 Transactional Memory (HyTM), an approach to
                 implementing TMin software so that it can use best
                 effort hardware TM (HTM) to boost performance but does
                 not depend on HTM. Thus programmers can develop and
                 test transactional programs in existing systems today,
                 and can enjoy the performance benefits of HTM support
                 when it becomes available. We describe our prototype
                 HyTM system, comprising a compiler and a library. The
                 compiler allows a transaction to be attempted using
                 best-effort HTM, and retried using the software library
                 if it fails. We have used our prototype to
                 'transactify' part of the Berkeley DB system, as well
                 as several benchmarks. By disabling the optional use of
                 HTM, we can run all of these tests on existing systems.
                 Furthermore, by using a simulated multiprocessor with
                 HTM support, we demonstrate the viability of the HyTM
                 approach: it can provide performance and scalability
                 approaching that of an unbounded HTM implementation,
                 without the need to support all transactions with
                 complicated HTM support.",
  acknowledgement = ack-nhfb,
  keywords =     "transactional memory",
}

@Article{Chuang:2006:UPB,
  author =       "Weihaw Chuang and Satish Narayanasamy and Ganesh
                 Venkatesh and Jack Sampson and Michael Van Biesbrouck
                 and Gilles Pokam and Brad Calder and Osvaldo Colavin",
  title =        "Unbounded page-based transactional memory",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "347--358",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168901",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Exploiting thread level parallelism is paramount in
                 the multicore era. Transactions enable programmers to
                 expose such parallelism by greatly simplifying the
                 multi-threaded programming model. Virtualized
                 transactions (unbounded in space and time) are
                 desirable, as they can increase the scope of
                 transactions' use, and thereby further simplify a
                 programmer's job. However, hardware support is
                 essential to support efficient execution of unbounded
                 transactions. In this paper, we introduce Page-based
                 Transactional Memory to support unbounded transactions.
                 We combine transaction bookkeeping with the virtual
                 memory system to support fast transaction conflict
                 detection, commit, abort, and to maintain transactions'
                 speculative data.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; parallel programming; transactional
                 memory; transactions; virtual memory",
}

@Article{Moravan:2006:SNT,
  author =       "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",
  title =        "Supporting nested transactional memory in {logTM}",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "359--370",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168902",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Nested transactional memory (TM) facilitates software
                 composition by letting one module invoke another
                 without either knowing whether the other uses
                 transactions. Closed nested transactions extend
                 isolation of an inner transaction until the toplevel
                 transaction commits. Implementations may flatten nested
                 transactions into the top-level one, resulting in a
                 complete abort on conflict, or allow partial abort of
                 inner transactions. Open nested transactions allow a
                 committing inner transaction to immediately release
                 isolation, which increases parallelism and
                 expressiveness at the cost of both software and
                 hardware complexity. This paper extends the
                 recently-proposed flat Log-based Transactional Memory
                 (LogTM) with nested transactions. Flat LogTM saves
                 pre-transaction values in a log, detects conflicts with
                 read (R) and write (W) bits per cache block, and, on
                 abort, invokes a software handler to unroll the log.
                 Nested LogTM supports nesting by segmenting the log
                 into a stack of activation records and modestly
                 replicating R/W bits. To facilitate composition with
                 nontransactional code, such as language runtime and
                 operating system services, we propose escape actions
                 that allow trusted code to run outside the confines of
                 the transactional memory system.",
  acknowledgement = ack-nhfb,
  keywords =     "logTM; nesting; transactional memory",
}

@Article{Chung:2006:TTM,
  author =       "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",
  title =        "Tradeoffs in transactional memory virtualization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "371--381",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168903",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "For transactional memory (TM) to achieve widespread
                 acceptance, transactions should not be limited to the
                 physical resources of any specific hardware
                 implementation. TM systems should guarantee correct
                 execution even when transactions exceed scheduling
                 quanta, overflow the capacity of hardware caches and
                 physical memory, or include more independent nesting
                 levels than what is supported in hardware. Existing
                 proposals for TM virtualization are either incomplete
                 or rely on complex hardware implementations, which are
                 an overkill if virtualization is invoked infrequently
                 in the common case. We present eXtended Transactional
                 Memory (XTM), the first TM virtualization system that
                 virtualizes all aspects of transactional execution
                 (time, space, and nesting depth). XTM is implemented in
                 software using virtual memory support. It operates at
                 page granularity, using private copies of overflowed
                 pages to buffer memory updates until the transaction
                 commits and snapshots of pages to detect interference
                 between transactions. We also describe two enhancements
                 to XTM that use limited hardware support to address key
                 performance bottlenecks. We compare XTM to
                 hardware-based virtualization using both real
                 applications and synthetic microbenchmarks. We show
                 that despite being software-based, XTM and its
                 enhancements are competitive with hardware-based
                 alternatives. Overall, we demonstrate that XTM provides
                 a complete, flexible, and low-cost mechanism for
                 practical TM virtualization.",
  acknowledgement = ack-nhfb,
  keywords =     "chip multi-processor; OS support; transactional
                 memory; virtualization",
}

@Article{Kawahito:2006:NIR,
  author =       "Motohiro Kawahito and Hideaki Komatsu and Takao
                 Moriyama and Hiroshi Inoue and Toshio Nakatani",
  title =        "A new idiom recognition framework for exploiting
                 hardware-assist instructions",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "382--393",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168905",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Modern processors support hardware-assist instructions
                 (such as TRT and TROT instructions on IBM zSeries) to
                 accelerate certain functions such as delimiter search
                 and character conversion. Such special instructions
                 have often been used in high performance libraries, but
                 they have not been exploited well in optimizing
                 compilers except for some limited cases. We propose a
                 new idiom recognition technique derived from a
                 topological embedding algorithm [4] to detect idiom
                 patterns in the input program more aggressively than in
                 previous approaches. Our approach can detect a pattern
                 even if the code segment does not exactly match the
                 idiom. For example, we can detect a code segment that
                 includes additional code within the idiom pattern. We
                 implemented our new idiom recognition approach based on
                 the Java Just-In-Time (JIT) compiler that is part of
                 the J9 Java Virtual Machine, and we supported several
                 important idioms for special hardware-assist
                 instructions on the IBM zSeries and on some models of
                 the IBM pSeries. To demonstrate the effectiveness of
                 our technique, we performed two experiments. The first
                 one is to see how many more patterns we can detect
                 compared to the previous approach. The second one is to
                 see how much performance improvement we can achieve
                 over the previous approach. For the first experiment,
                 we used the Java Compatibility Kit (JCK) API tests. For
                 the second one we used IBM XML parser, SPECjvm98, and
                 SPCjbb2000. In summary, relative to a baseline
                 implementation using exact pattern matching, our
                 algorithm converted 75\% more loops in JCK tests. We
                 also observed significant performance improvement of
                 the XML parser by 64\%, of SPECjvm98 by 1\%, and of
                 SPECjbb2000 by 2\% on average on a z990. Finally, we
                 observed the JIT compilation time increases by only
                 0.32\% to 0.44\%.",
  acknowledgement = ack-nhfb,
  keywords =     "hardware-assist instructions; idiom recognition; Java;
                 JIT; topological embedding; VMX",
}

@Article{Bansal:2006:AGP,
  author =       "Sorav Bansal and Alex Aiken",
  title =        "Automatic generation of peephole superoptimizers",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "394--403",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168906",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Peephole optimizers are typically constructed using
                 human-written pattern matching rules, an approach that
                 requires expertise and time, as well as being less than
                 systematic at exploiting all opportunities for
                 optimization. We explore fully automatic construction
                 of peephole optimizers using brute force
                 superoptimization. While the optimizations discovered
                 by our automatic system may be less general than
                 human-written counterparts, our approach has the
                 potential to automatically learn a database of
                 thousands to millions of optimizations, in contrast to
                 the hundreds found in current peephole optimizers. We
                 show experimentally that our optimizer is able to
                 exploit performance opportunities not found by existing
                 compilers; in particular, we show speedups from 1.7 to
                 a factor of 10 on some compute intensive kernels over a
                 conventional optimizing compiler.",
  acknowledgement = ack-nhfb,
  keywords =     "code selection; peephole optimization;
                 superoptimization",
}

@Article{Solar-Lezama:2006:CSF,
  author =       "Armando Solar-Lezama and Liviu Tancau and Rastislav
                 Bodik and Sanjit Seshia and Vijay Saraswat",
  title =        "Combinatorial sketching for finite programs",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "404--415",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168917.1168907",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Sketching is a software synthesis approach where the
                 programmer develops a partial implementation --- a
                 sketch --- and a separate specification of the desired
                 functionality. The synthesizer then completes the
                 sketch to behave like the specification. The
                 correctness of the synthesized implementation is
                 guaranteed by the compiler, which allows, among other
                 benefits, rapid development of highly tuned
                 implementations without the fear of introducing bugs.
                 We develop SKETCH, a language for finite programs with
                 linguistic support for sketching. Finite programs
                 include many high-performance kernels, including
                 cryptocodes. In contrast to prior synthesizers, which
                 had to be equipped with domain-specific rules, SKETCH
                 completes sketches by means of a combinatorial search
                 based on generalized boolean satisfiability.
                 Consequently, our combinatorial synthesizer is complete
                 for the class of finite programs: it is guaranteed to
                 complete any sketch in theory, and in practice has
                 scaled to realistic programming problems. Freed from
                 domain rules, we can now write sketches as
                 simple-to-understand partial programs, which are
                 regular programs in which difficult code fragments are
                 replaced with holes to be filled by the synthesizer.
                 Holes may stand for index expressions, lookup tables,
                 or bitmasks, but the programmer can easily define new
                 kinds of holes using a single versatile synthesis
                 operator. We have used SKETCH to synthesize an
                 efficient implementation of the AES cipher standard.
                 The synthesizer produces the most complex part of the
                 implementation and runs in about an hour.",
  acknowledgement = ack-nhfb,
  keywords =     "SAT; sketching",
}

@Article{DaSilva:2006:PPA,
  author =       "Jeff {Da Silva} and J. Gregory Steffan",
  title =        "A probabilistic pointer analysis for speculative
                 optimizations",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "11",
  pages =        "416--425",
  month =        nov,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1168918.1168908",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:49:40 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Pointer analysis is a critical compiler analysis used
                 to disambiguate the indirect memory references that
                 result from the use of pointers and pointer-based data
                 structures. A conventional pointer analysis deduces for
                 every pair of pointers, at any program point, whether a
                 points-to relation between them (i) definitely exists,
                 (ii) definitely does not exist, or (iii) maybe exists.
                 Many compiler optimizations rely on accurate pointer
                 analysis, and to ensure correctness cannot optimize in
                 the maybe case. In contrast, recently-proposed
                 speculative optimizations can aggressively exploit the
                 maybe case, especially if the likelihood that two
                 pointers alias can be quantified. This paper proposes a
                 Probabilistic Pointer Analysis (PPA) algorithm that
                 statically predicts the probability of each points-to
                 relation at every program point. Building on simple
                 control-flow edge profiling, our analysis is both
                 one-level context and flow sensitive-yet can still
                 scale to large programs including the SPEC 2000 integer
                 benchmark suite. The key to our approach is to compute
                 points-to probabilities through the use of linear
                 transfer functions that are efficiently encoded as
                 sparse matrices. We demonstrate that our analysis can
                 provide accurate probabilities, even without
                 edge-profile information. We also find that-even
                 without considering probability information-our
                 analysis provides an accurate approach to performing
                 pointer analysis.",
  acknowledgement = ack-nhfb,
  keywords =     "dependence analysis; pointer analysis; speculative
                 optimization",
}

@Article{Frenger:2006:FSS,
  author =       "Paul Frenger",
  title =        "{Forth} \& small systems report: potential unrealized:
                 the {MicroMED} advisor",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "12",
  pages =        "10--16",
  month =        dec,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1229493.1229495",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 13:22:03 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This column begins a multipart series describing
                 various projects in which I was involved, which for one
                 reason or another, did not live up to their full
                 potential. They are reviewed here in the hope that
                 these exemplars may help others to avoid the traps and
                 pitfalls which have ensnared the author during his
                 career. Most are 'small systems', or subsystems of
                 other projects; many involve the Forth programming
                 language.",
  acknowledgement = ack-nhfb,
}

@Article{Wu:2006:FSP,
  author =       "Fangjun Wu",
  title =        "Formal specification of program slicing",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "12",
  pages =        "18--27",
  month =        dec,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1229493.1229497",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 13:22:03 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Program slicing is a well-known technique that has
                 been used in a variety of software engineering areas,
                 such as comprehension, understanding, maintenance,
                 debugging, testing, reuse, metrics, etc. This paper
                 discusses how the formal specification language Z
                 schema calculus may be used to specify program slicing.
                 General aspects of program slicing are considered, i.e.
                 dependence graphs and program slicing algorithms. This
                 formalization could help in the correct understanding
                 of program slicing and also the correct application of
                 a desired slicing regime in a rigorous way.",
  acknowledgement = ack-nhfb,
  keywords =     "program dependence graph; program slicing; system
                 dependence graph; Z language",
}

@Article{Mannarswamy:2006:TTR,
  author =       "Sandya Mannarswamy and Shruti Doval and Hariharan
                 Sandanagobalane and Mahesha Nanjundaiah",
  title =        "{TRICK}: tracking and reusing compiler's knowledge",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "12",
  pages =        "28--37",
  month =        dec,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1229493.1229498",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 13:22:03 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Compilers, during compilation, analyze the application
                 being compiled and build up extensive knowledge about
                 the program. This knowledge is essential for the
                 compiler to produce correct object code. Though some
                 part of this knowledge is retained in the generated
                 object files as symbol table information to be used by
                 the linker and/or debugger, most of it is discarded
                 after the compilation is done. In this paper, we
                 introduce the TRICK framework, which is an attempt to
                 retain and reuse this internal information generated by
                 the compiler as part of its program analysis, in
                 building new tools or enhancing existing tools as well
                 for reuse by the compiler for continuous program
                 optimization. We present examples of how development
                 and maintenance of various program analysis tools can
                 be simplified by using the TRICK framework describing
                 tools developed by our group as well as how TRICK
                 framework can be employed in continuous program
                 optimization by the compiler. TRICK framework can be
                 part of both static and dynamic compilation system,
                 though our current usage model is in the context of a
                 static compilation system,",
  acknowledgement = ack-nhfb,
  keywords =     "compiler; optimization; program analysis; reuse;
                 tools",
}

@Article{Wang:2006:DIG,
  author =       "B. Wang and C. Pronk",
  title =        "Design and implementation of a {GUI} for the {TLC}
                 model checker",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "12",
  pages =        "38--43",
  month =        dec,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1229493.1229499",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 13:22:03 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "For some time now, the TLC model checker [1] has been
                 accepted as a very useful tool for checking
                 specifications written in the language TLA+ [1]. The
                 model checker helps the system designer to find errors
                 in a specification before starting on an
                 implementation. One facility that TLA+/TLC lacks
                 however, is a GUI providing the user with more
                 operational comfort. This article presents our design
                 and implementation of a GUI for the TLA+/TLC-system,
                 called the GTLA system. GTLA provides the user with
                 three main facilities: a system editor, a simulator and
                 a verifier (the TLC model checker) operable through a
                 GUI. This article also discusses the tools which have
                 been used for constructing the GTLA system.",
  acknowledgement = ack-nhfb,
  keywords =     "GraphViz; GUI; model checking; SML; temporal logic;
                 TLA+; TLC",
}

@Article{Dubey:2006:GCP,
  author =       "Alpana Dubey",
  title =        "Goodness criteria for programming language grammar
                 rules",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "12",
  pages =        "44--53",
  month =        dec,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1229493.1229500",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 13:22:03 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The grammar of a programming language is important as
                 it is used in developing software engineering tools.
                 Sometimes grammars of programming languages are not
                 readily available or they are incomplete; hence they
                 are inferred from a set of valid programs. An exact
                 grammar can not be learned from a set of positive
                 samples (set of valid programs) alone as there exists
                 many grammars which accept the given input programs; we
                 call these grammars complete grammars. Therefore, given
                 an incomplete grammar, there exists many sets of
                 grammar rules which can make it complete. Due to many
                 possible sets of grammar rules, the grammar inference
                 process faces the problem of selecting a good set of
                 grammar rules. We address the problem of grammar rule
                 selection when they are inferred using an automatic are
                 traditionally used for assessing the complexity of
                 grammar based software. The experiments show that the
                 grammar based metrics are not sufficient for this
                 purpose as there exist several rules which have the
                 same metric value. Hence we propose two rule selection
                 criteria. Experiments are done to assess different
                 criteria. Experiments show that proposed criteria, when
                 coupled with grammar metrics, select reasonably good
                 grammar rules.",
  acknowledgement = ack-nhfb,
  keywords =     "grammar metrics; programming language dialects;
                 programming language grammar",
}

@Article{Tang:2007:PRI,
  author =       "Audrey Tang",
  title =        "{Perl 6}: reconciling the irreconcilable",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "1--1",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190218",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Perl is a general-purpose language, known for its vast
                 number of freely available libraries. The Perl 6
                 project was started to improve the language's support
                 for multi-paradigmatic programming, while retaining
                 compatibility with the existing code base. This talk
                 discusses how Perl 6 attempts to reconcile various
                 competing paradigms in the field of programming
                 language design, such as static vs. dynamic
                 typechecking, nominal vs. structural subtyping,
                 prototype vs. class-based objects, and lazy vs. eager
                 evaluation. Moreover, this talk also covers the design
                 and development of Pugs, a self-hosting Perl 6
                 implementation bootstrapped from Haskell, targeting
                 multiple runtime environments, including Perl 5,
                 JavaScript and Parrot.",
  acknowledgement = ack-nhfb,
}

@Article{Matthews:2007:OSM,
  author =       "Jacob Matthews and Robert Bruce Findler",
  title =        "Operational semantics for multi-language programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "3--10",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190220",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Inter-language interoperability is big business, as
                 the success of Microsoft's .NET and COM and Sun's JVM
                 show. Programming language designers are designing
                 programming languages that reflect that fact --- SML\#,
                 Mondrian, and Scala, to name just a few examples, all
                 treat interoperability with other languages as a
                 central design feature. Still, current multi-language
                 research tends not to focus on the semantics of
                 interoperation features, but only on how to implement
                 them efficiently. In this paper, we take first steps
                 toward higher-level models of interoperating systems.
                 Our technique abstracts away the low-level details of
                 interoperability like garbage collection and
                 representation coherence, and lets us focus on semantic
                 properties like type-safety and observable equivalence.
                 Beyond giving simple expressive models that are natural
                 compositions of single-language models, our studies
                 have uncovered several interesting facts about
                 interoperability. For example, higher-order contracts
                 naturally emerge as the glue to ensure that
                 interoperating languages respect each other's type
                 systems. While we present our results in an abstract
                 setting, they shed light on real multi-language systems
                 and tools such as the JNI, SWIG, and Haskell's stable
                 pointers.",
  acknowledgement = ack-nhfb,
  keywords =     "interoperability; multi-language systems; operational
                 semantics",
}

@Article{Avgustinov:2007:SSP,
  author =       "Pavel Avgustinov and Elnar Hajiyev and Neil Ongkingco
                 and Oege de Moor and Damien Sereni and Julian Tibble
                 and Mathieu Verbaere",
  title =        "Semantics of static pointcuts in {aspectJ}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "11--23",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190221",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In aspect-oriented programming, one can intercept
                 events by writing patterns called pointcuts. The
                 pointcut language of the most popular aspect-oriented
                 programming language, AspectJ, allows the expression of
                 highly complex properties of the static program
                 structure. We present the first rigorous semantics of
                 the AspectJ pointcut language, by translating static
                 patterns into safe (i.e. range-restricted and
                 stratified) Datalog queries. Safe Datalog is a logic
                 language like Prolog, but it does not have data
                 structures; consequently it has a straightforward least
                 fixpoint semantics and all queries terminate. The
                 translation from pointcuts to safe Datalog consists of
                 a set of simple conditional rewrite rules, implemented
                 using the Stratego system. The resulting queries are
                 themselves executable with the CodeQuest system. We
                 present experiments indicating that direct execution of
                 our semantics is not prohibitively expensive.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented programming; datalog; logic
                 programming; pointcuts; term rewriting",
}

@Article{Chen:2007:TIL,
  author =       "Juan Chen",
  title =        "A typed intermediate language for compiling multiple
                 inheritance",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "25--30",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190222",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Type-preserving compilation can improve software
                 reliability by generating code that can be verified
                 independently of the compiler. Practical type
                 preserving compilation does not exist for languages
                 with multiple inheritance. This paper presents
                 E$_{mi}$, the first typed intermediate language to
                 support practical compilation of a programming language
                 with fully general multiple inheritance. The paper
                 demonstrates the practicality of Emi by showing that
                 E$_{mi}$ can be used to faithfully model standard
                 implementation strategies of multiple inheritance for
                 C++, the most widely-used programming language with
                 general multiple inheritance.",
  acknowledgement = ack-nhfb,
  keywords =     "class and object encoding; multiple inheritance; typed
                 intermediate language",
}

@Article{Jump:2007:CDM,
  author =       "Maria Jump and Kathryn S. McKinley",
  title =        "{Cork}: dynamic memory leak detection for
                 garbage-collected languages",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "31--38",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190224",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A memory leak in a garbage-collected program occurs
                 when the program inadvertently maintains references to
                 objects that it no longer needs. Memory leaks cause
                 systematic heap growth, degrading performance and
                 resulting in program crashes after perhaps days or
                 weeks of execution. Prior approaches for detecting
                 memory leaks rely on heap differencing or detailed
                 object statistics which store state proportional to the
                 number of objects in the heap. These overheads preclude
                 their use on the same processor for deployed
                 long-running applications. This paper introduces a
                 dynamic heap-summarization technique based on type that
                 accurately identifies leaks, is space efficient (adding
                 less than 1\% to the heap), and is time efficient
                 (adding 2.3\% on average to total execution time). We
                 implement this approach in Cork which utilizes dynamic
                 type information and garbage collection to summarize
                 the live objects in a type points-from graph (TPFG)
                 whose nodes (types) and edges (references between
                 types) are annotated with volume. Cork compares TPFG's
                 across multiple collections, identifies growing data
                 structures, and computes a type slice for the user.
                 Cork is accurate: it identifies systematic heap growth
                 with no false positives in 4 of 15 benchmarks we
                 tested. Cork's slice report enabled us (non-experts) to
                 quickly eliminate growing data structures in
                 SPECjbb2000 and Elipse, something their developers had
                 not previously done. Cork is accurate, scalable, and
                 efficient enough to consider using online.",
  acknowledgement = ack-nhfb,
  keywords =     "dynamic; garbage collection; memory leak detection;
                 memory leaks; runtime analysis",
}

@Article{Polishchuk:2007:DHT,
  author =       "Marina Polishchuk and Ben Liblit and Chlo{\"e} W.
                 Schulze",
  title =        "Dynamic heap type inference for program understanding
                 and debugging",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "39--46",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190225",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "C programs can be difficult to debug due to lax type
                 enforcement and low-level access to memory. We present
                 a dynamic analysis for C that checks heap snapshots for
                 consistency with program types. Our approach builds on
                 ideas from physical subtyping and conservative garbage
                 collection. We infer a program-defined type for each
                 allocated storage location or identify 'untypable'
                 blocks that reveal heap corruption or type safety
                 violations. The analysis exploits symbolic debug
                 information if present, but requires no annotation or
                 recompilation beyond a list of defined program types
                 and allocated heap blocks. We have integrated our
                 analysis into the GNU Debugger (gdb), and describe our
                 initial experience using this tool with several small
                 to medium-sized programs.",
  acknowledgement = ack-nhfb,
  keywords =     "conservative garbage collection; constraints;
                 debugging tools; dynamic type inference; heap
                 visualization; physical subtyping",
}

@Article{Godefroid:2007:CDT,
  author =       "Patrice Godefroid",
  title =        "Compositional dynamic test generation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "47--54",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190226",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Dynamic test generation is a form of dynamic program
                 analysis that attempts to compute test inputs to drive
                 a program along a specific program path. Directed
                 Automated Random Testing, or DART for short, blends
                 dynamic test generation with model checking techniques
                 with the goal of systematically executing all feasible
                 program paths of a program while detecting various
                 types of errors using run-time checking tools (like
                 Purify, for instance). Unfortunately, systematically
                 executing all feasible program paths does not scale to
                 large, realistic programs. This paper addresses this
                 major limitation and proposes to perform dynamic test
                 generation compositionally, by adapting known
                 techniques for interprocedural static analysis.
                 Specifically, we introduce a new algorithm, dubbed
                 SMART for Systematic Modular Automated Random Testing,
                 that extends DART by testing functions in isolation,
                 encoding test results as function summaries expressed
                 using input preconditions and output postconditions,
                 and then re-using those summaries when testing
                 higher-level functions. We show that, for a fixed
                 reasoning capability, our compositional approach to
                 dynamic test generation (SMART) is both sound and
                 complete compared to monolithic dynamic test generation
                 (DART). In other words, SMART can perform dynamic test
                 generation compositionally without any reduction in
                 program path coverage. We also show that, given a bound
                 on the maximum number of feasible paths in individual
                 program functions, the number of program executions
                 explored by SMART is linear in that bound, while the
                 number of program executions explored by DART can be
                 exponential in that bound. We present examples of C
                 programs and preliminary experimental results that
                 illustrate and validate empirically these properties.",
  acknowledgement = ack-nhfb,
  keywords =     "automatic test generation; compositional program
                 analysis; program verification; scalability; software
                 testing",
}

@Article{Shen:2007:LAU,
  author =       "Xipeng Shen and Jonathan Shaw and Brian Meeker and
                 Chen Ding",
  title =        "Locality approximation using time",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "55--61",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190227",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Reuse distance (i.e. LRU stack distance) precisely
                 characterizes program locality and has been a basic
                 tool for memory system research since the 1970s.
                 However, the high cost of measuring has restricted its
                 practical uses in performance debugging, locality
                 analysis and optimizations of long-running
                 applications. In this work, we improve the efficiency
                 by exploring the connection between time and locality.
                 We propose a statistical model that converts cheaply
                 obtained time distance to the more costly reuse
                 distance. Compared to the state-of-the-art technique,
                 this approach reduces measuring time by a factor of 17,
                 and approximates cache line reuses with over 99\%
                 accuracy and the cache miss rate with less than 0.4\%
                 average error for 12 SPEC 2000 integer and
                 floating-point benchmarks. By exploiting the strong
                 correlations between time and locality, this work makes
                 precise locality as easy to obtain as data access
                 frequency, and opens new opportunities for program
                 optimizations.",
  acknowledgement = ack-nhfb,
  keywords =     "performance prediction; program locality; reference
                 affinity; reuse distance; time distance; trace
                 generator",
}

@Article{Dreyer:2007:MTC,
  author =       "Derek Dreyer and Robert Harper and Manuel M. T.
                 Chakravarty and Gabriele Keller",
  title =        "Modular type classes",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "63--70",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190229",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "ML modules and Haskell type classes have proven to be
                 highly effective tools for program structuring. Modules
                 emphasize explicit configuration of program components
                 and the use of data abstraction. Type classes emphasize
                 implicit program construction and ad hoc polymorphism.
                 In this paper, we show how the implicitly-typed style
                 of type class programming may be supported within the
                 framework of an explicitly-typed module language by
                 viewing type classes as a particular mode of use of
                 modules. This view offers a harmonious integration of
                 modules and type classes, where type class features,
                 such as class hierarchies and associated types, arise
                 naturally as uses of existing module-language
                 constructs, such as module hierarchies and type
                 components. In addition, programmers have explicit
                 control over which type class instances are available
                 for use by type inference in a given scope. We
                 formalize our approach as a Harper-Stone-style
                 elaboration relation, and provide a sound type
                 inference algorithm as a guide to implementation.",
  acknowledgement = ack-nhfb,
  keywords =     "modules; type classes; type inference; type systems",
}

@Article{Siskind:2007:FCN,
  author =       "Jeffrey Mark Siskind and Barak A. Pearlmutter",
  title =        "First-class nonstandard interpretations by opening
                 closures",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "71--76",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190230",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We motivate and discuss a novel functional programming
                 construct that allows convenient modular run-time
                 nonstandard interpretation via reflection on closure
                 environments. This map-closure construct encompasses
                 both the ability to examine the contents of a closure
                 environment and to construct a new closure with a
                 modified environment. From the user's perspective,
                 map-closure is a powerful and useful construct that
                 supports such tasks as tracing, security logging,
                 sandboxing, error checking, profiling, code
                 instrumentation and metering, run-time code patching,
                 and resource monitoring. From the implementor's
                 perspective, map-closure is analogous to call/cc. Just
                 as call/cc is a non-referentially-transparent mechanism
                 that reifies the continuations that are only implicit
                 in programs written in direct style, map-closure is a
                 non-referentially-transparent mechanism that reifies
                 the closure environments that are only implicit in
                 higher-order programs. Just as CPS conversion is a
                 non-local but purely syntactic transformation that can
                 eliminate references to call/cc, closure conversion is
                 a non-local but purely syntactic transformation that
                 can eliminate references to map-closure. We show how
                 the combination of map-closure and call/cc can be used
                 to implement set! as a procedure definition and a local
                 macro transformation.",
  acknowledgement = ack-nhfb,
  keywords =     "lambda lifting; referential transparency",
}

@Article{Mandelbaum:2007:PMF,
  author =       "Yitzhak Mandelbaum and Kathleen Fisher and David
                 Walker and Mary Fernandez and Artem Gleyzer",
  title =        "{PADS\slash ML}: a functional data description
                 language",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "77--83",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190231",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Massive amounts of useful data are stored and
                 processed in ad hoc formats for which common tools like
                 parsers, printers, query engines and format converters
                 are not readily available. In this paper, we explain
                 the design and implementation of PADS/ML, a new
                 language and system that facilitates the generation of
                 data processing tools for ad hoc formats. The PADS/ML
                 design includes features such as dependent, polymorphic
                 and recursive datatypes, which allow programmers to
                 describe the syntax and semantics of ad hoc data in a
                 concise, easy-to-read notation. The PADS/ML
                 implementation compiles these descriptions into ml
                 structures and functors that include types for parsed
                 data, functions for parsing and printing, and auxiliary
                 support for user-specified, format-dependent and
                 format-independent tool generation.",
  acknowledgement = ack-nhfb,
  keywords =     "data description languages; dependent types;
                 domain-specific languages; functional programming; ML;
                 modules; parsing; printing",
}

@Article{Pitts:2007:GUN,
  author =       "Andrew M. Pitts and Mark R. Shinwell",
  title =        "Generative unbinding of names",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "85--95",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190232",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper is concerned with a programming language
                 construct for typed name binding that enforces
                 $\alpha$equivalence. It proves a new result about what
                 operations on names can co-exist with this construct.
                 The particular form of typed name binding studied is
                 that used by the FreshML family of languages. Its
                 characteristic feature is that a name binding is
                 represented by an abstract (name,value)-pair that may
                 only be deconstructed via the generation of fresh bound
                 names. In FreshML the only observation one can make of
                 names is to test whether or not they are equal. This
                 restricted amount of observation was thought necessary
                 to ensure that there is no observable difference
                 between $\alpha$equivalent name binders. Yet from an
                 algorithmic point of view it would be desirable to
                 allow other operations and relations on names, such as
                 a total ordering. This paper shows that, contrary to
                 expectations, one may add not just ordering, but almost
                 any relation or numerical function on names without
                 disturbing the fundamental correctness result about
                 this form of typed name binding (that object-level
                 $\alpha$equivalence precisely corresponds to contextual
                 equivalence at the programming meta-level), so long as
                 one takes the state of dynamically created names into
                 account.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract syntax; alpha-conversion; binders;
                 meta-programming",
}

@Article{Tuch:2007:TBS,
  author =       "Harvey Tuch and Gerwin Klein and Michael Norrish",
  title =        "Types, bytes, and separation logic",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "97--108",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190234",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a formal model of memory that both captures
                 the low-level features of C's pointers and memory, and
                 that forms the basis for an expressive implementation
                 of separation logic. At the low level, we do not commit
                 common oversimplifications, but correctly deal with C's
                 model of programming language values and the heap. At
                 the level of separation logic, we are still able to
                 reason abstractly and efficiently. We implement this
                 framework in the theorem prover Isabelle/HOL and
                 demonstrate it on two case studies. We show that the
                 divide between detailed and abstract does not impose
                 undue verification overhead, and that simple programs
                 remain easy to verify. We also show that the framework
                 is applicable to real, security- and safety-critical
                 code by formally verifying the memory allocator of the
                 L4 microkernel.",
  acknowledgement = ack-nhfb,
  keywords =     "C; interactive theorem proving; separation logic",
}

@Article{Appel:2007:VMM,
  author =       "Andrew W. Appel and Paul-Andr{\'e} Melli{\`e}s and
                 Christopher D. Richards and J{\'e}r{\^o}me Vouillon",
  title =        "A very modal model of a modern, major, general type
                 system",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "109--122",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190235",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a model of recursive and impredicatively
                 quantified types with mutable references. We interpret
                 in this model all of the type constructors needed for
                 typed intermediate languages and typed assembly
                 languages used for object-oriented and functional
                 languages. We establish in this purely semantic fashion
                 a soundness proof of the typing systems underlying
                 these TILs and TALs---ensuring that every well-typed
                 program is safe. The technique is generic, and applies
                 to any small-step semantics including \lambda
                 -calculus, labeled transition systems, and von Neumann
                 machines. It is also simple, and reduces mainly to
                 defining a Kripke semantics of the G{\"o}del-L{\"o}b
                 logic of provability. We have mechanically verified in
                 Coq the soundness of our type system as applied to a
                 von Neumann machine.",
  acknowledgement = ack-nhfb,
  keywords =     "impredicative polymorphism; Kripke models; mutable
                 references; recursive types",
}

@Article{Calcagno:2007:CLM,
  author =       "Cristiano Calcagno and Philippa Gardner and Uri
                 Zarfaty",
  title =        "Context logic as modal logic: completeness and
                 parametric inexpressivity",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "123--134",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190236",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Separation Logic, Ambient Logic and Context Logic are
                 based on a similar style of reasoning about structured
                 data. They each consist of a structural (separating)
                 composition for reasoning about disjoint subdata, and
                 corresponding structural adjoint(s) for reasoning
                 hypothetically about data. We show how to interpret
                 these structural connectives as modalities in Modal
                 Logic and prove completeness results. The structural
                 connectives are essential for describing properties of
                 the underlying data, such as weakest preconditions for
                 Hoare reasoning for Separation and Context Logic, and
                 security properties for Ambient Logic. In fact, we
                 introduced Context Logic to reason about tree update,
                 precisely because the structural connectives of the
                 Ambient Logic did not have enough expressive power.
                 Despite these connectives being essential, first Lozes
                 then Dawar, Gardner and Ghelli proved elimination
                 results for Separation Logic and Ambient Logic (without
                 quantifiers). In this paper, we solve this apparent
                 contradiction. We study parametric inexpressivity
                 results, which demonstrate that the structural
                 connectives are indeed fundamental for this style of
                 reasoning.",
  acknowledgement = ack-nhfb,
  keywords =     "contexts; expressivity; logic; structured data",
}

@Article{Batory:2007:ITP,
  author =       "Don Batory",
  title =        "From implementation to theory in product synthesis",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "135--136",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190238",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Future software development will rely on product
                 synthesis, i.e., the synthesis of code and non-code
                 artifacts for a target component or application. Prior
                 work on feature-based product synthesis can be
                 understood and generalized using elementary ideas from
                 category theory. Doing so reveals (a) practical and
                 previously unrecognized properties that product
                 synthesis tools must satisfy, and (b) non-obvious
                 generalizations of current techniques that will guide
                 future research efforts in automated product
                 development.",
  acknowledgement = ack-nhfb,
  keywords =     "AHEAD; category theory; features; GenVoca; mixins;
                 model driven design; program synthesis; virtual
                 classes",
}

@Article{Lammel:2007:SYB,
  author =       "Ralf L{\"a}mmel",
  title =        "Scrap your boilerplate with {XPath}-like combinators",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "137--142",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190240",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "XML programming involves idioms for expressing
                 'structure shyness' such as the descendant axis of
                 XPath or the default templates of XSLT. We initiate a
                 discussion of the relationships between such XML idioms
                 and generic functional programming, while focusing on
                 the (Haskell-based) 'Scrap your boilerplate' style of
                 generic programming (SYB). This work gives insight into
                 mechanisms for traversal and selection. We compare SYB
                 and XSLT. We approximate XPath in SYB. We make a case
                 for SYB's programmability, when compared to XPath's
                 fixed combinators. We allude to strengthened type
                 checking for SYB traversals so as to reject certain,
                 trivial behaviors.",
  acknowledgement = ack-nhfb,
  keywords =     "generic functional programming; XML programming",
}

@Article{Ohori:2007:LFF,
  author =       "Atsushi Ohori and Isao Sasano",
  title =        "Lightweight fusion by fixed point promotion",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "143--154",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190241",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper proposes a lightweight fusion method for
                 general recursive function definitions. Compared with
                 existing proposals, our method has several significant
                 practical features: it works for general recursive
                 functions on general algebraic data types; it does not
                 produce extra runtime overhead (except for possible
                 code size increase due to the success of fusion); and
                 it is readily incorporated in standard inlining
                 optimization. This is achieved by extending the
                 ordinary inlining process with a new fusion law that
                 transforms a term of the form $f o$ (fix $g \lambda
                 x.E$) to a new fixed point term fix $h \lambda
                 x.E\prime$ by promoting the function $f$ through the
                 fixed point operator. This is a sound syntactic
                 transformation rule that is not sensitive to the types
                 of $f$ and $g$. This property makes our method
                 applicable to wide range of functions including those
                 with multi-parameters in both curried and uncurried
                 forms. Although this method does not guarantee any form
                 of completeness, it fuses typical examples discussed in
                 the literature and others that involve accumulating
                 parameters, either in the {\tt foldl}-like specific
                 forms or in general recursive forms, without any
                 additional machinery. In order to substantiate our
                 claim, we have implemented our method in a compiler.
                 Although it is preliminary, it demonstrates practical
                 feasibility of this method.",
  acknowledgement = ack-nhfb,
  keywords =     "fixed point; fusion; inlining",
}

@Article{Pearlmutter:2007:LMH,
  author =       "Barak A. Pearlmutter and Jeffrey Mark Siskind",
  title =        "Lazy multivariate higher-order forward-mode {AD}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "155--160",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190242",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A method is presented for computing all higher-order
                 partial derivatives of a multivariate function $R^n
                 \rightarrow R$. This method works by evaluating the
                 function under a nonstandard interpretation, lifting
                 reals to multivariate power series. Multivariate power
                 series, with potentially an infinite number of terms
                 with nonzero coefficients, are represented using a lazy
                 data structure constructed out of linear terms. A
                 complete implementation of this method in Scheme is
                 presented, along with a straightforward exposition,
                 based on Taylor expansions, of the method's
                 correctness.",
  acknowledgement = ack-nhfb,
  keywords =     "nonstandard interpretation; power series",
}

@Article{Stovring:2007:CCI,
  author =       "Kristian St{\o}vring and Soren B. Lassen",
  title =        "A complete, co-inductive syntactic theory of
                 sequential control and state",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "161--172",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190244",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a new co-inductive syntactic theory, eager
                 normal form bisimilarity, for the untyped call-by-value
                 lambda calculus extended with continuations and mutable
                 references. We demonstrate that the associated
                 bisimulation proof principle is easy to use and that it
                 is a powerful tool for proving equivalences between
                 recursive imperative higher-order programs. The theory
                 is modular in the sense that eager normal form
                 bisimilarity for each of the calculi extended with
                 continuations and/or mutable references is a fully
                 abstract extension of eager normal form bisimilarity
                 for its sub-calculi. For each calculus, we prove that
                 eager normal form bisimilarity is a congruence and is
                 sound with respect to contextual equivalence.
                 Furthermore, for the calculus with both continuations
                 and mutable references, we show that eager normal form
                 bisimilarity is complete: it coincides with contextual
                 equivalence.",
  acknowledgement = ack-nhfb,
  keywords =     "bisimulation; continuations; mutable references",
}

@Article{Lee:2007:TMM,
  author =       "Daniel K. Lee and Karl Crary and Robert Harper",
  title =        "Towards a mechanized metatheory of standard {ML}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "173--184",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190245",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present an internal language with equivalent
                 expressive power to Standard ML, and discuss its
                 formalization in LF and the machine-checked
                 verification of its type safety in Twelf. The internal
                 language is intended to serve as the target of
                 elaboration in an elaborative semantics for Standard ML
                 in the style of Harper and Stone. Therefore, it
                 includes all the programming mechanisms necessary to
                 implement Standard ML, including translucent modules,
                 abstraction, polymorphism, higher kinds, references,
                 exceptions, recursive types, and recursive functions.
                 Our successful formalization of the proof involved a
                 careful interplay between the precise formulations of
                 the various mechanisms, and required the invention of
                 new representation and proof techniques of general
                 interest.",
  acknowledgement = ack-nhfb,
  keywords =     "language definitions; logical frameworks; mechanized
                 metatheory; standard ML; Twelf; type safety",
}

@Article{Might:2007:LFA,
  author =       "Matthew Might",
  title =        "Logic-flow analysis of higher-order programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "185--198",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190247",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This work presents a framework for fusing flow
                 analysis and theorem proving called logic-flow analysis
                 (LFA). The framework itself is the reduced product of
                 two abstract interpretations: (1) an abstract state
                 machine and (2) a set of propositions in a restricted
                 first-order logic. The motivating application for LFA
                 is the safe removal of implicit array-bounds checks
                 without type information, user interaction or program
                 annotation. LFA achieves this by delegating a given
                 task to either the prover or the flow analysis
                 depending on which is best suited to discharge it.
                 Described within are a concrete semantics for
                 continuation-passing style; a restricted, first-order
                 logic; a woven product of two abstract interpretations;
                 proofs of correctness; and a worked example.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract counting; abstract garbage collection; CPS;
                 environment analysis; gamma-CFA first-order logic;
                 lambda calculus; LFA; logic-flow analysis; static
                 analysis; theorem proving",
}

@Article{Wiedermann:2007:EQS,
  author =       "Ben Wiedermann and William R. Cook",
  title =        "Extracting queries by static analysis of transparent
                 persistence",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "199--210",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190248",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Transparent persistence promises to integrate
                 programming languages and databases by allowing
                 procedural programs to access persistent data with the
                 same ease as non-persistent data. When the data is
                 stored in a relational database, however, transparent
                 persistence does not naturally leverage the performance
                 benefits of relational query optimization. We present a
                 program analysis that combines the benefits of both
                 approaches by extracting database queries from programs
                 with transparent access to persistent data. The
                 analysis uses a sound abstract interpretation of the
                 original program to approximate the data traversal
                 paths in the program and the conditions under which the
                 paths are used. The resulting paths are then converted
                 into a query, and the program is simplified by removing
                 redundant tests. We study an imperative kernel language
                 with read-only access to persistent data and identify
                 the conditions under which the transformations can be
                 applied. This analysis approach promises to combine the
                 software engineering benefits of transparent data
                 persistence with the performance benefits of database
                 query optimization.",
  acknowledgement = ack-nhfb,
  keywords =     "databases; programming languages; static analysis",
}

@Article{Berdine:2007:VAI,
  author =       "Josh Berdine and Aziem Chawdhary and Byron Cook and
                 Dino Distefano and Peter O'Hearn",
  title =        "Variance analyses from invariance analyses",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "211--224",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190249",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "An invariance assertion for a program location $l$ is
                 a statement that always holds at $l$ during execution
                 of the program. Program invariance analyses infer
                 invariance assertions that can be useful when trying to
                 prove safety properties. We use the term variance
                 assertion to mean a statement that holds between any
                 state at $l$ and any previous state that was also at
                 $l$. This paper is concerned with the development of
                 analyses for variance assertions and their application
                 to proving termination and liveness properties. We
                 describe a method of constructing program variance
                 analyses from invariance analyses. If we change the
                 underlying invariance analysis, we get a different
                 variance analysis. We describe several applications of
                 the method, including variance analyses using linear
                 arithmetic and shape analysis. Using experimental
                 results we demonstrate that these variance analyses
                 give rise to a new breed of termination provers which
                 are competitive with and sometimes better than today's
                 state-of-the-art termination provers.",
  acknowledgement = ack-nhfb,
  keywords =     "formal verification; liveness; program analysis;
                 software model checking; termination",
}

@Article{Malacaria:2007:AST,
  author =       "Pasquale Malacaria",
  title =        "Assessing security threats of looping constructs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "225--235",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190251",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "There is a clear intuitive connection between the
                 notion of leakage of information in a program and
                 concepts from information theory. This intuition has
                 not been satisfactorily pinned down, until now. In
                 particular, previous information-theoretic models of
                 programs are imprecise, due to their overly
                 conservative treatment of looping constructs. In this
                 paper we provide the first precise
                 information-theoretic semantics of looping constructs.
                 Our semantics describes both the amount and rate of
                 leakage; if either is small enough, then a program
                 might be deemed 'secure'. Using the semantics we
                 provide an investigation and classification of bounded
                 and unbounded covert channels.",
  acknowledgement = ack-nhfb,
  keywords =     "information theory; language semantics; security",
}

@Article{Yu:2007:JIB,
  author =       "Dachuan Yu and Ajay Chander and Nayeem Islam and Igor
                 Serikov",
  title =        "{JavaScript} instrumentation for browser security",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "237--249",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190252",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "It is well recognized that JavaScript can be exploited
                 to launch browser-based security attacks. We propose to
                 battle such attacks using program instrumentation.
                 Untrusted JavaScript code goes through a rewriting
                 process which identifies relevant operations, modifies
                 questionable behaviors, and prompts the user (a web
                 page viewer) for decisions on how to proceed when
                 appropriate. Our solution is parametric with respect to
                 the security policy-the policy is implemented
                 separately from the rewriting, and the same rewriting
                 process is carried out regardless of which policy is in
                 use. Be-sides providing a rigorous account of the
                 correctness of our solution, we also discuss practical
                 issues including policy management and prototype
                 experiments. A useful by-product of our work is an
                 operational semantics of a core subset of JavaScript,
                 where code embedded in (HTML) documents may generate
                 further document pieces (with new code embedded) at
                 runtime, yielding a form of self-modifying code.",
  acknowledgement = ack-nhfb,
  keywords =     "edit automata; JavaScript; program instrumentation;
                 web browser",
}

@Article{Bugliesi:2007:SIT,
  author =       "Michele Bugliesi and Marco Giunti",
  title =        "Secure implementations of typed channel abstractions",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "251--262",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190253",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The challenges hidden in the implementation of
                 high-level process calculi into low-level environments
                 are well understood [3]. This paper develops a secure
                 implementation of a typed pi calculus, in which
                 capability types are employed to realize the policies
                 for the access to communication channels. Our
                 implementation compiles high-level processes of the
                 pi-calculus into low-level principals of a
                 cryptographic process calculus based on the applied-pi
                 calculus [1]. In this translation, the high-level type
                 capabilities are implemented as term capabilities
                 protected by encryption keys only known to the intended
                 receivers. As such, the implementation is effective
                 even when the compiled, low-level principals are
                 deployed in open contexts for which no assumption on
                 trust and behavior may be made. Our technique and
                 results draw on, and extend, previous work on secure
                 implementation of channel abstractions in a dialect of
                 the join calculus [2]. In particular, our translation
                 preserves the forward secrecy of communications in a
                 calculus that includes matching and supports the
                 dynamic exchange of write and read access-rights among
                 processes. We establish the adequacy and full
                 abstraction of the implementation by contrasting the
                 untyped equivalences of the low-level cryptographic
                 calculus, with the typed equivalences of the high-level
                 source calculus.",
  acknowledgement = ack-nhfb,
  keywords =     "full abstraction; language encodings; typed behavioral
                 theories",
}

@Article{Murthy:2007:APL,
  author =       "Chet Murthy",
  title =        "Advanced programming language design in enterprise
                 software: a lambda-calculus theorist wanders into a
                 datacenter",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "263--264",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190255",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Enterprise software systems automate the business
                 processes of most nontrivial organizations in the world
                 economy. These systems are immensely complex, and their
                 function is critical to our living standards and
                 everyday lives. Their design, implementation, and
                 maintenance occupies many thousands of programmers and
                 engineers, who work in what are aptly called the 'COBOL
                 dungeons'$^1$ of the IT sector. These systems have
                 persisted, growing by accretion -- some for decades;
                 there are enterprise systems in existence today whose
                 original and even subsequent authors are retired or
                 deceased. Such extraordinarily old, multi-layered
                 systems might appear to be the last place to apply
                 avante-garde techniques, but in fact, they are
                 extremely promising candidates, and for reasons
                 directly connected to their history and structure. In
                 this talk we take a tour of several deployed enterprise
                 software systems, and demonstrate that the appropriate
                 application of methods from functional programming can
                 and does in fact yield dramatic performance
                 improvements and thus commercial advantage in the
                 design and implementation of enterprise software. This
                 concrete application is an instance of a general plan
                 for the application of advanced programming language
                 design and analysis methods, to the problem of
                 improving enterprise software. It is the thesis of this
                 talk that to a great extent, it is in enterprise
                 software that advanced PL techniques can find their
                 most advantageous application. This talk literally
                 breaks no new ground in PL research: every technique
                 discussed is nearly two decades old, and our goal is to
                 introduce PL researchers to what we feel is an ideal
                 target for their work.",
  acknowledgement = ack-nhfb,
  keywords =     "enterprise software; functional languages; transaction
                 processing",
}

@Article{Cook:2007:PPE,
  author =       "Byron Cook and Alexey Gotsman and Andreas Podelski and
                 Andrey Rybalchenko and Moshe Y. Vardi",
  title =        "Proving that programs eventually do something good",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "265--276",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190257",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In recent years we have seen great progress made in
                 the area of automatic source-level static analysis
                 tools. However, most of today's program verification
                 tools are limited to properties that guarantee the
                 absence of bad events (safety properties). Until now no
                 formal software analysis tool has provided fully
                 automatic support for proving properties that ensure
                 that good events eventually happen (liveness
                 properties). In this paper we present such a tool,
                 which handles liveness properties of large systems
                 written in C. Liveness properties are described in an
                 extension of the specification language used in the SDV
                 system. We have used the tool to automatically prove
                 critical liveness properties of Windows device drivers
                 and found several previously unknown liveness bugs.",
  acknowledgement = ack-nhfb,
  keywords =     "formal verification; liveness; software model
                 checking; termination",
}

@Article{Gulwani:2007:PVP,
  author =       "Sumit Gulwani and Nebojsa Jojic",
  title =        "Program verification as probabilistic inference",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "277--289",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190258",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In this paper, we propose a new algorithm for proving
                 the validity or invalidity of a pre/postcondition pair
                 for a program. The algorithm is motivated by the
                 success of the algorithms for probabilistic inference
                 developed in the machine learning community for
                 reasoning in graphical models. The validity or
                 invalidity proof consists of providing an invariant at
                 each program point that can be locally verified. The
                 algorithm works by iteratively randomly selecting a
                 program point and updating the current abstract state
                 representation to make it more locally consistent (with
                 respect to the abstractions at the neighboring points).
                 We show that this simple algorithm has some interesting
                 aspects: (a) It brings together the complementary
                 powers of forward and backward analyses; (b) The
                 algorithm has the ability to recover itself from
                 excessive under-approximation or over-approximation
                 that it may make. (Because the algorithm does not
                 distinguish between the forward and backward
                 information, the information could get both
                 under-approximated and over-approximated at any step.)
                 (c) The randomness in the algorithm ensures that the
                 correct choice of updates is eventually made as there
                 is no single deterministic strategy that would provably
                 work for any interesting class of programs. In our
                 experiments we use this algorithm to produce the proof
                 of correctness of a small (but non-trivial) example. In
                 addition, we empirically illustrate several important
                 properties of the algorithm.",
  acknowledgement = ack-nhfb,
  keywords =     "automated recovery machine; belief networks; factor
                 graphs; forward and backward analysis; Gibbs sampling;
                 learning; Markov chain Monte Carlo; over and under
                 approximation; probabilistic inference; program
                 verification",
}

@Article{Emmi:2007:LA,
  author =       "Michael Emmi and Jeffrey S. Fischer and Ranjit Jhala
                 and Rupak Majumdar",
  title =        "Lock allocation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "291--296",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190260",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We introduce lock allocation, an automatic technique
                 that takes a multi-threaded program annotated with
                 atomic sections (that must be executed atomically), and
                 infers a lock assignment from global variables to locks
                 and a lock instrumentation that determines where each
                 lock should be acquired and released such that the
                 resulting instrumented program is guaranteed to
                 preserve atomicity and deadlock freedom (provided all
                 shared state is accessed only within atomic sections).
                 Our algorithm works in the presence of pointers and
                 procedures, and sets up the lock allocation problem as
                 a 0-1 ILP which minimizes the conflict cost between
                 atomic sections while simultaneously minimizing the
                 number of locks. We have implemented our algorithm for
                 both C with pthreads and Java, and have applied it to
                 infer locks in 15K lines of AOLserver code. Our
                 automatic allocation produces the same results as hand
                 annotations for most of this code, while solving the
                 optimization instances within a second for most
                 programs.",
  acknowledgement = ack-nhfb,
  keywords =     "atomicity; ILP; lock inference",
}

@Article{Parkinson:2007:MVN,
  author =       "Matthew Parkinson and Richard Bornat and Peter
                 O'Hearn",
  title =        "Modular verification of a non-blocking stack",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "297--302",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190215.1190261",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper contributes to the development of
                 techniques for the modular proof of programs that
                 include concurrent algorithms. We present a proof of a
                 non-blocking concurrent algorithm, which provides a
                 shared stack. The inter-thread interference, which is
                 essential to the algorithm, is confined in the proof
                 and the specification to the modular operations, which
                 perform push and pop on the stack. This is achieved by
                 the mechanisms of separation logic. The effect is that
                 inter-thread interference does not pollute
                 specification or verification of clients of the
                 stack.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; non-blocking; separation logic",
}

@Article{Kahlon:2007:AIP,
  author =       "Vineet Kahlon and Aarti Gupta",
  title =        "On the analysis of interacting pushdown systems",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "303--314",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190262",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Pushdown Systems (PDSs) have become an important
                 paradigm for program analysis. Indeed, recent work has
                 shown a deep connection between inter-procedural
                 dataflow analysis for sequential programs and the model
                 checking problem for PDSs. A natural extension of this
                 framework to the concurrent domain hinges on the,
                 somewhat less studied, problem of model checking
                 Interacting Pushdown Systems. In this paper, we
                 therefore focus on the model checking of Interacting
                 Pushdown Systems synchronizing via the standard
                 primitives --- locks, rendezvous and broadcasts, for
                 rich classes of temporal properties --- both linear and
                 branching time. We formulate new algorithms for model
                 checking interacting PDSs for important fragments of
                 LTL and the Mu-Calculus. Additionally, we also
                 delineate precisely the decidability boundary for each
                 of the standard synchronization primitives.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; dataflow analysis; LTL; model checking;
                 mu-calculus; pushdown systems",
}

@Article{Reppy:2007:SCM,
  author =       "John Reppy and Yingqi Xiao",
  title =        "Specialization of {CML} message-passing primitives",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "315--326",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190264",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Concurrent ML (CML) is a statically-typed higher-order
                 concurrent language that is embedded in Standard ML.
                 Its most notable feature is its support for first-class
                 synchronous operations. This mechanism allows
                 programmers to encapsulate complicated communication
                 and synchronization protocols as first-class
                 abstractions, which encourages a modular style of
                 programming where the underlying channels used to
                 communicate with a given thread are hidden behind data
                 and type abstraction. While CML has been in active use
                 for well over a decade, little attention has been paid
                 to optimizing CML programs. In this paper, we present a
                 new program analysis for statically-typed higher-order
                 concurrent languages that enables the compile-time
                 specialization of communication operations. This
                 specialization is particularly important in a
                 multiprocessor or multicore setting, where the
                 synchronization overhead for general-purpose operations
                 are high. Preliminary results from a prototype that we
                 have built demonstrate that specialized channel
                 operations are much faster than the general-purpose
                 operations. Our analysis technique is modular (i.e.,,
                 it analyzes and optimizes a single unit of abstraction
                 at a time), which plays to the modular style of many
                 CML programs. The analysis consists of three steps: the
                 first is a type-sensitive control-flow analysis that
                 uses the program's type-abstractions to compute more
                 precise results. The second is the construction of an
                 extended control-flow graph using the results of the
                 CFA. The last step is an iterative analysis over the
                 graph that approximates the usage patterns of known
                 channels. Our analysis is designed to detect special
                 patterns of use, such as one-shot channels, fan-in
                 channels, and fan-out channels. We have proven the
                 safety of our analysis and state those results.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrent languages; message passing; ML; static
                 analysis",
}

@Article{Naik:2007:CMA,
  author =       "Mayur Naik and Alex Aiken",
  title =        "Conditional must not aliasing for static race
                 detection",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "327--338",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190265",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Race detection algorithms for multi-threaded programs
                 using the common lock-based synchronization idiom must
                 correlate locks with the memory locations they guard.
                 The heart of a proof of race freedom is showing that if
                 two locks are distinct, then the memory locations they
                 guard are also distinct. This is an example of a
                 general property we call conditional must not aliasing:
                 Under the assumption that two objects are not aliased,
                 prove that two other objects are not aliased. This
                 paper introduces and gives an algorithm for conditional
                 must not alias analysis and discusses experimental
                 results for sound race detection of Java programs.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; Java; multi-threading; static race
                 detection; synchronization",
}

@Article{Jhala:2007:IAA,
  author =       "Ranjit Jhala and Rupak Majumdar",
  title =        "Interprocedural analysis of asynchronous programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "339--350",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190266",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "An asynchronous program is one that contains procedure
                 calls which are not immediately executed from the
                 callsite, but stored and 'dispatched' in a
                 non-deterministic order by an external scheduler at a
                 later point. We formalize the problem of
                 interprocedural dataflow analysis for asynchronous
                 programs as AIFDS problems, a generalization of the
                 IFDS problems for interprocedural dataflow analysis. We
                 give an algorithm for computing the precise
                 meet-over-valid-paths solution for any AIFDS instance,
                 as well as a demand-driven algorithm for solving the
                 corresponding demand AIFDS instances. Our algorithm can
                 be easily implemented on top of any existing
                 interprocedural dataflow analysis framework. We have
                 implemented the algorithm on top of BLAST, thereby
                 obtaining the first safety verification tool for
                 unbounded asynchronous programs. Though the problem of
                 solving AIFDS instances is EXPSPACE-hard, we find that
                 in practice our technique can efficiently analyze
                 programs by exploiting standard optimizations of
                 interprocedural dataflow analyses.",
  acknowledgement = ack-nhfb,
  keywords =     "asynchronous (event-driven) programming; dataflow
                 analysis",
}

@Article{Vaswani:2007:PPP,
  author =       "Kapil Vaswani and Aditya V. Nori and Trishul M.
                 Chilimbi",
  title =        "Preferential path profiling: compactly numbering
                 interesting paths",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "351--362",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190268",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Path profiles provide a more accurate characterization
                 of a program's dynamic behavior than basic block or
                 edge profiles, but are relatively more expensive to
                 collect. This has limited their use in practice despite
                 demonstrations of their advantages over edge profiles
                 for a wide variety of applications. We present a new
                 algorithm called preferential path profiling (PPP),
                 that reduces the overhead of path profiling. PPP
                 leverages the observation that most consumers of path
                 profiles are only interested in a subset of all program
                 paths. PPP achieves low overhead by separating
                 interesting paths from other paths and assigning a set
                 of unique and compact numbers to these interesting
                 paths. We draw a parallel between arithmetic coding and
                 path numbering, and use this connection to prove an
                 optimality result for the compactness of path numbering
                 produced by PPP. This compact path numbering enables
                 our PPP implementation to record path information in an
                 array instead of a hash table. Our experimental results
                 indicate that PPP reduces the runtime overhead of
                 profiling paths exercised by the largest (ref) inputs
                 of the SPEC CPU2000 benchmarks from 50\% on average
                 (maximum of 132\%) to 15\% on average (maximum of 26\%)
                 as compared to a state-of-the-art path profiler.",
  acknowledgement = ack-nhfb,
  keywords =     "arithmetic coding; dynamic analysis; preferential
                 paths; profiling",
}

@Article{Ghica:2007:GSS,
  author =       "Dan R. Ghica",
  title =        "Geometry of synthesis: a structured approach to {VLSI}
                 design",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "363--375",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190269",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We propose a new technique for hardware synthesis from
                 higher-order functional languages with imperative
                 features based on Reynolds's Syntactic Control of
                 Interference. The restriction on contraction in the
                 type system is useful for managing the thorny issue of
                 sharing of physical circuits. We use a semantic model
                 inspired by game semantics and the geometry of
                 interaction, and express it directly as a certain class
                 of digital circuits that form a Cartesian,
                 monoidal-closed category. A soundness result is given,
                 which is also a correctness result for the compilation
                 technique.",
  acknowledgement = ack-nhfb,
  keywords =     "game semantics; geometry of interaction; syntactic
                 control of interference; synthesis",
}

@Article{Preda:2007:SBA,
  author =       "Mila Dalla Preda and Mihai Christodorescu and Somesh
                 Jha and Saumya Debray",
  title =        "A semantics-based approach to malware detection",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "1",
  pages =        "377--388",
  month =        jan,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1190216.1190270",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:53:14 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Malware detection is a crucial aspect of software
                 security. Current malware detectors work by checking
                 for 'signatures,' which attempt to capture (syntactic)
                 characteristics of the machine-level byte sequence of
                 the malware. This reliance on a syntactic approach
                 makes such detectors vulnerable to code obfuscations,
                 increasingly used by malware writers, that alter
                 syntactic properties of the malware byte sequence
                 without significantly affecting their execution
                 behavior. This paper takes the position that the key to
                 malware identification lies in their semantics. It
                 proposes a semantics-based framework for reasoning
                 about malware detectors and proving properties such as
                 soundness and completeness of these detectors. Our
                 approach uses a trace semantics to characterize the
                 behaviors of malware as well as the program being
                 checked for infection, and uses abstract interpretation
                 to 'hide' irrelevant aspects of these behaviors. As a
                 concrete application of our approach, we show that the
                 semantics-aware malware detector proposed by
                 Christodorescu et al. is complete with respect to a
                 number of common obfuscations used by malware
                 writers.",
  acknowledgement = ack-nhfb,
  keywords =     "abstract interpretation; malware detection;
                 obfuscation; trace semantics",
}

@Article{Chen:2007:TPB,
  author =       "Hsiang-Yang Chen and Ting-Wei Hou and Chun-Liang Lin",
  title =        "Tamper-proofing basis path by using oblivious hashing
                 on {Java}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "2",
  pages =        "9--16",
  month =        feb,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1241761.1241762",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:01 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Java programs are often downloaded (distributed) to
                 unknown environments, so protect Java code from
                 malicious modification is an important issue. This
                 paper presents a tamper-proofing software technology on
                 basis paths for stack-machine based languages, such as
                 Java, by improving Oblivious Hashing. Our approach is
                 based on a new dynamic stack-tracing approach which
                 inserts hash instructions to monitor the top of the
                 stack to check whether the program running has been
                 tampered with or not. A user can choose one or more
                 methods in a class to tamper-proof program. The
                 protective codes are added to basic blocks at the
                 bytecode level. We developed a new approach to protect
                 constants and variables by alternative hashing
                 functions. The overhead is proportional to the number
                 of Load and Push instructions to be protected.",
  acknowledgement = ack-nhfb,
  keywords =     "basis paths; Java; oblivious hashing;
                 tamper-proofing",
}

@Article{Kumar:2007:PST,
  author =       "Rajeev Kumar and Soham S. Chakraborty",
  title =        "Precise static type analysis for object oriented
                 programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "2",
  pages =        "17--26",
  month =        feb,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1241761.1241763",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:01 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A precise static type analysis is important to make
                 available dynamic aspects of object-oriented programs
                 (OOPs) approximately known at compile-time. Many
                 techniques have been proposed for static type analysis
                 depending upon the tradeoff of cost and precision; the
                 techniques may generate spurious possible types for a
                 particular dynamic dispatch which makes the static type
                 analysis imprecise. In this paper, we propose a
                 symbolic execution based type analysis technique that
                 analyzes the dynamic type inter-procedurally by keeping
                 the flow of the program in consideration. We analyze
                 test cases with different class hierarchies. The
                 proposed technique was capable to resolve the target
                 method for most of the dynamic dispatches at reduced
                 computational cost.",
  acknowledgement = ack-nhfb,
  keywords =     "message dispatch; object-oriented programming; program
                 analysis; type analysis; type system",
}

@Article{Tanter:2007:DSC,
  author =       "{\'E}ric Tanter",
  title =        "On dynamically-scoped crosscutting mechanisms",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "2",
  pages =        "27--33",
  month =        feb,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1241761.1241764",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:01 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Many crosscutting mechanisms proposed in the
                 literature offer means to restrain aspects to some
                 dynamically-defined scopes. Dynamically-scoped
                 mechanisms are particularly interesting because of the
                 flexibility, expressiveness, and control they give over
                 structural and behavioral changes made by aspects.
                 Since the nature of dynamic scopes as well as the
                 scoping mechanisms themselves greatly vary among
                 proposals, It is relatively complex to compare them.
                 This paper aims at filling this gap by proposing a
                 first characterization of dynamically-scoped
                 crosscutting mechanisms, hence providing a reference
                 frame for comparing different approaches. As a result,
                 this work clarifies some differences between related
                 approaches, suggests possible tracks for further
                 exploration of the design space of such mechanisms, and
                 discusses some issues raised by dynamically-scoped
                 aspects.",
  acknowledgement = ack-nhfb,
  keywords =     "aspect-oriented programming; aspects; crosscutting
                 mechanisms; dynamic scope",
}

@Article{Mahoney:2007:UCS,
  author =       "William R. Mahoney and William L. Sousan",
  title =        "Using common off-the-shelf tools to implement dynamic
                 aspects",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "2",
  pages =        "34--41",
  month =        feb,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1241761.1241765",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:01 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "An emerging software engineering paradigm,
                 Aspect-Oriented Programming, can be used to facilitate
                 moving common interests or requirements from individual
                 software functions into a separate module. Aspect code
                 is woven into the software on either a static
                 (compilation) basis or dynamic (runtime) basis.
                 Existing systems necessitate the use of syntactic
                 sugar. which is added to programs to indicate the join
                 points in the software where aspects could potentially
                 be applied. Static weaving inserts code, at compilation
                 time, into these join points, while dynamic weaving
                 might compile in code which can be activated at
                 runtime.\par

                 This paper describes a new approach to the
                 implementation of dynamic aspects in C/C++. Our method
                 uses a tool which operates using the GCC compiler suite
                 on Linux; it is a runtime event monitoring system we
                 call 'dynamicHook'. The tool tests each potential join
                 point at run time for the required activation of
                 advice. If advice code is necessary at the join point
                 it is loaded on the fly from shared libraries, retained
                 for future use, and called dynamically.\par

                 No additions or modifications to the source code need
                 to be made other than recompiling and linking in our
                 library. The tool is thus targeted at adding aspect
                 oriented methodologies to existing C/C++ code. We have
                 demonstrated the tool by obtaining open-source web
                 servers and adding dynamic aspects dealing with
                 security and intrusion detection.",
  acknowledgement = ack-nhfb,
  keywords =     "dynamic aspects; event monitoring; GCC; intrusion
                 detection; open-source",
}

@Article{Frenger:2007:FSS,
  author =       "Paul Frenger",
  title =        "{Forth} \& small systems report",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "3",
  pages =        "2--5",
  month =        mar,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273039.1273040",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:10 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In July 2005 I ran across an ad in Electronic Products
                 [1] for an optical mouse sensor by Agilent
                 Technologies. Like many people, I find using an optical
                 mouse to be superior to the old ball-in-a-cage type
                 mouse (which I first saw demonstrated on the Xerox Star
                 workstation at the National Computer Conference in
                 Dallas, June 1976). Inevitably, I was curious to learn
                 what makes it tick (or 'squeak') ... that's my
                 Tinkertoy{\reg} mentality at work. I clipped the
                 article, filed it and totally forgot about it until
                 recently.",
  acknowledgement = ack-nhfb,
}

@Article{Lin:2007:SEA,
  author =       "Chin-Yang Lin and Ting-Wei Hou",
  title =        "A simple and efficient algorithm for cycle
                 collection",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "3",
  pages =        "7--13",
  month =        mar,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273039.1273041",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:10 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The lack of collecting cyclic garbage is generally
                 considered the major weakness of reference counting.
                 Reference counted systems handle this problem by
                 incorporating either a global tracing collector, or a
                 'partial' tracing collector that considers only the
                 cycle candidates but needs several traces on them. In
                 particular, the latter has become a preferred one as it
                 has better scalability and locality (no need to scan
                 the entire heap). This paper presents a new
                 'lightweight' cyclic reference counting algorithm,
                 which is based on partial tracing and deals with the
                 cycle problem in a simpler and more efficient way. By
                 exploiting the lightweight hypothesis that considers a
                 single sub-graph, instead of individual cycles, as the
                 basic unit of cycle collection, the algorithm can
                 detect garbage cycles in a single trace. In addition,
                 we propose a technique for eliminating redundant scans
                 over garbage objects, thus improving the efficiency of
                 the algorithm. The pseudocode and its correctness proof
                 are also presented. Finally, an implementation based on
                 Jikes Research Virtual Machine is provided to
                 demonstrate the effectiveness of the new algorithm.",
  acknowledgement = ack-nhfb,
  keywords =     "cycle collection; garbage collection; Java; reference
                 counting",
}

@Article{Pareja-Flores:2007:WIF,
  author =       "Crist{\'o}bal Pareja-Flores and Jamie Urquiza-Fuentes
                 and J. {\'A}ngel Vel{\'a}zquez-Iturbide",
  title =        "{WinHIPE}: an {IDE} for functional programming based
                 on rewriting and visualization",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "3",
  pages =        "14--23",
  month =        mar,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273039.1273042",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:10 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The article describes an IDE for functional
                 programming, called WinHIPE. It provides an interactive
                 and flexible tracer, as well as a powerful
                 visualization and animation system. The former tool is
                 based on the rewriting model of evaluation, and the
                 latter provides automatic generation of visualizations
                 and animations, friendly support for customization,
                 maintenance and exportation of animations to the Web,
                 and facilities to cope with large scale. Its main
                 advantage over other visualization systems is an
                 effortless approach to animation creation and
                 maintenance, based on generating visualizations and
                 animations automatically, as a side effect of program
                 execution. Finally, we briefly describe our experience
                 using the system during several years in educational
                 settings.",
  acknowledgement = ack-nhfb,
  keywords =     "expression evaluation; functional programming; program
                 animation; programming environments; program
                 visualization; term rewriting; tracing",
}

@Article{Jiang:2007:AAT,
  author =       "Shujuan Jiang and Yuanpeng Jiang",
  title =        "An analysis approach for testing exception handling
                 programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "4",
  pages =        "3--8",
  month =        apr,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1288258.1288259",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Exception handling is a powerful mechanism that
                 separates the error handling code from normal code.
                 However, incorrect usage of exception will bring about
                 more potential faults in the code. Based on the study
                 of exception model of C++, the paper proposes a precise
                 and efficient representation of programs with exception
                 handling constructs---Exception Control Flow Graph,
                 which can represent explicitly the implicit control
                 flow of exception and exception propagation path. Then
                 it presents the structure testing criteria of programs
                 with exception handling constructs based on the
                 representation method, and gives the computing method.
                 The approach overcomes the limitations of previous
                 incorrect analysis because of failing to account for
                 the effects of exception handling constructs.",
  acknowledgement = ack-nhfb,
  keywords =     "control flow graph; exception handling; exception
                 propagation; structure testing",
}

@Article{Hou:2007:AIU,
  author =       "Ting-Wei Hou and Fuh-Gwo Chen",
  title =        "An anomaly in an interpreter using {GCC}
                 source-code-level register allocation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "4",
  pages =        "9--13",
  month =        apr,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1288258.1288260",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "An anomaly of unexpected performance in an interpreter
                 whose frequently accessed variables are manually
                 assigned to hard registers by GCC source-code-level
                 register allocation is presented. A hard-registered
                 virtual program counter and stack pointer as well as a
                 byte-code translation are experimented on both
                 register-rich PowerPC and register-limited Intel x86.
                 According to the study of the anomaly, a hard register
                 should not be assigned singly to a variable in an
                 interpreter due to higher register pressure.",
  acknowledgement = ack-nhfb,
  keywords =     "GCC source-code-level register allocation;
                 interpreter; performance",
}

@Article{Oh:2007:PEU,
  author =       "Minkyoung Oh and Jiyeon Lee and Byeong-Mo Chang and
                 Joonseon Ahn and Kyung-Goo Doh",
  title =        "A programming environment for ubiquitous computing
                 environment",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "4",
  pages =        "14--22",
  month =        apr,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1288258.1288261",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The goal of this research is to provide an advanced
                 programming environment for ubiquitous computing, which
                 facilitates the development of secure and reliable
                 ubiquitous software. A discussion follows on the design
                 and implementation of a ubiquitous programming
                 framework, which is based on high-level policy
                 description language. A context-based access control
                 manager(CACM) was implemented for context-aware access
                 control, while an adaptation engine was integrated for
                 context adaptation in dynamically changing
                 environments. A simulator was also implemented for
                 conducting experiments with this framework for
                 ubiquitous applications.",
  acknowledgement = ack-nhfb,
  keywords =     "access control; adaptation; programming environment;
                 ubiquitous",
}

@Article{Smirnov:2007:RPA,
  author =       "Igor B. Smirnov",
  title =        "Raw pointers in application classes of {C++}
                 considered harmful",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "4",
  pages =        "23--31",
  month =        apr,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1288258.1288262",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:17 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "In order to achieve good reliability, clarity,
                 scalability and re-usability of the application
                 high-level programs written in C++ the raw pointers
                 should not be used as class members (fields), because
                 the raw pointers are too dangerous in this role and
                 they do not represent meaningful relations between
                 objects. Instead of raw pointers two smart pointers
                 should be used. The first one describes exclusive
                 unique ownership with synchronization of objects
                 copying and deletion. The second one describes
                 inclusive references to independent alien objects with
                 invalidating the reference at the deletion of the
                 addressed object. All power of object-oriented
                 programming is preserved, but difficulties and errors
                 are eliminated.",
  acknowledgement = ack-nhfb,
  keywords =     "C++; dynamic storage; methodology; raw pointers; smart
                 pointers",
}

@Article{Shi:2007:ILL,
  author =       "Huihui Shi and Yi Wang and Haibing Guan and Alei
                 Liang",
  title =        "An intermediate language level optimization framework
                 for dynamic binary translation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "5",
  pages =        "3--9",
  month =        may,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1286341.1286342",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:26 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper presents an intermediate language level
                 optimization framework for dynamic binary translation.
                 Performance is important to a dynamic binary
                 translation system, so there has been a growing
                 interest in exploring new optimization algorithms. The
                 framework proposed in this paper includes efficient
                 profiling, hot code recognition and smart code cache
                 management policies. Profiling is responsible for
                 collecting runtime information, which will be used by
                 hot code recognition and code cache management
                 algorithms. We only focus on recognizing the hottest
                 code, and assign priorities to basic blocks according
                 to their hotness to facilitate code cache management.",
  acknowledgement = ack-nhfb,
  keywords =     "binary translation; dynamic compilation; dynamic
                 optimization; run-time profiling",
}

@Article{Banerjee:2007:SID,
  author =       "Jayasri Banerjee and Anup Kumar Bandyopadhyay and Ajit
                 Kumar Mandal",
  title =        "Some investigations on deadlock freedom issues of a
                 cyclically connected system using {Dijkstra}'s weakest
                 precondition calculus",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "5",
  pages =        "10--15",
  month =        may,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1286341.1286343",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:26 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Weakest precondition calculus is used to specify a
                 system implemented by a cyclic interconnection of
                 sequential processes. From this specification a
                 predicate is derived that describes the deadlock
                 freedom property of the system. Invariance of the
                 predicate is proved from the specification.",
  acknowledgement = ack-nhfb,
  keywords =     "deadlock freedom; program correctness; program
                 specification; weakest precondition",
}

@Article{Novark:2007:EAC,
  author =       "Gene Novark and Emery D. Berger and Benjamin G. Zorn",
  title =        "{Exterminator}: automatically correcting memory errors
                 with high probability",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "1--11",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250736",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Programs written in C and C++ are susceptible to
                 memory errors, including buffer overflows and dangling
                 pointers. These errors, which can lead to crashes,
                 erroneous execution, and security vulnerabilities, are
                 notoriously costly to repair. Tracking down their
                 location in the source code is difficult, even when the
                 full memory state of the program is available. Once the
                 errors are finally found, fixing them remains
                 challenging: even for critical security-sensitive bugs,
                 the average time between initial reports and the
                 issuance of a patch is nearly one month.\par

                 We present Exterminator, a system that automatically
                 corrects heap-based memory errors without programmer
                 intervention. Exterminator exploits randomization to
                 pinpoint errors with high precision. From this
                 information, Exterminator derives runtime patches that
                 fix these errors both in current and subsequent
                 executions. In addition, Exterminator enables
                 collaborative bug correction by merging patches
                 generated by multiple users. We present analytical and
                 empirical results that demonstrate Exterminator's
                 effectiveness at detecting and correcting both injected
                 and real faults.",
  acknowledgement = ack-nhfb,
  keywords =     "dieFast; dynamic memory allocation; error correction;
                 exterminator; memory errors; probabilistic algorithms;
                 randomized algorithms",
}

@Article{Burckhardt:2007:CCC,
  author =       "Sebastian Burckhardt and Rajeev Alur and Milo M. K.
                 Martin",
  title =        "{CheckFence}: checking consistency of concurrent data
                 types on relaxed memory models",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "12--21",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250737",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Concurrency libraries can facilitate the development
                 of multi-threaded programs by providing concurrent
                 implementations of familiar data types such as queues
                 or sets. There exist many optimized algorithms that can
                 achieve superior performance on multiprocessors by
                 allowing concurrent data accesses without using locks.
                 Unfortunately, such algorithms can harbor subtle
                 concurrency bugs. Moreover, they require memory
                 ordering fences to function correctly on relaxed memory
                 models.\par

                 To address these difficulties, we propose a
                 verification approach that can exhaustively check all
                 concurrent executions of a given test program on a
                 relaxed memory model and can verify that they are
                 observationally equivalent to a sequential execution.
                 Our CheckFence prototype automatically translates the C
                 implementation code and the test program into a SAT
                 formula, hands the latter to a standard SAT solver, and
                 constructs counter example traces if there exist
                 incorrect executions. Applying CheckFence to five
                 previously published algorithms, we were able to (1)
                 find several bugs (some not previously known), and (2)
                 determine how to place memory ordering fences for
                 relaxed memory models.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrent data structures; lock-free synchronization;
                 memory models; multi-threading; sequential consistency;
                 shared-memory multiprocessors; software model
                 checking",
}

@Article{Narayanasamy:2007:ACB,
  author =       "Satish Narayanasamy and Zhenghao Wang and Jordan
                 Tigani and Andrew Edwards and Brad Calder",
  title =        "Automatically classifying benign and harmful data
                 races all using replay analysis",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "22--31",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250738",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Many concurrency bugs in multi-threaded programs are
                 due to dataraces. There have been many efforts to
                 develop static and dynamic mechanisms to automatically
                 find the data races. Most of the prior work has focused
                 on finding the data races and eliminating the false
                 positives.\par

                 In this paper, we instead focus on a dynamic analysis
                 technique to automatically classify the data races into
                 two categories --- the dataraces that are potentially
                 benign and the data races that are potentially harmful.
                 A harmful data race is a real bug that needs to be
                 fixed. This classification is needed to focus the
                 triaging effort on those data races that are
                 potentially harmful. Without prioritizing the data
                 races we have found that there are too many data races
                 to triage. Our second focus is to automatically provide
                 to the developer a reproducible scenario of the data
                 race, which allows the developer to understand the
                 different effects of a harmful data race on a program's
                 execution.\par

                 To achieve the above, we record a multi-threaded
                 program's execution in a replay log. The replay log is
                 used to replay the multi-threaded program, and during
                 replay we find the data races using a happens-before
                 based algorithm. To automatically classify if a data
                 race that we find is potentially benign or potentially
                 harmful, were play the execution twice for a given data
                 race --- one for each possible order between the
                 conflicting memory operations. If the two replays for
                 the two orders produce the same result, then we
                 classify the data race to be potentially benign. We
                 discuss our experiences in using our replay based
                 dynamic data race checker on several Microsoft
                 applications.",
  acknowledgement = ack-nhfb,
  keywords =     "benign data races; concurrency Bbugs; replay",
}

@Article{Wassermann:2007:SPA,
  author =       "Gary Wassermann and Zhendong Su",
  title =        "Sound and precise analysis of {Web} applications for
                 injection vulnerabilities",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "32--41",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250739",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Web applications are popular targets of security
                 attacks. One common type of such attacks is SQL
                 injection, where an attacker exploits faulty
                 application code to execute maliciously crafted
                 database queries. Bothstatic and dynamic approaches
                 have been proposed to detect or prevent SQL injections;
                 while dynamic approaches provide protection for
                 deployed software, static approaches can detect
                 potential vulnerabilities before software deployment.
                 Previous static approaches are mostly based on tainted
                 information flow tracking and have at least some of the
                 following limitations: (1) they do not model the
                 precise semantics of input sanitization routines; (2)
                 they require manually written specifications, either
                 for each query or for bug patterns; or (3) they are not
                 fully automated and may require user intervention at
                 various points in the analysis. In this paper, we
                 address these limitations by proposing a precise,
                 sound, and fully automated analysis technique for SQL
                 injection. Our technique avoids the need for
                 specifications by considering as attacks those queries
                 for which user input changes the intended syntactic
                 structure of the generated query. It checks conformance
                 to this policy by conservatively characterizing the
                 values a string variable may assume with a context free
                 grammar, tracking the nonterminals that represent
                 user-modifiable data, and modeling string operations
                 precisely as language transducers. We have implemented
                 the proposed technique for PHP, the most widely-used
                 web scripting language. Our tool successfully
                 discovered previously unknown and sometimes subtle
                 vulnerabilities in real-world programs, has a low false
                 positive rate, and scales to large programs (with
                 approx. 100K loc).",
  acknowledgement = ack-nhfb,
  keywords =     "static analysis; string analysis; web applications",
}

@Article{Perry:2007:FTT,
  author =       "Frances Perry and Lester Mackey and George A. Reis and
                 Jay Ligatti and David I. August and David Walker",
  title =        "Fault-tolerant typed assembly language",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "42--53",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250741",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "A transient hardware fault occurs when an energetic
                 particle strikes a transistor, causing it to change
                 state. Although transient faults do not permanently
                 damage the hardware, they may corrupt computations by
                 altering stored values and signal transfers. In this
                 paper, we propose a new scheme for provably safe and
                 reliable computing in the presence of transient
                 hardware faults. In our scheme, software computations
                 are replicated to provide redundancy while special
                 instructions compare the independently computed results
                 to detect errors before writing critical data. In stark
                 contrast to any previous efforts in this area, we have
                 analyzed our fault tolerance scheme from a formal,
                 theoretical perspective. To be specific, first, we
                 provide an operational semantics for our assembly
                 language, which includes a precise formal definition of
                 our fault model. Second, we develop an assembly-level
                 type system designed to detect reliability problems in
                 compiled code. Third, we provide a formal specification
                 for program fault tolerance under the given fault model
                 and prove that all well-typed programs are indeed fault
                 tolerant. In addition to the formal analysis, we
                 evaluate our detection scheme and show that it only
                 takes 34\% longer to execute than the unreliable
                 version.",
  acknowledgement = ack-nhfb,
  keywords =     "fault tolerance; soft faults; transient hardware
                 faults; typed assembly language",
}

@Article{Chlipala:2007:CTP,
  author =       "Adam Chlipala",
  title =        "A certified type-preserving compiler from lambda
                 calculus to assembly language",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "54--65",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250742",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "We present a certified compiler from the simply-typed
                 lambda calculus to assembly language. The compiler is
                 certified in the sense that it comes with a
                 machine-checked proof of semantics preservation,
                 performed with the Coq proof assistant. The compiler
                 and the terms of its several intermediate languages are
                 given dependent types that guarantee that only
                 well-typed programs are representable. Thus, type
                 preservation for each compiler pass follows without any
                 significant 'proofs' of the usual kind. Semantics
                 preservation is proved based on denotational semantics
                 assigned to the intermediate languages. We demonstrate
                 how working with a type-preserving compiler enables
                 type-directed proof search to discharge large parts of
                 our proof obligations automatically.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler verification; denotational semantics;
                 dependent types; interactive proof assistants",
}

@Article{Cai:2007:CSM,
  author =       "Hongxu Cai and Zhong Shao and Alexander Vaynberg",
  title =        "Certified self-modifying code",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "66--77",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250743",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Self-modifying code (SMC), in this paper, broadly
                 refers to any program that loads, generates, or mutates
                 code at runtime. It is widely used in many of the
                 world's critical software systems to support runtime
                 code generation and optimization, dynamic loading and
                 linking, OS boot loader, just-in-time compilation,
                 binary translation,or dynamic code encryption and
                 obfuscation. Unfortunately, SMC is also extremely
                 difficult to reason about: existing formal verification
                 techniques-including Hoare logic and type
                 system-consistently assume that program code stored in
                 memory is fixed and immutable; this severely limits
                 their applicability and power.\par

                 This paper presents a simple but novel Hoare-logic-like
                 framework that supports modular verification of general
                 von-Neumann machine code with runtime code
                 manipulation. By dropping the assumption that code
                 memory is fixed and immutable, we are forced to apply
                 local reasoning and separation logic at the very
                 beginning, and treat program code uniformly as regular
                 data structure. We address the interaction between
                 separation and code memory and show how to establish
                 the frame rules for local reasoning even in the
                 presence of SMC. Our framework is realistic, but
                 designed to be highly generic, so that it can support
                 assembly code under all modern CPUs (including both x86
                 and MIPS). Our system is expressive and fully
                 mechanized. We prove its soundness in the Coq proof
                 assistant and demonstrate its power by certifying a
                 series of realistic examples and applications-all of
                 which can directly run on the SPIM simulator or any
                 stock x86 hardware.",
  acknowledgement = ack-nhfb,
  keywords =     "assembly code verification; Hoare logic; modular
                 verification; runtime code manipulation; self-modifying
                 code",
}

@Article{Shpeisman:2007:EIO,
  author =       "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",
  title =        "Enforcing isolation and ordering in {STM}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "78--88",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273442.1250744",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Transactional memory provides a new concurrency
                 control mechanism that avoids many of the pitfalls of
                 lock-based synchronization. High-performance software
                 transactional memory (STM) implementations thus far
                 provide weak atomicity: Accessing shared data both
                 inside and outside a transaction can result in
                 unexpected, implementation-dependent behavior. To
                 guarantee isolation and consistent ordering in such a
                 system, programmers are expected to enclose all
                 shared-memory accesses inside transactions.\par

                 A system that provides strong atomicity guarantees
                 isolation even in the presence of threads that access
                 shared data outside transactions. A strongly-atomic
                 system also orders transactions with conflicting
                 non-transactional memory operations in a consistent
                 manner.\par

                 In this paper, we discuss some surprising pitfalls of
                 weak atomicity, and we present an STM system that
                 avoids these problems via strong atomicity. We
                 demonstrate how to implement non-transactional data
                 accesses via efficient read and write barriers, and we
                 present compiler optimizations that further reduce the
                 overheads of these barriers. We introduce a dynamic
                 escape analysis that differentiates private and public
                 data at runtime to make barriers cheaper and a static
                 not-accessed-in-transaction analysis that removes many
                 barriers completely. Our results on a set of Java
                 programs show that strong atomicity can be implemented
                 efficiently in a high-performance STM system.",
  acknowledgement = ack-nhfb,
  keywords =     "code generation; compiler optimizations; escape
                 analysis; isolation; ordering; strong atomicity;
                 transactional memory; virtual machines; weak
                 atomicity",
}

@Article{Nethercote:2007:VFH,
  author =       "Nicholas Nethercote and Julian Seward",
  title =        "{Valgrind}: a framework for heavyweight dynamic binary
                 instrumentation",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "89--100",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273442.1250746",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Dynamic binary instrumentation (DBI) frameworks make
                 it easy to build dynamic binary analysis (DBA) tools
                 such as checkers and profilers. Much of the focus on
                 DBI frameworks has been on performance; little
                 attention has been paid to their capabilities. As a
                 result, we believe the potential of DBI has not been
                 fully exploited.\par

                 In this paper we describe Valgrind, a DBI framework
                 designed for building heavyweight DBA tools. We focus
                 on its unique support for shadow values -a powerful but
                 previously little-studied and difficult-to-implement
                 DBA technique, which requires a tool to shadow every
                 register and memory value with another value that
                 describes it. This support accounts for several crucial
                 design features that distinguish Valgrind from other
                 DBI frameworks. Because of these features, lightweight
                 tools built with Valgrind run comparatively slowly, but
                 Valgrind can be used to build more interesting,
                 heavyweight tools that are difficult or impossible to
                 build with other DBI frameworks such as Pin and
                 DynamoRIO.",
  acknowledgement = ack-nhfb,
  keywords =     "dynamic binary analysis; dynamic binary
                 instrumentation; Memcheck; shadow values; Valgrind",
}

@Article{Ha:2007:IER,
  author =       "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",
  title =        "Improved error reporting for software that uses
                 black-box components",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "101--111",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273442.1250747",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "An error occurs when software cannot complete a
                 requested action as a result of some problem with its
                 input, configuration, or environment. A high-quality
                 error report allows a user to understand and correct
                 the problem. Unfortunately, the quality of error
                 reports has been decreasing as software becomes more
                 complex and layered. End-users take the cryptic error
                 messages given to them by programs and struggle to fix
                 their problems using search engines and support
                 websites. Developers cannot improve their error
                 messages when they receive an ambiguous or otherwise
                 insufficient error indicator from a black-box software
                 component.\par

                 We introduce Clarify, a system that improves error
                 reporting by classifying application behavior. Clarify
                 uses minimally invasive monitoring to generate a
                 behavior profile, which is a summary of the program's
                 execution history. A machine learning classifier uses
                 the behavior profile to classify the application's
                 behavior, thereby enabling a more precise error report
                 than the output of the application itself.\par

                 We evaluate a prototype Clarify system on ambiguous
                 error messages generated by large, modern applications
                 like gcc, La-TeX, and the Linux kernel. For a
                 performance cost of less than 1\% on user applications
                 and 4.7\% on the Linux kernel, the proto type correctly
                 disambiguates at least 85\% of application behaviors
                 that result in ambiguous error reports. This accuracy
                 does not degrade significantly with more behaviors: a
                 Clarify classifier for 81 La-TeX error messages is at
                 most 2.5\% less accurate than a classifier for 27 LaTeX
                 error messages. Finally, we show that without any human
                 effort to build a classifier, Clarify can provide
                 nearest-neighbor software support, where users who
                 experience a problem are told about 5 other users who
                 might have had the same problem. On average 2.3 of the
                 5 users that Clarify identifies have experienced the
                 same problem.",
  acknowledgement = ack-nhfb,
  keywords =     "classification; error report; machine learning;
                 profiling; software support",
}

@Article{Sridharan:2007:TS,
  author =       "Manu Sridharan and Stephen J. Fink and Rastislav
                 Bodik",
  title =        "Thin slicing",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "112--122",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250748",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Program slicing systematically identifies parts of a
                 program relevant to a seed statement. Unfortunately,
                 slices of modern programs often grow too large for
                 human consumption. We argue that unwieldy slices arise
                 primarily from an overly broad definition of relevance,
                 rather than from analysis imprecision. While a
                 traditional slice includes all statements that may
                 affect a point of interest, not all such statements
                 appear equally relevant to a human.\par

                 As an improved method of finding relevant statements,
                 we propose thin slicing. A thin slice consists only of
                 producer statements for the seed, i.e., those
                 statements that help compute and copy a value to the
                 seed. Statements that explain why producers affect the
                 seed are excluded. For example, for a seed that reads a
                 value from a container object, a thin slice includes
                 statements that store the value into the container, but
                 excludes statements that manipulate pointers to the
                 container itself. Thin slices can also be
                 hierarchically expanded to include statements
                 explaining how producers affect the seed, yielding a
                 traditional slice in the limit.\par

                 We evaluated thin slicing for a set of debugging and
                 program understanding tasks. The evaluation showed that
                 thin slices usually included the desired statements for
                 the tasks (e.g., the buggy statement for a debugging
                 task). Furthermore, in simulated use of a slicing tool,
                 thin slices revealed desired statements after
                 inspecting 3.3 times fewer statements than traditional
                 slicing for our debugging tasks and 9.4 times fewer
                 statements for our program understanding tasks.
                 Finally, our thin slicing algorithm scales well to
                 relatively large Java benchmarks, suggesting that thin
                 slicing represents an attractive option for practical
                 tools.",
  acknowledgement = ack-nhfb,
  keywords =     "debugging; program understanding; slicing",
}

@Article{Ramanathan:2007:SSI,
  author =       "Murali Krishna Ramanathan and Ananth Grama and Suresh
                 Jagannathan",
  title =        "Static specification inference using predicate
                 mining",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "123--134",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250749",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "The reliability and correctness of complex software
                 systems can be significantly enhanced through
                 well-defined specifications that dictate the use of
                 various units of abstraction (e.g., modules, or
                 procedures). Often times, however, specifications are
                 either missing, imprecise, or simply too complex to
                 encode within a signature, necessitating specification
                 inference. The process of inferring specifications from
                 complex software systems forms the focus of this paper.
                 We describe a static inference mechanism for
                 identifying the preconditions that must hold whenever a
                 procedure is called. These preconditions may reflect
                 both data flow properties (e.g., whenever $p$ is
                 called, variable $x$ must be non-null) as well as
                 control-flow properties (e.g., every call to $p$ must
                 be preceded by a call to $q$). We derive these
                 preconditions using an inter-procedural path-sensitive
                 dataflow analysis that gathers predicates at each
                 program point. We apply mining techniques to these
                 predicates to make specification inference robust to
                 errors. This technique also allows us to derive
                 higher-level specifications that abstract structural
                 similarities among predicates (e.g., procedure $p$ is
                 called immediately after a conditional test that checks
                 whether some variable $v$ is non-null.) We describe an
                 implementation of these techniques, and validate the
                 effectiveness of the approach on a number of large
                 open-source benchmarks. Experimental results confirm
                 that our mining algorithms are efficient, and that the
                 specifications derived are both precise and useful-the
                 implementation discovers several critical, yet
                 previously, undocumented preconditions for well-tested
                 libraries.",
  acknowledgement = ack-nhfb,
  keywords =     "preconditions; predicate mining; program analysis;
                 specification inference",
}

@Article{Scherpelz:2007:AIO,
  author =       "Erika Rice Scherpelz and Sorin Lerner and Craig
                 Chambers",
  title =        "Automatic inference of optimizer flow functions from
                 semantic meanings",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "135--145",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250750",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Previous work presented a language called Rhodium for
                 writing program analyses and transformations, in the
                 form of declarative flow functions that propagate
                 instances of user-defined dataflow fact schemas. Each
                 dataflow fact schema specifies a semantic meaning,
                 which allows the Rhodium system to automatically verify
                 the correctness of the user's flow functions. In this
                 work, we have reversed the roles of the flow functions
                 and semantic meanings: rather than checking the
                 correctness of the user-written flow functions using
                 the facts' semantic meanings, we automatically infer
                 correct flow functions solely from the meanings of the
                 dataflow fact schemas. We have implemented our
                 algorithm for inferring flow functions from fact
                 schemas in the context of the Whirlwind compiler, and
                 have used this implementation to infer flow functions
                 for a variety of fact schemas. The automatically
                 generated flow functions cover most of the situations
                 covered by an earlier suite of handwritten rules.",
  acknowledgement = ack-nhfb,
}

@Article{Morita:2007:AIG,
  author =       "Kazutaka Morita and Akimasa Morihata and Kiminori
                 Matsuzaki and Zhenjiang Hu and Masato Takeichi",
  title =        "Automatic inversion generates divide-and-conquer
                 parallel programs",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "146--155",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273442.1250752",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Divide-and-conquer algorithms are suitable for modern
                 parallel machines, tending to have large amounts of
                 inherent parallelism and working well with caches and
                 deep memory hierarchies. Among others, list
                 homomorphisms are a class of recursive functions on
                 lists, which match very well with the
                 divide-and-conquer paradigm. However, direct
                 programming with list homomorphisms is a challenge for
                 many programmers. In this paper, we propose and
                 implement a novel system that can automatically derive
                 cost-optimal list homomorphisms from a pair of
                 sequential programs, based on the third homomorphism
                 theorem. Our idea is to reduce extraction of list
                 homomorphisms to derivation of weak right inverses. We
                 show that a weak right inverse always exists and can be
                 automatically generated from a wide class of sequential
                 programs. We demonstrate our system with several
                 nontrivial examples, including the maximum prefix sum
                 problem, the prefix sum computation, the maximum
                 segment sum problem, and the line-of-sight problem. The
                 experimental results show practical efficiency of our
                 automatic parallelization algorithm and good speedups
                 of the generated parallel programs.",
  acknowledgement = ack-nhfb,
  keywords =     "divide-and-conquer parallelism; inversion; program
                 transformation; third homomorphism theorem",
}

@Article{Wang:2007:EAP,
  author =       "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",
  title =        "{EXOCHI}: architecture and programming environment for
                 a heterogeneous multi-core multithreaded system",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "156--166",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250753",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Future mainstream microprocessors will likely
                 integrate specialized accelerators, such as GPUs, onto
                 a single die to achieve better performance and power
                 efficiency. However, it remains a keen challenge to
                 program such a heterogeneous multicore platform, since
                 these specialized accelerators feature ISAs and
                 functionality that are significantly different from the
                 general purpose CPU cores. In this paper, we present
                 EXOCHI: (1) Exoskeleton Sequencer (EXO), an
                 architecture to represent heterogeneous accelerators as
                 ISA-based MIMD architecture resources, and a shared
                 virtual memory heterogeneous multithreaded program
                 execution model that tightly couples specialized
                 accelerator cores with general-purpose CPU cores, and
                 (2) C for Heterogeneous Integration (CHI), an
                 integrated C/C++ programming environment that supports
                 accelerator-specific inline assembly and
                 domain-specific languages. The CHI compiler extends the
                 OpenMP pragma for heterogeneous multithreading
                 programming, and produces a single fat binary with code
                 sections corresponding to different instruction sets.
                 The runtime can judiciously spread parallel computation
                 across the heterogeneous cores to optimize performance
                 and power.\par

                 We have prototyped the EXO architecture on a physical
                 heterogeneous platform consisting of an Intel{\reg}
                 Core{\TM} 2 Duo processor and an 8-core 32-thread
                 Intel{\reg} Graphics Media Accelerator X3000. In
                 addition, we have implemented the CHI integrated
                 programming environment with the Intel{\reg} C++
                 Compiler, runtime toolset, and debugger. On the EXO
                 prototype system, we have enhanced a suite of
                 production-quality media kernels for video and image
                 processing to utilize the accelerator through the CHI
                 programming interface, achieving significant speedup
                 (1.41X to10.97X) over execution on the IA32 CPU
                 alone.",
  acknowledgement = ack-nhfb,
  keywords =     "GPU; heterogeneous multi-cores; openMP",
}

@Article{Solar-Lezama:2007:SS,
  author =       "Armando Solar-Lezama and Gilad Arnold and Liviu Tancau
                 and Rastislav Bodik and Vijay Saraswat and Sanjit
                 Seshia",
  title =        "Sketching stencils",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "167--178",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250754",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Performance of stencil computations can be
                 significantly improved through smart implementations
                 that improve memory locality, computation reuse, or
                 parallelize the computation. Unfortunately, efficient
                 implementations are hard to obtain because they often
                 involve non-traditional transformations, which means
                 that they cannot be produced by optimizing the
                 reference stencil with a compiler. In fact, many
                 stencils are produced by code generators that were
                 tediously handcrafted.\par

                 In this paper, we show how stencil implementations can
                 be produced with sketching. Sketching is a software
                 synthesis approach where the programmer develops a
                 partial implementation--a sketch--and a separate
                 specification of the desired functionality given by a
                 reference (unoptimized) stencil. The synthesizer then
                 completes the sketch to behave like the specification,
                 filling in code fragments that are difficult to develop
                 manually.\par

                 Existing sketching systems work only for small finite
                 programs, i.e.,, programs that can be represented as
                 small Boolean circuits. In this paper, we develop a
                 sketching synthesizer that works for stencil
                 computations, a large class of programs that, unlike
                 circuits, have unbounded inputs and outputs, as well as
                 an unbounded number of computations. The key
                 contribution is a reduction algorithm that turns a
                 stencil into a circuit, allowing us to synthesize
                 stencils using an existing sketching synthesizer.",
  acknowledgement = ack-nhfb,
  keywords =     "SAT; sketching; stencil",
}

@Article{Killian:2007:MLS,
  author =       "Charles Edwin Killian and James W. Anderson and Ryan
                 Braud and Ranjit Jhala and Amin M. Vahdat",
  title =        "{Mace}: language support for building distributed
                 systems",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "179--188",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1250734.1250755",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "Building distributed systems is particularly difficult
                 because of the asynchronous, heterogeneous, and
                 failure-prone environment where these systems must run.
                 Tools for building distributed systems must strike a
                 compromise between reducing programmer effort and
                 increasing system efficiency. We present Mace, a C++
                 language extension and source-to-source compiler that
                 translates a concise but expressive distributed system
                 specification into a C++ implementation. Mace overcomes
                 the limitations of low-level languages by providing a
                 unified framework for networking and event handling,
                 and the limitations of high-level languages by allowing
                 programmers to write program components in a controlled
                 and structured manner in C++. By imposing structure and
                 restrictions on how applications can be written, Mace
                 supports debugging at a higher level, including support
                 for efficient model checking and causal-path debugging.
                 Because Mace programs compile to C++, programmers can
                 use existing C++ tools, including optimizers,
                 profilers, and debuggers to analyze their systems.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; debugging; distributed systems; domain
                 specific languages; event driven programming; Mace;
                 model checking",
}

@Article{Li:2007:CET,
  author =       "Peng Li and Steve Zdancewic",
  title =        "Combining events and threads for scalable network
                 services implementation and evaluation of monadic,
                 application-level concurrency primitives",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "189--199",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "http://doi.acm.org/10.1145/1273442.1250756",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/",
  abstract =     "This paper proposes to combine two seemingly opposed
                 programming models for building massively concurrent
                 network services: the event-driven model and the
                 multithreaded model. The result is a hybrid design that
                 offers the best of both worlds--the ease of use and
                 expressiveness of threads and the flexibility and
                 performance of events.\par

                 This paper shows how the hybrid model can be
                 implemented entirely at the application level using
                 concurrency monads in Haskell, which provides type-safe
                 abstractions for both events and threads. This approach
                 simplifies the development of massively concurrent
                 software in a way that scales to real-world network
                 services. The Haskell implementation supports
                 exceptions, symmetrical multiprocessing, software
                 transactional memory, asynchronous I/O mechanisms and
                 application-level network protocol stacks. Experimental
                 results demonstrate that this monad-based approach has
                 good performance: the threads are extremely lightweight
                 (scaling to ten million threads), and the I/O
                 performance compares favorably to that of Linux NPTL.
                 tens of thousands of simultaneous, mostly-idle client
                 connections. Such massively-concurrent programs are
                 difficult to implement, especially when other
                 requirements, such as high performance and strong
                 security, must also be met.",
  acknowledgement = ack-nhfb,
  keywords =     "concurrency; event; Haskell; implementation; monad;
                 networking; programming; scalability; thread",
}

@Article{Kothari:2007:REP,
  author =       "Nupur Kothari and Ramakrishna Gummadi and Todd
                 Millstein and Ramesh Govindan",
  title =        "Reliable and efficient programming abstractions for
                 wireless sensor networks",
  journal =      j-SI