%%% -*-BibTeX-*-
%%% ====================================================================
%%% BibTeX-file{
%%% author-1 = "Preston Briggs",
%%% author-2 = "Nelson H. F. Beebe",
%%% version = "2.72",
%%% date = "24 August 2009",
%%% time = "13:24:13 MDT",
%%% filename = "toplas.bib",
%%% address-1 = "Tera Computer Company
%%% 2815 Eastlake East
%%% Seattle, WA 98102
%%% USA",
%%% address-2 = "University of Utah
%%% Department of Mathematics, 110 LCB
%%% 155 S 1400 E RM 233
%%% Salt Lake City, UT 84112-0090
%%% USA",
%%% telephone-1 = "+1 206 325-0800",
%%% telephone-2 = "+1 801 581 5254",
%%% FAX-2 = "+1 801 581 4148",
%%% URL-2 = "http://www.math.utah.edu/~beebe",
%%% checksum = "63009 30746 150917 1469064",
%%% email-1 = "preston at tera.com (Internet)",
%%% email-2 = "beebe at math.utah.edu, beebe at acm.org,
%%% beebe at computer.org (Internet)",
%%% codetable = "ISO/ASCII",
%%% keywords = "bibliography, BibTeX, ACM Transactions on
%%% Programming Languages and Systems, TOPLAS",
%%% license = "public domain",
%%% supported = "yes",
%%% docstring = "This is a COMPLETE bibliography of the journal
%%% ACM Transactions on Programming Languages and
%%% Systems (CODEN ATPSDT, ISSN 0164-0925),
%%% informally known as TOPLAS, covering volumes
%%% 1--21 (1988--1999).
%%%
%%% The publisher maintains a World Wide Web site
%%% for this journal at
%%%
%%% http://www.acm.org/pubs/contents/journals/toplas/
%%% http://portal.acm.org/browse_dl.cfm?idx=J783
%%%
%%% At version 2.72, the year coverage looked
%%% like this:
%%%
%%% 1979 ( 20) 1990 ( 28) 2001 ( 14)
%%% 1980 ( 33) 1991 ( 30) 2002 ( 21)
%%% 1981 ( 28) 1992 ( 22) 2003 ( 20)
%%% 1982 ( 39) 1993 ( 32) 2004 ( 28)
%%% 1983 ( 36) 1994 ( 66) 2005 ( 33)
%%% 1984 ( 34) 1995 ( 39) 2006 ( 27)
%%% 1985 ( 34) 1996 ( 29) 2007 ( 45)
%%% 1986 ( 26) 1997 ( 35) 2008 ( 33)
%%% 1987 ( 27) 1998 ( 34) 2009 ( 20)
%%% 1988 ( 32) 1999 ( 32)
%%% 1989 ( 30) 2000 ( 28)
%%%
%%% Article: 954
%%% TechReport: 1
%%%
%%% Total entries: 955
%%%
%%% This bibliography was initially constructed
%%% by hand by the first author (PB) from
%%% various sources, and at its last release in
%%% February 1995, had 447 entries.
%%%
%%% It was further extended by the second
%%% author (NHFB) using bibliographies in
%%% NHFB's personal files, from the OCLC
%%% Contents1st database, from the IEEE INSPEC
%%% database, from the computer graphics
%%% bibliography archive at ftp.siggraph.org,
%%% and from the computer science bibliography
%%% collection on ftp.ira.uka.de in
%%% /pub/bibliography to which many people of
%%% have contributed. The snapshot of this
%%% collection was taken on 5-May-1994, and it
%%% consists of 441 BibTeX files, 2,672,675
%%% lines, 205,289 entries, and 6,375
%%% <at>String{} abbreviations, occupying
%%% 94.8MB of disk space. This work updated 85
%%% existing entries and added 104 new entries,
%%% completing coverage to for all issues up to
%%% Volume 17, Number 5, September 1995.
%%%
%%% Numerous errors in the sources noted above
%%% have been corrected. Spelling has been
%%% verified with the UNIX spell and GNU ispell
%%% programs using the exception dictionary
%%% stored in the companion file with extension
%%% .sok.
%%%
%%% The ACM maintains Web pages with journal
%%% tables of contents for 1985--1995 at
%%% http://www.acm.org/pubs/toc. That data has
%%% been automatically converted to BibTeX
%%% form, corrected for spelling and page
%%% number errors, and merged into this file.
%%%
%%% ACM copyrights explicitly permit abstracting
%%% with credit, so article abstracts, keywords,
%%% and subject classifications have been
%%% included in this bibliography wherever
%%% available. Article reviews have been
%%% omitted, until their copyright status has
%%% been clarified.
%%%
%%% bibsource keys in the bibliography entries
%%% below indicate the entry originally came
%%% from the computer science bibliography
%%% archive, even though it has likely since
%%% been corrected and updated.
%%%
%%% URL keys in the bibliography point to
%%% World Wide Web locations of additional
%%% information about the entry.
%%%
%%% 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{
"\hyphenation{
Fa-la-schi
Her-men-e-gil-do
Lu-ba-chev-sky
Pu-ru-sho-tha-man
Roe-ver
Ros-en-krantz
Ru-dolph
}" #
"\ifx \undefined \circled \def \circled #1{(#1)}\fi" #
"\ifx \undefined \reg \def \reg {\circled{R}}\fi"
}
%%% ====================================================================
%%% Acknowledgement abbreviations:
@String{ack-meo = "Melissa E. O'Neill,
School of Computing Science,
Simon Fraser University,
Burnaby, BC,
Canada V5A 1S6,
e-mail: \path|oneill@cs.sfu.ca|,
URL: \path|http://www.cs.sfu.ca/people/GradStudents/oneill/|"}
@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/|"}
@String{ack-pb = "Preston Briggs,
Tera Computer Company,
2815 Eastlake East,
Seattle, WA 98102,
USA,
Tel: +1 206 325-0800,
e-mail: \path|preston@tera.com|"}
%%% ====================================================================
%%% Journal abbreviations:
@String{j-TOPLAS = "ACM Transactions on Programming
Languages and Systems"}
%%% ====================================================================
%%% Bibliography entries:
@TechReport{Morgan:1988:RC,
author = "C. C. Morgan and K. A. Robinson and P. H. B.
Gardiner",
title = "On the Refinement Calculus",
type = "Technical Monograph",
number = "PRG-70",
institution = "Oxford University Computing Laboratory",
address = "Wolfson Building, Parks Road, Oxford, UK",
month = oct,
year = "1988",
ISBN = "0-902928-52-X",
length = "151",
}
@Article{Lindstrom:1979:BGC,
author = "Gary Lindstrom",
title = "Backtracking in a Generalized Control Setting",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "8--26",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Dewar:1979:PRE,
author = "Robert B. K. Dewar and Arthur Grand and Ssu-Cheng Liu
and Jacob T. Schwartz and Edmond Schonberg",
title = "Programming by Refinement, as Exemplified by the
{SETL} Representation Sublanguage",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "27--49",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Sites:1979:CLI,
author = "Richard L. Sites",
title = "The Compilation of Loop Induction Expressions",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "50--57",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Ghezzi:1979:IP,
author = "Carlo Ghezzi and Dino Mandrioli",
title = "Incremental Parsing",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "58--70",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 11:06:56 1996",
acknowledgement = ack-pb,
}
@Article{Robertson:1979:CGS,
author = "Edward L. Robertson",
title = "Code Generation and Storage Allocation for Machines
with Span-Dependent Instructions",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "71--83",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Lamport:1979:NAP,
author = "Leslie Lamport",
title = "A New Approach to Proving the Correctness of
Multiprocess Programs",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "84--97",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:02:18 1996",
note = "See also corrigendum \cite{Lamport:1980:CNA}.",
acknowledgement = ack-pb,
}
@Article{Constable:1979:HAF,
author = "Robert L. Constable and James E. Donahue",
title = "A Hierarchical Approach to Formal Semantics With
Application to the Definition of {PL\slash CS}",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "98--114",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 18:36:35 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Wise:1979:MGC,
author = "David S. Wise",
title = "{Morris}'s Garbage Compaction Algorithm Restores
Reference Counts",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "115--120",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Lengauer:1979:FAF,
author = "Thomas Lengauer and Robert Endre Tarjan",
title = "A Fast Algorithm for Finding Dominators in a
Flowgraph",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "121--141",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Kennedy:1979:DAG,
author = "Ken Kennedy and Jayashree Ramanathan",
title = "A Deterministic Attribute Grammar Evaluator Based on
Dynamic Scheduling",
journal = j-TOPLAS,
volume = "1",
number = "1",
pages = "142--160",
month = jul,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/scheduling.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Iverson:1979:O,
author = "Kenneth E. Iverson",
title = "Operators",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "161--176",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Perrott:1979:LAV,
author = "R. H. Perrott",
title = "A Language for Array and Vector Processors",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "177--195",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Prywes:1979:UNS,
author = "N. S. Prywes and Amir Pnueli and S. Shastry",
title = "Use of a Nonprocedural Specification Language and
Associated Program Generator in Software Development",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "196--217",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Kieburtz:1979:CCS,
author = "Richard B. Kieburtz and Abraham Silberschatz",
title = "Comments on ``{Communicating} Sequential Processes''",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "218--225",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Luckham:1979:VAR,
author = "David C. Luckham and Norihisa Suzuki",
title = "Verification of Array, Record, and Pointer Operations
in {Pascal}",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "226--244",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Nelson:1979:SCD,
author = "Greg Nelson and Derek C. Oppen",
title = "Simplification by Cooperating Decision Procedures",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "245--257",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib,
Ai/Constr.logic.prog.bib",
acknowledgement = ack-pb,
}
@Article{Gries:1979:SEB,
author = "David Gries",
title = "Is Sometimes Ever Better Than Alway?",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "258--265",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Bobrow:1979:CEL,
author = "Daniel G. Bobrow and Douglas W. Clark",
title = "Compact Encodings of List Structure",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "266--286",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Heaps.bib, Compiler/garbage.collection.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
comment = "Good words on {CDR}-coding",
}
@Article{Beyer:1979:SED,
author = "Eric Beyer and Peter Buneman",
title = "A Space Efficient Dynamic Allocation Algorithm for
Queuing Messages",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "287--294",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Tai:1979:NSG,
author = "Kou-Chung Tai",
title = "Noncanonical {SLR}(1) Grammars",
journal = j-TOPLAS,
volume = "1",
number = "2",
pages = "295--320",
month = oct,
year = "1979",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Harel:1980:PNA,
author = "David Harel",
title = "{And/Or} Programs: {A} New Approach to Structured
Programming",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "1--17",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Pai:1980:GCR,
author = "Ajit B. Pai and Richard B. Kieburtz",
title = "Global Context Recovery: {A} New Strategy for
Syntactic Error Recovery by Table-Drive Parsers",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "18--41",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Francez:1980:DT,
author = "Nissim Francez",
title = "Distributed Termination",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "42--55",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:02:21 1996",
note = "See also corrigendum \cite{Francez:1980:CT} and
remarks \cite{Mohan:1981:TCF,Francez:1981:TCR}.",
acknowledgement = ack-pb,
}
@Article{Andrews:1980:AAI,
author = "Gregory R. Andrews and Richard P. Reitman",
title = "An Axiomatic Approach to Information Flow in
Programs",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "56--76",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Papadimitriou:1980:PBH,
author = "Christos H. Papadimitriou and Philip A. Bernstein",
title = "On the Performance of Balanced Hashing Functions When
the Keys Are Not Equiprobable",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "77--89",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/hash.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Manna:1980:DAP,
author = "Zohar Manna and Richard Waldinger",
title = "A Deductive Approach to Program Synthesis",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "90--121",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Arnold:1980:URG,
author = "D. B. Arnold and M. R. Sleep",
title = "Uniform Random Generation of Balanced Parenthesis
Strings",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "122--128",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Comer:1980:NMS,
author = "Douglas Comer",
title = "A Note on Median Split Trees",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "129--133",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Lamport:1980:CNA,
author = "Leslie Lamport",
title = "Corrigendum: ``{A New Approach to Proving the
Correctness of Multiprocess Programs}''",
journal = j-TOPLAS,
volume = "2",
number = "1",
pages = "134--134",
month = jan,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:53:34 1996",
note = "See \cite{Lamport:1979:NAP}.",
acknowledgement = ack-pb,
}
@Article{Wallis:1980:ERO,
author = "Peter J. L. Wallis",
title = "External Representations of Objects of User-Defined
Type",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "137--152",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
note = "See also corrigendum \cite{Wallis:1981:CRO}.",
acknowledgement = ack-pb,
}
@Article{Griswold:1980:AUP,
author = "Ralph E. Griswold and David R. Hanson",
title = "An Alternative to the Use of Patterns in String
Processing",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "153--172",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Cattell:1980:ADC,
author = "R. G. G. Cattell",
title = "Automatic Derivation of Code Generators from Machine
Descriptions",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "173--190",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Davidson:1980:DAR,
author = "Jack W. Davidson and Christopher W. Fraser",
title = "The Design and Application of a Retargetable Peephole
Optimizer",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "191--202",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:02:24 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See also corrigendum \cite{Davidson:1981:CDA}.",
acknowledgement = ack-pb,
}
@Article{Fischer:1980:PCA,
author = "Charles N. Fischer",
title = "On Parsing and Compiling Arithmetic Expressions on
Vector Computers",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "203--224",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Luckham:1980:AEH,
author = "David C. Luckham and W. Polak",
title = "{Ada} exception handling: an axiomatic approach",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "225--233",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Bernstein:1980:OGN,
author = "Arthur Bernstein",
title = "Output Guards and Nondeterminism in ``{Communicating
Sequential Processes}''",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "234--238",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Theory/ProbAlgs.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "Bernstein presents a distributed algorithm for CSP
output guards based on priority ordering of
processes.",
acknowledgement = ack-pb,
}
@Article{Ma:1980:DMI,
author = "Perng-Ti Ma and T. G. Lewis",
title = "Design of a Machine-Independent Optimizing System for
Emulator Development",
journal = j-TOPLAS,
volume = "2",
number = "2",
pages = "239--262",
month = apr,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Bobrow:1980:MRS,
author = "Daniel G. Bobrow",
title = "Managing Reentrant Structures Using Reference Counts",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "269--273",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Leverett:1980:CSD,
author = "Bruce W. Leverett and Thomas G. Szymanski",
title = "Chaining Span-Dependent Jump Instructions",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "274--289",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Samet:1980:CAP,
author = "Hanan Samet",
title = "A Coroutine Approach to Parsing",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "290--306",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Howden:1980:ASV,
author = "W. E. Howden",
title = "Applicability of Software Validation Techniques to
Scientific Programs",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "307--320",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Broy:1980:DIA,
author = "Manfred Broy and Bernd Krieg-{Br\"uckner}",
title = "Derivation of Invariant Assertions During Program
Development by Transformation",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "321--337",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Clarke:1980:SRI,
author = "Edmund Melson {Clarke, Jr.}",
title = "Synthesis of Resource Invariants for Concurrent
Programs",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "338--358",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Apt:1980:PSC,
author = "Krzysztof R. Apt and Nissim Francez and Willem P. de
Roever",
title = "A Proof System for Communicating Sequential
Processes",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "359--385",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:22:43 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See remarks \cite{Moitra:1983:TCA}.",
acknowledgement = ack-pb,
}
@Article{Casanova:1980:FSR,
author = "Marco R. Casanova and Phillip A. Bernstein",
title = "A Formal System for Reasoning about Programs Accessing
a Relational Database",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "386--414",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Graham:1980:ICF,
author = "Susan L. Graham and Michael A. Harrison and Walter L.
Ruzzo",
title = "An Improved Context-Free Recognizer",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "415--462",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Francez:1980:CT,
author = "Nissim Francez",
title = "Corrigendum: ``{Distributed Termination}''",
journal = j-TOPLAS,
volume = "2",
number = "3",
pages = "463--463",
month = jul,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:55:53 1996",
note = "See
\cite{Francez:1980:DT,Mohan:1981:TCF,Francez:1981:TCR}.",
acknowledgement = ack-pb,
}
@Article{Oppen:1980:P,
author = "Dereck C. Oppen",
title = "Prettyprinting",
journal = j-TOPLAS,
volume = "2",
number = "4",
pages = "465--483",
month = oct,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Schwartz:1980:U,
author = "Jacob T. Schwartz",
title = "Ultracomputers",
journal = j-TOPLAS,
volume = "2",
number = "4",
pages = "484--521",
month = oct,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Ernst:1980:SAD,
author = "George W. Ernst and William F. Ogden",
title = "Specification of Abstract Data Types in {Modula}",
journal = j-TOPLAS,
volume = "2",
number = "4",
pages = "522--543",
month = oct,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Landwehr:1980:ATS,
author = "Carl E. Landwehr",
title = "An Abstract Type for Statistics Collection in
{Simula}",
journal = j-TOPLAS,
volume = "2",
number = "4",
pages = "544--563",
month = oct,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Gries:1980:APC,
author = "David Gries and Gary Levin",
title = "Assignment and Procedure Call Proof Rules",
journal = j-TOPLAS,
volume = "2",
number = "4",
pages = "564--579",
month = oct,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Moret:1980:AVR,
author = "B. M. E. Moret and M. G. Thomason and R. C. Gonzalez",
title = "The Activity of a Variable and Its Relation to
Decision Trees",
journal = j-TOPLAS,
volume = "2",
number = "4",
pages = "580--595",
month = oct,
year = "1980",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Steensgaard-Madsen:1981:SOA,
author = "J. Steensgaard-Madsen",
title = "A Statement-Oriented Approach to Data Abstraction",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "1--10",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
note = "See remarks
\cite{Ellis:1982:TCS,Steensgaard-Madsen:1982:SMR}.",
acknowledgement = ack-pb,
}
@Article{Andre:1981:MAC,
author = "F. {Andr\'e} and J. P. Banatre and J. P. Routeau",
title = "A Multiprocessing Approach to Compile-Time Symbol
Resolution",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "11--23",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Juelich:1981:CAS,
author = "Otto C. Juelich and Clinton R. Foulk",
title = "Compilation of Acyclic Smooth Programs for Parallel
Execution",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "24--48",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Grit:1981:DIT,
author = "Dale H. Grit and Rex L. Page",
title = "Deleting Irrelevant Tasks in an Expression-Oriented
Multiprocessor System",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "49--59",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Heaps.bib, Compiler/garbage.collection.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Kristensen:1981:MCL,
author = "Bent Bruun Kristensen and Ole Lehrmann Madsen",
title = "Methods for Computing {LALR$(k)$} Lookahead",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "60--82",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{LaLonde:1981:HOP,
author = "Wilf R. LaLonde and Jim des Rivieres",
title = "Handling Operator Precedence in Arithmetic Expressions
with Tree Transformations",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "83--103",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:17:11 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See remarks
\cite{Henderson:1983:TCL,LaLonde:1983:TCL}.",
acknowledgement = ack-pb,
}
@Article{Misra:1981:EPE,
author = "Jayadev Misra",
title = "An Exercise in Program Explanation",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "104--109",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Davidson:1981:CDA,
author = "Jack W. Davidson and Christopher W. Fraser",
title = "Corrigendum: ``{The Design and Application of a
Retargetable Peephole Optimizer}''",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "110--110",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Davidson:1980:DAR}.",
acknowledgement = ack-pb,
}
@Article{Wallis:1981:CRO,
author = "Peter J. L. Wallis",
title = "Corrigendum: ``{External Representations of Objects of
User-Defined Type}''",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "111--111",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Wallis:1980:ERO}.",
acknowledgement = ack-pb,
}
@Article{Mohan:1981:TCF,
author = "C. Mohan",
title = "Technical Correspondence: On {Francez}'s
``{Distributed Termination}''",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "112--112",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Francez:1980:DT,Francez:1981:TCR}.",
acknowledgement = ack-pb,
}
@Article{Francez:1981:TCR,
author = "N. Francez",
title = "Technical Correspondence: Reply from {Francez}",
journal = j-TOPLAS,
volume = "3",
number = "1",
pages = "112--113",
month = jan,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:05:53 1996",
note = "See \cite{Francez:1980:DT,Mohan:1981:TCF}.",
acknowledgement = ack-nhfb,
}
@Article{Fraser:1981:EDS,
author = "Christopher W. Fraser and A. A. Lopez",
title = "Editing Data Structures",
journal = j-TOPLAS,
volume = "3",
number = "2",
pages = "115--125",
month = apr,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib,
Ai/lisp.bib",
acknowledgement = ack-pb,
}
@Article{Schonberg:1981:ATS,
author = "Edmond Schonberg and Jacob T. Schwartz and Micha
Sharir",
title = "An Automatic Technique for Selection of Data
Structures in {SETL} Programs",
journal = j-TOPLAS,
volume = "3",
number = "2",
pages = "126--143",
month = apr,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Database/Graefe.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "SETL is a very high level programming language
supporting set theoretic syntax and semantics. It
allows algorithms to be programmed rapidly and
succinctly without requiring data structure
declarations to be supplied. Such declarations can be
manually specified later, without recoding the program,
to improve the efficiency of program execution. We
describe a new technique for automatic selection of
appropriate data representations during compile time
for programs with omitted declarations and present an
efficient data representation selection algorithm,
whose complexity is comparable with those of the
fastest known general data-flow algorithms of Tarjan
and Reif.",
acknowledgement = ack-pb,
keywords = "New York Univ. bit vector direct representation
pointer array for subsets",
}
@Article{Griswold:1981:GI,
author = "Ralph E. Griswold and David R. Hanson and John T.
Korb",
title = "Generators in {Icon}",
journal = j-TOPLAS,
volume = "3",
number = "2",
pages = "144--161",
month = apr,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Hanson:1981:APP,
author = "David R. Hanson",
title = "{Algorithm 568}. {PDS} --- {A} Portable Directory
System",
journal = j-TOPLAS,
volume = "3",
number = "2",
pages = "162--167",
month = apr,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Sep 9 14:11:06 1994",
URL = "http://doi.acm.org/10.1145/357133.357137",
acknowledgement = ack-pb,
}
@Article{LaLonde:1981:CSC,
author = "Wilf R. LaLonde",
title = "The Construction of Stack-Controlling {LR} Parsers for
Regular Right Part Grammars",
journal = j-TOPLAS,
volume = "3",
number = "2",
pages = "168--206",
month = apr,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Gannon:1981:DAI,
author = "John Gannon and Paul McMullin and Richard Hamlet",
title = "Data Abstraction, Implementation, Specification, and
Testing",
journal = j-TOPLAS,
volume = "3",
number = "3",
pages = "211--223",
month = jul,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{vandenBos:1981:PCB,
author = "Jan {van den Bos} and R. Plasmeijer and Jan W. M.
Stroet",
title = "Process Communication Based on Input Specifications",
journal = j-TOPLAS,
volume = "3",
number = "3",
pages = "224--250",
month = jul,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Oct 31 06:37:56 2003",
bibsource = "Object/Nierstrasz.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
keywords = "uilit",
}
@Article{Rem:1981:APN,
author = "Martin Rem",
title = "Associons: {A} Program Notation with Tuples Instead of
Variables",
journal = j-TOPLAS,
volume = "3",
number = "3",
pages = "251--262",
month = jul,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Lindstrom:1981:RRB,
author = "Gary Lindstrom and Mary Lou Soffa",
title = "Referencing and Retention in Block-Structured
Coroutines",
journal = j-TOPLAS,
volume = "3",
number = "3",
pages = "263--292",
month = jul,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Barnden:1981:NCA,
author = "J. A. Barnden",
title = "Nonsequentiality and Concrete Activity Phases in
Discrete-Event Simulation Languages",
journal = j-TOPLAS,
volume = "3",
number = "3",
pages = "293--317",
month = jul,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Anderson:1981:LLC,
author = "S. O. Anderson and R. C. Backhouse",
title = "Locally Least-Cost Error Recovery in {Early}'s
Algorithm",
journal = j-TOPLAS,
volume = "3",
number = "3",
pages = "318--347",
month = jul,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Borning:1981:PLA,
author = "Alan Borning",
title = "The Programming Language Aspects of {ThingLab}, a
Constraint-Oriented Simulation Laboratory",
journal = j-TOPLAS,
volume = "3",
number = "4",
pages = "353--387",
month = oct,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Jazayeri:1981:SES,
author = "Medhi Jazayeri and Diane Pozefsky",
title = "Space-Efficient Storage Management in an Attribute
Grammar Evaluator",
journal = j-TOPLAS,
volume = "3",
number = "4",
pages = "388--404",
month = oct,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Andrews:1981:SR,
author = "Gregory R. Andrews",
title = "Synchronizing Resources",
journal = j-TOPLAS,
volume = "3",
number = "4",
pages = "405--430",
month = oct,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Apt:1981:TYH,
author = "Krzysztof R. Apt",
title = "Ten Years of {Hoare}'s Logic: {A} Survey --- {Part
I}",
journal = j-TOPLAS,
volume = "3",
number = "4",
pages = "431--483",
month = oct,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/prog.lang.theory.bib",
acknowledgement = ack-pb,
}
@Article{Greif:1981:SSW,
author = "Irene Greif and Albert R. Meyer",
title = "Specifying the Semantics of while Programs: {A}
Tutorial and Critique of a Paper by {Hoare} and
{Lauer}",
journal = j-TOPLAS,
volume = "3",
number = "4",
pages = "484--507",
month = oct,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Hansen:1981:CMI,
author = "Wilfred J. Hansen",
title = "A Cost Model for the Internal Organization of
{B$^{+}$}-Tree Nodes",
journal = j-TOPLAS,
volume = "3",
number = "4",
pages = "508--532",
month = oct,
year = "1981",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Feather:1982:SAP,
author = "Martin S. Feather",
title = "A System for Assisting Program Transformation",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "1--20",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "Program transformation has been advocated as a
potentially appropriate methodology for program
development. The ability to transform large programs is
crucial to the practicality of such an approach. This
paper describes research directed towards applying one
particular transformation method to problems of
increasing scale. The method adopted is that developed
by Burstall and Darlington, and familiarity with their
work is assumed. The problems which arise when
attempting transformation of larger scale programs are
discussed, and an approach to overcoming them is
presented. Parts of the approach have been embodied in
a machine-based system which assists a user in
transforming his programs. The approach, and the use of
this system, are illustrated by presenting portions of
the transformation of a compiler for a ``toy''
language.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "program development; program transformation",
sjb = "Manual transformation method i.e. the program has to
be told where to do the transformations.",
source = "Dept. Library",
}
@Article{Tanenbaum:1982:UPO,
author = "Andrew S. Tanenbaum and Hans {van Staveren} and Johan
W. Stevenson",
title = "Using Peephole Optimization on Intermediate Code",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "21--36",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Oct 26 07:58:22 1998",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See remarks \cite{Pemberton:1983:TCT}.",
abstract = "Many portable compilers generate an intermediate code
that is subsequently translated into target machine's
assembly language. In this paper a stack-machine-based
intermediate code suitable for algebraic languages
(e.g., PASCAL, C, FORTRAN) and most byte-addressed
mini- and microcomputers is described. A table-driven
peephole optimizer that improves the intermediate code
is discussed in detail and compared with other local
optimization methods. Measurements show an improvement
of about 15 percent, depending on precise metrics
used.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "abstract machine; intermediate code; peephole
optimizer",
source = "Dept. Library",
}
@Article{Misra:1982:TDD,
author = "Jayadev Misra and K. M. Chandy",
title = "Termination Detection of Diffusing Computations in
Communicating Sequential Processes",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "37--43",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "In this paper it is shown how the Dijkstra-Scholten
scheme for termination detection in a diffusing
computation can be adapted to detect termination or
deadlock in a network of communicating sequential
processes as defined by Hoare.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "diffusing computation; distributed systems; networks
of processes; termination detection",
source = "Dept. Library",
}
@Article{McGraw:1982:VLD,
author = "James R. McGraw",
title = "The {VAL} Language: Description and Analysis",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "44--82",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/par.dataflow.bib, Misc/Functional.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib,
Compiler/bevan.bib",
abstract = "VAL is a high-level, function-based language designed
for use on data flow computers. A data flow computer
has many small processors organized to cooperate in the
execution of a single computation. A computation is
represented by its data flow graph; each operator in a
graph is scheduled for execution on one of the
processors after all of its operands' values are known.
VAL promotes the identification of concurrency in
algorithms and simplifies the mapping into data flow
graphs. This paper presents a detailed introduction to
VAL and analyzes its usefulness for programming in a
highly concurrent environment. VAL provides {\em
implicit concurrency\/} (operations that can execute
simultaneously are evident without the need for any
explicit language notation). The language uses
function- and expression-based features that prohibit
all side effects, which simplifies translation to
graphs. The salient language features are described and
illustrated through examples taken from a complete VAL
program for adaptive quadrature. Analysis of the
language shows that VAL meets the critical needs for a
data flow environment. The language encourages
programmers to think in terms of general concurrency,
enhances readability (due to the absence of side
effects), and possesses a structure amenable
verification techniques. However, VAL is still
evolving. The language definition needs refining, and
more support tools for programmer use need to be
developed. Also, some new kinds of optimization
problems should be addressed.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "applicative languages; concurrent programming
structures; data-flow languages; design; functional;
languages",
source = "Dept. Library",
}
@Article{Hoffman:1982:PE,
author = "Christoph M. Hoffman and Michael J. O'Donnell",
title = "Programming with Equations",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "83--112",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "Equations provide a convenient notation for defining
many computations, for example, for programming
language interpreters. This paper illustrates the
usefulness of equational programs, describes the
problems involved in implementing equational programs,
and investigates practical solutions to those problems.
The goal of the study is a system to automatically
transform a set of equations into an efficient program
which exactly implements the logical meaning of the
equations. This logical meaning may be defined in terms
of the traditional mathematical interpretation of
equations, without using advanced computing concepts.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "equations; interpreters; nonprocedural languages;
term-rewriting systems",
sjb = "Includes code for a 2-3 tree.",
}
@Article{Williams:1982:FNS,
author = "M. Howard Williams",
title = "A Flexible Notation for Syntactic Definitions",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "113--119",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jun 8 13:21:42 1984",
bibsource = "Compiler/compiler.bib, Compiler/bevan.bib",
abstract = "In view of the proliferation of notations for defining
the syntax of programming languages, it has been
suggested that a simple notation should be adopted as a
standard. However, any notation adopted as a standard
should also be as versatile as possible. For this
reason, a notation is presented here which is both
simple and versatile and which has additional benefits
when specifying the static semantic rules of a
language.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "BNF; syntax",
sjb = "Suggests some additions to Wirth's notation to capture
some commonly required constraints such as ``maximum
length of an identifier is $X$'', ``$X$ can be repeated
$Y$ times''. The ``simple and versatile'' notation is
just Wirth's EBNF augmented with affixes/attributes.
Ends with the following ``It is hoped that this paper
will not be viewed simply as a presentation of yet
another notation for syntactic definitions. The main
purpose of the paper has been to look closely at the
advantages of the notation proposed, and it is hoped
that in the future, before adopting any syntactic
notation, readers will give careful consideration to
the advantages of such a notation and avoid the
introduction of new notations or variations on existing
ones unless the advantages can be clearly spelled
out.''",
}
@Article{Ellis:1982:TCS,
author = "John R. Ellis",
title = "Technical Correspondence: On {Steensgaard-Madsen}'s
``{A Statement-Oriented Approach to Data
Abstraction}''",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "120--122",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:08:12 1996",
bibsource = "Compiler/bevan.bib",
note = "See
\cite{Steensgaard-Madsen:1981:SOA,Steensgaard-Madsen:1982:SMR}",
checked = "19940302",
sjb = "Points out that Madsen's ``new'' approach already
exists in languages like Smalltalk and Scheme.",
}
@Article{Steensgaard-Madsen:1982:SMR,
author = "J. Steensgaard-Madsen",
title = "Technical Correspondence: {Steensgaard-Madsen}'s
reply",
journal = j-TOPLAS,
volume = "4",
number = "1",
pages = "122--123",
month = jan,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
note = "See
\cite{Steensgaard-Madsen:1981:SOA,Ellis:1982:TCS}.",
checked = "19940302",
sjb = "Admits ignorance of Scheme and Smalltalk, but doggedly
clings to the idea that his approach is new.",
}
@Article{Schneider:1982:SDP,
author = "Fred B. Schneider",
title = "Synchronization in Distributed Programs",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "125--148",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "A technique for solving synchronization problems in
distributed programs is described. Use of this
technique in environments in which processes may fail
is discussed. The technique can be used to solve
synchronization problems directly, to implement new
synchronization mechanisms (which are presumably well
suite for use in distributed programs), and to
construct distributed versions of existing
synchronization mechanisms. use of the technique is
illustrated with implementations of distributed
semaphores and a conditional message-passing
facility.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "logical clocks",
source = "Dept. Library",
}
@Article{Holt:1982:ISS,
author = "Richard C. Holt and J. R. Cordy and David B. Wortman",
title = "An Introduction to {S/SL}: {Syntax\slash Semantic
Language}",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "149--178",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 18:36:33 1996",
bibsource = "Compiler/bevan.bib, Compiler/TOPLAS.bib,
Compiler/Compiler.Lins.bib",
abstract = "S/SL (Syntax/Semantic Language) is a language that was
developed for implementing compilers. A subset called
SL (Syntax Language) has the same recognition power as
do LR(k) parsers. Complete S/SL includes invocation of
semantic operations implemented in another language
such as PASCAL. S/SL implies a top-down programming
methodology. First, a data-free algorithm is developed
in S/SL. The algorithm invokes operations on ``semantic
mechanisms.'' A semantic mechanism is an abstract
object, specified, from the point of view of the S/SL,
only by the effect of operations upon the object.
Later, the mechanisms are implemented apart from the
S/SL program. The separation of the algorithm from the
data and the division of data into mechanisms reduce
the effort needed to understand and maintain the
resulting software. S/SL has been used to construct
compilers for SPECKLE (a PL/I subset), PT (a PASCAL
subset), Toronto EUCLID, and Concurrent EUCLID. It has
been used to implement scanners, parser, semantic
analyzers, and code generators. S/SL programs are
implemented by translating them into tables of
integers. A ``table walker'' program executes the S/SL
program by interpreting this table. The translation of
S/SL programs into tables is performed by a program
called the S/SL processor. This processor serves a
function analogous to that served by an LR(k) parser
generator. The implementation of S/SL is simple and
portable. It is available in a small subset of PASCAL
that can be easily transliterated into other high-level
languages.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "design languages; LR(k)",
source = "Dept. Library",
}
@Article{Soisalon-Soininen:1982:IEE,
author = "Eljas Soisalon-Soininen",
title = "Inessential Error Entries and Their Use in {LR} Parser
Optimization",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "179--195",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See \cite{LaLonde:1984:TCC}.",
abstract = "The use of ``default reductions'' in implementing LR
parsers is considered in conjunction with the desire to
decrease the number of states of the parser by making
use of ``don't care'' (also called ``inessential'')
error entries. Default reduction are those which are
performed independently of the lookahead string when
other operations do not apply, and their use can lead
to substantial savings in space and time. Don't-care
error entries of an LR parser are those which are never
consulted, and thus they can be arbitrarily replaced by
nonerror entries in order to make a state compatible
with another one. Determining don't-care error entries
is most important in avoiding the growth of the sie of
the parser when eliminating reductions by single
productions, that is, productions for which the
right-hand side is a single symbol. The use of default
reductions diminishes don't-care entries. This effect
is analyzed by giving a necessary and sufficient
condition for an error entry to be don't care when
default reductions are used. As an application,
elimination of reductions by single productions in
conjunction with the use of default reductions is
considered.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "default reductions; don't-care error entries; LR(k);
single productions",
source = "Dept. Library",
}
@Article{Sharir:1982:SOC,
author = "Micha Sharir",
title = "Some Observations Concerning Formal Differentiation of
Set Theoretic Expressions",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "196--225",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Wetherell:1982:EDV,
author = "C. S. Wetherell",
title = "Error Data Values in the Data-Flow Language {VAL}",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "226--238",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "The data-flow architecture is intended to support
large scientific computations, and VAL is an algebraic,
procedural language for use on a data-flow computer.
VAL is Apt for numerical computations but requires an
error monitoring feature that can be used to diagnose
and correct errors arising during program execution.
Traditional monitoring methods (software traps and
condition codes) are inappropriate for VAL; instead VAL
includes a set of error data values and an algebra for
their manipulation. The error data values and their
algebra are described an assessed; the conclusion is
that error values provide a clean way for a high-level
language to handle numeric (and some other) errors.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "applicative languages; computer arithmetic; data-flow
architectures; data-flow languages; design; error
handling and recovery; languages",
sjb = "easy read",
source = "Dept. Library",
}
@Article{Fateman:1982:HLL,
author = "Richard J. Fateman",
title = "High-Level Language Implications of the Proposed
{IEEE} Floating-Point Standard",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "239--257",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "An IEEE Computer Society working group on
floating-point arithmetic has recommended a standard
for binary floating-point number formats, operations,
and semantics. This paper, which has evolved in part
during the deliberations of that committee, describes
the significance to languages and, in particular, to
FORTRAN and its variants, of various novel features of
the recommended standard.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "computer arithmetic; control structures; data types
and structures; error handling and recovery;
floating-point arithmetic; FORTRAN; run-time
environments",
source = "Dept. Library",
}
@Article{Martelli:1982:EUA,
author = "Alberto Martelli and Ugo Montanari",
title = "An Efficient Unification Algorithm",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "258--282",
month = feb,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/prog.lang.theory.bib, Compiler/TOPLAS.bib,
Ai/prolog.1.bib, Compiler/Compiler.Lins.bib,
Compiler/bevan.bib,
Misc/formal.hardware.verification.bib",
abstract = "The unification problem in first-order predicate
calculus is described in general terms as the solution
of a system of equations, and a nondeterministic
algorithm is given. A new unification algorithm,
characterized by having the acyclicity test efficiently
embedded into it, is derived from the nondeterministic
one, and a PASCAL implementation is given. A comparison
with other well-known unification algorithms shows that
the algorithm described here performs well in all
cases.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "algorithms; complexity of proof procedures; languages;
logic; mechanical theorem proving; performance; prolog;
resolution; theory",
source = "Dept. Library",
}
@Article{Ashcroft:1982:BRS,
author = "E. A. Ashcroft and W. W. Wadge",
title = "{\bf R}$_{\!\!\!\mbox{\raisebox{.5ex}{\tiny /}}}$ for
Semantics",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "283--294",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "A constructive criticism of recent work in the
semantics of programming languages is offered. The
criticism is directed not so much at the techniques and
results obtained as at the use to which they are put.
The fact that denotational (or ``mathematical'')
semantics plays on the whole a passive
(``descriptive'') role, while operational semantics
plays on the whole an active (``prescriptive'') role,
is seen as the basic problem. It is suggested that
these roles be reversed.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "denotational semantics; operational semantics;
semantics; theory",
sjb = "Easy read. Note the format of the title is taken the
ACM TOPLAS bibliography maintained by
preston@cs.rice.edu",
source = "Dept. Library",
}
@Article{Arsac:1982:STR,
author = "J. Arsac and Y. Kodratoff",
title = "Some Techniques for Recursion Removal from Recursive
Functions",
journal = j-TOPLAS,
volume = "4",
number = "2",
pages = "295--322",
month = apr,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "Three different techniques that can be used for
recursion removal are described: generalization of the
function definition, study of the computation traces of
the function, and nonprocedural languages. Despite the
existence of implemented versions of these techniques,
they are easy to use ``by hand'' and should therefore
be part of every programmers knowledge.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "computation trace; denotational semantics; operational
semantics; recursion removal; semantics; tail
recursion",
sjb = "Gets a bit heavy in places, but on the whole quite
readable.",
source = "Dept. Library",
}
@Article{Hennessy:1982:SDO,
author = "John L. Hennessy",
title = "Symbolic Debugging of Optimized Code",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "323--344",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 14:20:25 1996",
bibsource = "Compiler/bevan.bib",
note = "See remark \cite{Copperman:1993:TCF}.",
abstract = "The long-standing conflict between code optimization
and symbolic debugging is examined. The effects of
local and global optimizations on the variables of a
program are categorized, and models for representing
the effect of optimizations are given. Algorithms use
these models to determine the subset of variables hose
values do not correspond to those in the original
program. Restoring these variables to their correct
values is investigated, and empirical results from the
application of these algorithms to local optimization
are also presented.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "code generation optimization; debugging aids; directed
acyclic graphs; flow graphs; symbolic debugging",
source = "Dept. Library",
}
@Article{Sipala:1982:CSB,
author = "Paolo Sipala",
title = "Compact Storage of Binary Trees",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "345--361",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Broy:1982:CAA,
author = "Manfred Broy and Peter Pepper",
title = "Combining Algebraic and Algorithmic Reasoning: An
Approach to the {Schorr-Waite} Algorithm",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "362--381",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "The basic idea of the Schorr-Waite graph-marking
algorithm can be precisely formulated, explained, and
verified in a completely applicative (functional)
programming style. Graphs are specified algebraically
as objects of an abstract data type. When formulating
recursive programs over such types, one can combine
algebraic and algorithmic reasoning: An applicative
depth-first-search algorithm is derived from a
mathematical specification by applying properties of
reflexive, transitive closures of relations. This
program is then transformed in several steps into a
final procedural version with the help of both
algebraic properties of graphs and algorithmic
properties reflected in the recursion structure of the
program.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "abstract data types; algorithms; applicative
(functional) programming; languages; program
transformation; verification",
source = "Dept. Library",
}
@Article{Lamport:1982:BGP,
author = "Leslie Lamport and Robert Shostak and Marshall Pease",
title = "The {Byzantine} Generals Problem",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "382--401",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Oct 17 12:24:31 1998",
bibsource = "Theory/ProbAlgs.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/bevan.bib,
Database/dbase.bib",
note = "They proved that Byzantine agreement (the subject of
Section~\ref{sec-byzantine}) cannot be reached unless
fewer than one-third of the processes are faulty. This
result assumes that authentication, i.e., the crypting
of messages to make them unforgeable, is not used. With
unforgeable messages, they show that the problem is
solvable for any $n \geq t > 0$, where $n$ is the total
number of processes and $t$ is the number of faulty
processes.",
abstract = "Reliable computer systems must handle malfunctioning
components that give conflicting information to
different parts of the system. This situation can be
expressed abstractly in terms of a group of generals of
the Byzantine army camped with their troops around an
enemy city. Communicating only by messenger, the
generals must agree upon a common battle plan. However,
one or more of them may be traitors who will try and
confuse the others. The problem is to find an algorithm
to ensure that the loyal generals will reach agreement.
It is shown that, using only oral messages, this
problem is solvable if and only if more than two-thirds
of the generals are loyal; so a single traitor can
confound two loyal generals. With unforgeable written
messages, the problem is solvable for any number of
generals and possible traitors. Applications of the
solutions to reliable computer systems are then
discussed.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "fault tolerance; interactive consistency; network
communications; network operating systems;
reliability",
source = "Dept. Library",
}
@Article{Paige:1982:FDC,
author = "Robert Paige and Shaye Koenig",
title = "Finite Differencing of Computable Expressions",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "402--454",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "Finite differencing is a program optimization method
that generalizes strength reduction, and provides an
efficient implementation for a host of program
transformations including ``iterator inversion.''
Finite differencing is formally specified in terms of
more basic transformations shown to preserve program
semantics. Estimates of the speedup that the technique
yields are given. A full illustrative example of the
algorithm is given.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "algorithms; automatic programming; computations on
discrete structures; differentiable expression;
languages; optimization; program transformation; SETL;
theory; verification; very high-level languages",
source = "Dept. Library",
}
@Article{Owicki:1982:PLP,
author = "Susan Owicki and Leslie Lamport",
title = "Proving Liveness Properties of Concurrent Programs",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "455--495",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Ai/nonmono.bib, Compiler/TOPLAS.bib",
abstract = "A liveness property asserts that program execution
eventually reaches some desirable state. While
termination has been studied extensively, many other
liveness properties are important for concurrent
programs. A formal proof method, based on temporal
logic, for deriving liveness properties is presented.
It allows a rigorous formulation of simple informal
arguments. How to reason with temporal logic and how to
use safety (invariance) properties in proving liveness
is shown. The method is illustrated using, first, a
simple programming language without synchronization
primitives, then one with semaphores. However, it is
applicable to any programming language.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "concurrent programming; fairness; languages; liveness;
multiprocessing; program verification; proof of
correctness; semantics of programming languages;
synchronization; temporal logic; theory; verification",
source = "Dept. Library",
}
@Article{Wand:1982:DTC,
author = "Mitchell Wand",
title = "Deriving Target Code as a Representation of
Continuation Semantics",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "496--517",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "Reynolds' technique for deriving interpreters is
extended to derive compilers from continuation
semantics. The technique starts by eliminating
$\lambda$-variables from the semantic equations through
the introduction of special-purpose combinators. The
semantics of a program phrase may be represented by a
term built from these combinators. Then associative and
distributive laws are used to simplify the terms. Last,
a machine is built to interpret the simplified terms as
the functions they represent. The combinators reappear
as the instructions of this machine. The technique is
illustrated with three examples.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "code generation; combinators; compilers;
continuations; denotational semantics; lambda calculus;
semantics",
sjb = "excellent paper",
source = "Dept. Library",
}
@Article{Krogh:1982:AAP,
author = "Fred T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "518--521",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:36:09 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1982:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "4",
number = "3",
pages = "522--525",
month = jul,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
acknowledgement = ack-pb,
}
@Article{Herlihy:1982:VTM,
author = "Maurice P. Herlihy and Barbara Liskov",
title = "A Value Transmission Method for Abstract Data Types",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "527--551",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Thu May 26 15:49:48 1988",
bibsource = "Misc/programming.env.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/bevan.bib",
abstract = "Abstract data types have proved to be a useful
technique for structuring systems. In large systems it
is sometimes useful to have different regions of the
system use different representations for the abstract
data values. A technique is described for communicating
abstract values between such regions. The method was
developed for use in constructing distributed systems,
where the regions exist at different computers and the
values are communicated over a network. The method
defines a call-by-value semantics; it is also useful in
nondistributed systems wherever call by value is the
desired semantics. An important example of such a use
is a repository, such as a file system, for storing
long lived data.",
checked = "19940302",
keywords = "abstract data types; call by value; data translation;
design; distributed systems; input/output; languages;
long-term storage.; message communications; message
sending",
sjb = "For every type that is to be transmitted, need to
define encode $:: T \rightarrow XT$, decode $:: XT
\rightarrow T$, from these, the ``system'' generates
transmit $:: T\rightarrow T$ and transmit $:: XT
\rightarrow XT$, where $XT$ is the external
representation. As an example of how $XT$ may differ
from $T$, in the case of 2D coordinates, $T$ might be
cartesian whereas $XT$ may be a variant containing
either cartesian or polar. Note that it is up to the
user to decide what to do about sharing e.g. to
structured types having a pointer to a third.",
source = "Dept. Library",
}
@Article{Holt:1982:MIE,
author = "Richard C. Holt and David B. Wortman",
title = "A Model for Implementing {Euclid} Modules and
Prototypes",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "552--562",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "The PASCAL-based programming language EUCLID was
designed for use in implementing verifiable systems
software. The design of EUCLID includes many novel
extensions, including a module mechanism and a
substantial generalization of the PASCAL type
mechanism. This paper presents an implementation model
for two of these extensions: modules and parameterized
type definitions (prototypes).",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "abstract data types; data types and structures;
EUCLID; packages; run-time environments; systems
implementation language",
sjb = "Amongst other things discusses how to compile generics
e.g. macro vs. shared.",
source = "Dept. Library",
}
@Article{Griswold:1982:EEI,
author = "Ralph E. Griswold",
title = "The Evaluation of Expressions in {Icon}",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "563--584",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "Expressions in the Icon programming language may be
{\em conditional}, possibly producing no result, or
they may be {\em generators}, possibly producing a
sequence of results. Generators, coupled with a goal
directed evaluation mechanism, provide a concise method
for expression many complex computations. This paper
describes the evaluation of expressions in Icon and
presents an Icon program that explicates the semantics
of expression evaluation. This program also provides an
executable ``formalism'' that can be used as a tool to
design and test changes and additions to the
language.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "control structures; Icon; interpreters; semantics",
source = "Dept. Library",
}
@Article{Gergeron:1982:SAS,
author = "J. Gergeron and A. Dubuque",
title = "A Structured {APL} System",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "585--600",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "A structured APL system introducing several
interesting features is described. The APL group
concept has been considerably extended to yield a new
type of APL object called a segment. Segments
constitute the basic building blocks used to manage
memory and build up the workspace and the user's
library. The encapsulation capability provides a
unified scheme for handling variables, functions and
other APL objects, including files. A new structured
user library is proposed. The dynamic call of objects
during a terminal session links the user library to the
workspace. New types of variables are described along
with solutions to interesting problems based on them.",
checked = "19940302",
keywords = "APL; segmentation; software libraries; workspace",
source = "Dept. Library",
}
@Article{Baker:1982:OPA,
author = "T. P. Baker",
title = "A One-Pass Algorithm for Overload Resolution in
{Ada}",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "601--614",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "A simple method is presented for detecting ambiguities
and finding the correct interpretations of expressions
in the programming language Ada. Unlike previously
reported solutions to this problem, which require
multiple passes over a tree structure, the method
described here operates in one bottom-up pass, during
which a directed acyclic graph is produced. The
correctness of this approach is demonstrated by a brief
formal argument.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "Ada; compilers; overloading; translators",
source = "Dept. Library",
}
@Article{DeRemer:1982:ECL,
author = "Frank DeRemer and Thomas Pennello",
title = "Efficient Computation of {LALR}(1) Look-Ahead Sets",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "615--649",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat May 4 17:32:11 1996",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "Two relations that capture the essential structure of
the problem of computing LALR(1) look-ahead sets are
defined, an efficient algorithm is presented to compute
the sets in time linear in the size of the relations.
In particular, for a PASCAL grammar, the algorithm
performs fewer than 15 percent of the set unions
performed by the popular compiler-compiler YACC. When a
grammar is not LALR(1), the relations, represented
explicitly, provide for printing user-oriented error
messages that specifically indicate {\em how\/} the
look-ahead problem arose. In addition, certain loops in
the digraphs induced by these relations indicate that
the grammar is not LR($k$) for any $k$. Finally, on
oft-discovered and used but {\em incorrect\/}
look-ahead set algorithm is similarly based on two
other relations defined for the first time here. The
formal presentation of this algorithm should help
prevent its rediscovery.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "Backus-Naur form; compiler generators; context-free
grammar; grammar debugging.; LALR(1); LR(k); parsing;
strongly connected component; syntax; translator
writing systems",
source = "Dept. Library",
}
@Article{Dewar:1982:TDG,
author = "Robert B. K. Dewar and Micha Sharir and Elia
Weixelbaum",
title = "Transformational Derivation of a Garbage Collection
Algorithm",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "650--667",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/garbage.collection.bib,
Compiler/Compiler.Lins.bib, Compiler/bevan.bib",
abstract = "Transformational programming is a relatively new
programming technique intended to derive complex
algorithms automatically. Initially, a set of
transformational rules is described, and an initial
specification of the problem to be programmed is given.
The specification is written in a high-level language
in a fairly compact form possibly ignoring efficiency.
A number of versions, called transformations, are
created by successively applying the transformational
rules starting with the initial specification. As an
example of the application of this technique to a
fairly complex case, a transformational derivation of a
variant of known efficient garbage collection and
compaction algorithm from an initial very high-level
specification is given. Currently, the techniques are
still being developed, and therefore the
transformations are derived manually. However, most of
the transformations done are of a technical nature and
could eventually be automated.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "algorithms; automatic programming; design; formal
differentiation; garbage collection; languages; loop
fusion; program transformation; strength reduction.;
transformational programming; very high level
languages; wide-spectrum languages",
source = "Dept. Library",
}
@Article{Boom:1982:WPL,
author = "H. J. Boom",
title = "A Weaker Precondition for Loops",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "668--677",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "In his book, {\em A Discipline of Programming},
Dijkstra presents the skeleton for a programming
language and defines its semantics axiomatically using
predicate transformers. His language involves only
bounded nondeterminism. He shows that unbounded
nondeterminism is incompatible with his axioms and his
continuity principle, and he argues that this is no
drawback because unboundedly nondeterministic machines
cannot be built. This paper considers the question of
unbounded nondeterminism. A new predicate transformer
is derived to handle this. A proof is given that the
new transformer corresponds to operational semantics,
and an informal argument is given that unbounded
nondeterminism can be a useful programming concept even
in the absence of nondeterministic machines.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "Ackermann's function; fair do loop; fair scheduling;
nondeterminism; predicate transformer; total
correctness; unbounded nondeterminism; weakest
precondition",
source = "Dept. Library",
}
@Article{Misra:1982:DGA,
author = "Jayadev Misra and K. M. Chandy",
title = "A Distributed Graph Algorithm: Knot Detection",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "678--686",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "A {\em knot\/} is a directed graph is [sic] a useful
concept in deadlock detection. A distributed algorithm
for identifying a knot in a graph using a network of
processes is presented. The algorithm is based on the
work of Dijkstra and Scholten.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "distributed algorithms; distributed applications;
graph algorithms; knot; message communication; network
operating systems; network problems; sequencing and
scheduling",
source = "Dept. Library",
}
@Article{Mallgren:1982:FSG,
author = "William R. Mallgren",
title = "Formal Specification of Graphic Data Types",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "687--710",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "Formal specification techniques and data abstractions
have seen little application to computer graphics. Many
of the objects and operations unique to graphics
programs can be handled conveniently by defining
special graphic data types. Not only do graphic data
types provide an attractive way to work with pictures,
but they also allow specification techniques for data
abstractions to be employed. Algebraic axioms, because
of their definitional nature, are especially well
suited to specifying the diversity of types useful in
graphics applications. In this paper, definitions are
given for some important concepts that appear in
graphics programs. Based on these definitions, some
illustrative graphic data types, called point, region,
geometric function, graphic transformation, and
tree-structured picture, are defined and specified
algebraically. A simple graphics language for line
drawings is created by embedding these new data types
in the language PASCAL. Using the specifications, an
outline of a correctness proof for a small programming
example is presented.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "abstract data types; algebraic approaches to
semantics; correctness proofs; graphic data type;
languages; specification techniques; verification",
sjb = "readable",
source = "Dept. Library",
}
@Article{Thatcher:1982:DTS,
author = "J. W. Thatcher and E. G. Wagner and J. B. Wright",
title = "Data Type Specification: Parameterization and the
Power of Specification Techniques",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "711--732",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "Our earlier work on abstract data types is extended by
the answers to a number of questions on the power and
limitations of algebraic specification techniques and
by a algebraic treatment of parameterized data types
like {\em set-of-(\ )\/} and {\em stacks-of(\ )}. The
``hidden function'' problem (the need to include
operations in specifications which are wanted hidden
from the user) is investigated; the relative power of
conditional specifications and equational
specifications is investigated; and it is show that
parameterized specifications must contain ``side
conditions'' (e.g., that {\em finite-sets-of-d\/}
requires an equality predicate on $d$).",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "abstract data types; algebraic approaches to
semantics; algebraic specification; semantics; type
structure",
sjb = "Looks dated now",
source = "Dept. Library",
}
@Article{Williams:1982:DAF,
author = "John H. Williams",
title = "On the Development of the Algebra of Functional
Programs",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "733--757",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/bevan.bib",
abstract = "The development of the algebraic approach to reasoning
about functional programs that was introduced by Backus
in his Turing Award Lecture is furthered. Precise
definitions for the foundations on which the algebra is
based are given, and some new expansion theorems that
broaden the class of functions for which this approach
is applicable are proved. In particular, the class of
``overrun-tolerant'' forms, nonlinear forms that
include some of the familiar divide-and-conquer program
schemes, are defined; an expansion theorem for such
forms is proved; and that theorem is used to show how
to derive expansions for some programs defined by
nonlinear forms.",
acknowledgement = ack-pb,
checked = "19940302",
keywords = "algebraic approaches to semantics; applicative
(functional) programming; correctness proofs;
functional constructs; semantics; transformations",
sjb = "Looks dated now",
source = "Dept. Library",
}
@Article{Peterson:1982:UAC,
author = "Gary L. Peterson",
title = "An {$O(n\log{n})$} Unidirectional Algorithm for the
Circular Extrema Problem",
journal = j-TOPLAS,
volume = "4",
number = "4",
pages = "758--762",
month = oct,
year = "1982",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Theory/ProbAlgs.bib",
note = "Peterson presents a deterministic distributed
algorithm for finding the largest of a set of $n$
uniquely numbered processes in a ring. The algorithm
requires $O(n \log n)$ messages in the worst case, and
is unidirectional. The number of processes is not
initially known.",
acknowledgement = ack-pb,
}
@Article{Merlin:1983:CSS,
author = "Philip Merlin and Gregor V. Bochmann",
title = "On the Construction of Submodule Specifications and
Communication Protocols",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "1--25",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Freudenberger:1983:ESO,
author = "Stefan M. Freudenberger and Jacob T. Schwartz and
Micha Sharir",
title = "Experience with the {SETL} Optimizer",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "26--45",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Peterson:1983:CRW,
author = "Gary L. Peterson",
title = "Concurrent Reading While Writing",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "46--55",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Peterson:1983:NSL,
author = "Gary L. Peterson",
title = "A New Solution to {Lamport}'s Concurrent Programming
Problem Using Small Shared Variables",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "56--65",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Database/Wiederhold.bib",
acknowledgement = ack-pb,
annote = "Immune to process failures and restarts.",
}
@Article{Gallager:1983:DAM,
author = "R. G. Gallager and P. A. Humblet and P. M. Spira",
title = "A Distributed Algorithm for Minimum-Weight Spanning
Trees",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "66--77",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Kieburtz:1983:ARE,
author = "Richard B. Kieburtz and Abraham Silberschatz",
title = "Access-Right Expressions",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "78--96",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Kamin:1983:FDT,
author = "Samuel Kamin",
title = "Final Data Types and Their Specification",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "97--121",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 11:07:03 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Henderson:1983:TCL,
author = "Peter B. Henderson",
title = "Technical Correspondence: On {LaLonde} and {des
Rivieres}' ``{Handling Operator Precedence in
Arithmetic Expressions with Tree Transformations}''",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "122--122",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{LaLonde:1981:HOP,LaLonde:1983:TCL}.",
acknowledgement = ack-pb,
}
@Article{LaLonde:1983:TCL,
author = "Wilf R. LaLonde",
title = "Technical Correspondence: {LaLonde}'s Reply",
journal = j-TOPLAS,
volume = "5",
number = "1",
pages = "122--122",
month = jan,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{LaLonde:1981:HOP,Henderson:1983:TCL}.",
acknowledgement = ack-pb,
}
@Article{Reiss:1983:GCS,
author = "Steven P. Reiss",
title = "Generation of Compiler Symbol Processing Mechanisms
from Specifications",
journal = j-TOPLAS,
volume = "5",
number = "2",
pages = "127--163",
month = apr,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Thu Jul 28 16:03:28 1983",
bibsource = "Compiler/compiler.bib",
acknowledgement = ack-pb,
annote = "Compiler symbol processing has become complex as
programming languages have evolved. In this paper we
describe a comprehensive model of symbol processing,
and a system that uses this model to generate the
symbol processing portions of a compiler from simple
specifications. The model supports a variety of
entities with different types of names. It includes a
detailed view of scoping. It provides a simple picture
of the complex mapping from a source token to a
specific entity. The model is illustrated with examples
from Ada. The system is divided into two parts. The
first takes a nonprocedural description of the
semantics of symbols in the language and produces a
symbol table module for a compiler in that language.
The second supports a simple symbol processing language
that allows the easy connection of syntax and semantic
processing to the symbol module. [abstract]",
}
@Article{Gottlieb:1983:BTE,
author = "Allan Gottlieb and Boris D. Lubachevsky and Larry
Rudolph",
title = "Basic Techniques for the Efficient Coordination of
Very Large Numbers of Cooperating Sequential
Processors",
journal = j-TOPLAS,
volume = "5",
number = "2",
pages = "164--189",
month = apr,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Database/Graefe.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
keywords = "glr acm toplas",
}
@Article{Lamport:1983:SCP,
author = "Leslie Lamport",
title = "Specifying Concurrent Program Modules",
journal = j-TOPLAS,
volume = "5",
number = "2",
pages = "190--222",
month = apr,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Buckley:1983:EIG,
author = "G. N. Buckley and Abraham Silberschatz",
title = "An Effective Implementation for the Generalized
Input-Output Construct of {CSP}",
journal = j-TOPLAS,
volume = "5",
number = "2",
pages = "223--235",
month = apr,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Theory/ProbAlgs.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Database/dbase.bib",
note = "They present a distributed algorithm for CSP output
guards based on priority ordering of processes. Their
algorithm has the property that two processes that can
communicate and do not establish communication with a
third process will communicate within a bounded time.",
acknowledgement = ack-pb,
}
@Article{Maher:1983:API,
author = "B. Maher and D. H. Sleeman",
title = "Automatic Program Improvement: Variable Usage
Transformations",
journal = j-TOPLAS,
volume = "5",
number = "2",
pages = "236--264",
month = apr,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Thu Jul 28 16:27:08 1983",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
annote = "The design of the Leeds Transformation System is to
transform existing programs, written in a variety of
languages, into `tidier' programs. The total system was
conceived of as having three phases: syntactic
transformations, variable usage transformations, and
synthesizing features. Because programmers vary greatly
in what they consider to be a more acceptable form, we
have aimed to make the system as data driven as
possible. (That also enables us to deal with a variety
of programming languages.) The paper reviews the first
two phases, reports the second in some detail, and
illustrates the use of the system on an ALGOL 60
program. Redundant assignments, redundant variables,
and loop-invariant statements are discovered by means
of a novel approach which represents variable usage
within a program as a correspondence matrix. Potential
enhancements of the system are also discussed.
[abstract]",
}
@Article{Cohen:1983:ERR,
author = "Norman H. Cohen",
title = "Eliminating Redundant Recursive Calls",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "265--299",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Dekel:1983:PGP,
author = "Eliezer Dekel and Sartaj Sahni",
title = "Parallel Generation of Postfix and Tree Forms",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "300--317",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Gazinger:1983:PSP,
author = "Harald Gazinger",
title = "Parameterized Specifications: Parameter Passing and
Implementation with Respect to Observability",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "318--354",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{DeMillo:1983:GEI,
author = "Richard A. DeMillo",
title = "{Guest Editor}'s Introduction",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "355--355",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:32:11 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Hart:1983:TPC,
author = "Sergiu Hart and Micha Sharir and Amir Pnueli",
title = "Termination of Probabilistic Concurrent Program",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "356--380",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Liskov:1983:GAL,
author = "Barbara Liskov and Robert Scheifler",
title = "Guardians and Actions: Linguistic Support for Robust,
Distributed Programs",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "381--404",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Object/Nierstrasz.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
keywords = "olit-oopl argus guardians transactions",
}
@Article{Lipton:1983:VLP,
author = "Richard J. Lipton and Jacobo Valdes and Gopalakrishnan
Vijayen and Stephen C. Notth and Robert Sedgewick",
title = "{VLSI} Layout as Programming",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "405--421",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/vlsi.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "The first component of a VLSI design environment being
built at Princeton University is described. The general
theme of this effort is to make the design of VLSI
circuits as similar to programming as possible. The
attempt is to build tools that do for the VLSI circuit
designer what the best software tools do for the
implementor of large software systems.",
acknowledgement = ack-pb,
annote = "This paper describes ALI, a procedural language to
describe layouts. The main feature of ALI is that it
allows its user to design layouts at a conceptual level
at which neither sizes nor positions (absolute or
relative) of layout components may be specified. ALI is
similar to IDEAL in both design and implementation, in
that both use a strongly-typed variant of Pascal (or
C), both solve a set of linear inequalities to
determine the final positions of the elements, and both
support hierarchies through the use of procedures.",
owner = "Rick Snodgrass",
}
@Article{Hennessy:1983:PCO,
author = "John L. Hennessy and Thomas Gross",
title = "Postpass Code Optimization of Pipeline Constraints",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "422--448",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Reps:1983:ICD,
author = "Thomas Reps and Tim Teitelbaum and Alan Demers",
title = "Incremental Context-Dependent Analysis for
Language-Based Editors",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "449--477",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Giegerich:1983:FFD,
author = "Robert Giegerich",
title = "A Formal Framework for the Derivation of
Machine-Specific Optimizers",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "478--498",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Pemberton:1983:TCT,
author = "Steven Pemberton",
title = "Technical Correspondence: On {Tanenbaum}, {van
Staveren}, and {Stevenson}'s ``{Using Peephole
Optimization on Intermediate Code}''",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "499--499",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Tanenbaum:1982:UPO,Tanenbaum:1983:TCT}.",
acknowledgement = ack-pb,
}
@Article{Tanenbaum:1983:TCT,
author = "Andrew S. Tanenbaum",
title = "Technical Correspondence: {Tanenbaum}'s Reply",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "499--500",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Tanenbaum:1982:UPO,Pemberton:1983:TCT}.",
acknowledgement = ack-pb,
}
@Article{Moitra:1983:TCA,
author = "Abha Moitra",
title = "Technical Correspondence: On {Apt}, {Francez}, and {de
Roever}'s ``{A Proof System for Communicating
Sequential Processes}''",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "500--501",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Apt:1980:PSC}.",
acknowledgement = ack-pb,
}
@Article{Krogh:1983:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "502--505",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:36:05 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1983:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "5",
number = "3",
pages = "506--509",
month = jul,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
acknowledgement = ack-pb,
}
@Article{Waters:1983:UFC,
author = "Richard C. Waters",
title = "User Format Control in a {Lisp} Prettyprinter",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "513--531",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Cohen:1983:CCA,
author = "Jacques Cohen and Alexandru Nicolau",
title = "Comparison of Compacting Algorithms for Garbage
Collection",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "532--553",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Heaps.bib, Compiler/garbage.collection.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Sethi:1983:CFA,
author = "Ravi Sethi",
title = "Control Flow Aspects of Semantics-Directed Compiling",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "554--595",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Jones:1983:TST,
author = "C. B. Jones",
title = "Tentative Steps Toward a Development Method for
Interfering Programs",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "596--619",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Ossefort:1983:CPC,
author = "Marty Ossefort",
title = "Correctness Proofs of Communicating Processes: Three
Illustrative Examples from the Literature",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "620--640",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Weyuker:1983:ATD,
author = "Elaine J. Weyuker",
title = "Assessing Test Data Adequacy through Program
Inference",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "641--655",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Sippu:1983:SEH,
author = "Seppo Sippu and Eljas Soisalon-Soininen",
title = "A Syntax-Error-Handling Technique and Its Experimental
Analysis",
journal = j-TOPLAS,
volume = "5",
number = "4",
pages = "656--679",
month = oct,
year = "1983",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Archer:1984:URR,
author = "James E. {Archer, Jr.} and Richard Conway and Fred B.
Schneider",
title = "User Recovery and Reversal in Interactive Systems",
journal = j-TOPLAS,
volume = "6",
number = "1",
pages = "1--19",
month = jan,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Heaps.bib, Compiler/garbage.collection.bib,
Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
}
@Article{Cameron:1984:GBD,
author = "Robert D. Cameron and M. Robert Ito",
title = "Grammar-Based Definition of Metaprogramming Systems",
journal = j-TOPLAS,
volume = "6",
number = "1",
pages = "20--54",
month = jan,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Colussi:1984:RES,
author = "L. Colussi",
title = "Recursion As an Effective Step in Program
Development",
journal = j-TOPLAS,
volume = "6",
number = "1",
pages = "55--67",
month = jan,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Manna:1984:SCP,
author = "Zohar Manna and Pierre Wolper",
title = "Synthesis of Communicating Processes from Temporal
Logic Specifications",
journal = j-TOPLAS,
volume = "6",
number = "1",
pages = "68--93",
month = jan,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Object/Nierstrasz.bib, Compiler/Compiler.Lins.bib,
Ai/nonmono.bib, Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
keywords = "temporal-logic csp binder(csp)",
}
@Article{Constable:1984:TTP,
author = "Robert L. Constable and Daniel R. Zlatin",
title = "The Type Theory of {PL\slash CV3}",
journal = j-TOPLAS,
volume = "6",
number = "1",
pages = "94--117",
month = jan,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 18:36:30 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Kaufman:1984:TLR,
author = "Arie Kaufman",
title = "Tailored-List and Recombination-Delaying Buddy
Systems",
journal = j-TOPLAS,
volume = "6",
number = "1",
pages = "118--125",
month = jan,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Applelbe:1984:ECS,
author = "William F. Applelbe and A. P. Ravn",
title = "Encapsulation Constructs in Systems Programming
Languages",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "129--158",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Burton:1984:ACP,
author = "F. Warren Burton",
title = "{Annotations to Control Parallelism and Reduction
Order in the Distributed Evaluation of Functional
Programs}",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "159--174",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/Pfpbib.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/Functional.bib",
abstract = "When evaluating a functional program on a network of
processors, it is necessary to decide when parallelism
is desirable, which work may be transferred to another
processor, and in what form the work is to be
transferred. If the wrong decisions are made, a
parallel evaluation may require asymptotically more
time than a sequential evaluation, owing to
communication costs. The introduction of annotations to
give the programmer control over the above decisions is
proposed. The annotations and their effects are defined
in terms of the lambda calculus. Each application must
have one of three annotations. No other annotations are
required. Examples and possible extensions to this
work, including annotated combinators, are briefly
considered.",
acknowledgement = ack-pb,
keywords = "Annotations; Para-Functional Programming",
}
@Article{Hull:1984:CSP,
author = "M. Elizabeth C. Hull and R. M. McKeag",
title = "Communicating Sequential Processes for Centralized and
Distributed Operating System Design",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "175--191",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Backhouse:1984:GDF,
author = "Roland Backhouse",
title = "Global Data Flow Analysis Problems Arising in Locally
Least-Cost Error Recovery",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "192--214",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Reif:1984:RTS,
author = "John H. Reif and Paul G. Spirakis",
title = "Real-Time Synchronization of Interprocess
Communications",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "215--238",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Theory/ProbAlgs.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "They present probabilistic distributed algorithms for
the guard-scheduling problem
(Section~\ref{sec-guardscheduling}) that guarantee
real-time response. A preliminary version of this paper
appeared as ``Distributed Algorithms for Synchronizing
Interprocess Communication in Real Time,'' in {\em
Proc. 13th Ann. ACM Symp. on Theory of Computing},
1981.",
acknowledgement = ack-pb,
}
@Article{Karp:1984:PFF,
author = "Richard Alan Karp",
title = "Proving Failure-Free Properties of Concurrent Systems
Using Temporal Logic",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "239--253",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Lamport:1984:UTI,
author = "Leslie Lamport",
title = "Using Time Instead of Timeout for Fault-Tolerant
Distributed Systems",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "254--280",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Lamport:1984:HLC,
author = "Leslie Lamport and Fred B. Schneider",
title = "The ``{Hoare} Logic'' of {CSP}, and All That",
journal = j-TOPLAS,
volume = "6",
number = "2",
pages = "281--296",
month = apr,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Budd:1984:ACV,
author = "Timothy A. Budd",
title = "An {APL} Compiler for a Vector Processor",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "297--313",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Hobson:1984:DEE,
author = "Richard F. Hobson",
title = "A Directly Executable Encoding for {APL}",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "314--332",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Ben-Ari:1984:AFG,
author = "Mordechai Ben-Ari",
title = "Algorithms for On-the-fly Garbage Collection",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "333--344",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Katayama:1984:TAG,
author = "Takuya Katayama",
title = "Translation of Attribute Grammars into Procedures",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "345--369",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Apt:1984:MDT,
author = "Krzysztof R. Apt and Nissem Francez",
title = "Modeling the Distributed Termination Convention of
{CSP}",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "370--379",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Database/dbase.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Korach:1984:DAF,
author = "E. Korach and D. Rotem and N. Santoro",
title = "Distributed Algorithms for Finding Centers and Medians
in Networks",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "380--401",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Schlichting:1984:UMP,
author = "Richard D. Schlichting and Fred B. Schneider",
title = "Using Message Passing for Distributed Programming:
Proof Rules and Disciplines",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "402--431",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{LaLonde:1984:TCC,
author = "Wilf R. LaLonde",
title = "Technical Correspondence: Comments on
{Soisalon-Soininen}'s ``{Inessential Error Entries and
Their Use in {LR} Parser Optimization}''",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "432--439",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Soisalon-Soininen:1982:IEE}.",
acknowledgement = ack-pb,
}
@Article{Krogh:1984:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "440--443",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:27:37 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1984:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "6",
number = "3",
pages = "444--447",
month = jul,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:28:08 1996",
acknowledgement = ack-pb,
}
@Article{Winner:1984:UO,
author = "Robert I. Winner",
title = "Unassigned Objects",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "449--467",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Turini:1984:MLO,
author = "Franco Turini",
title = "{Magma2}: {A} Language Oriented toward Experiments in
Control",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "468--486",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Bird:1984:PAS,
author = "R. S. Bird",
title = "The Promotion and Accumulation Strategies in
Transformational Programming",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "487--504",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See addendum \cite{Bird:1985:APA}.",
acknowledgement = ack-pb,
}
@Article{Davidson:1984:CST,
author = "Jack W. Davidson and Christopher W. Fraser",
title = "Code Selection through Object Code Optimization",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "505--526",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Tue Nov 20 15:31:51 1984",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "This paper shows how thorough object code optimization
has simplified a compiler and made it easy to retarget.
The code generator forgoes case analysis and emits
naive code that is improved by a retargetable object
code optimizer. With this technique, cross-compilers
emit code comparable to host-specific compilers",
acknowledgement = ack-pb,
keywords = "code generation; compilation; optimization; peephole
optimization; portability",
}
@Article{Ramanath:1984:JML,
author = "M. V. S. Ramanath and Marvin Solomon",
title = "Jump Minimization in Linear Time",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "527--545",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Tue Nov 20 15:35:55 1984",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "Unlike other instructions, which compute or test
values, unconditional branch instructions do no useful
work. Rather, they are artifacts of the translation
from a flow graph to the linear form of conventional
machine language. Careful ordering of the basic blocks
of a program can decrease the number of branches
required by allowing a basic block to `fall through' to
a successor. It is shown that although the general
problem of minimizing the number of branches is
NP-complete, an efficient algorithm is possible for
`structured' programs --- those written without goto
statements. More specifically, an algorithm is
presented that produces an optimal odering of the basic
blocks of any program that uses only the control
structures if-then-else, loop, and exit. The running
time of the algorithm is proportional to the length of
the program, provided the number of loops exited by any
exit statement can be bounded by a constant.",
acknowledgement = ack-pb,
keywords = "code generation; code reordering; goto statements;
program optimization; unconditional branches",
}
@Article{Dencker:1984:OPT,
author = "Peter Dencker and Karl {D\"urre} and Johannes Heuft",
title = "Optimization of Parser Tables for Portable Compilers",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "546--572",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Thu Feb 7 11:53:52 1985",
bibsource = "Theory/graph.coloring.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/compiler.bib",
abstract = "Six methods for parser table compression are compared.
The investigations are focused on four methods that
allow the access of table entries with a constant
number of index operations. The advantage of these
methods is that the access to the compressed tables can
be programmed efficiently in portable high-level
languages like Pascal or FORTRAN. The results are
related to two simple methods based on list searching.
Experimental results on eleven different grammers show
that, on the average, a method based on graph coloring
turns our best.",
acknowledgement = ack-pb,
keywords = "Graph coloring; sparse matrices; table compression",
}
@Article{Minsky:1984:SLC,
author = "Naftaly H. Minsky",
title = "Selective and Locally Controlled Transport of
Privileges",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "573--602",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
acknowledgement = ack-pb,
}
@Article{Georgeff:1984:TRS,
author = "Michael Georgeff",
title = "Transformations and Reduction Strategies for Typed
Lambda Expressions",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "603--631",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See remark \cite{Nielson:1986:TCC}.",
acknowledgement = ack-pb,
}
@Article{Chandy:1984:DPP,
author = "K. M. Chandy and Jayadev Misra",
title = "The Drinking Philosopher's Problem",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "632--646",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Thu Feb 7 12:01:54 1985",
bibsource = "Os/os.bib, Misc/os.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
abstract = "The problem of resolving conflicts between processes
in distributed systems is of practical importance. A
conflict between a set of processes must be resolved in
favor of some (usually one) process and against the
others: a favored process must have some property that
distinguishes it from others. To guarantee fairness,
the distinguishing property must be such that the
process selected for favorable treatment is not always
the same. A distributed implementation of an acyclic
precedence graph, in which the depth of a process (the
longest chain of predecessors) is a distinguishing
property, is presented. A simple conflict resolution
rule coupled with the acyclic graph ensures fair
resolution of all conflicts. To make the problem
concrete, two paradigms are presented: the well-known
distributed dining philosophers problem and a
generalization of it, the distributed drinking
philosophers problem.",
acknowledgement = ack-pb,
keywords = "Asymmetry; dining philosophers problem",
}
@Article{Soundararajan:1984:ASC,
author = "N. Soundararajan",
title = "Axiomatic Semantics of Communicating Sequential
Processes",
journal = j-TOPLAS,
volume = "6",
number = "4",
pages = "647--662",
month = oct,
year = "1984",
CODEN = "ATPSDT",
ISSN = "0164-0925",
acknowledgement = ack-pb,
}
@Article{Barstow:1985:CTD,
author = "David Barstow",
title = "On Convergence Toward a Database of Program
Transformations",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "1--9",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2364.html",
acknowledgement = ack-pb,
keywords = "algorithms; measurement",
subject = "{\bf I.2.4}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Knowledge Representation Formalisms and
Methods. {\bf I.2.2}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Automatic Programming, Program
transformation. {\bf D.1.2}: Software, PROGRAMMING
TECHNIQUES, Automatic Programming. {\bf E.1}: Data,
DATA STRUCTURES, Graphs. {\bf I.2.4}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Knowledge
Representation Formalisms and Methods, PECOS.",
}
@Article{Zave:1985:DAF,
author = "Pamela Zave",
title = "A Distributed Alternative to Finite-State-Machine
Specifications",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "10--36",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2365.html",
acknowledgement = ack-pb,
keywords = "theory",
subject = "{\bf D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Tools. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques.",
}
@Article{Bergeretti:1985:IFD,
author = "Jean-Francois Bergeretti and Bernard A. {Carr\'e}",
title = "Information-Flow and Data-Flow Analysis of
while-Programs",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "37--61",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2366.html",
acknowledgement = ack-pb,
keywords = "documentation; languages; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques. {\bf D.2.5}:
Software, SOFTWARE ENGINEERING, Testing and Debugging.
{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.4}: Software,
SOFTWARE ENGINEERING, Program Verification, Assertion
checkers.",
}
@Article{Fuchs:1985:OPF,
author = "David R. Fuchs and Donald E. Knuth",
title = "Optimal Prepaging and Font Caching",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "62--79",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Wed Mar 6 11:45:48 1985",
bibsource = "Graphics/graphics.1.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2367.html",
abstract = "An efficient algorithm for communicating letter-shape
information from a high-speed computer with a large
memory to a typesetting device that has a limited
memory is presented. The encoding is optimum in the
sense that the total time for typesetting is minimized,
using a model that generalizes well-known ``demand
paging'' strategies to the case where changes to the
cache are allowed before the associated information is
actually needed. Extensive empirical data show that
good results are obtained even when difficult technical
material is being typeset on a machine that can store
information concerning only 100 characters. The methods
of this paper are also applicable to other hardware and
software caching applications with restricted
lookahead.",
acknowledgement = ack-pb,
keywords = "algorithms; measurement; performance; theory",
subject = "{\bf D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Allocation/deallocation strategies. {\bf
D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Secondary storage. {\bf D.4.2}: Software,
OPERATING SYSTEMS, Storage Management, Virtual memory.
{\bf E.2}: Data, DATA STORAGE REPRESENTATIONS, Linked
representations. {\bf I.7.2}: Computing Methodologies,
TEXT PROCESSING, Document Preparation,
Photocomposition/typesetting.",
}
@Article{Gelernter:1985:GCL,
author = "David Gelernter",
title = "Generative Communication in {Linda}",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "80--112",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2433.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Linda. {\bf C.2.1}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS, Network
Architecture and Design, Network communications. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Compilers. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Concurrent
programming structures. {\bf D.4.4}: Software,
OPERATING SYSTEMS, Communications Management, Message
sending. {\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf C.2.4}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS,
Distributed Systems, Distributed applications. {\bf
D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Distributed memories.",
}
@Article{Bates:1985:PP,
author = "Joseph L. Bates and Robert L. Constable",
title = "Proofs as Programs",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "113--136",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2528.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; theory; verification",
subject = "{\bf D.1.2}: Software, PROGRAMMING TECHNIQUES,
Automatic Programming. {\bf I.2.3}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and
Theorem Proving. {\bf F.3.1}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Specifying and
Verifying and Reasoning about Programs. {\bf I.2.2}:
Computing Methodologies, ARTIFICIAL INTELLIGENCE,
Automatic Programming. {\bf D.1.2}: Software,
PROGRAMMING TECHNIQUES, Automatic Programming, PRL.
{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification.",
}
@Article{Dunlop:1985:GSU,
author = "Douglas D. Dunlop and Victor R. Basili",
title = "Generalizing Specifications for Uniformly Implemented
Loops",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "137--158",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2708.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
F.3.1}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Specifying and Verifying and Reasoning about
Programs, Specification techniques. {\bf D.2.4}:
Software, SOFTWARE ENGINEERING, Program Verification,
Assertion checkers. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification, Correctness proofs.
{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Validation.",
}
@Article{Park:1985:NAL,
author = "Joseph C. H. Park and K. M. Choe and C. H. Chang",
title = "A New Analysis of {LALR} Formalisms",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "159--175",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Wed Mar 6 12:00:21 1985",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2527.html",
abstract = "The traditional LALR analysis is reexamined using a
new operator and an associated graph. An improved
method that allows factoring out a crucial part of the
computation for defining states of LR(0) canonical
collection and for computing LALR(1) lookahead sets is
presented. This factorization leads to significantly
improved algorithms with respect to execution time as
well as storage requirements. Experimental results
including comparison with other known methods are
presented.",
acknowledgement = ack-pb,
keywords = "algorithms; experimentation; LALR(1) lookahead sets;
LALR(k) grammar; languages; parser generating system;
performance; theory; verification",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Parsing. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Translator
writing systems and compiler generators. {\bf D.3.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory, Syntax. {\bf F.4.2}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
Other Rewriting Systems, Grammar types. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Parsing.",
}
@Article{Wall:1985:TCN,
author = "D. Wall and A. Srivastava and F. Templin",
title = "Technical Correspondence: {A} Note on {Hennessy}'s
``{Symbolic Debugging of Optimized Code}''",
journal = j-TOPLAS,
volume = "7",
number = "1",
pages = "176--181",
month = jan,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Wed Mar 6 12:03:08 1985",
bibsource = "Compiler/compiler.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/215005.html",
keywords = "design; performance; reliability",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Symbolic execution. {\bf D.2.3}:
Software, SOFTWARE ENGINEERING, Coding. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors,
Optimization.",
}
@Article{Heering:1985:TMP,
author = "Jan Heering and Paul Klint",
title = "Towards Monolingual Programming Environments",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "183--213",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Oct 21 13:40:48 1985",
bibsource = "Misc/programming.env.bib,
Compiler/garbage.collection.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib,
Compiler/Heaps.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3321.html",
abstract = "Most programming environments are much too complex.
One way of simplifying them is to reduce the number of
mode-dependent languages the user has to be familiar
with. As a first step towards this end, the feasibility
of unified command/programming/debugging languages, and
the concepts on which such languages have to be based,
are investigated. The unification process is
accomplished in two phases. First, a unified
command/programming framework is defined and, second,
this framework is extended by adding an integrated
debugging capability to it. Strict rules are laid down
by which to judge language concepts presenting
themselves as candidates for inclusion in the framework
during each phase. On the basis of these rules many of
the language design questions that have hitherto been
resolved this way or that, depending on the taste of
the designer, lose their vagueness and can be decided
in an unambiguous manner.",
acknowledgement = ack-pb,
keywords = "debugging language; design; event association;
language design; language integration; languages;
monolingual system; side-effect recovery; type
checking",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.4.7}: Software,
OPERATING SYSTEMS, Organization and Design. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.4.9}: Software, OPERATING SYSTEMS, Systems
Programs and Utilities. {\bf D.2.5}: Software, SOFTWARE
ENGINEERING, Testing and Debugging. {\bf D.4.9}:
Software, OPERATING SYSTEMS, Systems Programs and
Utilities, Command and control languages. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Smalltalk-80. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
INTERLISP.",
}
@Article{Yemini:1985:MVE,
author = "Shaula Yemini and Daniel M. Berry",
title = "A Modular Verifiable Exception-Handling Mechanism",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "214--243",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3320.html",
acknowledgement = ack-pb,
keywords = "design; languages; reliability; security;
verification",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
D.2.5}: Software, SOFTWARE ENGINEERING, Testing and
Debugging, Error handling and recovery. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques,
Modules and interfaces. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Abstract data types. {\bf D.2.4}: Software,
SOFTWARE ENGINEERING, Program Verification. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, ALGOL-68. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Modules, packages.",
}
@Article{Weihl:1985:IRA,
author = "William Weihl and Barbara Liskov",
title = "Implementation of Resilient, Atomic Data Types",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "244--269",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Theory/obscure.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3319.html",
acknowledgement = ack-pb,
keywords = "languages; reliability",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Abstract data types. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Concurrent programming structures. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Modules, packages. {\bf
D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Concurrency. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, ARGUS.",
}
@Article{Milne:1985:CRC,
author = "George J. Milne",
title = "{CIRCAL} and the representation of communication,
concurrency, and time",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "270--298",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/Discrete.event.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Database/dbase.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3322.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; verification",
subject = "{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, CIRCAL. {\bf
F.1.2}: Theory of Computation, COMPUTATION BY ABSTRACT
DEVICES, Modes of Computation, Parallelism and
concurrency. {\bf F.1.2}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Modes of Computation,
Alternation and nondeterminism. {\bf B.7.2}: Hardware,
INTEGRATED CIRCUITS, Design Aids, Verification. {\bf
C.2.3}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Operations.
{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic, Lambda calculus and related
systems. {\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages.",
}
@Article{Schmidt:1985:DGV,
author = "David A. Schmidt",
title = "Detecting Global Variables in Denotational
Specifications",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "299--310",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3323.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Denotational semantics. {\bf F.4.1}: Theory
of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Lambda calculus and
related systems. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.",
}
@Article{Pingali:1985:EDD,
author = "Keshav Pingali and Arvind",
title = "Efficient Demand-Driven Evaluation. Part 1",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "311--333",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3480.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; theory; verification",
subject = "{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Applicative
languages. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages. {\bf F.3.3}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Studies of Program
Constructs.",
}
@Article{Gini:1985:DWM,
author = "Giuseppina C. Gini and Maria L. Gini",
title = "Dealing with World-Model-Based Programs",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "334--347",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3479.html",
acknowledgement = ack-pb,
keywords = "design; experimentation; languages",
subject = "{\bf I.2.9}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Robotics. {\bf D.2.6}: Software, SOFTWARE
ENGINEERING, Programming Environments. {\bf I.2.5}:
Computing Methodologies, ARTIFICIAL INTELLIGENCE,
Programming Languages and Software. {\bf J.6}: Computer
Applications, COMPUTER-AIDED ENGINEERING. {\bf I.2.9}:
Computing Methodologies, ARTIFICIAL INTELLIGENCE,
Robotics, POINTY.",
}
@Article{Bar-on:1985:OPG,
author = "Ilan Bar-On and Uzi Vishkin",
title = "Optimal Parallel Generation of a Computation Tree
Form",
journal = j-TOPLAS,
volume = "7",
number = "2",
pages = "348--357",
month = apr,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3478.html",
acknowledgement = ack-pb,
keywords = "algorithms; performance; theory",
subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF
ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical
Algorithms and Problems, Computations on discrete
structures. {\bf F.1.2}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Modes of Computation,
Parallelism and concurrency. {\bf G.2.2}: Mathematics
of Computing, DISCRETE MATHEMATICS, Graph Theory, Graph
algorithms. {\bf E.1}: Data, DATA STRUCTURES, Trees.",
}
@Article{Nielson:1985:PTD,
author = "Flemming Nielson",
title = "Program Transformations in a Denotational Setting",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "359--379",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3917.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; verification",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Mechanical verification. {\bf
F.3.2}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Semantics of Programming Languages,
Denotational semantics. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Semantics. {\bf I.2.2}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Automatic Programming, Program
transformation. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors,
Optimization.",
}
@Article{Avrunin:1985:DAD,
author = "George S. Avrunin and Jack C. Wileden",
title = "Describing and Analyzing Distributed Software System
Designs",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "380--403",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3989.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; verification",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Design languages. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques. {\bf D.2.4}:
Software, SOFTWARE ENGINEERING, Program Verification.
{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, DYMOL. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about
Programs.",
}
@Article{Jefferson:1985:VT,
author = "David R. Jefferson",
title = "Virtual Time",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "404--425",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Sep 30 16:35:18 1985",
bibsource = "Database/time.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3988.html",
abstract = "Virtual time a new paradigm for organizing and
synchronizing distributed systems which can be applied
to such problems as distributed discrete event
simulation and distributed database concurrency
control. Virtual time provides a flexible abstraction
of real time in much the same way that virtual memory
provides an abstraction of real memory. It is
implemented using the Time Warp mechanism, a
synchronization protocol distinguished by its reliance
on lookahead-rollback, and by its implementation of
rollback via antimessages.",
acknowledgement = ack-pb,
keywords = "concurrency control; design; performance; reliability;
simulation; Time Warp",
subject = "{\bf D.4.7}: Software, OPERATING SYSTEMS, Organization
and Design, Distributed systems. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Synchronization.
{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf F.1.2}: Theory of
Computation, COMPUTATION BY ABSTRACT DEVICES, Modes of
Computation, Parallelism and concurrency.",
}
@Article{Donahue:1985:DTV,
author = "James Donahue and Alan Demers",
title = "Data Types Are Values",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "426--445",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Aug 13 17:16:20 MDT 1994",
bibsource = "Misc/sigplan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3987.html",
acknowledgement = ack-nhfb,
keywords = "languages; theory",
review = "ACM CR 8604-0326",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory. {\bf F.3.2}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics
of Programming Languages. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
RUSSELL.",
}
@Article{Dershowitz:1985:PAI,
author = "Nachum Dershowitz",
title = "Program Abstraction and Instantiation",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "446--477",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3986.html",
acknowledgement = ack-pb,
keywords = "design; theory; verification",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Specification techniques.
{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Structured programming. {\bf D.2.4}:
Software, SOFTWARE ENGINEERING, Program Verification,
Correctness proofs. {\bf D.2.6}: Software, SOFTWARE
ENGINEERING, Programming Environments. {\bf D.1.2}:
Software, PROGRAMMING TECHNIQUES, Automatic
Programming. {\bf F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Assertions. {\bf F.3.1}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Invariants. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Software
libraries.",
}
@Article{Richter:1985:NSE,
author = "Helmut Richter",
title = "Noncorrecting Syntax Error Recovery",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "478--489",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4019.html",
acknowledgement = ack-pb,
keywords = "design; Futures; languages; Lisp; performance; theory;
verification",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Parsing. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.2.5}:
Software, SOFTWARE ENGINEERING, Testing and Debugging,
Error handling and recovery. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Syntax.",
}
@Article{Bird:1985:APA,
author = "R. S. Bird",
title = "Addendum: ``{The Promotion and Accumulation Strategies
in Transformational Programming}''",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "490--492",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See \cite{Bird:1984:PAS}.",
acknowledgement = ack-pb,
}
@Article{Krogh:1985:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "493--496",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:35:53 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1985:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "7",
number = "3",
pages = "497--500",
month = jul,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:36:44 1996",
acknowledgement = ack-pb,
}
@Article{Halstead:1985:MLC,
author = "Robert H. {Halstead, Jr.}",
title = "{Multilisp: A Language for Concurrent Symbolic
Computation}",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "501--538",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/Pfpbib.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4478.html",
abstract = "Multilisp is a version of the Lisp dialect Scheme
extended with constructs for parallel execution. Like
Scheme, Multilisp is oriented toward symbolic
computation. Unlike some parallel programming
languages, Multilisp incorporates constructs for
causing side effects and for explicitly introducing
parallelism. The potential complexity of dealing with
side effects in a parallel context is mitigated by the
nature of the parallelism constructs and by support for
abstract data types: a recommended Multilisp
programming style is presented which, if followed,
should lead to highly parallel, easily understandable
programs. Multilisp is being implemented on the 32
processor {\em Concert\/} multiprocessor; however, it
is ultimately intended for use on larger
multiprocessors. The current implementation, called
{\em Concert Multilisp}, is complete enough to run the
Multilisp compiler itself and has been run on Concert
prototypes including up to eight processors. Concert
Multilisp uses novel techniques for task scheduling and
garbage collection. The task scheduler helps control
excessive resource utilization by means of an unfair
scheduling policy; the garbage collector uses a
multiprocessor algorithm based on the incremental
garbage collector of Baker.",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, MULTILISP. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf C.1.2}: Computer Systems Organization,
PROCESSOR ARCHITECTURES, Multiple Data Stream
Architectures (Multiprocessors),
Multiple-instruction-stream, multiple-data-stream
processors (MIMD). {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, LISP. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, SCHEME.",
}
@Article{Atkinson:1985:PPD,
author = "Malcolm P. Atkinson and Ronald Morrison",
title = "Procedures as Persistent Data Objects",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "539--559",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Aug 13 17:16:20 MDT 1994",
bibsource = "Misc/sigplan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4477.html",
acknowledgement = ack-nhfb,
keywords = "design; languages",
review = "ACM CR 8607-0603",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Procedures, functions, and
subroutines. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Abstract
data types. {\bf D.2.6}: Software, SOFTWARE
ENGINEERING, Programming Environments. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques.",
}
@Article{Ganapathi:1985:AGD,
author = "Mahadevan Ganapathi and Charles N. Fischer",
title = "Affix Grammar Driven Code Generation",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "560--599",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 09:17:25 1996",
bibsource = "Misc/sigplan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/compiler.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4486.html",
abstract = "Affix grammars are used to describe the instruction
set of a target architecture for purposes of compiler
code generation. A code generator is obtained
automatically for a compiler using attributed parsing
techniques. A compiler built on this model can
automatically perform most popular machine-dependent
optimizations, including peephole optimizations. Code
generators based on this model demonstrate
retargetability for the VAX1-11, iAPX2-86, Z-80003,
PDP4-11, MC-68000, NS32032, FOM, and IBM-370
architectures.",
acknowledgement = ack-pb # " and " # ack-nhfb,
keywords = "algorithms; Code generation; code optimization;
code-generator-generator; compiler compiler; design;
intermediate representation; languages; machine
description; machine-dependent optimization",
owner = "manning",
review = "ACM CR 8607-0604",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Code generation. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Optimization. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Translator writing systems and
compiler generators.",
}
@Article{Nix:1985:EE,
author = "Robert P. Nix",
title = "Editing by Example",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "600--621",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4476.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; theory",
subject = "{\bf I.7.1}: Computing Methodologies, TEXT PROCESSING,
Text Editing. {\bf I.2.2}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Automatic Programming, Program
synthesis. {\bf H.4.1}: Information Systems,
INFORMATION SYSTEMS APPLICATIONS, Office Automation,
Word processing. {\bf I.5.4}: Computing Methodologies,
PATTERN RECOGNITION, Applications, Text processing.
{\bf I.5.5}: Computing Methodologies, PATTERN
RECOGNITION, Implementation, Interactive systems. {\bf
I.7.1}: Computing Methodologies, TEXT PROCESSING, Text
Editing, Languages.",
}
@Article{Francez:1985:SIC,
author = "Nissim Francez and Shaula A. Yemini",
title = "Symmetric Intertask Communication",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "622--636",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4475.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.1.3}: Software, PROGRAMMING
TECHNIQUES, Concurrent Programming. {\bf D.4.1}:
Software, OPERATING SYSTEMS, Process Management,
Concurrency. {\bf D.4.1}: Software, OPERATING SYSTEMS,
Process Management, Synchronization. {\bf D.4.4}:
Software, OPERATING SYSTEMS, Communications Management.
{\bf F.3.3}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Studies of Program Constructs.",
}
@Article{Boehm:1985:SEA,
author = "Hans-Juergen Boehm",
title = "Side Effects and Aliasing Can Have Simple Axiomatic
Descriptions",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "637--655",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4474.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Logics of programs. {\bf F.3.1}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Specifying and
Verifying and Reasoning about Programs, Mechanical
verification. {\bf F.3.3}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Studies of Program
Constructs. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages.",
}
@Article{deBruin:1985:DSD,
author = "Arie de Bruin and Wim {B\"ohm}",
title = "The Denotational Semantics of Dynamic Networks of
Processes",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "656--679",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4473.html",
acknowledgement = ack-pb,
keywords = "languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Concurrent programming structures. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Coroutines. {\bf F.3.2}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Semantics of Programming Languages, Denotational
semantics. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, DNP.",
bibdate = "Fri Oct 31 06:38:00 2003",
}
@Article{Cohen:1985:NCE,
author = "Norman H. Cohen",
title = "A note on {Cohen}'s {``Eliminating Redundant Recursive
Calls''}",
journal = j-TOPLAS,
volume = "7",
number = "4",
pages = "680--685",
month = oct,
year = "1985",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jun 1 08:35:36 MDT 1996",
bibsource = "http://www.acm.org/pubs/toc/",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/215006.html",
acknowledgement = ack-nhfb,
keywords = "algorithms; languages; performance; theory",
subject = "{\bf I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Program
transformation. {\bf D.1.2}: Software, PROGRAMMING
TECHNIQUES, Automatic Programming. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Procedures, functions, and subroutines.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf F.3.3}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies
of Program Constructs, Program and recursion schemes.
{\bf G.2.2}: Mathematics of Computing, DISCRETE
MATHEMATICS, Graph Theory, Graph algorithms. {\bf
G.2.2}: Mathematics of Computing, DISCRETE MATHEMATICS,
Graph Theory, Trees.",
}
@Article{Clark:1986:PPP,
author = "Keith Clark and Steve Gregory",
title = "{Parlog}: parallel programming in logic",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "1--49",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5390.html",
acknowledgement = ack-pb,
keywords = "design; languages",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, PARLOG. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
Applicative languages. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Concurrent programming structures. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Prolog. {\bf I.2.3}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and
Theorem Proving, Logic programming.",
}
@Article{Leeman:1986:FAU,
author = "George B. {Leeman, Jr.}",
title = "A Formal Approach to Undo Operations in Programming
Languages",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "50--87",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5005.html",
acknowledgement = ack-pb,
keywords = "design; human factors; languages",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Error handling and recovery. {\bf
D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques. {\bf D.2.6}: Software, SOFTWARE
ENGINEERING, Programming Environments. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Procedures, functions, and subroutines.
{\bf D.4.5}: Software, OPERATING SYSTEMS, Reliability,
Checkpoint/restart. {\bf H.2.1}: Information Systems,
DATABASE MANAGEMENT, Logical Design, Data models. {\bf
H.2.7}: Information Systems, DATABASE MANAGEMENT,
Database Administration, Logging and recovery. {\bf
I.2.8}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Problem Solving, Control Methods, and
Search, Backtracking.",
}
@Article{Keller:1986:AC,
author = "Robert M. Keller and M. Ronan Sleep",
title = "Applicative Caching",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "88--108",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5004.html",
acknowledgement = ack-pb,
keywords = "design; experimentation; languages; measurement;
performance",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf D.1.1}:
Software, PROGRAMMING TECHNIQUES, Applicative
(Functional) Programming. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
E.2}: Data, DATA STORAGE REPRESENTATIONS. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors.",
}
@Article{Pingali:1986:EDD,
author = "Keshav Pingali and Arvind",
title = "Efficient Demand-Driven Evaluation. Part 2",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "109--139",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
abstract = "In Part 1 of this paper [5], we presented a scheme
whereby a compiler could propagate demands through
programs in a powerful stream language L. A data-driven
evaluation of the transformed program performed exactly
the same computation as a demand-driven evaluation of
the original program. In this paper we explore a
different transformation, which trades the complexity
of demand propagation for a {\em bounded\/} amount of
extra computation on some data lines.",
acknowledgement = ack-pb,
subject = "Categories and Subject Descriptors: Software
-Programming Techniques - Applicative (Functional)
Programming (D.1.1); Software -Programming Techniques -
Concurrent Programming (D.1.3); Software -Programming
Languages - Formal Definitions and Theory (D.3.1):
Semantics ; Theory of Computation -Logics and Meanings
of Programs - Semantics of Programming Languages
(F.3.2); Software -Programming Languages - Processors
(D.3.4); Theory of Computation -Logics and Meanings of
Programs - Studies of Program Constructs (F.3.3);
Software -Programming Languages - Language
Classifications (D.3.2); Software -Programming
Languages - Language Classifications (D.3.2): Data-flow
languages ; Software -Programming Languages -
Processors (D.3.4): Optimization ; Software
-Programming Languages - Language Classifications
(D.3.2): LD ; General Terms: Algorithms, Languages,
Theory, Verification",
}
@Article{Pingali:1986:CFI,
author = "Keshav Pingali and Arvind",
title = "Clarification of ``{Feeding} Inputs on Demand'' in
{Efficient} Demand-Driven Evaluation. Part 1",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "140--141",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5003.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; theory; verification",
subject = "{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf F.3.2}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Semantics of Programming Languages. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors.
{\bf F.3.3}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Studies of Program Constructs. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Data-flow
languages. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Optimization. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, LD.",
}
@Article{Misra:1986:AMA,
author = "Jayadev Misra",
title = "Axioms for Memory Access in Asynchronous Hardware
Systems",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "142--153",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5007.html",
acknowledgement = ack-pb,
keywords = "design; verification",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf B.3.2}: Hardware, MEMORY
STRUCTURES, Design Styles, Sequential-access memory.
{\bf B.5.1}: Hardware, REGISTER-TRANSFER-LEVEL
IMPLEMENTATION, Design, Memory design. {\bf B.4.3}:
Hardware, INPUT/OUTPUT AND DATA COMMUNICATIONS,
Interconnections (subsystems), Asynchronous/synchronous
operation.",
}
@Article{Gouda:1986:PLN,
author = "Mohamed G. Gouda and Chung-Kou Chang",
title = "Proving Liveness for Networks of Communicating Finite
State Machines",
journal = j-TOPLAS,
volume = "8",
number = "1",
pages = "154--182",
month = jan,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5002.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory; verification",
subject = "{\bf B.4.4}: Hardware, INPUT/OUTPUT AND DATA
COMMUNICATIONS, Performance Analysis and Design Aids,
Formal models. {\bf C.2.2}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS, Network
Protocols, Protocol architecture. {\bf C.2.2}: Computer
Systems Organization, COMPUTER-COMMUNICATION NETWORKS,
Network Protocols, Protocol verification. {\bf D.2.4}:
Software, SOFTWARE ENGINEERING, Program Verification,
Correctness proofs. {\bf F.3.1}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Specifying and
Verifying and Reasoning about Programs. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming.",
}
@Article{Chirica:1986:TCI,
author = "Laurian M. Chirica and David F. Martin",
title = "Toward Compiler Implementation Correctness Proofs",
journal = j-TOPLAS,
volume = "8",
number = "2",
pages = "185--214",
month = apr,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30847.html",
acknowledgement = ack-pb,
keywords = "languages; verification",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Denotational semantics. {\bf F.3.2}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Semantics of Programming Languages, Algebraic
approaches to semantics. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Pre- and post-conditions. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Invariants. {\bf F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Assertions. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Parsing.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification, Correctness
proofs.",
}
@Article{Spooner:1986:MAR,
author = "C. R. Spooner",
title = "The {ML} Approach to the Readable All-Purpose
Language",
journal = j-TOPLAS,
volume = "8",
number = "2",
pages = "215--243",
month = apr,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5918.html",
acknowledgement = ack-pb,
keywords = "design; languages",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, ML. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features.",
}
@Article{Clarke:1986:AVF,
author = "E. M. Clarke and E. A. Emerson and A. P. Sistla",
title = "Automatic Verification of Finite-State Concurrent
Systems Using Temporal Logic Specifications",
journal = j-TOPLAS,
volume = "8",
number = "2",
pages = "244--263",
month = apr,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Object/Nierstrasz.bib, Ai/nonmono.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib,
Database/dbase.bib",
note = "An early version appeared in {\em Proc.~10th ACM
Symposium on Principles of Programming Languages},
1983",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5399.html",
acknowledgement = ack-pb,
keywords = "concurrency regular processes binder; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification. {\bf F.3.1}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Specifying and
Verifying and Reasoning about Programs, Mechanical
verification. {\bf F.3.1}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Specifying and
Verifying and Reasoning about Programs. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic.",
}
@Article{Sager:1986:SPC,
author = "Thomas J. Sager",
title = "A Short Proof of a Conjecture of {DeRemer} and
{Pennello}",
journal = j-TOPLAS,
volume = "8",
number = "2",
pages = "264--271",
month = apr,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30850.html",
acknowledgement = ack-pb,
keywords = "languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Syntax. {\bf F.4.2}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Grammars and Other Rewriting Systems, Grammar types.
{\bf F.4.3}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Formal Languages, Classes defined
by grammars or automata.",
}
@Article{Tichy:1986:SR,
author = "Walter F. Tichy",
title = "Smart Recompilation",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "273--291",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5959.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Modules and
interfaces. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Software libraries.
{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.7}: Software,
SOFTWARE ENGINEERING, Distribution and Maintenance,
Version control.",
}
@Article{Turchin:1986:CS,
author = "Valentin F. Turchin",
title = "The Concept of a Supercompiler",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "292--325",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5957.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; performance; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Refal. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Compilers. {\bf F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization.",
}
@Article{Chandy:1986:ESR,
author = "K. M. Chandy and Jayadev Misra",
title = "An Example of Stepwise Refinement of Distributed
Programs: Quiescence Detection",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "326--343",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5958.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Deadlocks. {\bf
F.3.1}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Specifying and Verifying and Reasoning about
Programs.",
}
@Article{Hennessy:1986:PSS,
author = "Matthew Hennessy",
title = "Proving Systolic Systems Correct",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "344--387",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5999.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; theory; verification",
subject = "{\bf B.7.1}: Hardware, INTEGRATED CIRCUITS, Types and
Design Styles, Algorithms implemented in hardware. {\bf
D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Mechanical verification. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques. {\bf D.2.1}: Software,
SOFTWARE ENGINEERING, Requirements/Specifications,
Languages.",
}
@Article{Apt:1986:CPD,
author = "Krzysztof R. Apt",
title = "Correctness Proofs of Distributed Termination
Algorithms",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "388--405",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/6000.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory; verification",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs.
{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming, CSP.",
}
@Article{Nielson:1986:TCC,
author = "Flemming Nielson and Hanne Riis Nielson",
title = "Technical Correspondence: Comments on {Georgeff}'s
``{Transformations and Reduction Strategies for Typed
Lambda Expressions}''",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "406--407",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Georgeff:1984:TRS}",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/215007.html",
acknowledgement = ack-pb,
keywords = "languages; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors. {\bf D.1.1}: Software, PROGRAMMING
TECHNIQUES, Applicative (Functional) Programming. {\bf
F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND
FORMAL LANGUAGES, Mathematical Logic, Lambda calculus
and related systems.",
}
@Article{Krogh:1986:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "408--411",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 15:04:03 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1986:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "8",
number = "3",
pages = "412--415",
month = jul,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
acknowledgement = ack-pb,
}
@Article{Reps:1986:GEI,
author = "Thomas Reps",
title = "{Guest Editor}'s Introduction",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "417--418",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
acknowledgement = ack-pb,
}
@Article{Swinehart:1986:SVC,
author = "Daniel Swinehart and Polle Zellweger and Richard Beach
and Robert Hagemann",
title = "A Structural View of the {Cedar} Programming
Environment",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "419--490",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jan 19 14:55:31 1987",
bibsource = "Object/Nierstrasz.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/programming.env.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/6466.html",
abstract = "This paper presents an overview of the Cedar
programming environment, focusing on its overall
structure-that is, the major components of Cedar and
the way they are organized. Cedar supports the
development of programs written in a single programming
language, also called Cedar. Its primary purpose is to
increase the productivity of programmers whose
activities include experimental programming and the
development of prototype software systems for a
high-performance personal computer. The paper
emphasizes the extent to which the Cedar language, with
run-time support, has influenced the organization,
flexibility, usefulness, and stability of the Cedar
environment. It highlights the novel system features of
Cedar, including automatic storage management of
dynamically allocated typed values, a run-time type
system that provides run-time access to Cedar data type
definitions and allows interpretive manipulation of
typed values, and a powerful device-independent imaging
model that supports the user interface facilities.
Using these discussions to set the context, the paper
addresses the language and system features and the
methodologies used to facilitate the integration of
Cedar applications. A comparison of Cedar with other
programming environments further identifies areas where
Cedar excels and areas where work remains to be done.",
acknowledgement = ack-pb,
keywords = "design; experimental programming; experimentation;
integrated programming environment; languages;
olit-oopl cedar; open operating system; strongly typed
programming language",
owner = "manning",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments, CEDAR. {\bf D.2.2}: Software,
SOFTWARE ENGINEERING, Tools and Techniques. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf D.4.0}: Software,
OPERATING SYSTEMS, General. {\bf D.4.7}: Software,
OPERATING SYSTEMS, Organization and Design. {\bf H.0}:
Information Systems, GENERAL.",
}
@Article{Cooper:1986:IIA,
author = "Keith D. Cooper and Ken Kennedy and Linda Torczon",
title = "The impact of interprocedural analysis and
optimizations in the {R}(n) programming environment",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "491--523",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jan 19 15:05:31 1987",
bibsource = "Misc/programming.env.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/6489.html",
abstract = "In spite of substantial progress in the theory of
interprocedural data flow analysis, few practical
compiling systems can afford to apply it to produce
more efficient object programs. To perform
interprocedural analysis, a compiler needs not only the
source code of the module being compiled, but also
information about the side effects of every procedure
in the program containing that module, even separately
compiled procedures. In a conventional batch compiler
system, the increase in compilation time required to
gather this information would make the whole process
impractical. In an integrated programming environment,
however, other tools can cooperate with the compiler to
compute the necessary interprocedural information
incrementally as the program is being developed,
decreasing both the overall cost of the analysis and
the cost of individual compilations. A central goal of
the Rn project at Rice University is to construct a
prototype software development environment that is
designed to build whole programs, rather than just
individual modules. It employs interprocedural analysis
and optimization to produce high-quality machine code
for whole programs. This paper presents an overview of
the methods used by the environment to accomplish this
task and discusses the impact of these methods on the
various environment components. The responsibilities of
each component of the environment for the preparation
and use of interprocedural information are presented in
detail.",
acknowledgement = ack-pb,
keywords = "algorithms; data flow analysis; design; languages;
performance",
owner = "manning",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.2.6}: Software,
SOFTWARE ENGINEERING, Programming Environments. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Compilers.",
}
@Article{Moriconi:1986:PSP,
author = "Mark Moriconi and Dwight Hare",
title = "The {PegaSys} System: Pictures as Formal Documentation
of Large Programs",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "524--546",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Feb 24 09:59:21 1996",
bibsource = "Misc/programming.env.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/6478.html",
abstract = "PegaSys is an experimental system in which a user
formally describes how a program is put together by
means of a hierarchically structured collection of
pictures, called formal dependency diagrams (FDDs).
Icons in an FDD demote a wide range of data and control
dependencies among the relatively coarse-grained
entities contained in large programs. Dependencies
considered atomic with respect to one level in a
hierarchy can be decomposed into a number of
dependencies at a lower level. Each dependency can be
predefined primitive of the FDD language or it can be
defined by a PegaSys user in terms of the primitives. A
PegaSys user is given the illusion that logical
formulas do not exist, even thought PegaSys reasons
about them internally. This involves (1) checking
whether an FDD is meaningful syntactically, (2)
determining whether hierarchical refinements of an FDD
are methodologically sound, and (3) deciding whether an
FDD hierarchy is logically consistent with the program
that it is intended to describe. The techniques used to
provide these capabilities are discussed along with the
logical properties that enable PegaSys to maintain the
user illusion.",
keywords = "Ada; data and control dependencies; design; design
hierarchy; documentation; experimentation; graphical
formalism; languages; mechanical decision procedure;
programming in the large; theory; verification",
owner = "manning",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments, PegaSys. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques,
User interfaces. {\bf D.2.1}: Software, SOFTWARE
ENGINEERING, Requirements/Specifications. {\bf F.3.1}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Mechanical verification. {\bf D.2.10}: Software,
SOFTWARE ENGINEERING, Design.",
}
@Article{Bahlke:1986:PSF,
author = "Rolf Bahlke and Gregor Snelting",
title = "The {PSG} System: From Formal Language Definitions to
Interactive Programming Environments",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "547--576",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 09:41:04 1996",
bibsource = "Misc/sigplan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/programming.env.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/20890.html",
abstract = "The PSG programming system generator developed at the
Technical University of Darmstadt produces interactive,
language-specific programming environments from formal
language definitions. All language-dependent parts of
the environment are generated from an entirely
nonprocedural specification of the language's syntax,
context conditions, and dynamic semantics. The
generated environment consists of a language-based
editor, supporting systematic program development by
named program fragments, an interpreter, and a fragment
library system. The major component of the environment
is a full-screen editor, which allows both structure
and text editing. In structure mode the editor
guarantees prevention of both syntactic and semantic
errors, whereas in textual semantic analysis which is
based on unification. The algorithm will immediately
detect semantic errors even in incomplete program
fragments. The dynamic semantics of the language are
defined in denotational style using a functional
language based on the lambda calculus. Program
fragments are compiled to terms of the functional
language which are executed by an interpreter. The PSG
generator has been used to produce environments for
Pascal, ALGOL 60, MODULA-2, and the formal language
definition language itself.",
acknowledgement = ack-pb # " and " # ack-nhfb,
keywords = "algorithms; design; documentation; languages; theory;
theory and verification and Hybrid editor and
unification-based incremental semantic analysis;
verification",
owner = "manning",
review = "ACM CR 8711-0926",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.3}: Software, SOFTWARE
ENGINEERING, Coding, Program editors. {\bf D.2.6}:
Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Syntax. {\bf D.2.3}: Software,
SOFTWARE ENGINEERING, Coding, Pretty printers. {\bf
F.3.2}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Semantics of Programming Languages. {\bf
F.4.2}: Theory of Computation, MATHEMATICAL LOGIC AND
FORMAL LANGUAGES, Grammars and Other Rewriting Systems,
Grammar types. {\bf F.4.2}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
Other Rewriting Systems, Parsing. {\bf I.2.3}:
Computing Methodologies, ARTIFICIAL INTELLIGENCE,
Deduction and Theorem Proving, Deduction.",
}
@Article{Horwitz:1986:GEE,
author = "Susan Horwitz and Tim Teitelbaum",
title = "Generating Editing Environments Based on Relations and
Attributes",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "577--608",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Tue Jan 20 11:19:15 1987",
bibsource = "Misc/programming.env.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/6512.html",
abstract = "The ability to generate language-based editors depends
on the existence of a powerful, language-independent
model of editing. A model is proposed in which programs
are represented as attributed abstract-syntax trees
with an associated relational database. Relations can
depend on state of the attributed tree, and attributes
can depend on the values in relations, provided there
are no circular dependencies. The power and the
limitations of relational operations are demonstrated
with respect to the support of static-semantic
checking, anomaly detection, an interrogation facility,
and the ability to define alternative program displays.
The advantages of the hybrid system over both the
purely relational and purely attribute-based systems
are presented, and new algorithms are given for query
evaluation and incremental view updating motivated by
the efficiency requirements of interactive editing
under the defined model. A prototype implementation of
an editor generator is described, and suggestions for
future research are made.",
acknowledgement = ack-pb,
keywords = "algorithms; design; documentation; languages;
relational database; verification and attribute grammar
and generating language-based editors and incremental
view updating",
owner = "manning",
subject = "{\bf D.2.3}: Software, SOFTWARE ENGINEERING, Coding,
Program editors. {\bf D.2.6}: Software, SOFTWARE
ENGINEERING, Programming Environments. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors. {\bf
H.2.1}: Information Systems, DATABASE MANAGEMENT,
Logical Design, Data models. {\bf H.2.4}: Information
Systems, DATABASE MANAGEMENT, Systems, Query
processing.",
}
@Article{Anonymous:1986:AI,
author = "Anonymous",
title = "1986 Author Index",
journal = j-TOPLAS,
volume = "8",
number = "4",
pages = "609--610",
month = oct,
year = "1986",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:41:06 1996",
acknowledgement = ack-pb,
}
@Article{Wing:1987:WLI,
author = "Jeannette M. Wing",
title = "Writing {Larch} Interface Language Specifications",
journal = j-TOPLAS,
volume = "9",
number = "1",
pages = "1--24",
month = jan,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/10500.html",
acknowledgement = ack-pb,
keywords = "design; languages; verification",
subject = "{\bf D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Languages. {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Modules and interfaces. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Larch. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Abstract data types. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Modules, packages. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Procedures, functions, and subroutines. {\bf
F.3.1}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Specifying and Verifying and Reasoning about
Programs, Pre- and post-conditions. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques.",
}
@Article{Carson:1987:GSP,
author = "Scott D. Carson and Paul F. {Reynolds, Jr.}",
title = "The Geometry of Semaphore Programs",
journal = j-TOPLAS,
volume = "9",
number = "1",
pages = "25--53",
month = jan,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/9759.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Synchronization. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Concurrency.
{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Deadlocks. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Mutual exclusion. {\bf G.2.2}: Mathematics
of Computing, DISCRETE MATHEMATICS, Graph Theory, Graph
algorithms.",
}
@Article{Broy:1987:ADP,
author = "Manfred Broy and Martin Wirsing and Peter Pepper",
title = "On the Algebraic Definition of Programming Languages",
journal = j-TOPLAS,
volume = "9",
number = "1",
pages = "54--99",
month = jan,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/10501.html",
acknowledgement = ack-pb,
keywords = "languages; theory",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Specification techniques.
{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf F.3.2}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics
of Programming Languages, Algebraic approaches to
semantics. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory.",
}
@Article{Sokolowski:1987:SHL,
author = "Stefan Soko{\l}owski",
title = "Soundness of {Hoare}'s Logic: An Automated Proof Using
{LCF}",
journal = j-TOPLAS,
volume = "9",
number = "1",
pages = "100--120",
month = jan,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/11326.html",
acknowledgement = ack-pb,
keywords = "theory; verification",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic. {\bf I.2.3}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and
Theorem Proving.",
}
@Article{Cohen:1987:PCU,
author = "Jacques Cohen and Timothy J. Hickey",
title = "Parsing and Compiling Using {Prolog}",
journal = j-TOPLAS,
volume = "9",
number = "2",
pages = "125--163",
month = apr,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jun 29 10:47:01 1987",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/22946.html",
abstract = "This paper presents the material needed for exposing
the reader to the advantages of using Prolog as a
language for describing succinctly most of the
algorithms needed in prototyping and implementing
compilers or producing tools that facilitate this task.
The available published material on the subject
describes one particular approach in implementing
compilers using Prolog. It consists of coupling actions
to recursive descent parsers to produce syntax-trees
which are subsequently utilized in guiding the
generation of assembly language code. Although this
remains a worthwhile approach, there is a host of
possibilities for Prolog usage in compiler
construction. The primary aim of this paper is to
demonstrate the use of Prolog in parsing and compiling.
A second, but equally important, goal of this paper is
to show that Prolog is a labor-saving tool in
prototyping and implementing many non-numerical
algorithms which arise in compiling, and whose
description using Prolog is not available in the
literature. The paper discusses the use of unification
and nondeterminism in compiler writing as well as means
to bypass these (costly) features when they are deemed
unnecessary. Topics covered include bottom-up and
top-down parsers, syntax-directed translation, grammar
properties, parser generation, code generation, and
optimizations. Newly proposed features that are useful
in compiler construction are also discussed. A
knowledge of Prolog is assumed.",
acknowledgement = ack-pb,
keywords = "algorithms; code generation; grammar properties;
languages; optimization; parsing; theory;
verification",
owner = "manning",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Prolog. {\bf
D.1.0}: Software, PROGRAMMING TECHNIQUES, General.",
}
@Article{Burke:1987:PML,
author = "Michael G. Burke and Gerald A. Fisher",
title = "A Practical Method for {LR} and {LL} Syntactic Error
Diagnosis and Recovery",
journal = j-TOPLAS,
volume = "9",
number = "2",
pages = "164--197",
month = apr,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jun 29 11:01:25 1987",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/22720.html",
abstract = "This paper presents a powerful, practical, and
essentially language-independent syntactic error
diagnosis and recovery method that is applicable within
the frameworks of LR and LL parsing. The method
generally issues accurate diagnoses even where multiple
errors occur within close proximity, yet seldom issues
spurious error messages. It employs a new technique,
parse action deferral, that allows the most appropriate
recovery in cases where this would ordinarily be
precluded by late detection of the error. The method is
practical in that it does not impose substantial space
or time overhead on the parsing of correct programs,
and in that its time efficiency in processing an error
allows for it incorporation in a production compiler.
The method is language independent, but it does allow
for tuning with respect to particular languages and
implementations through the setting of
language-specific parameters.",
acknowledgement = ack-pb,
keywords = "algorithms; languages; LL parser; LR parser; syntactic
error diagnosis; syntactic error recovery; syntactic
error repair",
owner = "manning",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.6}: Software, SOFTWARE
ENGINEERING, Programming Environments. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques,
User interfaces. {\bf D.2.5}: Software, SOFTWARE
ENGINEERING, Testing and Debugging, Error handling and
recovery. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Parsing.",
}
@Article{Feather:1987:LSS,
author = "Martin S. Feather",
title = "Language Support for the Specification and Development
of Composite Systems",
journal = j-TOPLAS,
volume = "9",
number = "2",
pages = "198--234",
month = apr,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jun 29 11:08:03 1987",
bibsource = "Misc/softeng.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/22947.html",
abstract = "When a complex system is to be realized as a
combination of interacting components, development of
those components should commence from a specification
of the behavior required of the composite system. A
separate specification should be used to describe the
decomposition of that system into components. The first
phase of implementation from a specification in this
style is the derivation of the individual component
behaviors implied by these specifications. The virtues
of this approach to specification are expounded, and
specification language features that are supportive of
it are presented. It is shown how these are
incorporated in the specification language Gist, which
our group has developed. These issues are illustrated
in a development of a controller for elevators serving
passengers in a multistory building.",
acknowledgement = ack-pb,
keywords = "composite systems; design; distributed decomposition;
interactive systems; languages; theory; verification",
owner = "manning",
subject = "{\bf D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Languages. {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Gist. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Very high-level languages. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques.",
}
@Article{Finkel:1987:DDI,
author = "Raphael Finkel and Udi Manber",
title = "{DIB} --- {A} distributed implementation of
backtracking",
journal = j-TOPLAS,
volume = "9",
number = "2",
pages = "235--256",
month = apr,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jun 29 11:22:11 1987",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib,
Ai/ai.bib, Ai/nonmono.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24067.html",
abstract = "DIB is a general-purpose package that allows a wide
range of applications such as recursive backtrack,
branch and bound, and alpha-beta search to be
implemented on a multicomputer. It is very easy to use.
The application program needs to specify only the root
of the recursion tree, the computation to be performed
at each node, and how to generate children at each
node. In addition, the application and how to
disseminate information (such as bounds) either
globally or locally in the tree. DIB uses a distributed
algorithm, transparent to the application programmer,
that divides the problem into subproblems and
dynamically allocates them to any number of
(potentially nonhomogeneous) machines. This algorithm
requires only minimal support from the distributed
operating system. DIB can recover from failures of
machines even if they are not detected DIB currently
runs on the Crystal multicomputer at the University of
Wisconsin-Madison. Many applications have been
implemented quite easily, including exhaustive
traversal (N queens, knight's tour, megamax tree
evaluation), branch and bound (traveling salesman) and
alpha-beta search (the game of NIM). Speedup is
excellent for exhaustive traversal and quite good for
branch and bound.",
acknowledgement = ack-pb,
keywords = "algorithms; backtracking; branch and bound; design;
distributed algorithms; local-area networks; networks
of workstations; reliability",
owner = "manning",
subject = "{\bf C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
Distributed applications. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.4.1}: Software, OPERATING SYSTEMS,
Process Management, Concurrency. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management,
Multiprocessing/multiprogramming. {\bf D.4.5}:
Software, OPERATING SYSTEMS, Reliability,
Fault-tolerance. {\bf D.4.7}: Software, OPERATING
SYSTEMS, Organization and Design, Distributed
systems.",
}
@Article{Mueller:1987:RMS,
author = "Robert A. Mueller and Joseph Varghese",
title = "Retargetable Microcode Synthesis",
journal = j-TOPLAS,
volume = "9",
number = "2",
pages = "257--276",
month = apr,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Jun 29 11:30:12 1987",
bibsource = "Misc/arch.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/23717.html",
abstract = "Most work on automating the translation of high-level
microprogramming languages into microcode has dealt
with lexical and syntactic analysis and the use of
manually produced macro tables for code generation. We
describe an approach to and some results on the
formalization and automation of the more difficult
problem of retargeting local code generation in a
machine-independent, optimizing microcode synthesis
system. Whereas this problem is similar in many ways to
that of retargeting local code generation in high-level
language compilers, there are some major differences
that call for new approaches. The primary issues
addressed in this paper are the representation of
target microprogrammable machines, the intermediate
representation of local microprogram function, and
general algorithmic methods for deriving local
microcode from target machine and microcode function
specifications. Of particular interest are the use of
formal semantics and data flow principles in achieving
both a general and reasonably efficient solution.
Examples of the modeling of a representative horizontal
machine (the PUMA) and the generation of microcode for
the PUMA machine model from our working implementation
are presented.",
acknowledgement = ack-pb,
keywords = "data antidependency; data dependency; Design; flow
graph; languages; machine description; microcode
compaction; microcode generation; microinstruction set
processors; microprogramming",
owner = "manning",
subject = "{\bf B.1.4}: Hardware, CONTROL STRUCTURES AND
MICROPROGRAMMING, Microprogram Design Aids, Languages
and compilers. {\bf B.1.4}: Hardware, CONTROL
STRUCTURES AND MICROPROGRAMMING, Microprogram Design
Aids, Machine-independent microcode generation. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Code generation. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Translator
writing systems and compiler generators.",
}
@Article{Fraser:1987:ERC,
author = "Christopher W. Fraser and Eugene W. Myers",
title = "An Editor for Revision Control",
journal = j-TOPLAS,
volume = "9",
number = "2",
pages = "277--295",
month = apr,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 11:07:27 1996",
bibsource = "Misc/programming.env.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/22948.html",
abstract = "Programming environments support revision control in
several guises. Explicitly, revision control softwre
manages the trees of revisions that grow as software is
modified. Implicitly, editors retain past versions by
automatically saving backup copies and by allowing
users to undo commands. This paper describes an editor
that offers a uniform solution to these problems by
never destroying the old version of the file being
edited. It represents files using a generalization of
AVL trees called ``AVL dags,'' which makes it
affordable to automatically retain past versions of
files. Automatic retention makes revision maintenance
transparent to users. The editor also uses the same
command language to edit both text and revision
trees.",
acknowledgement = ack-pb,
keywords = "algorithms; Algorithms and design and languages and
management and editor and persistent data type; design;
languages; management; revision control; undo command",
owner = "manning",
subject = "{\bf D.2.7}: Software, SOFTWARE ENGINEERING,
Distribution and Maintenance, Version control. {\bf
D.2.6}: Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf D.1.1}: Software, PROGRAMMING
TECHNIQUES, Applicative (Functional) Programming. {\bf
E.1}: Data, DATA STRUCTURES, Lists. {\bf I.7.1}:
Computing Methodologies, TEXT PROCESSING, Text
Editing.",
}
@Article{Lamb:1987:ISI,
author = "David Alex Lamb",
title = "{IDL}: Sharing Intermediate Representations",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "297--318",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Aug 21 09:04:21 1987",
bibsource = "Misc/programming.env.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24040.html",
abstract = "IDL (Interface Description Language) is a practical
and useful tool for controlling the exchange of
structured data between different components of a large
system. IDL is a notation for describing collections of
programs and the data structures through which they
communicate. Using IDL, a designer gives abstract
descriptions of data structures, together with
representation specifications that specialize the
abstract structures of particular programs. A tool, the
IDL translator, generates readers and writers that map
between concrete internal representations and abstract
exchange representations. data between",
acknowledgement = ack-pb,
keywords = "Data representation; data structures; design;
input/output; languages; performance; software
engineering; system design",
owner = "manning",
subject = "{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Modules and interfaces. {\bf D.2.6}:
Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Run-time environments. {\bf
E.2}: Data, DATA STORAGE REPRESENTATIONS. {\bf H.2.3}:
Information Systems, DATABASE MANAGEMENT, Languages,
Data description languages (DDL).",
}
@Article{Ferrante:1987:PDG,
author = "Jeanne Ferrante and Karl J. Ottenstein and Joe D.
Warren",
title = "The Program Dependence Graph and its Use in
Optimization",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "319--349",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Wed Sep 2 13:23:46 1987",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24041.html",
abstract = "In this paper, we present an intermediate program
representation, called the program dependence
graph-PDG-, that makes explicit both the data and
control dependences for each operation in a program.
Data dependences have been used to represent only the
relevant data flow relationships of a program. Control
dependences are introduced to analogously represent
only the essential control of a program. Control
dependences are derived from the usual control flow
graph. Many traditional optimizations operate more
efficiently on the PDG. Since dependences in the PDG
connect computationally related parts of the program, a
single walk of these dependences is sufficient to
perform many optimizations. The PDG allows
transformations such as vectorization, that previously
required special treatment of control dependence, to be
performed in a manner that is uniform for both control
and data dependences. Program transformations that
require interaction of the two dependence types can be
easily handled with our representation. As an example,
an incremental approach to modifying data dependences
resulting from branch deletion or loop unrolling is
introduced. The PDG supports incremental optimization,
permitting transformations to be triggered by one
another and applied only to affect dependences.",
acknowledgement = ack-pb,
keywords = "algorithms; branch deletion; code motion; data flow;
debugging; dependence analysis; incremental data flow
analysis; intermediate program representation; internal
program form; languages; loop fusion; loop unrolling;
node splitting; parallelism; performance; slicing;
vectorization",
owner = "manning",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization.",
}
@Article{Charlesworth:1987:MR,
author = "Arthur Charlesworth",
title = "The Multiway Rendezvous",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "350--366",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24050.html",
acknowledgement = ack-pb,
keywords = "languages",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Mutual exclusion. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Concurrent programming structures. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
D.1.3}: Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.4.1}: Software, OPERATING SYSTEMS,
Process Management, Concurrency.",
}
@Article{Holt:1987:DDC,
author = "Richard C. Holt",
title = "Data Descriptors: {A} Compile-Time Model of Data and
Addressing",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "367--389",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Wed Sep 2 13:49:06 1987",
bibsource = "Compiler/compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24051.html",
abstract = "Data descriptors, which have evolved from Wilcox's
value descriptors, are a notation for representing
run-time data objects at compile time. One of the
principal reasons for developing this notation was to
aid in the rapid construction of code generators,
especially for new microprocessors. Each data
descriptor contains a base, a displacement, and a level
of indirection. For example, a variable $x$ lying at
displacement 28 from base register B3 is represented by
this data descriptor: @B3.28. The general form of a
data descriptor is @kb.d.i where $k$ give the number of
levels of indirection, $b$ is a base, $d$ is a
displacement, and $i$ is an index. Data descriptors are
convenient for representing addressing in Fortran ---
with static allocation and common blocks-in Pascal and
Turing-with automatic allocation and stack frames ---
and in more general languages such as Euclid and PL/1.
This generality of data descriptors allows code
generation to be largely machine independent. This
paper gives a machine independent method for storage
allocation that uses data descriptors. Techniques are
given for local optimization of basic arithmetic and
addressing code using data descriptors. Target machine
dependencies are isolated so that the part of the code
generator that handles high-level addressing-such as
subscripting-is machine independent. The techniques
described in this paper have proven effective in the
rapid development of a number of production code
generators.",
acknowledgement = ack-pb,
keywords = "addressability; addressing modes; array subscripting;
base displacement addressing; code generation; code
optimization; compiler structure; compilers; data
alignment; data descriptor; display based addressing;
language translators; languages; machine idioms;
machine-independent code generation; optimal addition;
portable compiler; storage allocation",
owner = "manning",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Code generation. {\bf E.2}: Data, DATA
STORAGE REPRESENTATIONS.",
}
@Article{Yemini:1987:ATE,
author = "Shaula Yemini and Daniel M. Berry",
title = "An Axiomatic Treatment of Exception Handling in an
Expression-Oriented Language",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "390--407",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Theory/obscure.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See remarks \cite{Yemini:1988:TCA}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24052.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.3.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory, Semantics. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Control
structures. {\bf F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs. {\bf F.3.3}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies
of Program Constructs, Control primitives. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, ALGOL-68.",
}
@Article{Reps:1987:SSE,
author = "Thomas Reps and Alan Demers",
title = "Sublinear-Space Evaluation Algorithms for Attribute
Grammars",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "408--440",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Wed Sep 2 13:55:34 1987",
bibsource = "Misc/programming.env.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214529.html",
abstract = "A major drawback of attribute-grammar-based systems is
that they are profligate consumers of storage. This
paper concerns new storage-management techniques that
reduce the number of attribute values retained at any
stage of attribute evaluation; it presents an
algorithms for evaluating an $n$-attribute tree that
never retains more than $O-\log n$-attribute values.
This method is optimal, although it may require
nonlinear time. A second algorithm, which never retains
more than $O$-square root $n$-attribute values, it also
presented, both as an introduction to the $O-\log
n$-method and because it works in linear time.",
acknowledgement = ack-pb,
keywords = "algorithms; attribute evaluation; attribute grammar
and language-based editor and spill file; theory",
owner = "manning",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Translator writing systems and compiler
generators. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf F.3.2}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Semantics of Programming Languages,
Denotational semantics.",
}
@Article{Banerjee:1987:MSR,
author = "Debasish Banerjee",
title = "A Methodology for Synthesis of Recursive Functional
Programs",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "441--462",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24071.html",
acknowledgement = ack-pb,
keywords = "languages; theory",
subject = "{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf F.3.2}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Semantics of Programming Languages, Algebraic
approaches to semantics. {\bf F.3.2}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics
of Programming Languages, Denotational semantics. {\bf
F.3.3}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Studies of Program Constructs, Functional
constructs. {\bf I.2.2}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Automatic Programming, Program
synthesis.",
}
@Article{Krogh:1987:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "463--466",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 13:43:09 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1987:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "9",
number = "3",
pages = "467--470",
month = jul,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
acknowledgement = ack-pb,
}
@Article{Sonnenschein:1987:GTS,
author = "Michael Sonnenschein",
title = "Graph Translation Schemes to Generate Compiler Parts",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "473--490",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Feb 15 12:34:06 1988",
bibsource = "Misc/programming.env.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/29874.html",
abstract = "Graph translation schemes-GTSs-are a generalization of
attribute grammars and of some ideas in Koster's
language CDL2. They are specially designed to support a
compiler writer in defining parts of the back-end of
his compiler, but they can also be useful for the
specification of the analysis pass of a compiler. GTSs
combine elements of functional and of algorithmic
specification techniques to allow iterative attribute
evaluation and attributing of program graphs. GTSs
consist of only a few syntactical elements. We present
operational semantics and discuss improvements in the
efficiency of the proposed implementation of GTSs.",
acknowledgement = ack-pb,
keywords = "attribute grammars; data flow analysis; design;
grammars; graph-oriented intermediate languages;
languages; program graphs",
owner = "manning",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Design languages. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Compilers.
{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems.",
}
@Article{Allen:1987:ATF,
author = "Randy Allen and Ken Kennedy",
title = "Automatic Translation of {Fortran} Programs to Vector
Form",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "491--542",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Mon Feb 15 12:46:31 1988",
bibsource = "Misc/programming.env.bib, Parallel/vectorization.bib,
Parallel/par.compiler.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Parallel/vectorization.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/29875.html",
abstract = "The recent success of vector computers such as the
Cray-1 and array processors such as those manufactured
by Floating Point Systems has increased interest in
making vector operations available to the FORTRAN
programmer. The FORTRAN standards committee is
currently considering a successor to FORTRAN 77,
usually called FORTRAN 8x, that will permit the
programmer to explicitly specify vector and array
operations. Although FORTRAN 8x will make it convenient
to specify explicit vector operations in new programs,
it does little for existing code. In order to benefit
from the power of vector hardware, existing programs
will need to be rewritten in some language, presumably
FORTRAN 8x, that permits the explicit specification of
vector operations. One way to avoid a massive manual
recoding effort is to provide a translator that
discovers the parallelism implicit in a FORTRAN program
and automatically rewrites that program in FORTRAN 8x.
Such a translation from FORTRAN to FORTRAN 8x is not
straightforward because FORTRAN DO loops are not always
semantically equivalent to the corresponding FORTRAN 8x
parallel operation. The semantic difference between
these two constructs is precisely captured by the
concept of dependence. A translation from FORTRAN to
FORTRAN 8x preserves the semantics of the original
program if it preserves the dependences in that
program. The theoretical background is developed here
for employing data dependence to convert FORTRAN
programs to parallel form. Dependence is defined and
characterized in terms of the conditions that give rise
to it; accurate tests to determine dependence are
presented; and transformations that use dependence to
uncover additional parallelism are discussed.",
acknowledgement = ack-pb,
keywords = "detection of parallelism; FORTRAN; language
translators; languages; vector computing",
owner = "manning",
subject = "{\bf D.1.2}: Software, PROGRAMMING TECHNIQUES,
Automatic Programming. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Optimization.",
}
@Article{Rosenkrantz:1987:EAA,
author = "D. J. Rosenkrantz and H. B. Hunt",
title = "Efficient Algorithms for Automatic Construction and
Compactification of Parsing Grammars",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "543--566",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/29876.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Grammar types. {\bf F.4.2}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Grammars and Other Rewriting Systems, Decision
problems. {\bf D.3.1}: Software, PROGRAMMING LANGUAGES,
Formal Definitions and Theory, Syntax. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Translator
writing systems and compiler generators. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Parsing.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers.",
}
@Article{Anson:1987:GIC,
author = "Ed Anson",
title = "A Generalized Iterative Construct and Its Semantics",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "567--581",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30391.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; theory; verification",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf D.2.4}:
Software, SOFTWARE ENGINEERING, Program Verification,
Correctness proofs.",
}
@Article{Haynes:1987:ECP,
author = "Christopher T. Haynes and Daniel P. Friedman",
title = "Embedding Continuations in Procedural Objects",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "582--598",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30392.html",
acknowledgement = ack-pb,
keywords = "languages; security; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Extensible languages. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, LISP. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
SCHEME. {\bf D.3.3}: Software, PROGRAMMING LANGUAGES,
Language Constructs and Features, Control structures.",
}
@Article{Cuny:1987:CDD,
author = "Janice E. Cuny and Lawrence Snyder",
title = "Conversion from Data-Driven to Synchronous Execution
in Loop Programs",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "599--617",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/31334.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; performance",
subject = "{\bf C.1.2}: Computer Systems Organization, PROCESSOR
ARCHITECTURES, Multiple Data Stream Architectures
(Multiprocessors), Multiple-instruction-stream,
multiple-data-stream processors (MIMD). {\bf C.1.2}:
Computer Systems Organization, PROCESSOR ARCHITECTURES,
Multiple Data Stream Architectures (Multiprocessors),
Parallel processors. {\bf C.1.3}: Computer Systems
Organization, PROCESSOR ARCHITECTURES, Other
Architecture Styles, Adaptable architectures. {\bf
C.1.3}: Computer Systems Organization, PROCESSOR
ARCHITECTURES, Other Architecture Styles, Data-flow
architectures. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors.
{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management.",
}
@Article{Bic:1987:DDM,
author = "Lubomir Bic and Craig Lee",
title = "A Data-Driven Model for a Subset of Logic
Programming",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "618--645",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/31333.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; performance; theory",
subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic, Logic
programming. {\bf F.1.2}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Modes of Computation,
Parallelism and concurrency. {\bf I.2.4}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Knowledge
Representation Formalisms and Methods, Semantic
networks. {\bf C.1.3}: Computer Systems Organization,
PROCESSOR ARCHITECTURES, Other Architecture Styles,
Data-flow architectures.",
}
@Article{Loeckx:1987:ASC,
author = "Jacques Loeckx",
title = "Algorithmic Specifications: {A} Constructive
Specification Method for Abstract Data Types",
journal = j-TOPLAS,
volume = "9",
number = "4",
pages = "646--685",
month = oct,
year = "1987",
CODEN = "ATPSDT",
ISSN = "0164-0925",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30399.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Abstract data types. {\bf
D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
F.3.1}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Specifying and Verifying and Reasoning about
Programs, Specification techniques. {\bf F.3.3}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Studies of Program Constructs, Type structure.",
}
@Article{Ryder:1988:IDF,
author = "Barbara G. Ryder and Marvin C. Paull",
title = "Incremental Data-flow Analysis Algorithms",
journal = j-TOPLAS,
volume = "10",
number = "1",
pages = "1--50",
month = jan,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42193.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Control structures. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors. {\bf F.2.2}: Theory
of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY, Nonnumerical Algorithms and Problems. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Compilers.",
}
@Article{Andrews:1988:OSL,
author = "Gregory R. Andrews and Ronald A. Olsson and Michael
Coffin and Irving Elshoff and Kelvin Nilsen and Titus
Purdin and Gregg Townsend",
title = "An Overview of the {SR} Language and Implementation",
journal = j-TOPLAS,
volume = "10",
number = "1",
pages = "51--86",
month = jan,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42324.html",
acknowledgement = ack-pb,
keywords = "languages",
subject = "{\bf C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
Distributed applications. {\bf C.2.4}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS,
Distributed Systems, Network operating systems. {\bf
D.1.3}: Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, SR.",
}
@Article{Hesselink:1988:MAN,
author = "W. H. Hesselink",
title = "A Mathematical Approach to Nondeterminism in Data
Types",
journal = j-TOPLAS,
volume = "10",
number = "1",
pages = "87--117",
month = jan,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42194.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Abstract data types. {\bf F.1.2}: Theory
of Computation, COMPUTATION BY ABSTRACT DEVICES, Modes
of Computation, Alternation and nondeterminism. {\bf
F.3.3}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Studies of Program Constructs, Type
structure.",
}
@Article{Boute:1988:SSP,
author = "Raymond T. Boute",
title = "System Semantics: Principles, Applications, and
Implementation",
journal = j-TOPLAS,
volume = "10",
number = "1",
pages = "118--155",
month = jan,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/45067.html",
acknowledgement = ack-pb,
keywords = "design; documentation; languages; performance;
reliability; theory; verification",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Denotational semantics. {\bf F.3.2}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Semantics of Programming Languages, Operational
semantics. {\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Semantics. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Syntax. {\bf
I.2.4}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Knowledge Representation Formalisms and
Methods, Representation languages. {\bf I.1.3}:
Computing Methodologies, ALGEBRAIC MANIPULATION,
Languages and Systems, Special-purpose algebraic
systems.",
}
@Article{Reed:1988:SVL,
author = "Joylyn Reed and Raymond T. Yeh",
title = "Specification and Verification of Liveness Properties
of Cyclic, Concurrent Processes",
journal = j-TOPLAS,
volume = "10",
number = "1",
pages = "156--177",
month = jan,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Object/Nierstrasz.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42195.html",
acknowledgement = ack-pb,
keywords = "concurrency liveness; design; verification",
subject = "{\bf D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques.",
}
@Article{Murphy:1988:NDP,
author = "Sandra L. Murphy and A. Udaya Shankar",
title = "A Note on the Drinking Philosophers Problem (Technical
Correspondence)",
journal = j-TOPLAS,
volume = "10",
number = "1",
pages = "178--188",
month = jan,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
acknowledgement = ack-pb,
}
@Article{Hilfinger:1988:APD,
author = "Paul N. Hilfinger",
title = "An {Ada} Package for Dimensional Analysis",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "189--203",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Tue May 17 14:11:24 1988",
bibsource = "Misc/softeng.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42346.html",
abstract = "This paper illustrates the use of Ada's abstraction
facilities--notably, operator overloading and type
parameterization--to define an oft-requested feature: a
way to attribute units of measure to variables and
values. The definition given allows the programmer to
specify units of measure for variables, constants, and
parameters; checks uses of these entities for
dimensional consistency; allows arithmetic between
them, where legal; and provides scale conversions
between commensurate units. It is not constrained to a
particular system of measurement-such as the metric or
English systems. Although the definition is in standard
Ada and requires nothing special of the compiler,
certain reasonable design choices in the compiler,
discussed here at some length, can make its
implementation particularly efficient.",
acknowledgement = ack-pb,
keywords = "dimensional analysis; language design; languages;
measurement; reliability; units",
owner = "manning",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Ada. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
Extensible languages. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Data types and structures. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Modules, packages. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization.",
}
@Article{Wirth:1988:TE,
author = "Nicklaus Wirth",
title = "Type Extensions",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "204--214",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Tue May 17 14:16:02 1988",
bibsource = "Misc/softeng.bib, Misc/IMMD_IV.bib",
note = "See remarks \cite{Cohen:1991:TCT,Wirth:1991:TCR}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/46167.html",
abstract = "Software systems represent a hierarchy of modules.
Client modules contain sets of procedures that extend
the capabilities of imported modules. This concept of
extension is here applied to data types. Extended types
are related to their ancestor in terms of a hierarchy.
Variables of an extended type are compatible with
variables of the ancestor type. This scheme is
expressed by three language constructs only: the
declaration of extended record types, the type test,
and the type guard. The facility of extended types,
which closely resembles the class concept, is defined
in rigorous and concise terms, and an efficient
implementation is presented.",
acknowledgement = ack-pb,
keywords = "Extensible data type; languages; Modula-2",
owner = "manning",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Code generation.",
}
@Article{vandenBos:1988:AIT,
author = "Jan {van den Bos}",
title = "Abstract Interaction Tools: {A} Language for User
Interface Management Systems",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "215--247",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42191.html",
acknowledgement = ack-pb,
keywords = "human factors; languages",
subject = "{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, User interfaces. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Input/Output. {\bf H.1.2}: Information
Systems, MODELS AND PRINCIPLES, User/Machine Systems,
Human factors. {\bf I.3.6}: Computing Methodologies,
COMPUTER GRAPHICS, Methodology and Techniques.",
}
@Article{Metayer:1988:AAC,
author = "Daniel {Le M{\'e}tayer}",
title = "{ACE}: An Automatic Complexity Evaluator",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "248--266",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/Pfpbib.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42347.html",
abstract = "There has been a great deal of research done on the
evaluation of the complexity of particular algorithms;
little effort, however, has been devoted to the
mechanization of this evaluation. The ACE (Automatic
Complexity Evaluator) system is able to analyze
reasonably large programs, like sorting programs, in a
fully mechanically way. A time-complexity function is
derived from the initial functional program. This
function is transformed into its nonrecursive
equivalent according to McCarthy's recursion induction
principle, using a predefined library of recursive
definitions. As the complexity is not a decidable
property, this transformation will not be possible in
all cases. The richer the predefined library is, the
more likely the system is to succeed. The operations
performed by ACE are described and the use ofthe system
is illustrated with the analysis of a sorting
algorithm. Related works and further improvements are
discussed in the conclusion.",
acknowledgement = ack-pb,
keywords = "Granularity Analysis; languages; measurement;
performance",
subject = "{\bf D.2.8}: Software, SOFTWARE ENGINEERING, Metrics.
{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf D.2.6}:
Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf I.2.2}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Automatic Programming, Program
synthesis. {\bf I.2.2}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Automatic Programming, Program
transformation.",
}
@Article{Lamport:1988:CPB,
author = "Leslie Lamport",
title = "Control Predicates are Better than Dummy Variables for
Reasoning about Program Control",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "267--281",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42348.html",
acknowledgement = ack-pb,
keywords = "theory; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about
Programs.",
}
@Article{Shasha:1988:ECE,
author = "Dennis Shasha and Marc Snir",
title = "Efficient and Correct Execution of Parallel Programs
that Share Memory",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "282--312",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/hash.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42277.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management. {\bf C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.",
}
@Article{Greenberg:1988:SEA,
author = "Albert G. Greenberg and Boris D. Lubachevsky and
Andrew M. Odlyzko",
title = "Simple, Efficient, Asynchronous Parallel Algorithms
for Maximization",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "313--337",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42278.html",
acknowledgement = ack-pb,
keywords = "algorithms; performance; theory",
subject = "{\bf C.1.2}: Computer Systems Organization, PROCESSOR
ARCHITECTURES, Multiple Data Stream Architectures
(Multiprocessors), Parallel processors. {\bf C.4}:
Computer Systems Organization, PERFORMANCE OF SYSTEMS,
Modeling techniques. {\bf G.1.0}: Mathematics of
Computing, NUMERICAL ANALYSIS, General, Parallel
algorithms.",
}
@Article{Bermudez:1988:NRB,
author = "Manuel E. Bermudez and Karl M. Schimpf",
title = "On the (non-) Relationship between {SLR}(1) and
{NQLALR}(1) Grammars (Technical Correspondence)",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "338--342",
month = apr,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42276.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Syntax. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Translator writing
systems and compiler generators. {\bf F.4.2}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Grammars and Other Rewriting Systems, Parsing.",
}
@Article{Degano:1988:EIL,
author = "Pierpaolo Degano and Stefano Mannucci and Bruno
Mojana",
title = "Efficient Incremental {LR} Parsing for Syntax-Directed
Editors",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "345--373",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214503.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Parsing. {\bf D.2.3}: Software, SOFTWARE
ENGINEERING, Coding, Program editors. {\bf D.2.6}:
Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Syntax.",
}
@Article{Dillon:1988:CET,
author = "Laura K. Dillon and George S. Avrunin and Jack C.
Wiledon",
title = "Constrained Expressions: Toward Broad Applicability of
Analysis Methods for Distributed Software Systems",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "374--402",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44502.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; verification",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs. {\bf D.4.7}: Software,
OPERATING SYSTEMS, Organization and Design, Distributed
systems. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES,
Language Classifications, Design languages. {\bf
D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Concurrency. {\bf F.4.3}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Formal Languages, Algebraic language theory.",
}
@Article{Morgan:1988:SS,
author = "Carroll Morgan",
title = "The Specification Statement",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "403--419",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/Z.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44503.html",
acknowledgement = ack-pb,
annote = "Also reprinted in \cite{Morgan:1988:RC}.",
keywords = "theory; verification",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Specification techniques.
{\bf F.3.1}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Specifying and Verifying and Reasoning
about Programs, Pre- and post-conditions. {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Methodologies. {\bf
D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Top-down programming. {\bf D.2.4}:
Software, SOFTWARE ENGINEERING, Program Verification,
Correctness proofs.",
}
@Article{Olderog:1988:FPP,
author = "Ernst-{R\"udiger} Olderog and Krzysztof R. Apt",
title = "Fairness in Parallel Programs: The Transformational
Approach",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "420--455",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44504.html",
acknowledgement = ack-pb,
keywords = "languages; verification",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Concurrency.
{\bf F.3.1}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Specifying and Verifying and Reasoning
about Programs.",
}
@Article{Mauney:1988:DEL,
author = "Jon Mauney and Charles N. Fischer",
title = "Determining the Extent of Lookahead in Syntactic Error
Repair",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "456--469",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44505.html",
acknowledgement = ack-pb,
keywords = "languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Parsing. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers.",
}
@Article{Mitchell:1988:ATE,
author = "John C. Mitchell and Gordon D. Plotkin",
title = "Abstract Types Have Existential Type",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "470--502",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Object/Nierstrasz.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib,
Compiler/prog.lang.theory.bib",
note = "Preliminary version appeared in {\em Proc. 12th ACM
Symp. on Principles of Programming Languages}, 1985",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/45065.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; types fpl sol binder",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf F.3.2}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Semantics of Programming Languages.",
}
@Article{Yemini:1988:TCA,
author = "Shaula Yemini and Daniel M. Berry",
title = "Technical Correspondence: ``{An Axiomatic Treatment of
Exception Handling in an Expression-Oriented
Language}''",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "503--504",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Yemini:1987:ATE}.",
acknowledgement = ack-pb,
}
@Article{Krogh:1988:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "504--507",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 15:04:15 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1988:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "10",
number = "3",
pages = "508--511",
month = jul,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:50:15 1996",
acknowledgement = ack-pb,
}
@Article{Back:1988:DCA,
author = "R. J. R. Back and R. Kurki-Suonio",
title = "Distributed Cooperation with Action Systems",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "513--554",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48023.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Concurrent programming structures. {\bf
C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
{\bf F.3.1}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Specifying and Verifying and Reasoning
about Programs.",
}
@Article{Inoue:1988:AFP,
author = "Katsuro Inoue and Hiroyuki Seki and Hikaru Yagi",
title = "Analysis of Functional Programs to Detect Run-Time
Garbage Cells",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "555--578",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/garbage.collection.bib,
Compiler/Compiler.Lins.bib, Compiler/TOPLAS.bib,
Compiler/absint.bib, Compiler/Heaps.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48025.html",
acknowledgement = ack-pb,
keywords = "languages; performance",
subject = "{\bf D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Allocation/deallocation strategies. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors,
Optimization. {\bf E.2}: Data, DATA STORAGE
REPRESENTATIONS, Linked representations.",
}
@Article{Kruskal:1988:ESM,
author = "Clyde P. Kruskal and Larry Rudolph and Marc Snir",
title = "Efficient Synchronization on Multiprocessors with
Shared Memory",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "579--601",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48024.html",
acknowledgement = ack-pb,
keywords = "design; theory; verification",
subject = "{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, Parallelism and
concurrency. {\bf B.3.2}: Hardware, MEMORY STRUCTURES,
Design Styles, Shared memory. {\bf C.1.2}: Computer
Systems Organization, PROCESSOR ARCHITECTURES, Multiple
Data Stream Architectures (Multiprocessors),
Interconnection architectures. {\bf C.1.2}: Computer
Systems Organization, PROCESSOR ARCHITECTURES, Multiple
Data Stream Architectures (Multiprocessors),
Multiple-instruction-stream, multiple-data-stream
processors (MIMD). {\bf C.1.2}: Computer Systems
Organization, PROCESSOR ARCHITECTURES, Multiple Data
Stream Architectures (Multiprocessors), Parallel
processors.",
}
@Article{Kennaway:1988:DSC,
author = "Richard Kennaway and Ronan Sleep",
title = "Director Strings as Combinators",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "602--626",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See corrigendum \cite{Kennaway:1989:CSC}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48026.html",
acknowledgement = ack-pb,
keywords = "languages; theory",
subject = "{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf D.3.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory, Semantics. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Applicative
languages. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages.",
}
@Article{Schwanke:1988:SR,
author = "Robert W. Schwanke and Gail E. Kaiser",
title = "Smarter Recompilation",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "627--632",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See remarks \cite{Tichy:1988:TCT}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214505.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Modules and
interfaces. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Software libraries.
{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.7}: Software,
SOFTWARE ENGINEERING, Distribution and Maintenance,
Version control.",
}
@Article{Tichy:1988:TCT,
author = "Walter F. Tichy",
title = "Technical Correspondence: {Tichy}'s Response to {R. W.
Schwanke} and {G. E. Kaiser}'s ``{Smarter
Recompilation}''",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "633--634",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See \cite{Schwanke:1988:SR}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214507.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Modules and
interfaces. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Software libraries.
{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.7}: Software,
SOFTWARE ENGINEERING, Distribution and Maintenance,
Version control.",
}
@Article{Drechsler:1988:TCS,
author = "Karl-Heinz Drechsler and Manfred P. Stadel",
title = "Technical Correspondence: {A} Solution to a Problem
with {Morel} and {Renvoise}'s ``{Global Optimization by
Suppression of Partial Redundancies}''",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "635--640",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See remark \cite{Sorkin:1989:TCS}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214509.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Anonymous:1988:AI,
author = "Anonymous",
title = "1988 Author Index",
journal = j-TOPLAS,
volume = "10",
number = "4",
pages = "641--642",
month = oct,
year = "1988",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 13:53:44 1996",
acknowledgement = ack-pb,
}
@Article{Steenkiste:1989:SIR,
author = "Peter A. Steenkiste and John L. Hennessy",
title = "A Simple Interprocedural Register Allocation Algorithm
and Its Effectiveness for {Lisp}",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "1--32",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Aug 13 17:16:20 MDT 1994",
bibsource = "Misc/sigplan.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59289.html",
acknowledgement = ack-pb # " and " # ack-nhfb,
keywords = "algorithms; design; measurement; performance",
review = "ACM CR 8909-0658",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
C.0}: Computer Systems Organization, GENERAL,
Hardware/software interfaces. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
LISP.",
}
@Article{Myers:1989:RRA,
author = "Eugene W. Myers and Webb Miller",
title = "Row Replacement Algorithms for Screen Editors",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "33--56",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59290.html",
acknowledgement = ack-pb,
keywords = "algorithms; performance",
subject = "{\bf D.2.3}: Software, SOFTWARE ENGINEERING, Coding,
Program editors. {\bf I.2.8}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Problem Solving, Control
Methods, and Search, Dynamic programming. {\bf D.4.4}:
Software, OPERATING SYSTEMS, Communications Management,
Input/Output. {\bf F.2.2}: Theory of Computation,
ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY,
Nonnumerical Algorithms and Problems, Computations on
discrete structures.",
}
@Article{Bernstein:1989:SEP,
author = "David Bernstein and Izidor Gertner",
title = "Scheduling Expressions on a Pipelined Processor with a
Maximal Delay of One Cycle",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "57--66",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/scheduling.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59291.html",
acknowledgement = ack-pb,
keywords = "design; performance",
subject = "{\bf C.1.2}: Computer Systems Organization, PROCESSOR
ARCHITECTURES, Multiple Data Stream Architectures
(Multiprocessors), Pipeline processors. {\bf D.4.7}:
Software, OPERATING SYSTEMS, Organization and Design,
Hierarchical design. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Code generation. {\bf F.2.2}:
Theory of Computation, ANALYSIS OF ALGORITHMS AND
PROBLEM COMPLEXITY, Nonnumerical Algorithms and
Problems, Sequencing and scheduling.",
}
@Article{Steensgaard-Madsen:1989:TRO,
author = "J. Steensgaard-Madsen",
title = "Type Representation of Objects by Functions",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "67--89",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77345.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory",
subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic, Lambda
calculus and related systems. {\bf F.3.3}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies
of Program Constructs, Functional constructs.",
}
@Article{Fischer:1989:DFA,
author = "Michael J. Fischer and Nancy A. Lynch and James E.
Burns and Allan Borodin",
title = "Distributed {FIFO} Allocation of Identical Resources
Using Small Shared Space",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "90--114",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59292.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Scheduling. {\bf C.2.4}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS,
Distributed Systems, Distributed applications. {\bf
C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
Network operating systems. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Concurrency.
{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Mutual exclusion. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Synchronization.
{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, Parallelism and
concurrency.",
}
@Article{Ait-Kaci:1989:EIL,
author = "Hassan {A\"{\i}t}-Kaci and Robert Boyer and Patrick
Lincoln and Roger Nasr",
title = "Efficient Implementation of Lattice Operations",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "115--146",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59293.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; performance",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Type structure. {\bf I.2.4}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Knowledge Representation
Formalisms and Methods, Frames and scripts. {\bf
H.3.3}: Information Systems, INFORMATION STORAGE AND
RETRIEVAL, Information Search and Retrieval,
Clustering.",
}
@Article{Alpern:1989:VTP,
author = "Bowen Alpern and Fred B. Schneider",
title = "Verifying Temporal Properties without Temporal Logic",
journal = j-TOPLAS,
volume = "11",
number = "1",
pages = "147--167",
month = jan,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/62028.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs. {\bf D.2.1}: Software,
SOFTWARE ENGINEERING, Requirements/Specifications,
Methodologies. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification, Correctness proofs.
{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf F.1.1}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Models of Computation,
Automata.",
}
@Article{Kaiser:1989:IDS,
author = "Gail E. Kaiser",
title = "Incremental Dynamic Semantics for Language-Based
Programming Environments",
journal = j-TOPLAS,
volume = "11",
number = "2",
pages = "169--193",
month = apr,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63400.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; reliability; theory",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Semantics. {\bf F.4.2}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
Other Rewriting Systems, Grammar types. {\bf D.2.3}:
Software, SOFTWARE ENGINEERING, Coding, Program
editors. {\bf D.2.5}: Software, SOFTWARE ENGINEERING,
Testing and Debugging, Debugging aids. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors. {\bf
F.3.1}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Specifying and Verifying and Reasoning about
Programs.",
}
@Article{Cameron:1989:EHL,
author = "Robert D. Cameron",
title = "Efficient High-Level Iteration with Accumulators",
journal = j-TOPLAS,
volume = "11",
number = "2",
pages = "194--211",
month = apr,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63401.html",
acknowledgement = ack-pb,
keywords = "languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures.",
}
@Article{LaLonde:1989:DFD,
author = "Wilf R. LaLonde",
title = "Designing Families of Data Types Using Exemplars",
journal = j-TOPLAS,
volume = "11",
number = "2",
pages = "212--248",
month = apr,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63265.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; performance",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.2.10}: Software, SOFTWARE ENGINEERING, Design,
Methodologies. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques.",
}
@Article{Weihl:1989:LAP,
author = "William E. Weihl",
title = "Local Atomicity Properties: Modular Concurrency
Control for Abstract Data Types",
journal = j-TOPLAS,
volume = "11",
number = "2",
pages = "249--283",
month = apr,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63518.html",
acknowledgement = ack-pb,
keywords = "design; reliability; theory; verification",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Abstract data types. {\bf
D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Concurrency. {\bf D.4.5}: Software,
OPERATING SYSTEMS, Reliability, Fault-tolerance. {\bf
C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
Distributed databases. {\bf H.2.4}: Information
Systems, DATABASE MANAGEMENT, Systems, Transaction
processing.",
}
@Article{Carchiolo:1989:ELT,
author = "Vincenza Carchiolo and Antonella Di Stefano and
Alberto Faro and Giuseppe Pappalardo",
title = "{ECCS} and {LIPS}: Two Languages for {OSI} Systems
Specification and Verification",
journal = j-TOPLAS,
volume = "11",
number = "2",
pages = "284--329",
month = apr,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63402.html",
acknowledgement = ack-pb,
keywords = "design; languages; theory; verification",
subject = "{\bf C.2.0}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, General, Open System
Interconnection reference model (OSI). {\bf D.2.1}:
Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Languages. {\bf F.3.1}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs.
{\bf C.2.2}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
Protocol verification.",
}
@Article{Burns:1989:USS,
author = "James E. Burns and Jan Pachi",
title = "Uniform Self-Stabilizing Rings",
journal = j-TOPLAS,
volume = "11",
number = "2",
pages = "330--344",
month = apr,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63403.html",
acknowledgement = ack-pb,
keywords = "design; reliability; theory",
subject = "{\bf F.1.1}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Models of Computation, Automata. {\bf
C.2.5}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Local Networks, Rings.
{\bf C.2.2}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Protocols.",
}
@Article{Horwitz:1989:INV,
author = "Susan Horwitz and Jan Prins and Thomas Reps",
title = "Integrating Noninterfering Versions of Programs",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "345--387",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65980.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; management",
subject = "{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques. {\bf D.2.3}: Software, SOFTWARE
ENGINEERING, Coding, Program editors. {\bf D.2.7}:
Software, SOFTWARE ENGINEERING, Distribution and
Maintenance, Restructuring. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.2.7}: Software, SOFTWARE ENGINEERING, Distribution
and Maintenance, Version control.",
}
@Article{Brent:1989:EIF,
author = "R. P. Brent",
title = "Efficient Implementation of the First-Fit Strategy for
Dynamic Storage Allocation",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "388--403",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65981.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; performance",
subject = "{\bf D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Allocation/deallocation strategies. {\bf
D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Main memory.",
}
@Article{Anger:1989:LIC,
author = "Frank D. Anger",
title = "On {Lamport}'s Interprocessor Communication Model",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "404--417",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65982.html",
acknowledgement = ack-pb,
keywords = "design; theory",
subject = "{\bf D.4.8}: Software, OPERATING SYSTEMS, Performance,
Modeling and prediction. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Mutual
exclusion. {\bf D.4.7}: Software, OPERATING SYSTEMS,
Organization and Design, Distributed systems. {\bf
D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Synchronization. {\bf D.4.4}: Software,
OPERATING SYSTEMS, Communications Management, Network
communication. {\bf F.2.2}: Theory of Computation,
ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY,
Nonnumerical Algorithms and Problems, Sequencing and
scheduling.",
}
@Article{Debray:1989:SIM,
author = "Saumya K. Debray",
title = "Static Inference of Modes and Data Dependencies in
Logic Programs",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "418--450",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/absint.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65983.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; performance; theory;
verification",
subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic, Logic
programming. {\bf I.2.4}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Knowledge Representation
Formalisms and Methods, Predicate logic. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Compilers.
{\bf F.3.3}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Studies of Program Constructs, Type
structure.",
}
@Article{Debray:1989:FCL,
author = "Saumya K. Debray and David S. Warren",
title = "Functional Computations in Logic Programs",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "451--481",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65984.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; performance;
verification",
subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic, Logic
programming. {\bf D.2.8}: Software, SOFTWARE
ENGINEERING, Metrics, Performance measures. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Kennaway:1989:CSC,
author = "Richard Kennaway and Ronan Sleep",
title = "Corrigendum: ``{Director Strings as Combinators}''",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "482--482",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Kennaway:1988:DSC}.",
acknowledgement = ack-pb,
}
@Article{Krogh:1989:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "483--486",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 15:04:22 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1989:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "11",
number = "3",
pages = "487--490",
month = jul,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
acknowledgement = ack-pb,
}
@Article{Aho:1989:CGU,
author = "Alfred V. Aho and Mahadevan Ganapathi and Steven W. K.
Tjiang",
title = "Code Generation Using Tree Matching and Dynamic
Programming",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "491--516",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Database/Graefe.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Database/Graefe.bib,
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/75700.html",
acknowledgement = ack-pb,
keywords = "algorithms; comparison of alternative covers of
original expression; design; experimentation;
languages; matching multiple trees using finite state
automata; reduction rules: complex expression
$\rightarrow$ single instruction cost; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, twig. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Code generation. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Nonprocedural languages. {\bf F.2.2}:
Theory of Computation, ANALYSIS OF ALGORITHMS AND
PROBLEM COMPLEXITY, Nonnumerical Algorithms and
Problems, Pattern matching. {\bf F.4.2}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Grammars and Other Rewriting Systems, Parallel
rewriting systems. {\bf I.2.8}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Problem
Solving, Control Methods, and Search, Dynamic
programming.",
}
@Article{Nelson:1989:GDC,
author = "Greg Nelson",
title = "A Generalization of {Dijkstra}'s Calculus",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "517--561",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69559.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features. {\bf
D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory.",
}
@Article{Barbosa:1989:CHL,
author = "Valmir Barbosa and Eli Gafni",
title = "Concurrency in Heavily Loaded Neighborhood-Constrained
Systems",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "562--584",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69560.html",
acknowledgement = ack-pb,
keywords = "algorithms; performance; theory",
subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF
ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical
Algorithms and Problems, Sequencing and scheduling.
{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, Parallelism and
concurrency. {\bf G.2.2}: Mathematics of Computing,
DISCRETE MATHEMATICS, Graph Theory, Network problems.
{\bf F.4.3}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Formal Languages, Decision
problems.",
}
@Article{Bagrodia:1989:SAP,
author = "Rajive Bagrodia",
title = "Synchronization of Asynchronous Processes in {CSP}",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "585--597",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69561.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; management",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.4.4}: Software, OPERATING SYSTEMS,
Communications Management, Message sending. {\bf
F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS
AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and
Problems, Sequencing and scheduling. {\bf D.4.1}:
Software, OPERATING SYSTEMS, Process Management,
Synchronization.",
}
@Article{Arvind:1989:SDS,
author = "Arvind and Rishiyur S. Nikhil and Keshav K. Pingali",
title = "{I}-Structures: Data Structures for Parallel
Computing",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "598--632",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Tue May 2 18:50:35 2000",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib,
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69562.html",
abstract = "It is difficult simultaneously to achieve elegance,
efficiency and parallelism in functional programs that
manipulate large data structures. We demonstrate this
through careful analysis of program examples using
three common functional data-structuring approaches -
lists using Cons and arrays using Update (both
fine-grained operators), and arrays using make-array (a
``bulk'' operator). We then present I-structures as an
alternative, defining precisely the parallel
operational semantics of Id, a language with
I-structures. We show elegant, efficient and parallel
solutions for the program examples in Id. I-structures
make the language non-functional, but do not raise
determinancy issues. Finally, we show that even in the
context of purely functional languages, I-structures
are invaluable for implementing functional data
abstractions.",
acknowledgement = ack-pb # " and " # ack-meo,
annote = "First appeared in Graph Reduction: Proceedings of a
Workshop at Santa F{\'e}, New Mexico, 1987, ISBN:
0-387-18420-1, pages 336--369 and as Cornell
University, Computer Science Department technical
report TR87-810, 1987.",
keywords = "algorithms; design; languages; performance",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Applicative
languages. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf E.1}: Data, DATA STRUCTURES, Arrays. {\bf E.1}:
Data, DATA STRUCTURES, Lists.",
xxnote = "Yes, the primary author has only a single name.",
}
@Article{Sijtsma:1989:PRL,
author = "Ben A. Sijtsma",
title = "{On the Productivity of Recursive List Definitions}",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "633--649",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Parallel/Pfpbib.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69563.html",
abstract = "Several related notions of the productivity are
presented for functional languages with lazy
evaluation. The notion of productivity captures the
idea of computability, of progress of infinite-list
programs. If an infinite-list program is {\em
productive}, then every element of the list can be
computed in finite ``time''. These notions are used to
study recursive list definitions, that is, lists
defined by $l$ where $l=fl$. Sufficient conditions are
given in terms of the function $f$ that either
guarantee the productivity of the list or its
unproductivity. Furthermore, a calculus is developed
that can be used in verifying that lists defined by $l
\mbox{\em where } l = fl$ are productive. The power and
the usefulness of our theory are demonstrated by
several nontrivial examples. Several observations are
given in conclusion.",
acknowledgement = ack-pb,
keywords = "algorithms; Circular Programs; languages",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Program and recursion schemes. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic, Computability theory. {\bf F.3.1}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
Applicative languages.",
}
@Article{Nicholson:1989:DSP,
author = "Tim Nicholson and Norman Foo",
title = "A Denotational Semantics for {Prolog}",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "650--665",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See also remarks in \cite{Finlay:1993:TCC}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69564.html",
acknowledgement = ack-pb,
keywords = "languages; theory; verification",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Denotational semantics. {\bf F.4.1}: Theory
of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Prolog. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Logic programming.",
}
@Article{Sorkin:1989:TCS,
author = "Arthur Sorkin",
title = "Technical Correspondence: Some Comments on ``{A
Solution to a Problem with {Morel} and {Renvoise}'s
``{Global Optimization by Suppression of Partial
Redundancies}''}''",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "666--668",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See \cite{Drechsler:1988:TCS}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214513.html",
acknowledgement = ack-pb,
keywords = "languages; performance; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Anonymous:1989:AI,
author = "Anonymous",
title = "1989 Author Index",
journal = j-TOPLAS,
volume = "11",
number = "4",
pages = "669--670",
month = oct,
year = "1989",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 14:00:28 1996",
acknowledgement = ack-pb,
}
@Article{Clemm:1990:MEI,
author = "Geoffrey Clemm and Leon Osterweil",
title = "A Mechanism for Environment Integration",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "1--25",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/scm.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77607.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; experimentation; languages; obms; odin; scm:;
sde",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.2}: Software,
SOFTWARE ENGINEERING, Tools and Techniques. {\bf
D.4.2}: Software, OPERATING SYSTEMS, Storage
Management.",
}
@Article{Horwitz:1990:ISU,
author = "Susan Horwitz and Thomas Reps and David Binkley",
title = "Interprocedural Slicing Using Dependence Graphs",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "26--60",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77608.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; design",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Program and recursion schemes. {\bf G.2.2}: Mathematics
of Computing, DISCRETE MATHEMATICS, Graph Theory, Graph
algorithms. {\bf F.4.2}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
Other Rewriting Systems, Grammar types.",
}
@Article{Waddle:1990:PTC,
author = "Vance E. Waddle",
title = "Production Trees: {A} Compact Representation of Parsed
Programs",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "61--83",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77609.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "languages; measurement; theory",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Parsing.",
}
@Article{Korach:1990:MTD,
author = "E. Korach and S. Kutten and S. Moran",
title = "A Modular Technique for the Design of Efficient
Distributed Leader Finding Algorithms",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "84--101",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77610.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; theory",
subject = "{\bf G.2.2}: Mathematics of Computing, DISCRETE
MATHEMATICS, Graph Theory, Network problems. {\bf
F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS
AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and
Problems, Sequencing and scheduling. {\bf F.1.1}:
Theory of Computation, COMPUTATION BY ABSTRACT DEVICES,
Models of Computation, Unbounded-action devices.",
}
@Article{Huang:1990:DDD,
author = "Shing-Tsaan Huang",
title = "A Distributed Deadlock Detection Algorithm for
{CSP}-Like Communication",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "102--122",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77611.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; performance; theory",
subject = "{\bf D.4.7}: Software, OPERATING SYSTEMS, Organization
and Design, Distributed systems. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Deadlocks. {\bf
D.4.4}: Software, OPERATING SYSTEMS, Communications
Management, Message sending. {\bf G.2.2}: Mathematics
of Computing, DISCRETE MATHEMATICS, Graph Theory,
Network problems.",
}
@Article{Farmer:1990:CPC,
author = "William M. Farmer and John D. Ramsdell and Ronald J.
Watro",
title = "A Correctness Proof for Combinator Reduction with
Cycles",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "123--134",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77612.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; languages; theory",
subject = "{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic, Lambda
calculus and related systems. {\bf F.4.2}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Grammars and Other Rewriting Systems. {\bf G.2.2}:
Mathematics of Computing, DISCRETE MATHEMATICS, Graph
Theory. {\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages.",
}
@Article{Burton:1990:TCT,
author = "F. Warren Burton",
title = "Technical Correspondence: Type Extension Through
Polymorphism",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "135--138",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
note = "See \cite{Volpano:1991:TCS,Burton:1991:RSQ}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214515.html,
http://www.acm.org/pubs/toc/Abstracts/0164-0925/77560.html",
acknowledgement = ack-nhfb,
keywords = "languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Modules, packages.",
}
@Article{Parnas:1990:TCI,
author = "David L. Parnas",
title = "Technical Correspondence: On Iterative Constructs",
journal = j-TOPLAS,
volume = "12",
number = "1",
pages = "139--141",
month = jan,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214517.html,
http://www.acm.org/pubs/toc/Abstracts/0164-0925/77613.html",
acknowledgement = ack-nhfb,
keywords = "languages; theory",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf F.3.2}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics
of Programming Languages. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about
Programs.",
}
@Article{Myers:1990:CUI,
author = "Brad A. Myers",
title = "Creating User Interfaces Using Programming by Example,
Visual Programming, and Constraints",
journal = j-TOPLAS,
volume = "12",
number = "2",
pages = "143--177",
month = apr,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78943.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; human factors",
subject = "{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, User interfaces. {\bf D.2.6}: Software,
SOFTWARE ENGINEERING, Programming Environments,
Interactive. {\bf I.3.6}: Computing Methodologies,
COMPUTER GRAPHICS, Methodology and Techniques,
Interaction techniques. {\bf H.1.2}: Information
Systems, MODELS AND PRINCIPLES, User/Machine Systems.
{\bf I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Program
synthesis.",
}
@Article{Weihl:1990:LSA,
author = "William E. Weihl",
title = "Linguistic Support for Atomic Data Types",
journal = j-TOPLAS,
volume = "12",
number = "2",
pages = "178--202",
month = apr,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78944.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages; reliability",
subject = "{\bf H.2.4}: Information Systems, DATABASE MANAGEMENT,
Systems, Transaction processing. {\bf H.2.4}:
Information Systems, DATABASE MANAGEMENT, Systems,
Concurrency. {\bf H.2.4}: Information Systems, DATABASE
MANAGEMENT, Systems, Distributed systems. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Abstract data types. {\bf D.4.1}:
Software, OPERATING SYSTEMS, Process Management,
Synchronization. {\bf D.4.5}: Software, OPERATING
SYSTEMS, Reliability, Fault-tolerance.",
}
@Article{Knapp:1990:EFD,
author = "Edgar Knapp",
title = "An Exercise in the Formal Derivation of Parallel
Programs: Maximum Flows in Graphs",
journal = j-TOPLAS,
volume = "12",
number = "2",
pages = "203--223",
month = apr,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78945.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; theory",
subject = "{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, Parallelism and
concurrency. {\bf F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Specification techniques.
{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, Alternation and
nondeterminism. {\bf G.2.2}: Mathematics of Computing,
DISCRETE MATHEMATICS, Graph Theory. {\bf F.2.2}: Theory
of Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY, Nonnumerical Algorithms and Problems,
Sequencing and scheduling.",
}
@Article{Darlington:1990:SDG,
author = "Jared L. Darlington",
title = "Search Direction by Goal Failure in Goal-Oriented
Programming",
journal = j-TOPLAS,
volume = "12",
number = "2",
pages = "224--252",
month = apr,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78946.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "experimentation; languages",
subject = "{\bf I.2.3}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Deduction and Theorem Proving, Logic
programming. {\bf D.2.1}: Software, SOFTWARE
ENGINEERING, Requirements/Specifications. {\bf D.1.1}:
Software, PROGRAMMING TECHNIQUES, Applicative
(Functional) Programming.",
}
@Article{Bossi:1990:MSL,
author = "A. Bossi and N. Cocco and S. Dulli",
title = "A Method for Specializing Logic Programs",
journal = j-TOPLAS,
volume = "12",
number = "2",
pages = "253--302",
month = apr,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Theory/partial-eval.bib, Compiler/partial-eval.bib,
Theory/CLiCS.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78947.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages; verification",
subject = "{\bf I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Program
transformation. {\bf I.2.3}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Deduction and Theorem Proving,
Logic programming. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification, Correctness
proofs.",
}
@Article{Aggarwal:1990:ALP,
author = "S. Aggarwal and C. Courcoubetis and P. Wolper",
title = "Adding Liveness Properties to Coupled Finite-State
Machines",
journal = j-TOPLAS,
volume = "12",
number = "2",
pages = "303--339",
month = apr,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78948.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; verification",
subject = "{\bf C.2.2}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
Protocol verification. {\bf F.1.1}: Theory of
Computation, COMPUTATION BY ABSTRACT DEVICES, Models of
Computation, Automata. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Mechanical verification. {\bf D.2.4}: Software,
SOFTWARE ENGINEERING, Program Verification, Correctness
proofs. {\bf C.4}: Computer Systems Organization,
PERFORMANCE OF SYSTEMS, Modeling techniques.",
}
@Article{Burke:1990:IAE,
author = "Michael Burke",
title = "An Interval-Based Approach to Exhaustive and
Incremental Interprocedural Data-Flow Analysis",
journal = j-TOPLAS,
volume = "12",
number = "3",
pages = "341--395",
month = jul,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/absint.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78963.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization. {\bf
G.2.2}: Mathematics of Computing, DISCRETE MATHEMATICS,
Graph Theory. {\bf F.3.3}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Studies of Program
Constructs.",
}
@Article{Lamport:1990:SWS,
author = "Leslie Lamport",
title = "{\sl win\/} and {\sl sin\/}: Predicate Transformers
for Concurrency",
journal = j-TOPLAS,
volume = "12",
number = "3",
pages = "396--428",
month = jul,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib,
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78970.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf F.3.1}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Assertions. {\bf F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Invariants. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming.",
}
@Article{Jones:1990:EEC,
author = "Larry G. Jones",
title = "Efficient Evaluation of Circular Attribute Grammars",
journal = j-TOPLAS,
volume = "12",
number = "3",
pages = "429--462",
month = jul,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78971.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory. {\bf F.3.2}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Semantics
of Programming Languages. {\bf F.4.2}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Grammars and Other Rewriting Systems.",
}
@Article{Herlihy:1990:LCC,
author = "Maurice P. Herlihy and Jeannette M. Wing",
title = "Linearizability: {A} Correctness Condition for
Concurrent Objects",
journal = j-TOPLAS,
volume = "12",
number = "3",
pages = "463--492",
month = jul,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78972.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; theory; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.2.1}: Software, SOFTWARE
ENGINEERING, Requirements/Specifications. {\bf F.1.2}:
Theory of Computation, COMPUTATION BY ABSTRACT DEVICES,
Modes of Computation. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Pre- and post-conditions. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques.",
}
@Article{Krogh:1990:AAP,
author = "F. T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "12",
number = "3",
pages = "493--496",
month = jul,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 14:04:29 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1990:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "12",
number = "3",
pages = "497--500",
month = jul,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 14:04:27 1996",
acknowledgement = ack-pb,
}
@Article{Chow:1990:PBC,
author = "Fred C. Chow and John L. Hennessy",
title = "The Priority-Based Coloring Approach to Register
Allocation",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "501--536",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88621.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; measurement; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
C.0}: Computer Systems Organization, GENERAL,
Hardware/software interfaces.",
}
@Article{Stamos:1990:RE,
author = "James W. Stamos and David K. Gifford",
title = "Remote Evaluation",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "537--565",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Object/Ooos.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88631.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages; performance",
subject = "{\bf C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.
{\bf C.2.1}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Architecture
and Design, Distributed networks. {\bf D.4.7}:
Software, OPERATING SYSTEMS, Organization and Design,
Distributed systems.",
}
@Article{Dewan:1990:ASA,
author = "Prasun Dewan and Marvin Solomon",
title = "An Approach to Support Automatic Generation of User
Interfaces",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "566--609",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214518.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.2}: Software,
SOFTWARE ENGINEERING, Tools and Techniques, User
interfaces. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features.",
}
@Article{Leiss:1990:KME,
author = "Hans Leiss",
title = "On {Kilbury}'s Modification of {Earley}'s Algorithm",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "610--640",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88637.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; languages; theory",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Parsing. {\bf F.4.2}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
Other Rewriting Systems, Grammar types.",
}
@Article{Perry:1990:GEI,
author = "Dewayne E. Perry",
title = "{Guest Editor}'s Introduction",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "641--642",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Dillon:1990:USE,
author = "Laura K. Dillon",
title = "Using Symbolic Execution for Verification of {Ada}
Tasking Programs",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "643--669",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/96551.html",
abstract = "A method is presented for using symbolic execution to
generate the verification conditions required for
proving correctness of programs written in a tasking
subset of Ada. The symbolic execution rules are derived
from proof systems that allow tasks to be verified
independently in local proofs, which are then checked
for cooperation. The isolation nature of this approach
to symbolic execution of concurrent programs makes it
better suited to formal verification than the more
traditional interleaving approach, which suffers from
combinatorial problems. The criteria for correct
operation of a concurrent program include partial
correctness, as well as more general safety properties,
such as mutual exclusion and freedom from deadlock.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "languages; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.2.5}:
Software, SOFTWARE ENGINEERING, Testing and Debugging,
Symbolic execution. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Ada. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming.",
}
@Article{Wileden:1990:CEO,
author = "Jack C. Wileden and Lori A. Clarke and Alexander L.
Wolf",
title = "A Comparative Evaluation of Object Definition
Techniques for Large Prototype Systems",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "670--699",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See corrigenda \cite{Wileden:1991:CCE}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88639.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; experimentation; languages",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.m}: Software,
SOFTWARE ENGINEERING, Miscellaneous, Rapid prototyping.
{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Modules and interfaces. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Abstract data types.",
}
@Article{Anonymous:1990:AI,
author = "Anonymous",
title = "1990 Author Index",
journal = j-TOPLAS,
volume = "12",
number = "4",
pages = "700--701",
month = oct,
year = "1990",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 14:05:08 1996",
acknowledgement = ack-pb,
}
@Article{Quong:1991:LPI,
author = "Russell W. Quong and Mark A. Linton",
title = "Linking Programs Incrementally",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "1--20",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/102804.html",
abstract = "Linking is traditionally a batch process that resolves
cross-references between object modules and run-time
libraries to produce a stand-alone executable image.
Because most program changes only involve a small part
of the program, we have implemented an incremental
linker, named Inclink, that processes only the changed
modules. Inclink generates a new executable in time
proportional to the size of change; in contrast, a
batch linker generates an executable in time
proportional to the size of the program. To minimize
updates to the executable, Inclink allocates extra
space for every module. By allocating 24 percent more
space in the executable for overflows, Inclink can
update a module in place over 97 percent of the time.
Measurements show that Inclink is more than an order of
magnitude faster than the UNIX [2] batch linker and
that 88 percent of all links will take less than 2~s of
CPU time on a MicroVAX-2, independent of program
size.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; measurement; performance",
subject = "{\bf D.4.9}: Software, OPERATING SYSTEMS, Systems
Programs and Utilities, Linkers. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Run-time
environments. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Modules,
packages.",
}
@Article{Fradet:1991:CFL,
author = "Pascal Fradet and Daniel Le {M{\'e}tayer}",
title = "Compilation of Functional Languages by Program
Transformation",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "21--51",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib, Compiler/absint.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/102805.html",
abstract = "One of the most important issues concerning functional
languages is the efficiency and the correctness of
their implementation. We focus on sequential
implementations for conventional von Neumann computers.
The compilation process is described in terms of
program transformations in the functional framework.
The original functional expression is transformed into
a functional term that can be seen as a traditional
machine code. The two main steps are the compilation of
the computation rule by the introduction of
continuation functions and the compilation of the
environment management using combinators. The advantage
of this approach is that we do not have to introduce an
abstract machine, which makes correctness proofs much
simpler. As far as efficiency is concerned, this
approach is promising since many optimizations can be
described and formally justified in the functional
framework.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages; verification",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Compilers.
{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf I.2.2}:
Computing Methodologies, ARTIFICIAL INTELLIGENCE,
Automatic Programming, Program transformation.",
}
@Article{Waters:1991:ATS,
author = "Richard C. Waters",
title = "Automatic Transformation of Series Expressions into
Loops",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "52--98",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/102806.html",
abstract = "The benefits of programming in a functional style are
well known. In particular, algorithms that are
expressed as compositions of functions operating on
sequences/vectors/streams of data elements are easier
to understand and modify than equivalent algorithms
expressed as loops. Unfortunately, this kind of
expression is not used anywhere near as often as it
could be, for at least three reasons: (1) most
programmers are less familiar with this kind of
expression than with loops; (2) most programming
languages provide poor support for this kind of
expression; and (3) when support is provided, it is
seldom efficient.\par
In any programming language, the second and third
problems can be largely solved by introducing a data
type called {\em series}, a comprehensive set of
procedures operating on series, and a preprocessor (or
compiler extension) that automatically converts most
series expressions into efficient loops. A set of
restrictions specifies which series expressions can be
optimized. If programmers stay within the limits
imposed, they are guaranteed of high efficiency at all
times.\par
A common Lisp macro package supporting series has been
in use for some time. A prototype demonstrates that
series can be straightforwardly supported in Pascal.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; design; languages",
subject = "{\bf I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Program
transformation. {\bf D.1.1}: Software, PROGRAMMING
TECHNIQUES, Applicative (Functional) Programming. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors.",
}
@Article{Brogi:1991:CLS,
author = "Antonio Brogi and Paolo Ciancarini",
title = "The Concurrent Language, {Shared Prolog}",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "99--123",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/102807.html",
abstract = "Shared Prolog is a new concurrent logic language. A
Shared Prolog system is composed of a set of parallel
agents that are Prolog programs extended by a guard
mechanism. The programmer controls the granularity of
parallelism, coordinating communication and
synchronization of the agents via a centralized data
structure. The communication mechanism is inherited
from the blackboard model of problem solving.
Intuitively, the granularity of the logic processes to
be elaborated in parallel is large, while the resources
shared on the blackboard can be very fined
grained.\par
An operational semantics for Shared Prolog is given in
terms of a distributed model. Through an abstract
notion of computation, the kinds of parallelism
supported by the language, as well as properties of
infinite computations, such as local deadlocks, are
studied.\par
The expressiveness of the language is shown with
respect to the specification of two classes of
applications: metaprogramming and blackboard systems.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "languages; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications. {\bf I.2.3}: Computing Methodologies,
ARTIFICIAL INTELLIGENCE, Deduction and Theorem Proving,
Logic programming. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Concurrent, distributed, and parallel
languages. {\bf F.4.1}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical
Logic, Logic programming.",
}
@Article{Herlihy:1991:WFS,
author = "Maurice Herlihy",
title = "Wait-Free Synchronization",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "124--149",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/102808.html",
abstract = "A {\em wait-free\/} implementation of a concurrent
data object is one that guarantees that any process can
complete any operation in a finite number of steps,
regardless of the execution speeds of the other
processes. The problem of constructing a wait-free
implementation of one data object from another lies at
the heart of much recent work in concurrent algorithms,
concurrent data structures, and multiprocessor
architectures. First, we introduce a simple and general
technique, based on reduction to a concensus protocol,
for proving statements of the form, ``there is no
wait-free implementation of $X$ by $Y$.'' We derive a
hierarchy of objects such that no object at one level
has a wait-free implementation in terms of objects at
lower levels. In particular, we show that atomic
read/write registers, which have been the focus of much
recent attention, are at the bottom of the hierarchy:
they cannot be used to construct wait-free
implementations of many simple and familiar data types.
Moreover, classical synchronization primitives such as
{\em test\&set\/} and {\em fetch\&add}, while more
powerful than {\em read\/} and {\em write}, are also
computationally weak, as are the standard
message-passing primitives. Second, nevertheless, we
show that there do exist simple universal objects from
which one can construct a wait-free implementation of
any sequential object.",
acknowledgement = ack-pb,
keywords = "algorithms; design; reliability; verification",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.4.1}: Software, OPERATING SYSTEMS,
Process Management, Synchronization. {\bf D.4.1}:
Software, OPERATING SYSTEMS, Process Management,
Concurrency.",
}
@Article{Ancona:1991:ECL,
author = "M. Ancona and G. Dodero and V. Gianuzzi and M.
Morgavi",
title = "Efficient Construction of {LR$(k)$} States and
Tables",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "150--178",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/102809.html",
abstract = "A new method for building LR($k$) states and parsing
tables is presented. The method aims at giving a
feasible construction of a collection of LR($k$)
parsing tables, especially when $k > 1$. for nontrivial
grammars. To this purpose, the algorithm first attempts
to build a set of {\em normal states\/} for the given
grammar, each one associated to a single parsing action
in {\em accept, reduce, shift}. When such an action
cannot be uniquely determined, that is, when up to $k$
input symbols have to be examined (inadequacy), further
states, belonging to a new type, called {\em
look-ahead\/} states, are computed. The action
associated with inadequate states is a new parsing
action, {\em look}. States are built without actual
computation of the FIRST${}_k$ and EFF${}_k$ functions;
that is, nonterminals are kept in the context string of
items composing each state, and their expansion to
terminals is deferred until indispensable to solve
inadequacy. The aforementioned method is illustrated;
then the canonical collection of states and the
canonical tables are compared with those obtained from
the proposed method. A sufficient condition is stated,
by which the size of parsing tables, obtained by
applying this new method, is smaller than that of
canonical tables. Experimental results show that such a
condition is verified by the grammars of several
programming languages and that significant speed is
gained by avoiding the computation of the FIRST${}_k$
function.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; experimentation; languages; theory;
verification",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Parsing. {\bf F.4.2}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Grammars and
Other Rewriting Systems, Grammar types.",
}
@Article{Wileden:1991:CCE,
author = "Jack C. Wileden and Lori A. Clarke and Alexander L.
Wolf",
title = "Corrigenda: ``{A Comparative Evaluation of Object
Definition Techniques for Large Prototype Systems}''",
journal = j-TOPLAS,
volume = "13",
number = "1",
pages = "179--179",
month = jan,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
note = "See \cite{Wileden:1990:CEO}.",
acknowledgement = ack-pb,
}
@Article{Wegman:1991:CPC,
author = "Mark N. Wegman and F. Kenneth Zadeck",
title = "Constant Propagation with Conditional Branches",
journal = j-TOPLAS,
volume = "13",
number = "2",
pages = "181--210",
month = apr,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/103136.html",
abstract = "Constant propagation is a well-known global flow
analysis problem. The goal of constant propagation is
to discover values that are constant on all possible
executions of a program and to propagate these constant
values as far forward through the program as possible.
Expressions whose operands are all constants can be
evaluated at compile time and the results propagated
further. Using the algorithms presented in this paper
can produce smaller and faster compiled programs. The
same algorithms can be used for other kinds of analyses
(e.g., type of determination). We present four
algorithms in this paper, all {\em conservative\/} in
the sense that all constants may not be found, but each
constant found is constant over all possible executions
of the program. These algorithms are among the
simplest, fastest, and most powerful global constant
propagation algorithms known. We also present a new
algorithm that performs a form of interprocedural data
flow analysis in which aliasing information is gathered
in conjunction with constant progagation. Several
variants of this algorithm are considered.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; design; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Program
transformation. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features.",
}
@Article{Yellin:1991:ILI,
author = "Daniel M. Yellin and Robert E. Strom",
title = "{INC}: {A} Language for Incremental Computations",
journal = j-TOPLAS,
volume = "13",
number = "2",
pages = "211--236",
month = apr,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/103137.html",
abstract = "An incremental computation is one that is performed
repeatedly on nearly identical inputs. Incremental
computations occur naturally in many environments, such
as compilers, language-based editors, spreadsheets, and
formatters. This article describes a proposed tool for
making it easy to write incremental programs. The tool
consists of a programming language, INC, and a set of
compile-time transformations for the primitive elements
of INC. A programmer defines an algorithm in INC
without regard to efficient incremental execution. The
transformations automatically convert this algorithm
into an efficient incremental algorithm. INC is a
functional language. The implementation of an INC
program is a network of processes. Each INC function is
transformed into a process that receives and transmits
messages describing changes to its inputs and outputs.
We give an overview to the language and illustrate the
incremental techniques employed by INC. We present the
static and incremental complexity bounds for the
primitive INC functions. We also present some example
programs illustrating INC's flexibility.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; languages",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, INC. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.2.6}: Software, SOFTWARE ENGINEERING, Programming
Environments, Interactive.",
}
@Article{Abadi:1991:DTS,
author = "{Mart\'{\i}n} Abadi and Luca Cardelli and Benjamin
Pierce and Gordon Plotkin",
title = "Dynamic Typing in a Statically Typed Language",
journal = j-TOPLAS,
volume = "13",
number = "2",
pages = "237--268",
month = apr,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/103138.html",
abstract = "Statically typed programming languages allow earlier
error checking, better enforcement of disciplined
programming styles, and the generation of more
efficient object code than languages where all type
consistency checks are performed at run time. However,
even in statically typed languages, there is often the
need to deal with data whose type cannot be determined
at compile time. To handle such situations safely, we
propose to add a type Dynamic whose values are pairs of
a value $v$ and a type tag $T$ where $v$ has the type
denoted by $T$. Instances of Dynamic are built with an
explicit tagging construct and inspected with a type
safe typecase construct.\par
This paper explores the syntax, operational semantics,
and denotational semantics of a simple language that
includes the type Dynamic. We give examples of how
dynamically typed values can be used in programming.
Then we discuss an operational semantics for our
language and obtain a soundness theorem. We present two
formulations of the denotational semantics of this
language and relate them to the operational semantics.
Finally, we consider the implications of polymorphism
and some implementation issues.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages; theory",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Type structure. {\bf F.3.2}: Theory of Computation,
LOGICS AND MEANINGS OF PROGRAMS, Semantics of
Programming Languages.",
}
@Article{Hudak:1991:CIE,
author = "Paul Hudak and Jonathan Young",
title = "Collecting Interpretations of Expressions",
journal = j-TOPLAS,
volume = "13",
number = "2",
pages = "269--290",
month = apr,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/103139.html",
abstract = "A {\em collecting interpretation of expressions\/} is
an interpretation of a program that allows one to
answer questions of the sort: ``What are all possible
values to which an expression might evaluate during
program execution?'' Answering such questions in a
denotational framework is akin to traditional data flow
analysis and, when used in the context of abstract
interpretation, allows one to infer properties that
approximate the run-time behavior of expression
evaluation.\par
Exact collecting interpretations of expressions are
developed for three abstract functional languages: a
strict first-order language, a nonstrict first-order
language, and a nonstrict higher order language (the
full untyped lambda calculus with constants). It is
argued that the method is simple (in particular, no
powerdomains are needed), Natural (it captures the
intuitive operational behavior of a cache), yet more
expressive than existing methods (it is the first exact
collecting interpretation for either nonstrict higher
order languages). Correctness of the interpretations
with respect to the standard semantics is shown via a
generalization of the notion of strictness. It is
further shown how to form abstractions of these exact
interpretations, using as an example a collecting
strictness analysis which yields compile-time
information not previously captured by conventional
strictness analyses.",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "languages; theory",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Denotational semantics. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf F.4.2}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Grammars and Other Rewriting Systems. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Compilers.",
}
@Article{Dhamdhere:1991:PAG,
author = "Dhananjay M. Dhamdhere",
title = "Practical Adaptation of the Global Optimization
Algorithm of {Morel} and {Renvoise}",
journal = j-TOPLAS,
volume = "13",
number = "2",
pages = "291--294",
month = apr,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/103161.html,
http://www.acm.org/pubs/toc/Abstracts/0164-0925/214520.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Borstler:1991:TCT,
author = "J{\"u}rgen B{\"o}rstler and Ulrich M{\"o}ncke and
Reinhard Wilhelm",
title = "Table Compression for Tree Automata",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "295--314",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117013.html",
acknowledgement = ack-pb,
keywords = "design; experimentation; theory",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems, Parsing. {\bf F.1.1}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Models of Computation,
Automata. {\bf E.1}: Data, DATA STRUCTURES, Trees. {\bf
E.4}: Data, CODING AND INFORMATION THEORY, Data
compaction and compression.",
}
@Article{Hudson:1991:IAE,
author = "Scott E. Hudson",
title = "Incremental Attribute Evaluation: {A} Flexible
Algorithm for Lazy Update",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "315--341",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117012.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; design; languages",
subject = "{\bf I.1.3}: Computing Methodologies, ALGEBRAIC
MANIPULATION, Languages and Systems, Evaluation
strategies. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages. {\bf I.1.2}: Computing Methodologies,
ALGEBRAIC MANIPULATION, Algorithms, Nonalgebraic
algorithms.",
}
@Article{Morrison:1991:AHA,
author = "R. Morrison and A. Dearle and R. C. H. {Connor (or
Conner?)} and A. L. Brown",
title = "An Ad Hoc Approach to the Implementation of
Polymorphism",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "342--371",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117017.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "languages; performance; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Napier88. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Run-time environments. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Abstract data types.",
}
@Article{Murtagh:1991:ISM,
author = "Thomas P. Murtagh",
title = "An Improved Storage Management Scheme for Block
Structured Languages",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "372--398",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117016.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "languages; performance; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization. {\bf
D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Structured programming. {\bf G.2.2}:
Mathematics of Computing, DISCRETE MATHEMATICS, Graph
Theory, Graph algorithms.",
}
@Article{Peng:1991:DFA,
author = "Wuxu Peng and S. Purushothaman",
title = "Data Flow Analysis of Communicating Finite State
Machines",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "399--442",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Misc/IMMD_IV.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
note = "See \cite{Purushothaman:1991:CFA}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117015.html",
acknowledgement = ack-pb,
keywords = "algorithms; theory; verification",
subject = "{\bf F.1.1}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Models of Computation,
Unbounded-action devices. {\bf F.2.2}: Theory of
Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY, Nonnumerical Algorithms and Problems,
Sequencing and scheduling. {\bf F.1.1}: Theory of
Computation, COMPUTATION BY ABSTRACT DEVICES, Models of
Computation, Automata.",
}
@Article{Krogh:1991:AAP,
author = "Fred T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "443--446",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1991:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "13",
number = "3",
pages = "447--450",
month = jul,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 06 14:07:30 1996",
acknowledgement = ack-pb,
}
@Article{Cytron:1991:ECS,
author = "Ron Cytron and Jeanne Ferrante and Barry K. Rosen and
Mark N. Wegman and F. Kenneth Zadeck",
title = "Efficiently Computing Static Single Assignment Form
and the Control Dependence Graph",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "451--490",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115320.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; languages",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
I.1.2}: Computing Methodologies, ALGEBRAIC
MANIPULATION, Algorithms, Analysis of algorithms. {\bf
I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Program
transformation.",
}
@Article{Choi:1991:TDP,
author = "Jong-Deok Choi and Barton P. Miller and Robert H. B.
Netzer",
title = "Techniques for Debugging Parallel Programs with
Flowback Analysis",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "491--530",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Object/Ooos.bib, Compiler/Compiler.Lins.bib,
Compiler/TOPLAS.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115324.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; languages; measurement;
performance",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Debugging aids. {\bf D.2.5}: Software,
SOFTWARE ENGINEERING, Testing and Debugging, Monitors.
{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Tracing. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Concurrent programming structures. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Procedures, functions, and
subroutines. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Code generation. {\bf D.4.1}:
Software, OPERATING SYSTEMS, Process Management,
Multiprocessing/multiprogramming. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming, Parallel programming.",
}
@Article{Sheard:1991:AGU,
author = "Tim Sheard",
title = "Automatic Generation and Use of Abstract Structure
Operators",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "531--557",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115369.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "algorithms; design; languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Abstract data types. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Recursion. {\bf D.1.1}:
Software, PROGRAMMING TECHNIQUES, Applicative
(Functional) Programming.",
}
@Article{Lycklama:1991:FCF,
author = "Edward A. Lycklama and Vassos Hadzilacos",
title = "A First-Come-First-Served Mutual-Exclusion Algorithm
with Small Communication Variables",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "558--576",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115370.html",
acknowledgement = ack-pb,
keywords = "algorithms; design; theory",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Mutual exclusion. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Synchronization.
{\bf C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems.",
}
@Article{Jagadeesan:1991:FAS,
author = "Radha Jagadeesan and Keshav Pingali and Prakash
Panangaden",
title = "A Fully Abstract Semantics for a First-Order
Functional Language with Logic Variables",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "577--625",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115371.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
keywords = "design; languages; theory",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Logic programming. {\bf
D.1.6}: Software, PROGRAMMING TECHNIQUES, Logic
Programming.",
}
@Article{Cohen:1991:TCT,
author = "Norman H. Cohen",
title = "Technical Correspondence: Type-Extension Type Tests
Can Be Performed In Constant Time",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "626--629",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Sat Jan 6 14:08:14 1996",
note = "See \cite{Wirth:1988:TE,Wirth:1991:TCR}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115297.html",
acknowledgement = ack-pb,
keywords = "algorithms; languages; performance; theory",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Procedures, functions, and
subroutines. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors. {\bf E.2}: Data, DATA STORAGE
REPRESENTATIONS, Linked representations. {\bf E.1}:
Data, DATA STRUCTURES, Lists.",
}
@Article{Wirth:1991:TCR,
author = "Nicklaus Wirth",
title = "Technical Correspondence: Reply to ``{Type}-Extension
Tests Can Be Performed In Constant Time''",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "630--630",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
note = "See \cite{Wirth:1988:TE,Cohen:1991:TCT}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214521.html",
acknowledgement = ack-pb,
keywords = "performance",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.",
}
@Article{Volpano:1991:TCS,
author = "Dennis M. Volpano",
title = "Technical Correspondence: Subtypes and
Quantification",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "631--632",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib, Compiler/Compiler.Lins.bib",
note = "See \cite{Burton:1990:TCT,Burton:1991:RSQ}.",
URL = "