@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"
}
@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|https://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|"}
@String{j-TOPLAS = "ACM Transactions on Programming
Languages and Systems"}
@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",
ISBN-13 = "978-0-902928-52-7",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 11:06:56 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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",
DOI = "https://doi.org/10.1145/357062.357068",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:02:18 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See also corrigendum \cite{Lamport:1980:CNA}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 18:36:35 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Parallel/scheduling.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Ai/Constr.logic.prog.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
comment = "Good words on {CDR}-coding",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:02:21 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See also corrigendum \cite{Francez:1980:CDT} and
remarks \cite{Mohan:1981:TCF,Francez:1981:TCR}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/hash.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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",
DOI = "https://doi.org/10.1145/357084.357093",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:53:34 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Lamport:1979:NAP}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See also corrigendum \cite{Wallis:1981:CER}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:02:24 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See also corrigendum \cite{Davidson:1981:CDA}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/ProbAlgs.bib",
note = "Bernstein presents a distributed algorithm for CSP
output guards based on priority ordering of
processes.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Broy:1980:DIA,
author = "Manfred Broy and Bernd Krieg-{Br{\"u}ckner}",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:22:43 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See remarks \cite{Moitra:1983:TCA}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Francez:1980:CDT,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:55:53 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See
\cite{Francez:1980:DT,Mohan:1981:TCF,Francez:1981:TCR}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See remarks
\cite{Ellis:1982:TCS,Steensgaard-Madsen:1982:TCS}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:17:11 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See remarks
\cite{Henderson:1983:TCL,LaLonde:1983:TCL}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Davidson:1980:DAR}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Wallis:1981:CER,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Wallis:1980:ERO}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Francez:1980:DT,Francez:1981:TCR}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:05:53 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Francez:1980:DT,Mohan:1981:TCF}.",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Ai/lisp.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Database/Graefe.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Sep 9 14:11:06 1994",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://doi.acm.org/10.1145/357133.357137",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Oct 31 06:37:56 2003",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Nierstrasz.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/prog.lang.theory.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Oct 26 07:58:22 1998",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/Functional.bib; Parallel/par.dataflow.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jun 8 13:21:42 1984",
bibsource = "Compiler/bevan.bib; Compiler/compiler.bib;
https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:08:12 1996",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See
\cite{Steensgaard-Madsen:1981:SOA,Steensgaard-Madsen:1982:TCS}",
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
sjb = "Points out that Madsen's ``new'' approach already
exists in languages like Smalltalk and Scheme.",
}
@Article{Steensgaard-Madsen:1982:TCS,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See
\cite{Steensgaard-Madsen:1981:SOA,Ellis:1982:TCS}.",
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 18:36:33 1996",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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",
DOI = "https://doi.org/10.1145/357162.357168",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Thu Nov 8 14:50:28 2007",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg-2ed.bib;
https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
https://www.math.utah.edu/pub/tex/bib/fortran2.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Ai/prolog.1.bib; Compiler/bevan.bib;
Compiler/Compiler.Lins.bib;
Compiler/prog.lang.theory.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; complexity of proof procedures; languages;
logic; mechanical theorem proving; performance; prolog;
resolution; theory",
source = "Dept. Library",
}
@Article{Ashcroft:1982:RS,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 14:20:25 1996",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Oct 17 12:24:31 1998",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib; Database/dbase.bib;
https://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/ProbAlgs.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Ai/nonmono.bib; Compiler/bevan.bib;
Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:36:09 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Thu May 26 15:49:48 1988",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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.",
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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.",
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat May 4 17:32:11 1996",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/bevan.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
checked = "19940302",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Database/Wiederhold.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
annote = "Immune to process failures and restarts.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 11:07:03 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{LaLonde:1981:HOP,LaLonde:1983:TCL}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{LaLonde:1981:HOP,Henderson:1983:TCL}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Thu Jul 28 16:03:28 1983",
bibsource = "Compiler/compiler.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
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]",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Database/Graefe.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Database/dbase.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/ProbAlgs.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Thu Jul 28 16:27:08 1983",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
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]",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:32:11 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Nierstrasz.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/vlsi.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
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.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Tanenbaum:1982:UPO,Tanenbaum:1983:TCT}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Tanenbaum:1982:UPO,Pemberton:1983:TCT}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Apt:1980:PSC}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:36:05 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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",
DOI = "https://doi.org/10.1145/69575.357227",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
https://www.math.utah.edu/pub/tex/bib/unix.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/69575.357227",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Ai/nonmono.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Nierstrasz.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 18:36:30 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Appelbe:1984:ECS,
author = "William F. Appelbe 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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/Functional.bib; Parallel/Pfpbib.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/ProbAlgs.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Database/dbase.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Soisalon-Soininen:1982:IEE}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:27:37 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:28:08 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See addendum \cite{Bird:1985:APA}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue Nov 20 15:31:51 1984",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue Nov 20 15:35:55 1984",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "code generation; code reordering; goto statements;
program optimization; unconditional branches",
}
@Article{Dencker:1984:OPT,
author = "Peter Dencker and Karl {D{\"u}rre} 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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Thu Feb 7 11:53:52 1985",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/graph.coloring.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See remark \cite{Nielson:1986:TCC}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Thu Feb 7 12:01:54 1985",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/os.bib; Os/os.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2364.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2365.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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-Fran{\c{c}}ois 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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2366.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed Mar 6 11:45:48 1985",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Graphics/graphics.1.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2433.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2528.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/2708.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed Mar 6 12:00:21 1985",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed Mar 6 12:03:08 1985",
bibsource = "Compiler/compiler.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/215005.html",
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Oct 21 13:40:48 1985",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3320.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/obscure.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3319.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Database/dbase.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/Discrete.event.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3322.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3323.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3480.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3479.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3478.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3917.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3989.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Sep 30 16:35:18 1985",
bibsource = "Database/time.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Aug 13 17:16:20 MDT 1994",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/sigplan.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3987.html",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/3986.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4019.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Bird:1984:PAS}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:35:53 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:36:44 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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.",
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Aug 13 17:16:20 MDT 1994",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/sigplan.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4477.html",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 09:17:25 1996",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/sigplan.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4476.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4475.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4474.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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{\"o}hm}",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Oct 31 06:38:00 2003",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/4473.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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.",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jun 1 08:35:36 MDT 1996",
bibsource = "http://www.acm.org/pubs/toc/;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/215006.html",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5390.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5005.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5004.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5003.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5007.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5002.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30847.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5918.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Ai/nonmono.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib; Database/dbase.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Nierstrasz.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30850.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5959.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5957.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5958.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/5999.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/6000.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Georgeff:1984:TRS}",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/215007.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 15:04:03 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jan 19 14:55:31 1987",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.bib; Object/Nierstrasz.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jan 19 15:05:31 1987",
bibsource = "Compiler/Compiler.Lins.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Feb 24 09:59:21 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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.",
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 09:41:04 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.bib; Misc/sigplan.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue Jan 20 11:19:15 1987",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:41:06 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/10500.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/9759.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/10501.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/11326.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jun 29 10:47:01 1987",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jun 29 11:01:25 1987",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jun 29 11:08:03 1987",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/softeng.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jun 29 11:22:11 1987",
bibsource = "Ai/ai.bib; Ai/nonmono.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Jun 29 11:30:12 1987",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/arch.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 11:07:27 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Aug 21 09:04:21 1987",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed Sep 2 13:23:46 1987",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24050.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed Sep 2 13:49:06 1987",
bibsource = "Compiler/compiler.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/obscure.bib",
note = "See remarks \cite{Yemini:1988:TCA}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24052.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed Sep 2 13:55:34 1987",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/24071.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 13:43:09 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Feb 15 12:34:06 1988",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Feb 15 12:46:31 1988",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/programming.env.bib; Parallel/par.compiler.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/29876.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30391.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30392.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/31334.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/31333.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/30399.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42193.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42324.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42194.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/45067.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Object/Nierstrasz.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42195.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue May 17 14:11:24 1988",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Misc/softeng.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 = "Niklaus Wirth",
title = "Type Extensions",
journal = j-TOPLAS,
volume = "10",
number = "2",
pages = "204--214",
month = apr,
year = "1988",
CODEN = "ATPSDT",
DOI = "https://doi.org/10.1145/42190.46167",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue May 17 14:16:02 1988",
bibsource = "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Misc/softeng.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-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "Extensible data type; languages; Modula-2",
numpages = "11",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42191.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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{LeMetayer: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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Parallel/Pfpbib.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 of the
system is illustrated with the analysis of a sorting
algorithm. Related works and further improvements are
discussed in the conclusion.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42348.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/hash.bib; Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42277.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42278.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/42276.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214503.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44502.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Misc/Z.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44503.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
annote = "Also reprinted in \cite{Morgan:1988:RC}.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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{\"u}diger} 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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44504.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/44505.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/prog.lang.theory.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Object/Nierstrasz.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Yemini:1987:ATE}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 15:04:15 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:50:15 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48023.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/absint.bib; Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48025.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48024.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
note = "See corrigendum \cite{Kennaway:1989:CDS}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/48026.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
note = "See remarks \cite{Tichy:1988:TCT}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214505.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Schwanke:1988:SR}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214507.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See remark \cite{Sorkin:1989:TCS}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214509.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 13:53:44 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Aug 13 17:16:20 MDT 1994",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Misc/sigplan.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59289.html",
acknowledgement = ack-pb # " and " # ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59290.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Parallel/scheduling.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59291.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77345.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59292.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/59293.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/62028.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63400.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63401.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63265.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63518.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63402.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/63403.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65980.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65981.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65982.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/absint.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65983.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/65984.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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:CDS,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Kennaway:1988:DSC}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 15:04:22 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
Database/Graefe.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/75700.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69559.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69560.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/69561.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue May 2 18:50:35 2000",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
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.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Parallel/Pfpbib.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 = f l$. 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 = f l$ 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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
note = "See \cite{Drechsler:1988:TCS}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214513.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:00:28 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Misc/scm.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77607.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77608.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77609.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77610.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77611.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/77612.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
note = "See \cite{Volpano:1991:TCS,Burton:1991:TCA}.",
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78943.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78944.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78945.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78946.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/partial-eval.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Theory/CLiCS.bib;
Theory/partial-eval.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78947.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78948.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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:IBA,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/absint.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78963.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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:WSP,
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78970.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78971.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/78972.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 14:04:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:04:27 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88621.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib; Object/Ooos.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88631.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214518.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/88637.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:05:08 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/absint.bib; Compiler/Compiler.Lins.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Wileden:1990:CEO}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.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,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117013.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117012.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117017.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117016.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
note = "See \cite{Purushothaman:1991:CDF}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117015.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Misc/IMMD_IV.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:07:30 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115320.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Ooos.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115324.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115369.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115370.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115371.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 14:08:14 1996",
bibsource = "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Wirth:1988:TE,Wirth:1991:TCR}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115297.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 = "Niklaus 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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 08:25:24 2024",
bibsource = "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Wirth:1988:TE,Cohen:1991:TCT}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214521.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Burton:1990:TCT,Burton:1991:TCA}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214523.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Type structure.",
}
@Article{Burton:1991:TCA,
author = "F. Warren Burton",
title = "Technical Correspondence: Author's Reply to
``{Subtypes and Quantification}'', by {D. M. Volpano}",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "633--633",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 6 14:12:08 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Burton:1990:TCT,Volpano:1991:TCS}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Purushothaman:1991:CDF,
author = "S. Purushothaman",
title = "Corrigendum: ``{Data Flow Analysis of Communicating
Finite State Machines}''",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "633--633",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Peng:1991:DFA}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Anonymous:1991:AI,
author = "Anonymous",
title = "1991 Author Index",
journal = j-TOPLAS,
volume = "13",
number = "4",
pages = "634--635",
month = oct,
year = "1991",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:14:37 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Ungar:1992:ATP,
author = "David Ungar and Frank Jackson",
title = "An Adaptive Tenuring Policy for Generation
Scavengers",
journal = j-TOPLAS,
volume = "14",
number = "1",
pages = "1--27",
month = jan,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/116734.html",
abstract = "One of the more promising automatic storage
reclamation techniques, generation scavenging, suffers
poor performance if many objects live for a fairly long
time and then die. We have investigated the severity of
this problem by simulating a two-generation scavenger
using traces taken from actual 4-h sessions. There was
a wide variation in the sample runs, with
garbage-collection overhead ranging from insignificant,
during three of the runs, to severe, during a single
run. All runs demonstrated that performance could be
improved with two techniques: segregating large bitmaps
and strings, and adapting the scavenger's tenuring
policy according to demographic feedback. We therefore
incorporated these ideas into a commercial Smalltalk
implementation. These two improvements deserve
consideration for any storage reclamation strategy that
utilizes a generation scavenger.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; measurement; performance;
theory",
subject = "{\bf D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Allocation/deallocation strategies. {\bf
D.2.6}: Software, SOFTWARE ENGINEERING, Programming
Environments, Interactive. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications, Self.
{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Smalltalk. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Run-time
environments.",
}
@Article{Solworth:1992:E,
author = "Jon A. Solworth",
title = "Epochs",
journal = j-TOPLAS,
volume = "14",
number = "1",
pages = "28--53",
month = jan,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/116785.html",
abstract = "To date, the implementation of message passing
languages has required the communications variables
(sometimes called ports) either to be limited to the
number of physical communications registers in the
machine or to be mapped to memory. Neither solution is
satisfactory. Limiting the number of variables
decreases modularity and efficiency of parallel
programs. Mapping variables to memory increases the
cost of communications and the granularity of
parallelism. We present here a new programming language
construct called {\em epochs}.\par
Epochs are a scoping mechanism within which the
programmer can declare communications variables, which
are live only during the scope of that epoch. To limit
the range of time a register has to be allocated for a
communications variable, the compiler ensures that all
processors enter an epoch simultaneously. The
programming style engendered fits somewhere between the
SIMD data parallel and the MIMD process spawning
models.\par
We describe an implementation for epochs including an
efficient synchronization mechanism, a means of
statically binding registers to communications
variables, and a method of fusing epochs to reduce
synchronization overhead.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages; theory",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf D.4.4}: Software,
OPERATING SYSTEMS, Communications Management, Message
sending. {\bf C.1.2}: Computer Systems Organization,
PROCESSOR ARCHITECTURES, Multiple Data Stream
Architectures (Multiprocessors). {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Synchronization.",
}
@Article{Hickey:1992:CAM,
author = "Timothy J. Hickey and Jacques Cohen and Hitofumi Hotta
and Thierry PetitJean",
title = "Computer-Assisted Microanalysis of Parallel Programs",
journal = j-TOPLAS,
volume = "14",
number = "1",
pages = "54--106",
month = jan,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/126699.html",
abstract = "This paper consists of two parts: the first provides
the theoretical foundations for analyzing parallel
programs and illustrates how the theory can be applied
to estimate the execution time of a class of parallel
programs being executed on a MIMD computer. The second
part describes a program analysis system, based on the
theoretical model, which allows a user to interactively
analyze the results of executing (or simulating the
execution) of such parallel programs. Several examples
illustrating the use of the tool are presented. A novel
contribution is the separation (both at the conceptual
and the implementation levels) of the
machine-independent and the machine-dependent parts of
the analysis. This separation enables the users of the
system to establish speed-up curves for machines having
varying characteristics.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages; performance; theory",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming, Parallel programming. {\bf
D.2.8}: Software, SOFTWARE ENGINEERING, Metrics,
Performance measures. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Programmer
workbench. {\bf D.2.5}: Software, SOFTWARE ENGINEERING,
Testing and Debugging, Symbolic execution. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Prolog.",
}
@Article{Gudeman:1992:DSG,
author = "David A. Gudeman",
title = "Denotational Semantics of a Goal-Directed Language",
journal = j-TOPLAS,
volume = "14",
number = "1",
pages = "107--125",
month = jan,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/104659.html",
abstract = "Goal-directed evaluation is a very expressive
programming language paradigm that is supported in
relatively few languages. It is characterized by
evaluation of expressions in an attempt to meet some
goal, with resumption of previous expressions on
failure. This paradigm is found in SNOBL4 in its
pattern-matching facilities, and in Icon as a general
part of the language. This paper presents a
denotational semantics of Icon and shows how Icon is in
fact a combination of two distinct paradigms,
goal-directed evaluation and functional application.
The two paradigms are not supported separately in
different contexts, but integrated fully into a single
evaluation mechanism.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory, Semantics. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Nonprocedural
languages. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, ICON. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Control structures. {\bf F.3.3}: Theory
of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Studies of Program Constructs, Control primitives.",
}
@Article{Boute:1992:EDF,
author = "Raymond T. Boute",
title = "The {Euclidean} Definition of the Functions div and
mod",
journal = j-TOPLAS,
volume = "14",
number = "2",
pages = "127--144",
month = apr,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/128862.html",
abstract = "The definitions of the functions div and mod in the
computer science literature and in programming
languages are either similar to the Algol of Pascal
definition (which is shown to be an unfortunate choice)
or based on division by truncation (T-definition) or
division by flooring as defined by Knuth
(F-definition). The differences between various
definitions that are in common usage are discussed, and
an additional one is proposed, which is based on
Euclid's theorem and therefore is called the {\em
Euclidean\/} definition (E-definition). Its
distinguishing feature is that $ 0 <= D \bmod d < d $
irrespective of the signs of $D$ and $d$. It is argued
that the E- and F-definitions are superior to all other
ones in regularity and useful mathematical properties
and hence deserve serious consideration as the standard
convention at the applications and language level. It
is also shown that these definitions are the most
suitable ones for describing number representation
systems and the realization of arithmetic operations at
the architecture and hardware level.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages; standardization; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf B.2.m}:
Hardware, ARITHMETIC AND LOGIC STRUCTURES,
Miscellaneous. {\bf D.3.0}: Software, PROGRAMMING
LANGUAGES, General, Standards. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Data types and structures. {\bf G.1.0}:
Mathematics of Computing, NUMERICAL ANALYSIS, General,
Computer arithmetic.",
}
@Article{Wolf:1992:GEI,
author = "Alexander L. Wolf",
title = "{Guest Editor}'s Introduction to the Special Section
on the {Third International Conference on Computer
Languages}",
journal = j-TOPLAS,
volume = "14",
number = "2",
pages = "145--146",
month = apr,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 11:18:44 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/128863.html",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
subject = "{\bf D.3.0}: Software, PROGRAMMING LANGUAGES, General.
{\bf F.3.0}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, General. {\bf F.4.0}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
General.",
}
@Article{Gomard:1992:SAP,
author = "Carsten K. Gomard",
title = "A Self-applicable Partial Evaluator for the Lambda
Calculus: Correctness and Pragmatics",
journal = j-TOPLAS,
volume = "14",
number = "2",
pages = "147--172",
month = apr,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/absint.bib; Compiler/Compiler.Lins.bib;
Compiler/partial-eval.bib; Compiler/semantics.bib;
Compiler/TOPLAS.bib; Compiler/TOPPS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/partial-eval.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/128864.html",
abstract = "We describe theoretical and a few practical aspects of
an implemented self-applicable partial evaluator for
the untyped lambda calculus with constants,
conditionals, and a fixed point operator.\par
The purpose of this paper is first to announce the
existence of (and to describe) a partial evaluator that
is both higher-order and self-applicable; second to
describe a surprisingly simple solution to the central
problem of binding time analysis, and third to prove
that the partial evaluator yields correct
answers.\par
While [lambda]-mix (the name of our system) seems to
have been the first higher-order self-applicable
partial evaluator to run on a computer, it was
developed mainly for research purposes. Two recently
developed systems are much more powerful for practical
use, but also much more complex: Similix[3,5] and
Schism[7].\par
Our partial evaluator is surprisingly simple,
completely automatic, and has been implemented in a
side effect-free subset of Scheme. It has been used to
compile, generate compilers and generate a compiler
generator.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "correctness; lambda calculus; languages; partial
evaluation; self-application; theory",
semno = "D-78",
subject = "{\bf I.1.3}: Computing Methodologies, ALGEBRAIC
MANIPULATION, Languages and Systems, Evaluation
strategies. {\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,
Denotational semantics. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Translator writing
systems and compiler generators. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications.",
summary = "A partial evaluator for the Lambda Calculus is
described and proven correct. This means that programs
generated by the partial evaluator (including, e.g.,
the compilers obtained by self-application) are known
to be correct.",
}
@Article{Pollock:1992:IGR,
author = "Lori L. Pollock and Mary Lou Soffa",
title = "Incremental Global Reoptimization of Programs",
journal = j-TOPLAS,
volume = "14",
number = "2",
pages = "173--200",
month = apr,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/128865.html",
abstract = "Although optimizing compilers have been quite
successful in producing excellent code, two factors
that limit their usefulness are the accompanying long
compilation times and the lack of good symbolic
debuggers for optimized code. One approach to attaining
faster recompilations is to reduce the redundant
analysis that is performed for optimization in response
to edits, and in particulars, small maintenance
changes, without affecting the quality of the generated
code. Although modular programming with separate
compilation aids in eliminating unnecessary
recompilation and reoptimization, recent studies have
discovered that more efficient code can be generated by
collapsing a modular program through procedure
inlining. To avoid having to reoptimize the resultant
large procedures, this paper presents techniques for
incrementally incorporating changes into globally
optimized code. An algorithm is given for determining
which optimizations are no longer safe after a program
change, and for discovering which new optimizations can
be performed in order to maintain a high level of
optimization. An intermediate representation is
incrementally updated to reflect the current
optimizations in the program. Analysis is performed in
response to changes rather than in preparation for
possible changes, so analysis is not wasted if an edit
has no far-reaching effects. The techniques developed
in this paper have also been exploited to improve on
the current techniques for symbolic debugging of
optimized code.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Code generation.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques.",
}
@Article{Kaiser:1992:OBP,
author = "Gail E. Kaiser and Brent Hailpern",
title = "An Object-Based Programming Model for Shared Data",
journal = j-TOPLAS,
volume = "14",
number = "2",
pages = "201--264",
month = apr,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/128866.html",
abstract = "The classical object model supports private data
within objects and clean interfaces between objects,
and by definition does not permit sharing of data among
arbitrary objects. This is a problem for real-world
applications, such as advanced financial services and
integrated network management, where the same data
logically belong to multiple objects and may be
distributed over multiple nodes on the network. Rather
than give up the advantages of encapsulated objects in
modeling real-world entities, we propose a new object
model that supports shared data in a distributed
environment. The key is separating distribution of
computation units from information-hiding concerns.
Minimal units of data and control, called {\em facets},
may be shared among multiple {\em objects\/} and are
grouped into {\em processes}. Thus, a single object, or
information-hiding unit, may be distributed among
multiple processes, or computation units. In other
words, different facets of the same object may reside
in different address spaces on different machines. We
introduce our new object model, describe a motivating
example from the financial domain, and then explain
facets, objects, and processes, followed by timing and
synchronization concerns.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages",
subject = "{\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
Concurrent Programming, Distributed 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 H.2.4}: Information Systems, DATABASE
MANAGEMENT, Systems, Distributed systems. {\bf E.2}:
Data, DATA STORAGE REPRESENTATIONS. {\bf E.1}: Data,
DATA STRUCTURES.",
}
@Article{Koopman:1992:CBC,
author = "Philip J. {Koopman, Jr.} and Peter Lee and Daniel P.
Siewiorek",
title = "Cache Behavior of Combinator Graph Reduction",
journal = j-TOPLAS,
volume = "14",
number = "2",
pages = "265--297",
month = apr,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:28:31 1996",
bibsource = "Compiler/Compiler.Lins.bib;
Compiler/garbage.collection.bib; Compiler/Heaps.bib;
Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/CLiCS.bib",
note = "Also see~\cite{Koopman:1992:CBC}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/128867.html",
abstract = "The results of cache-simulation experiments with an
abstract machine for reducing combinator graphs are
presented. The abstract machine, called TIGRE, exhibits
reduction rates that, for similar kinds of combinator
graphs on similar kinds of hardware, compare favorably
with previously reported techniques. Furthermore, TIGRE
maps easily and efficiently onto standard computer
architectures, particularly those that allow a
restricted form of self-modifying code. This provides
some indication that the conventional ``stored
program'' organization of computer systems is not
necessarily an inappropriate one for functional
programming language implementations.\par
This is not to say, however, that present day computer
systems are well equipped to reduce combinator graphs.
In particular, the behavior of the cache memory has a
significant effect on performance. In order to study
and quantify this effect, trace-driven cache
simulations of a TIGRE graph reducer running on a
reduced instruction-set computer are conducted. The
results of these simulations are presented with the
following hardware-cache parameters varied: cache size,
block size, associativity, memory update policy, and
write-allocation policy. To begin with, the cache
organization of a commercially available system is used
and then the performance sensitivity with respect to
variations of each parameter are measured. From the
results of the simulation study, a conclusion is made
that combinator-graph reduction using TIGRE runs most
efficiently when using a cache memory with an
allocate-on-write-miss strategy, moderately large block
size (preferably with subblock placement), and
copy-back memory updates.",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; performance; theory;
threading",
sjb = "In amongst all the cache stuff is a description of how
subroutine threading can form the basis for a
relatively efficient method of performing combinator
graph reduction.",
subject = "{\bf B.3.2}: Hardware, MEMORY STRUCTURES, Design
Styles, Cache memories. {\bf B.3.3}: Hardware, MEMORY
STRUCTURES, Performance Analysis and Design Aids,
Simulation. {\bf D.1.1}: Software, PROGRAMMING
TECHNIQUES, Applicative (Functional) Programming. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors, Compilers.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Interpreters. {\bf G.2.1}: Mathematics of
Computing, DISCRETE MATHEMATICS, Combinatorics.",
}
@Article{Wall:1992:ESD,
author = "David W. Wall",
title = "Experience with a Software-Defined Machine
Architecture",
journal = j-TOPLAS,
volume = "14",
number = "3",
pages = "299--338",
month = jul,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/129395.html",
abstract = "We have built a system in which the compiler back end
and the linker work together to present an abstract
machine at a considerably higher level than the actual
machine. The intermediate language translated by the
back end is the target language of all high-level
compilers and is also the only assembly language
generally available. This lets us do intermodule
register allocation, which would be harder if some of
the code in the program had come from a traditional
assembler, out of sight of the optimizer. We do
intermodule register allocation and pipeline
instruction scheduling at link time, using information
gathered by the compiler back end. The mechanism for
analyzing and modifying the program at link time is
also useful in a wide array of instrumentation tools.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; 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,
Instruction set design. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications, Macro
and assembly languages.",
}
@Article{Jaffar:1992:CLS,
author = "Joxan Jaffar and Spiro Michaylov and Peter J. Stuckey
and Roland H. C. Yap",
title = "The {CLP($ \cal R$)} Language and System",
journal = j-TOPLAS,
volume = "14",
number = "3",
pages = "339--395",
month = jul,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/129398.html",
abstract = "The CLP $ (R) $ programming language is defined, its
underlying philosophy and programming methodology are
discussed, important implementation issues are explored
in detail, and finally, a prototype interpreter is
described.\par
CLP $ (R) $ is designed to be an instance of the
Constraint Logic Programming Scheme, a family of
rule-based constraint programming languages defined by
Jaffar and Lassez. The domain of computation $R$ of
this particular instance is the algebraic structure
consisting of uninterpreted functors over real numbers.
An important property of CLP $ (R) $ is that the
constraints are treated uniformly in the sense that
they are used to specify the input parameters to a
program, they are the only primitives used in the
execution of a program, and they are used to describe
the output of a program.\par
Implementation of a CLP language, and of CLP $ (R) $ in
particular, raises new problems in the design of a
constraint-solver. For example, the constraint solver
must be incremental in the sense that solving
additional constraints must not entail the resolving of
old constraints. In our system, constraints are
filtered through an inference engine, an engine/solver
interface, an equation solver and an inequality solver.
This sequence of modules reflects a classification and
prioritization of the classes of constraints. Modules
solving higher priority constraints are isolated from
the complexities of modules solving lower priority
constraints. This multiple-phase solving of
constraints, together with a set of associated
algorithms, gives rise to a practical system.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
subject = "{\bf D.3.m}: Software, PROGRAMMING LANGUAGES,
Miscellaneous. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Interpreters. {\bf G.1.3}:
Mathematics of Computing, NUMERICAL ANALYSIS, Numerical
Linear Algebra, Linear systems (direct and iterative
methods). {\bf I.1.3}: Computing Methodologies,
ALGEBRAIC MANIPULATION, Languages and Systems. {\bf
D.1.6}: Software, PROGRAMMING TECHNIQUES, Logic
Programming. {\bf F.4.0}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, General.",
}
@Article{Widom:1992:TBN,
author = "Jennifer Widom and David Gries and F. B. Schneider",
title = "Trace-Based Network Proof Systems: Expressiveness and
Completeness",
journal = j-TOPLAS,
volume = "14",
number = "3",
pages = "396--416",
month = jul,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See corrigendum \cite{Widom:1993:CTB}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/129396.html",
abstract = "We consider incomplete trace-based network proof
systems for safety properties, identifying extensions
that are necessary and sufficient to achieve relative
completeness. We investigate the expressiveness
required of any trace logic to encode these
extensions.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\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. {\bf F.4.1}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical
Logic, Proof theory.",
}
@Article{Shankar:1992:SRH,
author = "A. Udaya Shankar and Simon S. Lam",
title = "A Stepwise Refinement Heuristic for Protocol
Construction",
journal = j-TOPLAS,
volume = "14",
number = "3",
pages = "417--461",
month = jul,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/129394.html",
abstract = "A stepwise refinement heuristic to construct
distributed systems is presented. The heuristic is
based on a conditional refinement relation between
system specifications, and a ``Marking''. It is applied
to construct four sliding window protocols that provide
reliable data transfer over unreliable communication
channels. The protocols use modulo-$N$ sequence
numbers. The first protocol is for channels that can
only lose messages in transit. By refining this
protocol, we obtain three protocols for channels that
can lose, reorder, and duplicate messages in transit.
The protocols herein are less restrictive and easier to
implement than sliding window protocols previously
studied in the protocol verification literature.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages; verification",
subject = "{\bf C.2.2}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
Protocol verification. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about
Programs.",
}
@Article{Krogh:1992:AAP,
author = "Fred T. Krogh",
title = "{ACM} Algorithms Policy",
journal = j-TOPLAS,
volume = "14",
number = "3",
pages = "462--465",
month = jul,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Anonymous:1992:IA,
author = "Anonymous",
title = "Information for Authors",
journal = j-TOPLAS,
volume = "14",
number = "3",
pages = "466--469",
month = jul,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:15:24 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Hansen:1992:SRF,
author = "Wilfred J. Hansen",
title = "Subsequence References: First-Class Values for
Substrings",
journal = j-TOPLAS,
volume = "14",
number = "4",
pages = "471--489",
month = oct,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/133234.html",
abstract = "Arrays of characters are a basic data type in many
programming languages, but strings and substrings are
seldom accorded first-class status as parameters and
return values. Such status would enable a routine that
calls a search function to readily access context on
both sides of a return value. To enfranchise
substrings, this paper describes a new data type for
substrings as a special case of one for general
subsequences. The key idea is that values are not
sequences or references to positions in sequences, but
rather references to subsequences. Primitive operations
on the data type are constants, concatenation, and four
new functions --- {\em base}, {\em start}, {\em next},
and {\em extent\/} --- which map subsequence references
to subsequence references.\par
This paper informally presents the data type,
demonstrates its convenience for defining search
functions, and shows how it can be concisely
implemented. Examples are given in Ness, a language
incorporating the new data type, which is implemented
as part of the Andrew User Interface System.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf E.1}: Data, DATA STRUCTURES.",
}
@Article{Heering:1992:IGL,
author = "J. Heering and P. Klint and J. Rekers",
title = "Incremental Generation of Lexical Scanners",
journal = j-TOPLAS,
volume = "14",
number = "4",
pages = "490--520",
month = oct,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/133240.html",
abstract = "It is common practice to specify textual patterns by
means of a set of regular expressions and to transform
this set into a finite automaton to be used for the
scanning of input strings. In many applications, the
cost of this preprocessing phase can be amortized over
many uses of the constructed automaton. In this paper
new techniques for lazy and incremental scanner
generation are presented. The lazy technique postpones
the construction of parts of the automaton until they
are really needed during the scanning of input. The
incremental technique allows modifications to the
original set of regular expressions to be made and
reuses major parts of the previous automaton. This is
interesting in applications such as environments for
the interactive development of language definitions in
which modifications to the definition of lexical syntax
and the uses of the generated scanners alternate
frequently.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; performance",
subject = "{\bf D.1.2}: Software, PROGRAMMING TECHNIQUES,
Automatic Programming. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Translator writing
systems and compiler generators.",
}
@Article{Morzenti:1992:MPR,
author = "Angelo Morzenti and Dino Mandrioli and Carlo Ghezzi",
title = "A Model Parametric Real-Time Logic",
journal = j-TOPLAS,
volume = "14",
number = "4",
pages = "521--573",
month = oct,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/129397.html",
abstract = "TRIO is a formal notation for the logic-based
specification of real-time systems. In this paper the
language and its straightforward model-theoretic
semantics are briefly summarized. Then the need for
assigning a consistent meaning to TRIO specifications
is discussed, with reference to a variety of underlying
time structures such as infinite-time structures (both
dense and discrete) and finite-time structures. The
main motivation is the ability to validate formal
specifications. A solution to this problem is
presented, which gives a new, model-parametric
semantics to the language. An algorithm for
constructively verifying the satisfiability of formulas
in the decidable cases is defined, and several
important temporal properties of specifications are
characterized.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages",
subject = "{\bf D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Languages. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Model theory. {\bf
D.2.1}: Software, SOFTWARE ENGINEERING,
Requirements/Specifications, Tools. {\bf D.4.7}:
Software, OPERATING SYSTEMS, Organization and Design,
Real-time and embedded systems.",
}
@Article{Katzenelson:1992:TMT,
author = "Jacob Katzenelson and Shlomit S. Pinter and Eugen
Schenfeld",
title = "Type Matching, Type-Graphs, and the {Schanuel}
Conjecture",
journal = j-TOPLAS,
volume = "14",
number = "4",
pages = "574--588",
month = oct,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/133247.html",
abstract = "This work considers type systems that are defined by
type-graphs (tgraphs), which are rooted directed graphs
with order among the edges leaving each node. Tgraphs
are uniquely mapped into polynomials which, in turn,
are each evaluated at a special point to yield an
irrational number named the tgraph's {\em magic
number}. This special point is chosen using the
Schanuel conjecture. It is shown that each tgraph can
be uniquely represented by this magic number; namely,
types are equal if and only if the corresponding magic
numbers are equal. Since irrational numbers require
infinite precision, the algorithm for generating magic
numbers is carried out using a double-precision
floating-point approximation. This approximation is
viewed as a hashing scheme, mapping the infinite domain
of the irrational numbers into finite computer words.
The proposed hashing scheme was investigated
experimentally, with the conclusion that it is a good
and practical hashing method. In tests involving over a
million randomly chosen tgraphs, we have not
encountered a single collision. We conclude that this
method for representation and management of types is
practical, and offers novel possibilities for enforcing
strict type matching at link time among separately
compiled modules.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Data types and structures.
{\bf E.2}: Data, DATA STORAGE REPRESENTATIONS,
Composite structures. {\bf I.1.1}: Computing
Methodologies, ALGEBRAIC MANIPULATION, Expressions and
Their Representation, Representations (general and
polynomial). {\bf G.2.2}: Mathematics of Computing,
DISCRETE MATHEMATICS, Graph Theory. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors.",
}
@Article{Muller:1992:MLR,
author = "Robert Muller",
title = "{M-LISP}: a Representation-Independent Dialect of
{LISP} with Reduction Semantics",
journal = j-TOPLAS,
volume = "14",
number = "4",
pages = "589--616",
month = oct,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/133254.html",
abstract = "In this paper we introduce M-LISP, a dialect of LISP
designed with an eye toward reconciling LISP's
metalinguistic power with the {\em structural\/} style
of operational semantics advocated by Plotkin [28]. We
begin by reviewing the original definition of LISP [20]
in an attempt to clarify the source of its
metalinguistic power. We find that it arises from a
problematic clause in this definition. We then define
the abstract syntax and operational semantics of
M-LISP, essentially a hybrid of M-expression LISP and
Scheme. Next, we tie the operational semantics to the
corresponding equational logic. As usual, provable
equality in the logic implies operational
equality.\par
Having established this framework we then extend M-LISP
with the metalinguistic {\em eval\/} and {\em reify\/}
operators (the latter is a nonstrict operator that
converts its argument to its metalanguage
representation). These operators encapsulate the
matalinguistic representation conversions that occur
globally in S-expression LISP. We show that the naive
versions of these operators render LISP's equational
logic inconsistent. On the positive side, we show that
a naturally restricted form of the {\em eval\/}
operator is confluent and therefore a conservative
extension of M-LISP. Unfortunately, we must weaken the
logic considerably to obtain a consistent theory of
reification.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf F.3.2}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Operational semantics. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, LISP. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory.
{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\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 F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic, Lambda calculus and related
systems.",
}
@Article{Anonymous:1992:AI,
author = "Anonymous",
title = "1992 Author Index",
journal = j-TOPLAS,
volume = "14",
number = "4",
pages = "617--618",
month = oct,
year = "1992",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:00:28 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Tel:1993:DDT,
author = "Gerard Tel and Friedmann Mattern",
title = "The Derivation of Distributed Termination Detection
Algorithms from Garbage Collection Schemes",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "1--35",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/garbage.collection.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Ooos.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/151647.html",
abstract = "It is shown that the termination detection problem for
distributed computations can be modeled as an instance
of the garbage collection problem. Consequently,
algorithms for the termination detection problem are
obtained by applying transformations to garbage
collection algorithms. The transformation can be
applied to collectors of the ``mark-and-sweep'' type as
well as to reference-counting protocol of Lermen and
Maurer, the weighted-reference-counting protocol, the
local-reference-counting protocol, and Ben-Ari's
mark-and-sweep collector into termination detection
algorithms. Known termination detection algorithms as
well as new variants are obtained.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; theory; verification",
subject = "{\bf D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Distributed memories. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification. {\bf C.2.4}:
Computer Systems Organization, COMPUTER-COMMUNICATION
NETWORKS, Distributed Systems, Network operating
systems.",
}
@Article{Cleaveland:1993:CWS,
author = "Rance Cleaveland and Joachim Parrow and Bernhard
Steffen",
title = "The {Concurrency Workbench}: a Semantics-Based Tool
for the Verification of Concurrent Systems",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "36--72",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/151648.html",
abstract = "The Concurrency Workbench is an automated tool for
analyzing networks of finite-state processes expressed
in Milner's Calculus of Communicating Systems. Its key
feature is its breadth: a variety of different
verification methods, including equivalence checking,
preorder checking, and model checking, are supported
for several different process semantics. One experience
from our work is that a large number of interesting
verification methods can be formulated as combinations
of a small number of primitive algorithms. The
Workbench has been applied to the verification of
communications protocols and mutual exclusion
algorithms and has proven a valuable aid in teaching
and research.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; reliability; 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.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,
Programmer workbench. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification. {\bf C.2.2}:
Computer Systems Organization, COMPUTER-COMMUNICATION
NETWORKS, Network Protocols, Protocol verification.",
}
@Article{Abadi:1993:CS,
author = "Mart{\'\i}n Abadi and Leslie Lamport",
title = "Composing Specifications",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "73--132",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib; Database/dbase.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/151649.html",
abstract = "A rigorous modular specification method requires a
proof rule asserting that if each component behaves
correctly in isolation, then it behaves correctly in
concert with other components. Such a rule is subtle
because a component need behave correctly only when its
environment does, and each component is part of the
others' environments. We examine the precise
distinction between a system and its environment, and
provide the requisite proof rule when modules are
specified with safety and liveness properties.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming.",
}
@Article{Barbuti:1993:GFS,
author = "Roberto Barbuti and Roberto Giacobazzi and Giorgio
Levi",
title = "A General Framework for Semantics-Based Bottom-Up
Abstract Interpretation of Logic Programs",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "133--181",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/absint.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/151650.html",
abstract = "The theory of abstract interpretation provides a
formal framework to develop advanced dataflow analysis
tools. The idea is to define a nonstandard semantics
which is able to compute, in finite time, an
approximated model of the program. In this paper, we
define an abstract interpretation framework based on a
fixpoint approach to the semantics. This leads to the
definition, by means of a suitable set of operators, of
an abstract fixpoint characterization of a model
associated with the program. Thus, we obtain a
specializable abstract framework for bottom-up abstract
interpretations of definite logic programs. The
specialization of the framework is shown on two
examples, namely, ground-dependence analysis and
depth-$k$ analysis.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Semantics. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques.
{\bf F.3.2}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Semantics of Programming Languages. {\bf
D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification. {\bf D.1.6}: Software, PROGRAMMING
TECHNIQUES, Logic Programming.",
}
@Article{Afek:1993:LC,
author = "Yehuda Afek and Geoffrey Brown and Michael Merritt",
title = "Lazy Caching",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "182--205",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Object/Ooos.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/151651.html",
abstract = "This paper examines cache consistency conditions for
multiprocessor shared memory systems. It states and
motivates a weaker condition than is normally
implemented. An algorithm is presented that exploits
the weaker condition to achieve greater concurrency.
The algorithm is shown to satisfy the weak consistency
condition. Other properties of the algorithm and
possible extensions are discussed.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; reliability; verification",
subject = "{\bf D.4.2}: Software, OPERATING SYSTEMS, Storage
Management, Distributed memories. {\bf B.3.2}:
Hardware, MEMORY STRUCTURES, Design Styles, Cache
memories. {\bf B.3.2}: Hardware, MEMORY STRUCTURES,
Design Styles, Shared memory. {\bf B.3.4}: Hardware,
MEMORY STRUCTURES, Reliability, Testing, and
Fault-Tolerance.",
}
@Article{Finlay:1993:TCC,
author = "Alan Finlay and Lloyd Allison",
title = "Technical Correspondence: a Correction to the
Denotational Semantics for the {Prolog} of {Nicholson}
and {Foo}",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "206--208",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Nicholson:1989:DSP}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/151652.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages",
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. {\bf
D.1.1}: Software, PROGRAMMING TECHNIQUES, Applicative
(Functional) Programming. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory.",
}
@Article{Widom:1993:CTB,
author = "Jennifer Widom and David Gries and F. B. Schneider",
title = "Corrigendum: ``{Trace-Based Network Proof Systems:
Expressiveness and Completeness}''",
journal = j-TOPLAS,
volume = "15",
number = "1",
pages = "208--208",
month = jan,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 12:58:29 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Widom:1992:TBN}.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Appel:1993:Ea,
author = "Andrew W. Appel",
title = "Editorial",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "209--210",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:29:44 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Harper:1993:TSS,
author = "Robert Harper and John C. Mitchell",
title = "On the Type Structure of Standard {ML}",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "211--252",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/prog.lang.theory.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "Earlier version appears as ``The Essence of {ML}'' in
{\em Proc. 15th ACM Symp. on Principles of Programming
Languages}, 1988, pp. 28--46",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/169696.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages; theory",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Type structure. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Applicative
languages. {\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 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 F.4.1}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical
Logic, Lambda calculus and related systems. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, ML.",
}
@Article{Henglein:1993:TIP,
author = "Fritz Henglein",
title = "Type Inference with Polymorphic Recursion",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "253--289",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPPS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/169692.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages; ML; polymorphism;
semi-unification; theory; type inference",
semno = "D-127",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Type structure. {\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 F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic, Lambda
calculus and related systems.",
summary = "It is shown that type inference for ML with
polymorphic recursion (Mycroft's extension) is
log-space equivalent to semi-unification. Since
semi-unification is undecidable so is type inference
with polymorphic recursion. Nonetheless reasons are
presented for its usability in practice.",
}
@Article{Kfoury:1993:TRP,
author = "A. J. Kfoury and J. Tiuryn and P. Urzyczyn",
title = "Type Recursion in the Presence of Polymorphic
Recursion",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "290--311",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/169687.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs.
{\bf D.1.1}: Software, PROGRAMMING TECHNIQUES,
Applicative (Functional) Programming. {\bf D.3.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES,
Language Classifications, Applicative languages. {\bf
D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic.",
}
@Article{Dhamdhere:1993:EAB,
author = "Dhananjay M. Dhamdhere and Harish Patil",
title = "An Elimination Algorithm for Bidirectional Data Flow
Problems Using Edge Placement",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "312--336",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/169684.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
F.2.2}: Theory of Computation, ANALYSIS OF ALGORITHMS
AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and
Problems. {\bf F.3.3}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Studies of Program
Constructs.",
}
@Article{Katz:1993:SCC,
author = "Shmuel Katz",
title = "A Superimposition Control Construct for Distributed
Systems",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "337--356",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/169682.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf
D.1.3}: Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Modules,
packages.",
}
@Article{Copperman:1993:TCF,
author = "Max Copperman and Charles E. McDowell",
title = "Technical Correspondence: a Further Note on
{Hennessy}'s ``{Symbolic Debugging of Optimized
Code}''",
journal = j-TOPLAS,
volume = "15",
number = "2",
pages = "357--365",
month = apr,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Sat Jan 06 14:20:23 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
note = "See \cite{Hennessy:1982:SDO}.",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214526.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "performance; verification",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Symbolic execution. {\bf D.2.7}:
Software, SOFTWARE ENGINEERING, Distribution and
Maintenance. {\bf D.2.3}: Software, SOFTWARE
ENGINEERING, Coding.",
}
@Article{Burke:1993:IOE,
author = "Michael Burke and Linda Torczon",
title = "Interprocedural Optimization: Eliminating Unnecessary
Recompilation",
journal = j-TOPLAS,
volume = "15",
number = "3",
pages = "367--399",
month = jul,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/169678.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
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{Chatterjee:1993:CND,
author = "Siddhartha Chatterjee",
title = "Compiling Nested Data-Parallel Programs for
Shared-Memory Multiprocessors",
journal = j-TOPLAS,
volume = "15",
number = "3",
pages = "400--462",
month = jul,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174152.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Control structures. {\bf E.1}: Data, DATA
STRUCTURES. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf C.1.2}: Computer
Systems Organization, PROCESSOR ARCHITECTURES, Multiple
Data Stream Architectures (Multiprocessors).",
}
@Article{Consel:1993:PPE,
author = "Charles Consel and Siau Cheng Khoo",
title = "Parameterized Partial Evaluation",
journal = j-TOPLAS,
volume = "15",
number = "3",
pages = "463--493",
month = jul,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/partial-eval.bib; Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib;
Theory/partial-eval.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174155.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf F.3.1}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors.",
}
@Article{Richardson:1993:DPL,
author = "Joel E. Richardson and Michael J. Carey and Daniel T.
Schuh",
title = "The Design of the {E} Programming Language",
journal = j-TOPLAS,
volume = "15",
number = "3",
pages = "494--534",
month = jul,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174157.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, E. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Object-oriented
languages. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, C++. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features. {\bf H.2.3}: Information Systems,
DATABASE MANAGEMENT, Languages, Database (persistent)
programming languages.",
}
@Article{Odersky:1993:DCD,
author = "Martin Odersky",
title = "Defining Context-Dependent Syntax Without Using
Contexts",
journal = j-TOPLAS,
volume = "15",
number = "3",
pages = "535--562",
month = jul,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174159.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf D.3.1}: Software, PROGRAMMING LANGUAGES, Formal
Definitions and Theory, Syntax. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Semantics. {\bf F.4.1}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical
Logic, Model theory. {\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.",
}
@Article{Huang:1993:LEU,
author = "Shing-Tsaan Huang",
title = "Leader Election in Uniform Rings",
journal = j-TOPLAS,
volume = "15",
number = "3",
pages = "563--573",
month = jul,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174161.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; reliability; theory",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Concurrency. {\bf C.2.4}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS,
Distributed Systems. {\bf D.1.3}: Software, PROGRAMMING
TECHNIQUES, Concurrent Programming. {\bf D.4.1}:
Software, OPERATING SYSTEMS, Process Management, Mutual
exclusion. {\bf D.4.5}: Software, OPERATING SYSTEMS,
Reliability, Fault-tolerance. {\bf F.1.2}: Theory of
Computation, COMPUTATION BY ABSTRACT DEVICES, Modes of
Computation, Parallelism and concurrency.",
}
@Article{Amadio:1993:SRT,
author = "Roberto M. Amadio and Luca Cardelli",
title = "Subtyping Recursive Types",
journal = j-TOPLAS,
volume = "15",
number = "4",
pages = "575--631",
month = sep,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/155231.html",
abstract = "We investigate the interactions of subtyping and
recursive types, in a simply typed [lambda]-calculus.
The two fundamental questions here are whether two
(recursive)types are in the subtype relation and
whether a term has a type. To address the first
question, we relate various definitions of type
equivalence and subtyping that are induced by a model,
an ordering on infinite trees, an algorithm, and a set
of type rules. We show soundness and completeness among
the rules, the algorithm, and the tree semantics. We
also prove soundness and a restricted form of
completeness for the model. To address the second
question, we show that to every pair of types in the
subtype relation we can associate a term whose
denotation is the uniquely determined coercion map
between the two types. Moreover, we derive an algorithm
that, when given a term with implicit coercions, can
infer its least type whenever possible.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; theory",
subject = "{\bf F.3.3}: Theory of Computation, LOGICS AND
MEANINGS OF PROGRAMS, Studies of Program Constructs,
Program and recursion schemes. {\bf F.4.3}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Formal Languages, Classes defined by grammars or
automata. {\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. {\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, Recursion. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Abstract data types.",
}
@Article{Palem:1993:STC,
author = "Krishna V. Palem and Barbara B. Simons",
title = "Scheduling Time-Critical Instructions on {RISC}
Machines",
journal = j-TOPLAS,
volume = "15",
number = "4",
pages = "632--658",
month = sep,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/155190.html",
abstract = "We present a polynomial time algorithm for
constructing a minimum completion time schedule of
instructions from a basic block on RISC machines such
as the Sun SPARC, the IBM 801, the Berkeley RISC
machine, and the HP Precision Architecture. Our
algorithm can be used as a heuristic for RISC
processors with longer pipelines, for which there is no
known optimal algorithm. Our algorithm can also handle
time-critical instructions, which are instructions that
have to be completed by a specific time. Time-critical
instructions occur in some real-time computations, and
can also be used to make shared resources such as
registers quickly available for reuse. We also prove
that in the absence of time-critical constraints, a
greedy scheduling algorithm always produces a schedule
for a target machine with multiple identical pipelines
that has a length less than twice that of an optimal
schedule. The behavior of the heuristic is of interest
because, as we show, the instruction scheduling problem
becomes NP-hard for arbitrary length pipelines, even
when the basic block of code being input consists of
only several independent streams of straightline code,
and there are no time-critical constraints. Finally, we
prove that the problem becomes NP-hard even for small
pipelines, no time-critical constraints, and input of
several independent streams of straightline code if
either there is only a single register or if no two
instructions are allowed to complete simultaneously
because of some shared resource such as a bus.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; performance",
subject = "{\bf F.2.2}: Theory of Computation, ANALYSIS OF
ALGORITHMS AND PROBLEM COMPLEXITY, Nonnumerical
Algorithms and Problems, Sequencing and scheduling.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Code generation.
{\bf C.1.1}: Computer Systems Organization, PROCESSOR
ARCHITECTURES, Single Data Stream Architectures, RISC.
{\bf F.1.3}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Complexity Classes, Reducibility and
completeness.",
}
@Article{Gupta:1993:APE,
author = "Gopal Gupta and Bharat Jayaraman",
title = "Analysis of {Or}-Parallel Execution Models",
journal = j-TOPLAS,
volume = "15",
number = "4",
pages = "659--680",
month = sep,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/155220.html",
abstract = "We discuss fundamental limitations of or-parallel
execution models of nondeterministic programming
languages. Or-parallelism corresponds to the execution
of different nondeterministic computational paths in
parallel. A natural way to represent the state of
(parallel) execution of a nondeterministic program is
by means of an or-parallel tree. We identify three
important criteria that underlie the design of
or-parallel implementations based on the or-parallel
tree: constant-time access to variables, constant-time
task creation, and constant-time task switching, where
the term {\em constant-time\/} means that the time for
these operations is independent of the number of nodes
in the or-parallel tree, as well as the size of each
node. We prove that all three criteria cannot be
simultaneously satisfied by any or-parallel execution
model based on a finite number of processors but
unbounded memory. We discuss in detail the application
of our result to the class of logic programming
languages and show how our result can serve as a useful
way to categorize the various or-parallel methods
proposed in this field. We also discuss the suitability
of different or-parallel implementation strategies for
different parallel architectures.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Run-time environments. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Nondeterministic languages. {\bf
I.2.8}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Problem Solving, Control Methods, and
Search, Backtracking. {\bf C.1.2}: Computer Systems
Organization, PROCESSOR ARCHITECTURES, Multiple Data
Stream Architectures (Multiprocessors),
Multiple-instruction-stream, multiple-data-stream
processors (MIMD). {\bf D.1.6}: Software, PROGRAMMING
TECHNIQUES, Logic Programming.",
}
@Article{Fidge:1993:FDP,
author = "C. J. Fidge",
title = "A Formal Definition of Priority in {CSP}",
journal = j-TOPLAS,
volume = "15",
number = "4",
pages = "681--705",
month = sep,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/155221.html",
abstract = "The process models of Ada and occam are formally based
on the CSP process algebra. However, for fine-tuning
real-time performance, they include ``prioritized''
constructs that have no counterparts in CSP. These
constructs therefore lack any formal definition, a
situation that leaves room for misunderstandings. We
extend CSP with a formal definition of the notion of
priority. The definition is then used to assess the
transputer implementation of priority in occam and the
definition of priority in Ada.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, CSP. {\bf D.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Semantics. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, OCCAM. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Ada. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Concurrent programming structures. {\bf
F.3.2}: Theory of Computation, LOGICS AND MEANINGS OF
PROGRAMS, Semantics of Programming Languages,
Operational semantics.",
}
@Article{Abadi:1993:CAC,
author = "Mart{\'\i}n Abadi and Michael Burrows and Butler
Lampson and Gordon Plotkin",
title = "A Calculus for Access Control in Distributed Systems",
journal = j-TOPLAS,
volume = "15",
number = "4",
pages = "706--734",
month = sep,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/155225.html",
abstract = "We study some of the concepts, protocols, and
algorithms for access control in distributed systems,
from a logical perspective. We account for how a
principal may come to believe that another principal is
making a request, either on his own or on someone
else's behalf. We also provide a logical language for
access control lists and theories for deciding whether
requests should be granted.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "security; theory; verification",
subject = "{\bf D.4.6}: Software, OPERATING SYSTEMS, Security and
Protection, Access controls. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic. {\bf D.4.6}: Software, OPERATING
SYSTEMS, Security and Protection, Authentication. {\bf
D.4.6}: Software, OPERATING SYSTEMS, Security and
Protection, Verification. {\bf C.2.4}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS,
Distributed Systems.",
}
@Article{Ghosh:1993:ASP,
author = "Sukumar Ghosh",
title = "An Alternative Solution to a Problem on
Self-Stabilization",
journal = j-TOPLAS,
volume = "15",
number = "4",
pages = "735--742",
month = sep,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/155228.html",
abstract = "Dijkstra [4, 5] introduced the problem of
self-stabilization in distributed systems as an
interesting exercise for achieving global convergence
through local actions. In [4] he presented three
solutions to a specific version of the
self-stabilization problem, one of which was proved in
[6]. This paper presents an alternative solution of his
self-stabilization problem with four-state machines.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; theory",
subject = "{\bf C.2.4}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
Distributed applications. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management,
Synchronization.",
}
@Article{Appel:1993:Eb,
author = "A. W. Appel and S. L. Graham",
title = "Editorial",
journal = j-TOPLAS,
volume = "15",
number = "5",
pages = "743--744",
month = nov,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Herlihy:1993:MIH,
author = "Maurice Herlihy",
title = "A Methodology for Implementing Highly Concurrent Data
Objects",
journal = j-TOPLAS,
volume = "15",
number = "5",
pages = "745--770",
month = nov,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/161469.html",
abstract = "A {\em concurrent object\/} is a data structure shared
by concurrent processes. Conventional techniques for
implementing concurrent objects typically rely on {\em
critical sections\/}; ensuring that only one process at
a time can operate on the object. Nevertheless,
critical sections are poorly suited for asynchronous
systems: if one process is halted or delayed in a
critical section, other, nonfaulty processes will be
unable to progress. By contrast, a concurrent object
implementation is {\em lock free\/} if it always
guarantees that some process will complete an operation
in a finite number of steps, and it is {\em wait
free\/} if it guarantees that {\em each\/} process will
complete an operation in a finite number of steps. This
paper proposes a new methodology for constructing
lock-free and wait-free implementations of concurrent
objects. The object's representation and operations are
written as stylized sequential programs, with no
explicit synchronization. Each sequential operation is
automatically transformed into a lock-free or wait-free
operation using novel synchronization and memory
management algorithms. These algorithms are presented
for a multiple instruction/multiple data (MIMD)
architecture in which $n$ processes communicate by
applying atomic {\em read, write, load\_linked,\/} and
{\em store\_conditional\/} operations to a shared
memory.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design",
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.2}:
Software, OPERATING SYSTEMS, Storage Management.",
}
@Article{Leivent:1993:MFT,
author = "Jonathan I. Leivent and Ronald J. Watro",
title = "Mathematical Foundations for {Time Warp} Systems",
journal = j-TOPLAS,
volume = "15",
number = "5",
pages = "771--794",
month = nov,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Wed May 14 09:24:08 1997",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/161470.html",
abstract = "We develop a simple formal model of the Time Warp
approach to distributed computation, prove several
important properties of the model, and devise some
extensions to Time Warp that provide improved
termination behavior. Our model consists of processes
that communicate solely via message passing. One of the
basic process steps is a rollback operation that
includes message retraction via transmission of
antimessages. In the model, we consider three problems:
safety, progress, and termination. By safety, we mean
that for a given system of processes, if a run of the
system terminates, then the final system state of the
run is identical to the final system state of a
rollback-free run. We give premises that imply safety,
and a counterexample that shows how safety can fail. By
progress, we mean that, as a run of a system proceeds,
the minimum timestamp of an unprocessed message always
eventually increases. We state three axioms that imply
the progress property. By termination, we mean that, if
all rollback-free runs of a system terminate, then all
runs terminate. The termination property is generally
false in existing implementations of Time Warp systems
due to the possibility of Time Warp vortices. We define
additional mechanisms that can guarantee the
termination property for most Time Warp applications.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; theory; verification",
subject = "{\bf I.6.1}: Computing Methodologies, SIMULATION AND
MODELING, Simulation Theory. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\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{Bowman:1993:RAN,
author = "Mic Bowman and Saumya K. Debray and Larry L.
Peterson",
title = "Reasoning About Naming Systems",
journal = j-TOPLAS,
volume = "15",
number = "5",
pages = "795--825",
month = nov,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/161471.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; theory",
subject = "{\bf H.3.4}: Information Systems, INFORMATION STORAGE
AND RETRIEVAL, Systems and Software, Question-answering
(fact retrieval) systems. {\bf H.2.3}: Information
Systems, DATABASE MANAGEMENT, Languages, Query
languages. {\bf H.2.4}: Information Systems, DATABASE
MANAGEMENT, Systems, Query processing. {\bf H.3.3}:
Information Systems, INFORMATION STORAGE AND RETRIEVAL,
Information Search and Retrieval, Selection process.",
}
@Article{Debray:1993:CAL,
author = "Saumya K. Debray and Nai-Wei Lin",
title = "Cost Analysis of Logic Programs",
journal = j-TOPLAS,
volume = "15",
number = "5",
pages = "826--875",
month = nov,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/161472.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; performance",
subject = "{\bf D.2.8}: Software, SOFTWARE ENGINEERING, Metrics,
Performance measures. {\bf D.1.6}: Software,
PROGRAMMING TECHNIQUES, Logic Programming. {\bf D.2.8}:
Software, SOFTWARE ENGINEERING, Metrics, Complexity
measures. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES,
Language Classifications, Nonprocedural languages. {\bf
I.2.2}: Computing Methodologies, ARTIFICIAL
INTELLIGENCE, Automatic Programming, Automatic analysis
of algorithms.",
}
@Article{Lin:1993:PIA,
author = "Huimin Lin",
title = "Procedural Implementation of Algebraic Specification",
journal = j-TOPLAS,
volume = "15",
number = "5",
pages = "876--895",
month = nov,
year = "1993",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/161473.html",
abstract = "An implementation of an algebraic specification in an
imperative programming language consists of a
representation type, together with an invariant and an
equivalence relation over it, and a procedure for each
operator in the specification. A formal technique is
developed to check the correctness of an implementation
with respect to its specification. Here ``correctness''
means that the implementation satisfies the axioms and
preserves the behavior of the specification. Within
legal representing value space, a correct
implementation behaves like a desirable model of the
specification. A notion of implementation refinement is
also proposed, and it is shown that the correctness
relation between implementations and specifications is
preserved by implementation refinement. In the extreme
case the procedures in an implementation may be
pre-post-condition pairs. Such abstract implementations
can be refined into executable code by refining the
abstract procedures in it. In this way a formal link
between the algebraic and the pre-post-condition
specification techniques is established.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; theory; verification",
subject = "{\bf D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques,
Top-down programming. {\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.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. {\bf D.2.1}: Software,
SOFTWARE ENGINEERING, Requirements/Specifications,
Spec.",
}
@Article{Appel:1994:PS,
author = "Andrew Appel",
title = "Purpose and Scope",
journal = j-TOPLAS,
volume = "16",
number = "1",
pages = "1--2",
month = jan,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Tick:1994:DTN,
author = "E. Tick and M. Korsloot",
title = "Determinacy Testing for Nondeterminate Logic
Programming Languages",
journal = j-TOPLAS,
volume = "16",
number = "1",
pages = "3--34",
month = jan,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174626.html",
abstract = "This paper describes an algorithm for the code
generation of determinacy testing for nondeterminate
flat concurrent logic programming languages. Languages
such as Andorra and Pandora require that procedure
invocations suspend if there is more than one candidate
clause potentially satisfying the goal. The algorithm
described has been developed specifically for a variant
of flat Pandora based on FGHC, although the concepts
are general. We have extended Kliger and Shapiro's
decision-graph construction algorithm to compile
``don't-know'' procedures that must suspend for
nondeterminate goal invocation. The determinacy test is
compiled into a decision graph quite different from
those of committed-choice procedures: They are more
similar to decision trees optimized by code sharing. We
present both empirical data of compilation results
(code size and graph characteristics), and a
correctness proof for our code-generation algorithm.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Code generation. {\bf D.1.6}: Software,
PROGRAMMING TECHNIQUES, Logic Programming. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Concurrent, distributed, and parallel
languages. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors,
Optimization.",
}
@Article{LeCharlier:1994:EEG,
author = "Baudouin {Le Charlier} and Pascal {Van Hentenryck}",
title = "Experimental Evaluation of a Generic Abstract
Interpretation Algorithm for {PROLOG}",
journal = j-TOPLAS,
volume = "16",
number = "1",
pages = "35--101",
month = jan,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Mon Oct 26 07:59:10 1998",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174627.html",
abstract = "Abstract interpretation of PROLOG programs has
attracted many researchers in recent years, partly
because of the potential for optimization in PROLOG
compilers and partly because of the declarative nature
of logic programming languages that make them more
amenable to optimization than procedural languages.
Most of the work, however, has remained at the
theoretical level, focusing on the developments of
frameworks and the definition of abstract
domains.\par
This paper reports our effort to verify experimentally
the practical value of this area of research. It
describes the design and implementation of the generic
abstract interpretation algorithm GAIA that we
originally proposed in Le Charlier et al. [1991], its
instantiation to a sophisticated abstract domain
(derived from Bruynooghe and Janssens [1988])
containing modes, types, sharing, and aliasing, and its
evaluation both in terms of performance and accuracy.
The overall implementation (over 5000 lines of Pascal)
has been systematically analyzed on a variety of
programs and compared with the complexity analysis of
Le Charlie et al. [1991] and the specific analysis
systems of Hickey and Mudambi [1989], Taylor [1989;
1990], Van Roy and Despain [1990], and Warren et al.
[1988].",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; experimentation; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Prolog.",
}
@Article{Waters:1994:CBP,
author = "Richard C. Waters",
title = "Clich{\'e}-Based Program Editors",
journal = j-TOPLAS,
volume = "16",
number = "1",
pages = "102--150",
month = jan,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174628.html",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; experimentation",
subject = "{\bf D.2.3}: Software, SOFTWARE ENGINEERING, Coding,
Program editors. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Programmer
workbench. {\bf D.2.2}: Software, SOFTWARE ENGINEERING,
Tools and Techniques, Software libraries. {\bf D.2.3}:
Software, SOFTWARE ENGINEERING, Coding, Pretty
printers. {\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf I.2.2}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Automatic
Programming, Program synthesis. {\bf K.6.3}: Computing
Milieux, MANAGEMENT OF COMPUTING AND INFORMATION
SYSTEMS, Software Management, Software development.
{\bf K.6.3}: Computing Milieux, MANAGEMENT OF COMPUTING
AND INFORMATION SYSTEMS, Software Management, Software
maintenance. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Computer-aided
software engineering (CASE).",
}
@Article{Purtilo:1994:PSB,
author = "James M. Purtilo",
title = "The {POLYLITH} Software Bus",
journal = j-TOPLAS,
volume = "16",
number = "1",
pages = "151--174",
month = jan,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174629.html",
abstract = "We describe a system called POLYLITH that helps
programmers prepare and interconnect mixed-language
software components for execution in heterogeneous
environments. POLYLITH's principal benefit is that
programmers are free to implement functional
requirements separately from their treatment of
interfacing requirements; this means that once an
application has been developed for use in one execution
environment (such as a distributed network) it can be
adapted for reuse in other environments (such as a
shared-memory multiprocessor) by automatic techniques.
This flexibility is provided without loss of
performance. We accomplish this by creating a new
run-time organization for software. An abstract
decoupling agent, called the {\em software bus}, is
introduced between the system components. Heterogeneity
in language and architecture is accommodated since
program units are prepared to interface directly to the
bus and not to other program units. Programmers specify
application structure in terms of a module
interconnection language (MIL); POLYLITH uses this
specification to guide {\em packaging\/} (static
interfacing activities such as stub generation, source
program adaptation, compilation, and linking). At run
time, an implementation of the bus abstraction may
assist in message delivery, name service, or system
reconfiguration.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages",
subject = "{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Modules and interfaces. {\bf D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors.",
}
@Article{Harrold:1994:ECI,
author = "Mary Jean Harrold and Mary Lou Soffa",
title = "Efficient Computation of Interprocedural
Definition-Use Chains",
journal = j-TOPLAS,
volume = "16",
number = "2",
pages = "175--204",
month = mar,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174663.html",
abstract = "The dependencies that exist among definitions and uses
of variables in a program are required by many
language-processing tools. This paper considers the
computation of definition-use and use-definition chains
that extend across procedure boundaries at call and
return sites. Intraprocedural definition and use
information is abstracted for each procedure and is
used to construct an interprocedural flow graph. This
intraprocedural data-flow information is then
propagated throughout the program via the
interprocedural flow graph to obtain sets of reaching
definitions and/or reachable uses for reach
interprocedural control point, including procedure
entry, exit, call, and return. Interprocedural
definition-use and/or use-definition chains are
computed from this reaching information. The technique
handles the interprocedural effects of the data flow
caused by both reference parameters and global
variables, while preserving the calling context of
called procedures. Additionally, recursion, aliasing,
and separate compilation are handled. The technique has
been implemented using a Sun-4 Workstation and
incorporated into an interprocedural data-flow tester.
Results from experiments indicate the practicality of
the technique, both in terms of the size of the
interprocedural flow graph and the size of the
data-flow sets.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.2.5}: Software,
SOFTWARE ENGINEERING, Testing and Debugging. {\bf
D.2.6}: Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers.",
}
@Article{Mulkers:1994:LSD,
author = "Anne Mulkers and William Winsborough and Maurice
Bruynooghe",
title = "Live-Structure Dataflow Analysis for {Prolog}",
journal = j-TOPLAS,
volume = "16",
number = "2",
pages = "205--258",
month = mar,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174664.html",
abstract = "For the class of applicative programming languages,
efficient methods for reclaiming the memory occupied by
released data structures constitute an important aspect
of current implementations. The present article
addresses the problem of memory reuse for logic
programs through program analysis rather than by
run-time garbage collection. The aim is to derive
run-time properties that can be used at compile time to
specialize the target code for a program according to a
given set of queries and to automatically introduce
destructive assignments in a safe and transparent way
so that fewer garbage cells are created.\par
The dataflow analysis is constructed as an application
of abstract interpretation for logic programs. An
abstract domain for describing structure-sharing and
liveness properties is developed as are primitive
operations that guarantee a sound and terminating
global analysis. We explain our motivation for the
design of the abstract domain, make explicit the
underlying implementation assumptions, and discuss the
precision of the results obtained by a prototype
analyzer.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; performance; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Prolog. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Optimization. {\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 I.2.3}: Computing
Methodologies, ARTIFICIAL INTELLIGENCE, Deduction and
Theorem Proving, Logic programming.",
}
@Article{Jonsson:1994:CSV,
author = "Bengt Jonsson",
title = "Compositional Specification and Verification of
Distributed Systems",
journal = j-TOPLAS,
volume = "16",
number = "2",
pages = "259--303",
month = mar,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/174665.html",
abstract = "We present a method for specification and verification
of distributed systems that communicate via
asynchronous message passing. The method handles both
safety and liveness properties. It is compositional,
i.e., a specification of a composite system can be
obtained from specifications of its components.
Specifications are given as labeled transition systems
with fairness properties, using a program-like notation
with guarded multiple assignments. Compositionality is
attained by partitioning the labels of a transition
system into input events, which intuitively denote
message receptions, and output events, which
intuitively denote message transmissions. A
specification denotes a set of allowed sequences of
message transmissions and receptions, in analogy with
the way finite automata are used as acceptors of finite
strings. A lower-level specification implements a
higher-level one. We present a verification technique
which reduces the problem of verifying the correctness
of an implementation to classical verification
conditions. Safety properties are verified by
establishing a simulation relation between transition
systems. Liveness properties are verified using methods
for proving termination under fairness assumptions.
Since specifications can be given at various levels of
abstraction, the method is suitable in a development
process where a detailed implementation is developed
from an abstract specification through a sequence of
refinement steps. As an application of the method, an
algorithm by Thomas for updating a distributed database
is specified and verified.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 C.2.2}: Computer Systems Organization,
COMPUTER-COMMUNICATION NETWORKS, Network Protocols,
Protocol verification. {\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.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification, Correctness
proofs.",
}
@Article{Pinter:1994:POP,
author = "Shlomit S. Pinter and Ron Y. Pinter",
title = "Program Optimization and Parallelization Using
Idioms",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "305--327",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177494.html",
abstract = "Programs in languages such as Fortran, Pascal, and C
were designed and written for a sequential machine
model. During the last decade, several methods to
vectorize such programs and recover other forms of
parallelism that apply to more advanced machine
architectures have been developed (particularly for
Fortran, due to its pointer-free semantics). We propose
and demonstrate a more powerful translation technique
for making such programs run efficiently on parallel
machines which support facilities such as parallel
prefix operations as well as parallel and vector
capabilities. This technique, which is global in nature
and involves a modification of the traditional
definition of the program dependence graph (PDG), is
based on the extraction of parallelizable program
structures (``idioms'') from the given (sequential)
program. The benefits of our technique extend beyond
the above-mentioned architectures and can be viewed as
a general program optimization method, applicable in
many other situations. We show a few examples in which
our method indeed outperforms existing analysis
techniques.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Translator writing systems and compiler
generators. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Optimization.",
}
@Article{Bloss:1994:PAO,
author = "Adrienne Bloss",
title = "Path Analysis and the Optimization of Nonstrict
Functional Languages",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "328--369",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177497.html",
abstract = "The functional programming style is increasingly
popular in the research world, but functional languages
still execute slowly relative to imperative languages.
This is largely because the power and flexibility of
functional languages restrict the amount of information
readily available to the compiler, hindering its
ability to generate good code. This article
demonstrates that information about {\em order of
evaluation of expressions\/} can be statically inferred
for nonstrict functional programs and that
optimizations based on this information can provide
substantial speedups at runtime. We present an exact,
nonstandard semantics called {\em path semantics\/}
that models order of evaluation in a nonstrict,
sequential functional language, and its computable
abstraction, {\em path analysis}. We show how the
information inferred by path analysis can be used to
implement destructive aggregate updating, in which
updates on functional aggregates that are provably not
live are done destructively. We also demonstrate a new
approach to strictness analysis and show that
strictness analysis is subsumed by path analysis.
Benchmarks are presented.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages; 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.3.1}: Software,
PROGRAMMING LANGUAGES, Formal Definitions and Theory,
Semantics. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors,
Optimization. {\bf E.1}: Data, DATA STRUCTURES, Arrays.
{\bf F.3.2}: Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Semantics of Programming Languages,
Denotational semantics.",
}
@Article{Gupta:1994:ERA,
author = "Rajiv Gupta and Mary Lou Soffa and Denise Ombres",
title = "Efficient Register Allocation via Coloring Using
Clique Separators",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "370--386",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177499.html",
abstract = "Although graph coloring is widely recognized as an
effective technique for register allocation, memory
demands can become quite high for large interference
graphs that are needed in coloring. In this paper we
present an algorithm that uses the notion of clique
separators to improve the space overhead of coloring.
The algorithm, based on a result by R. Tarjan regarding
the colorability of graphs, partitions program code
into code segments using clique separators. The
interference graphs for the code partitions are
constructed one at a time and colored independently.
The colorings for the partitions are combined to obtain
a register allocation for the entire program. This
approach can be used to perform register allocation in
a space-efficient manner. For straight-line code (e.g.,
local register allocation), an optimal allocation can
be obtained from optimal allocations for individual
code partitions. Experimental results are presented
demonstrating memory demand reductions for interference
graphs when allocating registers using clique
separators.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Code generation.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf C.0}: Computer Systems
Organization, GENERAL, Hardware/software interfaces.",
}
@Article{Copperman:1994:DOC,
author = "Max Copperman",
title = "Debugging Optimized Code Without Being Misled",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "387--427",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177517.html",
abstract = "Correct optimization can change the behavior of an
incorrect program; therefore at times it is necessary
to debug optimized code. However, optimizing compilers
produce code that impedes source-level
debugging.\par
Optimization can cause an inconsistency between where
the user expects a breakpoint to be located and the
breakpoint's actual location. This article describes a
mapping between statements and breakpoint locations
that ameliorates this problem. The mapping enables
debugger behavior on optimized code that approximates
debugger behavior on unoptimized code sufficiently
closely for the user to use traditional debugging
strategies.\par
Optimization can also cause the value of a variable to
be {\em noncurrent\/}---to differ from the value that
would be predicted by a close reading of the source
code. This article presents a method of determining
when this has occurred, and shows how a debugger can
describe the relevant effects of optimization. The
determination method is more general than previously
published methods; it handles global optimization and
many flow graph transformations, and it is not tightly
coupled to optimizations performed by a particular
compiler. Necessary compiler support is also
described.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "performance; verification",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Debugging aids. {\bf D.2.6}: Software,
SOFTWARE ENGINEERING, Programming Environments. {\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.",
}
@Article{Briggs:1994:IGC,
author = "Preston Briggs and Keith D. Cooper and Linda Torczon",
title = "Improvements to Graph Coloring Register Allocation",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "428--455",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177575.html",
abstract = "We describe two improvements to Chaitin-style graph
coloring register allocators. The first, {\em
optimistic coloring}, uses a stronger heuristic to find
a $k$-coloring for the interference graph. The second
extends Chaitin's treatment of {\em
rematerialization\/} to handle a larger class of
values. These techniques are complementary. Optimistic
coloring decreases the number of procedures that
require spill code and reduces the amount of spill code
when spilling is unavoidable. Rematerialization lowers
the cost of spilling some values. This paper describes
both of the techniques and our experience building and
using register allocators that incorporate them. It
provides a detailed description of optimistic coloring
and rematerialization. It presents experimental data to
show the performance of several versions of the
register allocator on a suite of FORTRAN programs. It
discusses several insights that we discovered only
after repeated implementation of these allocators.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Jagannathan:1994:MBB,
author = "Suresh Jagannathan",
title = "Metalevel Building Blocks for Modular Systems",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "456--492",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177578.html",
abstract = "The formal definition of any namespace device found in
a programming language can be given in terms of
transformations on a semantic environment. It is
worthwhile, therefore, to consider the implications of
incorporating environments as bona fide data objects in
a programming system.\par
In this article, we propose a treatment of environments
and the mechanism by which they are reified and
manipulated, that addresses these concerns. The
language described below (Rascal) permits environments
to be reified into data structures, and data structures
to be reflected into environments, but gives users
great flexibility to constrain the extent and scope of
these processes. We argue that the techniques and
operators developed define a cohesive basis for
building large-scale modular systems using reflective
programming techniques.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages",
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, Denotational semantics.",
}
@Article{Kennaway:1994:AGR,
author = "J. R. Kennaway and J. W. Klop and M. R. Sleep and F.
J. {De Vries}",
title = "On the Adequacy of Graph Rewriting for Simulating Term
Rewriting",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "493--523",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177577.html",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Grammars and Other Rewriting
Systems. {\bf F.1.1}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Models of Computation.
{\bf F.4.1}: Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic.",
}
@Article{Crowl:1994:PPC,
author = "Lawrence A. Crowl and Thomas J. LeBlanc",
title = "Parallel Programming with Control Abstraction",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "524--576",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177584.html",
abstract = "Parallel programming involves finding the potential
parallelism in an application and mapping it to the
architecture at hand. Since a typical application has
more potential parallelism than any single architecture
can exploit effectively, programmers usually limit
their focus to the parallelism that the available
control constructs express easily and that the given
architecture exploits efficiently. This approach
produces programs that exhibit much less parallelism
that exists in the application, and whose performance
depends critically on the underlying hardware and
software.\par
We argue for an alternative approach based on {\em
control abstraction}. Control abstraction is the
process by which programmers define new control
constructs, specifying constraints on statement
ordering separately from an implementation of that
ordering. With control abstraction programmers can
define and use a rich variety of control constructs to
represent an algorithm's potential
parallelism.\par
Since control abstraction separates the definition of a
construct from its implementation, a construct may have
several different implementations, each exploiting a
different subset of the parallelism admitted by the
construct. By selecting an implementation for each
control construct using annotations, a programmer can
vary the parallelism in a program to best exploit the
underlying hardware without otherwise changing the
source code. This approach produces programs that
exhibit most of the potential parallelism in an
algorithm, and whose performance can be tuned simply by
choosing among the various implementations for the
control constructs in use.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.1.3}: Software, PROGRAMMING
TECHNIQUES, Concurrent Programming, Parallel
programming. {\bf D.2.m}: Software, SOFTWARE
ENGINEERING, Miscellaneous, Reusable software. {\bf
D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Concurrent, distributed, and parallel
languages. {\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, Control
structures. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features,
Procedures, functions, and subroutines. {\bf F.3.3}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Studies of Program Constructs, Control primitives.",
}
@Article{Foster:1994:CAS,
author = "Ian Foster and Stephen Taylor",
title = "A Compiler Approach to Scalable Concurrent-Program
Design",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "577--604",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177612.html",
abstract = "We describe a compilation system for the concurrent
programming language Program Composition Notation
(PCN). This notation provides a {\em single-assignment
programming model\/} that permits
concurrent-programming concerns such as decomposition,
communication, synchronization, mapping, granularity,
and load balancing to be addressed separately in a
design. PCN is also extensible with {\em
programmer-defined operators}, allowing common
abstractions to be encapsulated and reused in different
contexts.\par
The compilation system incorporates a {\em
concurrent-transformation system\/} that allows
abstractions to be defined through concurrent
source-to-source transformations; these convert
programmer-defined operators into a core notation. {\em
Run-time techniques\/} allow the core notation to be
compiled into a simple concurrent abstract machine
which can be implemented in a portable fashion using a
run-time library. The abstract machine provides a
uniform treatment of single-assignment and mutable data
structures, allowing data sharing between concurrent
and sequential program segments and permitting
integration of sequential C and Fortran code into
concurrent programs.\par
This compilation system forms part of a program
development toolkit that operates on a wide variety of
networked workstations, multicomputers, and
shared-memory multiprocessors. The toolkit has been
used both to develop substantial applications and to
teach introductory concurrent-programming classes,
including a freshman course at Caltech.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; languages",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf D.1.3}: Software,
PROGRAMMING TECHNIQUES, Concurrent Programming. {\bf
D.2.10}: Software, SOFTWARE ENGINEERING, Design,
Methodologies. {\bf D.3.4}: Software, PROGRAMMING
LANGUAGES, Processors, Run-time environments.",
}
@Article{Arbab:1994:SCD,
author = "Bijan Arbab and Daniel Berry",
title = "Some Comments on ``{A} Denotational Semantics for
{Prolog}''",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "605--606",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177605.html",
abstract = "Two independently derived denotational semantics for
Prolog are contrasted, Arbab and Berry's for the full
language and Nicholson and Foo's for a databaseless
language. Using the ideas suggested by the former, the
latter can be easily extended to include the database
operations.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory, Semantics. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Logic programming.",
}
@Article{Marriott:1994:DAI,
author = "Kim Marriott and Harald S{\o}ndergaard and Neil D.
Jones",
title = "Denotational Abstract Interpretation of Logic
Programs",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "607--648",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib; Compiler/TOPPS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177650.html",
abstract = "Logic-programming languages are based on a principle
of separation ``logic'' and ``control.''. This means
that they can be given simple model-theoretic semantics
without regard to any particular execution mechanism
(or proof procedure, viewing execution as theorem
proving). Although the separation is desirable from a
semantical point of view, it makes sound, efficient
implementation of logic-programming languages
difficult. The lack of ``control information'' in
programs calls for complex data-flow analysis
techniques to guide execution. Since data-flow analysis
furthermore finds extensive use in error-finding and
transformation tools, there is a need for a simple and
powerful theory of data-flow analysis of logic
programs.\par
This paper offers such a theory, based on F. Nielson's
extension of P. Cousot and R. Cousot's {\em abstract
interpretation}. We present a denotational definition
of the semantics of definite logic programs. This
definition is of interest in its own right because of
its compactness. Stepwise we develop the definition
into a generic data-flow analysis that encompasses a
large class of data-flow analyses based on the SLD
execution model. We exemplify one instance of the
definition by developing a provably correct groundness
analysis to predict how variables may be bound to
ground terms during execution. We also discuss
implementation issues and related work.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "abstract interpretation; flow analysis; languages;
logical relations; Prolog; theory",
semno = "D-94",
subject = "{\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. {\bf F.3.1}: Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS,
Specifying and Verifying and Reasoning about Programs,
Specification techniques. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic, Logic programming.",
summary = "A framework is established for the static analysis of
prolog programs. The framework is quite general and is
solidly based in a formal semantics, thus enabling
rigorous correctness proofs of various analyses. The
methods used include an adaptation of logical relations
as applied by Nielson and Nielson.",
}
@Article{Codish:1994:SAC,
author = "Michael Codish and Moreno Falaschi and Kim Marriott",
title = "Suspension Analyses for Concurrent Logic Programs",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "649--686",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177656.html",
abstract = "Concurrent logic languages specify reactive systems
which consist of collections of communicating
processes. The presence of unintended suspended
computations is a common programming error which is
difficult to detect using standard debugging and
testing techniques. We develop a number of analyses,
based on abstract interpretation, which succeed if a
program is definitely suspension free. If an analysis
fails, the program may, or may not, be suspension free.
Examples demonstrate that the analyses are practically
useful. They are conceptually simple and easy to
justify because they are based directly on the
transition system semantics of concurrent logic
programs. A naive analysis must consider {\em all
scheduling policies}. However, it is proven that for
our analyses it suffices to consider only {\em one\/}
scheduling policy, allowing for efficient
implementation.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages",
subject = "{\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 F.3.1}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Specifying and Verifying and
Reasoning about Programs, Logics of programs. {\bf
D.1.6}: Software, PROGRAMMING TECHNIQUES, Logic
Programming. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Concurrent,
distributed, and parallel languages. {\bf D.1.3}:
Software, PROGRAMMING TECHNIQUES, Concurrent
Programming. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages, Operational semantics.",
}
@Article{Apt:1994:OCF,
author = "Krzysztof R. Apt and Alessando Pellegrini",
title = "On the Occur-Check-Free {Prolog} Programs",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "687--726",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177673.html",
abstract = "In most PROLOG implementations, for efficiency
occur-check is omitted from the unification algorithm.
This paper provides natural syntactic conditions that
allow the occur-check to be safely omitted. The
established results apply to most well-known PROLOG
programs, including those that use difference lists,
and seem to explain why this omission does not lead in
practice to any complications. When applying these
results to general programs, we show their usefulness
for proving absence of floundering. Finally, we propose
a program transformation that transforms every program
into a program for which only the calls to the built-in
unification predicate need to be resolved by a
unification algorithm with the occur-check.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages; theory",
subject = "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
Classifications, Prolog. {\bf F.4.1}: Theory of
Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
Mathematical Logic, Logic programming. {\bf F.4.1}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Mathematical Logic, Mechanical theorem
proving. {\bf D.2.4}: Software, SOFTWARE ENGINEERING,
Program Verification, Correctness proofs. {\bf D.3.4}:
Software, PROGRAMMING LANGUAGES, Processors,
Preprocessors.",
}
@Article{Garlan:1994:TAM,
author = "David Garlan and Charles W. Krueger and Barbara S.
Lerner",
title = "{TransformGen}: Automating the Maintenance of
Structure-Oriented Environments",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "727--774",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177697.html",
abstract = "A serious problem for programs that use persistent
data is that information created and maintained by the
program becomes invalid if the persistent types used in
the program are modified in a new release.
Unfortunately, there has been little systematic
treatment of the problem; current approaches are
manual, ad hoc, and time consuming both for programmers
and users. In this article we present a new approach.
Focusing on the special case of managing abstract
syntax trees in structure-oriented environments, we
show how automatic transformers can be generated in
terms of an implementor's changes to the grammar of
these environments.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design",
subject = "{\bf D.2.6}: Software, SOFTWARE ENGINEERING,
Programming Environments. {\bf D.2.2}: Software,
SOFTWARE ENGINEERING, Tools and Techniques. {\bf
D.2.6}: Software, SOFTWARE ENGINEERING, Programming
Environments. {\bf D.2.7}: Software, SOFTWARE
ENGINEERING, Distribution and Maintenance. {\bf H.2.1}:
Information Systems, DATABASE MANAGEMENT, Logical
Design, Schema and subschema.",
}
@Article{Yu:1994:LTS,
author = "Lin Yu and Daniel J. Rosenkrantz",
title = "A Linear-Time Scheme for Version Reconstruction",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "775--797",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177705.html",
abstract = "An efficient scheme to store and reconstruct versions
of sequential files is presented. The reconstruction
scheme involves building a data structure representing
a complete version, and then successively modifying
this data structure by applying a sequence of specially
formatted differential files to it. Each application of
a differential file produces a representation of an
intermediate version, with the final data structure
representing the requested version.\par
The scheme uses a linked list to represent an
intermediate version, instead of a sequential array, as
is used traditionally. A new format for differential
files specifying changes to this linked list data
structure is presented. The specification of each
change points directly to where the change is to take
place, thereby obviating a search. Algorithms are
presented for using such a new format differential file
to transform the representation of a version, and for
reconstructing a requested version. Algorithms are also
presented for generating the new format differential
files, both for the case of a forward differential
specifying how to transform the representation of an
old version to the representation of a new version, and
for the case of a reverse differential specifying how
to transform the representation of a new version to the
representation of an old version.\par
The new version reconstruction scheme takes time linear
in the sum of the size of the initial complete version
and the sizes of the file differences involved in
reconstructing the requested version. In contrast, the
classical scheme for reconstructing versions takes time
proportional to the sum of the sizes of the sequence of
versions involved in the reconstruction, and therefore
has a worst-case time that is quadratic in the sum of
the size of the initial complete version and the sizes
of the file differences. The time cost of the new
differential file generation scheme is comparable to
the time cost of the classical differential file
generation scheme.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
subject = "{\bf H.2.5}: Information Systems, DATABASE MANAGEMENT,
Heterogeneous Databases, Program translation. {\bf
H.3.2}: Information Systems, INFORMATION STORAGE AND
RETRIEVAL, Information Storage, File organization. {\bf
H.2.1}: Information Systems, DATABASE MANAGEMENT,
Logical Design. {\bf H.2.0}: Information Systems,
DATABASE MANAGEMENT, General, Security, integrity, and
protection. {\bf H.2.5}: Information Systems, DATABASE
MANAGEMENT, Heterogeneous Databases, Data translation.
{\bf D.2.7}: Software, SOFTWARE ENGINEERING,
Distribution and Maintenance.",
}
@Article{Rao:1994:RAP,
author = "Josyula R. Rao",
title = "Reasoning about Probabilistic Parallel Programs",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "798--842",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177724.html",
abstract = "The use of randomization in the design and analysis of
algorithms promises simple and efficient algorithms to
difficult problems, some of which may not have a
deterministic solution. This gain in simplicity,
efficiency, and solvability results in a trade-off of
the traditional notion of absolute correctness of
algorithms for a more quantitative notion: correctness
with a probability between 0 and 1. The addition of the
notion of parallelism to the already unintuitive idea
of randomization makes reasoning about probabilistic
parallel programs all the more tortuous and
difficult.\par
In this paper we address the problem of specifying and
deriving properties of probabilistic parallel programs
that either hold deterministically or with probability
1. We present a proof methodology based on existing
proof systems for probabilistic algorithms, the theory
of the predicate transformer, and the theory of UNITY.
Although the proofs of probabilistic programs are
slippery at best, we show that such programs can be
derived with the same rigor and elegance that we have
seen in the derivation of sequential and parallel
programs. By applying this methodology to derive
probabilistic programs, we hope to develop tools and
techniques that would make randomization a useful
paradigm in algorithm design.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; verification",
subject = "{\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,
Parallel programming. {\bf D.2.4}: Software, SOFTWARE
ENGINEERING, Program Verification, Correctness proofs.
{\bf D.2.10}: Software, SOFTWARE ENGINEERING, Design,
Methodologies. {\bf G.3}: Mathematics of Computing,
PROBABILITY AND STATISTICS, Probabilistic algorithms
(including Monte Carlo).",
}
@Article{Grumberg:1994:MCM,
author = "Orna Grumberg and David E. Long",
title = "Model Checking and Modular Verification",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "843--871",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177725.html",
abstract = "We describe a framework for compositional verification
of finite-state processes. The framework is based on
two ideas: a subset of the logic CTL for which
satisfaction is preserved under composition, and a
preorder on structures which captures the relation
between a component and a system containing the
component. Satisfaction of a formula in the logic
corresponds to being below a particular structure (a
tableau for the formula) in the preorder. We show how
to do assume-guarantee-style reasoning within this
framework. Additionally, we demonstrate efficient
methods for model checking in the logic and for
checking the preorder in several special cases. We have
implemented a system based on these methods, and we use
it to give a compositional verification of a CPU
controller.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; 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
D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Computer-aided software engineering (CASE).
{\bf D.2.2}: Software, SOFTWARE ENGINEERING, Tools and
Techniques, Decision tables. {\bf D.2.4}: Software,
SOFTWARE ENGINEERING, Program Verification. {\bf
F.1.1}: Theory of Computation, COMPUTATION BY ABSTRACT
DEVICES, Models of Computation, Relations among
models.",
}
@Article{Lamport:1994:TLA,
author = "Leslie Lamport",
title = "The Temporal Logic of Actions",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "872--923",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177726.html",
abstract = "The temporal logic of actions (TLA) is a logic for
specifying and reasoning about concurrent systems.
Systems and their properties are represented in the
same logic, so the assertion that a system meets its
specification and the assertion that one system
implements another are both expressed by logical
implication. TLA is very simple; its syntax and
complete formal semantics are summarized in about a
page. Yet, TLA is not just a logician's toy; it is
extremely powerful, both in principle and in practice.
This report introduces TLA and describes how it is used
to specify and verify concurrent algorithms. The use of
TLA to specify and reason about open systems will be
described elsewhere.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
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 D.2.4}: Software, SOFTWARE ENGINEERING, Program
Verification, Correctness proofs.",
}
@Article{Broy:1994:AFC,
author = "Manfred Broy and Greg Nelson",
title = "Adding Fair Choice to {Dijkstra}'s Calculus",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "924--938",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177727.html",
abstract = "The paper studies the incorporation of a fair
nondeterministic choice operator into a generalization
of Dijkstra's calculus of guarded commands. The
generalization drops the law of the excluded miracle to
allow commands that correspond to partial relations.
Because of fairness, the new operator is not monotonic
for the orderings that are generally used for proving
the existence of least fixed points for recursive
definitions. To prove the existence of fixed points it
is necessary to consider several orderings at once, and
to restrict the class of recursive definitions.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; theory",
subject = "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Concurrent programming
structures. {\bf D.3.1}: Software, PROGRAMMING
LANGUAGES, Formal Definitions and Theory, Semantics.
{\bf F.1.2}: Theory of Computation, COMPUTATION BY
ABSTRACT DEVICES, Modes of Computation, Alternation and
nondeterminism.",
}
@Article{Afek:1994:BFF,
author = "Yehuda Afek and Danny Dolev and Eli Gafni and Michael
Merritt and Nir Shavit",
title = "A Bounded First-In, First-Enabled Solution to the $
\ell $-Exclusion Problem",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "939--953",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177731.html",
abstract = "This article presents a solution to the first-come,
first-enabled $ \ell $-exclusion problem of Fischer et
al. [1979]. Unlike their solution, this solution does
not use powerful read-modify-write synchronization
primitives and requires only bounded shared memory. Use
of the concurrent timestamp system of Dolev and Shavir
[1989] is key in solving the problem within bounded
shared memory.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; reliability",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Mutual exclusion.",
}
@Article{Joung:1994:CFO,
author = "Yuh-Jzer Joung and Scott A. Smolka",
title = "Coordinating First-Order Multiparty Interactions",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "954--985",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177739.html",
abstract = "A {\em first-order multiparty interaction\/} is an
abstraction mechanism that defines communication among
a set of {\em formal process roles}. Actual processes
participate in a first-order interaction by {\em
enroling\/} into roles, and execution of the
interaction can proceed when all roles are filled by
distinct processes. As in CSP, enrolement statements
can serve as guards in alternative commands. The {\em
enrolement guard-scheduling problem\/} then is to
enable the execution of first-order interactions
through the judicious scheduling of roles to processes
that are currently ready to execute enrolement
guards.\par
We present a fully distributed and message-efficient
algorithm for the enrolement guard-scheduling problem,
the first such solution of which we are aware. We also
describe several extensions of the algorithm,
including: {\em generic roles; dynamically changing
environments}, where processes can be created and
destroyed at run time; and {\em nested-enrolement},
which allows interactions to be nested.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages",
subject = "{\bf D.4.1}: Software, OPERATING SYSTEMS, Process
Management, Synchronization. {\bf D.4.1}: Software,
OPERATING SYSTEMS, Process Management, Scheduling. {\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.4}: Software,
OPERATING SYSTEMS, Communications Management,
Input/Output. {\bf D.4.7}: Software, OPERATING SYSTEMS,
Organization and Design, Distributed systems.",
}
@Article{Reiter:1994:HSR,
author = "Michael K. Reiter and Kenneth P. Birman",
title = "How to Securely Replicate Services",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "986--1009",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177745.html",
abstract = "We present a method for constructing replicated
services that retain their availability and integrity
despite several servers and clients being corrupted by
an intruder, in addition to others failing benignly. We
also address the issue of maintaining a causal order
among client requests. We illustrate a security breach
resulting from an intruder's ability to effect a
violation of causality in the sequence of requests
processed by the service and propose an approach to
counter this attack. An important and novel feature of
our techniques is that the client need not be able to
identify or authenticate even a single server. Instead,
the client is required to possess only a single public
key for the service. We demonstrate the performance of
our techniques with a service we have implemented using
one of our protocols.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "reliability; security",
subject = "{\bf D.4.5}: Software, OPERATING SYSTEMS, Reliability,
Fault-tolerance. {\bf C.2.0}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS, General,
Security and protection. {\bf C.2.4}: Computer Systems
Organization, COMPUTER-COMMUNICATION NETWORKS,
Distributed Systems. {\bf D.4.5}: Software, OPERATING
SYSTEMS, Reliability, Fault-tolerance. {\bf D.4.6}:
Software, OPERATING SYSTEMS, Security and Protection,
Authentication. {\bf D.4.6}: Software, OPERATING
SYSTEMS, Security and Protection, Cryptographic
controls. {\bf K.6.5}: Computing Milieux, MANAGEMENT OF
COMPUTING AND INFORMATION SYSTEMS, Security and
Protection, Authentication.",
}
@Article{Heering:1994:LIP,
author = "J. Heering and P. Klint and J. Rekers",
title = "Lazy and Incremental Program Generation",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "1010--1023",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177750.html",
abstract = "Current program generators usually operate in a {\em
greedy\/} manner in the sense that a program must be
generated in its entirety before it can be used. If
generation time is scarce, or if the input to the
generator is subject to modification, it may be better
to be more cautious and to generate only those parts of
the program that are indispensable for processing the
particular data at hand. We call this {\em lazy program
generation}. Another, closely related strategy is {\em
incremental program generation}. When its input is
modified, an incremental generator will try to make a
corresponding modification in its output rather than
generate a completely new program. It may be
advantageous to use a combination of both strategies in
program generators that have to operate in a highly
dynamic and/or interactive environment.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; performance",
subject = "{\bf D.1.2}: Software, PROGRAMMING TECHNIQUES,
Automatic Programming. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
D.3.4}: Software, PROGRAMMING LANGUAGES, Processors,
Parsing. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Translator writing systems and compiler
generators.",
}
@Article{Thorup:1994:CGA,
author = "Mikkel Thorup",
title = "Controlled Grammatic Ambiguity",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "1024--1050",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177759.html",
abstract = "A new approach to ambiguity of context-free grammars
is presented, and within this approach the LL and LR
techniques are generalized to solve the following
problems for large classes of ambiguous
grammars:\par
\begin{itemize} \item Construction of a parser that
accepts all sentences generated by the grammar, and
which always terminates in linear time.\par
\item Identification of the structural ambiguity: a
finite set of pairs of partial parse trees is
constructed; if for each pair the two partial parse
trees are semantically equivalent, the ambiguity of the
grammar is semantically irrelevant.\par
\end{itemize} The user may control the parser
generation so as to get a parser which finds some
specific parse trees for the sentences. The generalized
LL and LR techniques will still guarantee that the
resulting parser accepts all sentences and terminates
in linear time on all input.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "design; 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. {\bf D.3.1}:
Software, PROGRAMMING LANGUAGES, Formal Definitions and
Theory. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages.",
}
@Article{Bates:1994:RSL,
author = "Joseph Bates and Alon Lavie",
title = "Recognizing Substrings of {LR$ (k) $} Languages in
Linear Time",
journal = j-TOPLAS,
volume = "16",
number = "3",
pages = "1051--1077",
month = may,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/177768.html",
abstract = "LR parsing techniques have long been studied as being
efficient and powerful methods for processing
context-free languages. A linear-time algorithm for
recognizing languages representable by LR(k) grammars
has long been known. Recognizing substrings of a
context-free language is at least as hard as
recognizing full strings of the language, since the
latter problem easily reduces to the former. In this
article we present a linear-time algorithm for
recognizing substrings of LR(k) languages, thus showing
that the substring recognition problem for these
languages is no harder than the full string recognition
problem. An interesting data structure, the
Forest-Structured Stack, allows the algorithm to track
all possible parses of a substring without loosing the
efficiency of the original LR parser. We present the
algorithm, prove its correctness, analyze its
complexity, and mention several applications that have
been constructed.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
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, Parsing.
{\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, Grammar types. {\bf F.4.3}:
Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
LANGUAGES, Formal Languages, Classes defined by
grammars or automata.",
}
@Article{Appel:1994:E,
author = "Andrew Appel and Charles Fischer",
title = "Editorial",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1079--1079",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "Compiler/TOPLAS.bib;
https://www.math.utah.edu/pub/tex/bib/toplas.bib",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
}
@Article{Bossi:1994:TAP,
author = "Annalisa Bossi and Sandro Etalle",
title = "Transforming Acyclic Programs",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1081--1096",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183434.html",
abstract = "An unfold/fold transformation system is a
source-to-source rewriting methodology devised to
improve the efficiency of a program. Any such
transformation should preserve the main properties of
the initial program: among them, termination. In the
field of logic programming, the class of acyclic
programs plays an important role in this respect, since
it is closely related to the one of terminating
programs. The two classes coincide when negation is not
allowed in the bodies of the clauses.\par
We prove that the Unfold/Fold transformation system
defined by Tamaki and Sato preserves the acyclicity of
the initial program. From this result, it follows that
when the transformation is applied to an acyclic
program, then the finite failure set for definite
programs is preserved; in the case of normal programs,
all major declarative and operational semantics are
preserved as well. These results cannot be extended to
the class of left-terminating programs without
modifying the definition of the transformation.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf D.1.6}: Software, PROGRAMMING TECHNIQUES, Logic
Programming. {\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, Logic programming. {\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.",
}
@Article{Choi:1994:SSP,
author = "Jong-Deok Choi and Jeanne Ferrante",
title = "Static Slicing in the Presence of Goto Statements",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1097--1113",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183438.html",
abstract = "A static program slice is an extract of a program
which can help our understanding of the behavior of the
program; it has been proposed for use in debugging,
optimization, parallelization, and integration of
programs. This article considers two types of static
slices: executable and nonexecutable. Efficient and
well-founded methods have been developed to construct
executable slices for programs without goto statements;
it would be tempting to assume these methods would
apply as well in programs with arbitrary goto
statements. We show why previous methods do not work in
this more general setting, and describe our solutions
that correctly and efficiently compute executable
slices for programs even with arbitrary goto
statements. Our conclusion is that goto statements can
be accommodated in generating executable static
slices.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Debugging aids. {\bf D.2.6}: Software,
SOFTWARE ENGINEERING, Programming Environments.",
}
@Article{Wolfe:1994:DDD,
author = "Michael Wolfe",
title = "The Definition of Dependence Distance",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1114--1116",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183440.html",
abstract = "Several definitions of dependence distance can be
found in the literature. A single coherent definition
is the vector distance between the iteration vectors of
two iterations involved in a dependence relation.
Different ways to associate iteration vectors with
iterations can give different dependence distances to
the same program, and have different advantages.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Knoop:1994:OCM,
author = "Jens Knoop and Oliver {R{\"u}thing} and Bernhard
Steffen",
title = "Optimal Code Motion: Theory and Practice",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1117--1155",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183443.html",
abstract = "An implementation-oriented algorithm for {\em lazy
code motion\/} is presented that minimizes the number
of computations in programs while suppressing any
unnecessary code motion in order to avoid superfluous
register pressure. In particular, this variant of the
original algorithm for lazy code motion works on
flowgraphs whose nodes are basic blocks rather than
single statements, since this format is standard in
optimizing compilers. The theoretical foundations of
the modified algorithm are given in the first part,
where $t$-refined flowgraphs are introduced for
simplifying the treatment of flow graphs whose nodes
are basic blocks. The second part presents the ``basic
block'' algorithm in standard notation and gives
directions for its implementation in standard compiler
environments.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Code generation.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf F.2.2}: Theory of
Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY, Nonnumerical Algorithms and Problems.",
}
@Article{Freudenberger:1994:ASC,
author = "Stefan Freudenberger and Thomas R. Gross and P.
Geoffrey Lowney",
title = "Avoidance and Suppression of Compensation Code in a
Trace Scheduling Compiler",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1156--1214",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183446.html",
abstract = "Trace scheduling is an optimization technique that
selects a sequence of basic blocks as a trace and
schedules the operations from the trace together. If an
operation is moved across basic block boundaries, one
or more compensation copies may be required in the
off-trace code. This article discusses the generation
of compensation code in a trace scheduling compiler and
presents techniques for limiting the amount of
compensation code: avoidance (restricting code motion
so that no compensation code is required) and
suppression (analyzing the global flow of the program
to detect when a copy is redundant). We evaluate the
effectiveness of these techniques based on measurements
for the SPEC89 suite and the Livermore Fortran Kernels,
using our implementation of trace scheduling for a
Multiflow Trace 7/300. The article compares different
compiler models contrasting the performance of trace
scheduling with the performance obtained from typical
RISC compilation techniques.\par
There are two key results of this study. First, the
amount of compensation code generated is not large. For
the SPEC89 suite, the average code size increase due to
trace scheduling is 6\%. Avoidance is more important
than suppression, although there are some kernels that
benefit significantly from compensation code
suppression. Since compensation code is not a major
issue, a compiler can be more aggressive in code motion
and loop unrolling. Second, compensation code is not
critical to obtain the benefits of trace scheduling.
Our implementation of trace scheduling improves the
SPEC mark rating by 30\% over basic block scheduling,
but restricting trace scheduling so that no
compensation code is required improves the rating by
25\%. This indicates that most basic block scheduling
techniques can be extended to trace scheduling without
requiring any complicated compensation code
bookkeeping.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; measurement; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Code generation.
{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Compilers.",
}
@Article{Hannan:1994:OSD,
author = "John Hannan",
title = "Operational Semantics-Directed Compilers and Machine
Architectures",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1215--1247",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183458.html",
abstract = "We consider the task of automatically constructing
intermediate-level machine architectures and compilers
generating code for these architectures, given
operational semantics for source languages. We use
operational semantics in the form of abstract machines
given by rewrite systems in which the rewrite rules
operate on terms representing states of computations.
To construct compilers and new architectures we employ
a particular strategy called pass separation, a form of
staging transformation, that takes a program $p$ and
constructs a pair of programs $ p_1, p_2$ such that $
p(x, y) = p_2 (p_1 (x), y)$ for all $ x, y$. If $p$
represents an operational semantics for a language,
with arguments $x$ and $y$ denoting a source program
and its input data, then pass separation constructs
programs $ p_1$ and $ p_2$ corresponding to a compiler
and an executor.\par
The compiler translates the source language into an
intermediate-level target language, and the executor
provides the definition for this language. Our use of
pass separation supports the automatic definition of
target languages or architectures, and the structure of
these architectures is directed by the structure of the
given source semantics. These architectures resemble
abstract machine languages found in hand-crafted
compilers. Our method is restricted to a limited class
of abstract machines given as term-rewriting systems,
but we argue that this class encompasses a large set of
language definitions derived from more natural
operational semantics. We provide two examples of our
method by constructing compilers and target
architectures for a simple functional language and a
simple imperative language. Though we construct these
architectures automatically, they bear a striking
resemblance to existing architectures constructed by
hand.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
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,
Operational semantics.",
}
@Article{Pugh:1994:SAU,
author = "William Pugh and David Wonnacott",
title = "Static Analysis of Upper and Lower Bounds on
Dependences and Parallelism",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1248--1278",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183525.html",
abstract = "Existing compilers often fail to parallelize
sequential code, even when a program can be manually
transformed into parallel form by a sequence of
well-understood transformations (as in the case for
many of the Perfect Club Benchmark programs). These
failures can occur for several reasons: the code
transformations implemented in the compiler may not be
sufficient to produce parallel code, the compiler may
not find the proper sequence of transformations, or the
compiler may not be able to prove that one of the
necessary transformations is legal.\par
When a compiler fails to extract sufficient parallelism
from a program, the programmer may try to extract
additional parallelism. Unfortunately, the programmer
is typically left to search for parallelism without
significant assistance. The compiler generally does not
give feedback about which parts of the program might
contain additional parallelism, or about the types of
transformations that might be needed to realize this
parallelism. Standard program transformations and
dependence abstractions cannot be used to provide this
feedback.\par
In this paper, we propose a two-step approach to the
search for parallelism in sequential programs. In the
first step, we construct several sets of constraints
that describe, for each statement, which iterations of
that statement can be executed concurrently. By
constructing constraints that correspond to different
assumptions about which dependences might be eliminated
through additional analysis, transformations, and user
assertions, we can determine whether we can expose
parallelism by eliminating dependences. In the second
step of our search for parallelism, we examine these
constraint sets to identify the kinds of
transformations needed to exploit scalable parallelism.
Our tests will identify conditional parallelism and
parallelism that can be exposed by combinations of
transformations that reorder the iteration space (such
as loop interchange and loop peeling).\par
This approach lets us distinguish inherently sequential
code from code that contains unexploited parallelism.
It also produces information about the kinds of
transformations needed to parallelize the code, without
worrying about the order of application of the
transformations. Furthermore, when our dependence test
is inexact we can identify which unresolved dependences
inhibit parallelism by comparing the effects of
assuming dependence or independence. We are currently
exploring the use of this information in
programmer-assisted parallelization.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers.",
}
@Article{Ait-Kaci:1994:FPC,
author = "Hassan A{\"\i}t-Kaci and Andreas Podelski",
title = "Functions as Passive Constraints in {LIFE}",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1279--1318",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183526.html",
abstract = "LIFE is a programming language proposing to integrate
logic programming, functional programming, and
object-oriented programming. It replaces first-order
terms with [psi]-terms, data structures that allow
computing with partial information. These are
approximation structures denoting sets of values. LIFE
further enriches the expressiveness of [psi]-terms with
functional dependency constraints. We must explain the
meaning and use of functions in LIFE declaratively, as
solving partial information constraints. These
constraints do not attempt to generate their solutions
but behave as demons filtering out anything else. In
this manner, LIFE functions act as declarative
coroutines. We need to show that the [psi]-term's
approximation semantics is congruent with an
operational semantics viewing functional reduction as
an effective enforcing of passive constraints. In this
article, we develop a general formal framework for
entailment and disentailment of constraints based on a
technique called relative simplification. We study its
operational and semantical properties, and we use it to
account for functional application over [psi]-terms in
LIFE.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design; languages; performance; theory",
subject = "{\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.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Applicative
languages. {\bf D.3.2}: Software, PROGRAMMING
LANGUAGES, Language Classifications, Concurrent,
distributed, and parallel languages. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Nonprocedural languages. {\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 D.3.3}:
Software, PROGRAMMING LANGUAGES, Language Constructs
and Features, Data types and structures. {\bf E.1}:
Data, DATA STRUCTURES, Graphs. {\bf E.1}: Data, DATA
STRUCTURES, Trees. {\bf D.1.0}: Software, PROGRAMMING
TECHNIQUES, General.",
}
@Article{Ball:1994:OPT,
author = "Thomas Ball and James R. Larus",
title = "Optimally Profiling and Tracing Programs",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1319--1360",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183527.html",
abstract = "This paper describes algorithms for inserting
monitoring code to profile and trace programs. These
algorithms greatly reduce the cost of measuring
programs with respect to the commonly used technique of
placing code in each basic block. Program profiling
counts the number of times each basic block in a
program executes. Instruction tracing records the
sequence of basic blocks traversed in a program
execution. The algorithms optimize the placement of
counting/tracing code with respect to the expected or
measured frequency of each block or edge in a program's
control-flow graph. We have implemented the algorithms
in a profiling/tracing tool, and they substantially
reduce the overhead of profiling and tracing.\par
We also define and study the hierarchy of profiling
problems. These problems have two dimensions: what is
profiled (i.e., vertices (basic blocks) or edges in a
control-flow graph) and where the instrumentation code
is placed (in blocks or along edges). We compare the
optimal solutions to the profiling problems and
describe a new profiling problem: basic-block profiling
with edge counters. This problem is important because
an optimal solution to any other profiling problem (for
a given control-flow graph) is never better than an
optimal solution to this problem. Unfortunately,
finding an optimal placement of edge counters for
vertex profiling appears to be a hard problem in
general. However, our work shows that edge profiling
with edge counters works well in practice because it is
simple and efficient and finds optimal counter
placements in most cases. Furthermore, it yields more
information than a vertex profile. Tracing also
benefits from placing instrumentation code along edges
rather than on vertices.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; measurement",
subject = "{\bf D.2.5}: Software, SOFTWARE ENGINEERING, Testing
and Debugging, Tracing. {\bf C.4}: Computer Systems
Organization, PERFORMANCE OF SYSTEMS, Measurement
techniques. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Programmer
workbench. {\bf D.2.5}: Software, SOFTWARE ENGINEERING,
Testing and Debugging, Diagnostics.",
}
@Article{Brogi:1994:MLP,
author = "Antonio Brogi and Paolo Mancarella and Dino Pedreschi
and Franco Turini",
title = "Modular Logic Programming",
journal = j-TOPLAS,
volume = "16",
number = "4",
pages = "1361--1398",
month = jul,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Fri Jan 5 07:58:42 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/183528.html",
abstract = "Modularity is a key issue in the design of modern
programming languages. When designing modular features
for declarative languages in general, and for logic
programming languages in particular, the challenge lies
in avoiding the superimposition of a complex syntactic
and semantic structure over the simple structure of the
basic language. The modular framework defined here for
logic programming consists of a small number of
operations over modules which are (meta-) logically
defined and semantically justified in terms of the
basic logic programming semantics. The operations enjoy
a number of algebraic properties, thus yielding an
algebra of modules. Despite its simplicity, the suite
of operations is shown capable of capturing the core
features of modularization: information hiding,
import/export relationships, and construction of module
hierarchies. A metalevel implementation and a
compilation-oriented implementation of the operations
are provided and proved sound with respect to the
semantics. The compilation-oriented implementation is
based on manipulation of name spaces and provides the
basis for an efficient implementation.",
acknowledgement = ack-nhfb # " and " # ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf D.1.6}: Software, PROGRAMMING TECHNIQUES, Logic
Programming. {\bf D.2.2}: Software, SOFTWARE
ENGINEERING, Tools and Techniques, Modules and
interfaces. {\bf D.3.3}: Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Modules,
packages. {\bf F.3.2}: Theory of Computation, LOGICS
AND MEANINGS OF PROGRAMS, Semantics of Programming
Languages. {\bf F.4.1}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Mathematical
Logic, Logic programming.",
}
@Article{Ball:1994:ECP,
author = "Thomas Ball",
title = "Efficiently Counting Program Events with Support for
On-Line Queries",
journal = j-TOPLAS,
volume = "16",
number = "5",
pages = "1399--1410",
month = sep,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/186027.html",
abstract = "The ability to count events in a program's execution
is required by many program analysis applications. We
represent an instrumentation method for efficiently
counting events in a program's execution, with support
for on-line queries of the event count. Event counting
differs from basic block profiling in that an aggregate
count of events is kept rather than a set of counters.
Due to this difference, solutions to basic block
profiling are not well suited to event counting. Our
algorithm finds a subset of points in a program to
instrument, while guaranteeing that accurate event
counts can be obtained efficiently at every point in
the execution.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; languages",
subject = "{\bf C.4}: Computer Systems Organization, PERFORMANCE
OF SYSTEMS, Measurement techniques. {\bf D.2.2}:
Software, SOFTWARE ENGINEERING, Tools and Techniques.",
}
@Article{Laufer:1994:PTI,
author = "Konstantin L{\"a}ufer and Martin Odersky",
title = "Polymorphic Type Inference and Abstract Data Types",
journal = j-TOPLAS,
volume = "16",
number = "5",
pages = "1411--1430",
month = sep,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/186031.html",
abstract = "Many statically typed programming languages provide an
abstract data type construct, such as the module in
Modula-2. However, in most of these languages,
implementations of abstract data types are not
first-class values. Thus, they cannot be assigned to
variables, passed as function parameters, or returned
as function results. Several higher-order functional
languages feature strong and static type systems,
parametric polymorphism, algebraic data types, and
explicit type variables. Most of them rely on
Hindley-Milner type inference instead of requiring
explicit type declarations for identifiers. Although
some of these languages support abstract data types, it
appears that none of them directly provides
light-weight abstract data types whose implementations
are first-class values. We show how to add significant
expressive power to statically typed functional
languages with explicit type variables by incorporating
first-class abstract types as an extension of algebraic
data types. Furthermore, we extend record types to
allow abstract components. The components of such
abstract records are selected using the dot notation.
Following Mitchell and Plotkin, we formalize abstract
types in terms of existentially quantified types. We
give a syntactically sound and complete type inference
algorithm and prove that our type system is
semantically sound with respect to standard
denotational semantics.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
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, Modules, packages. {\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, Type structure. {\bf D.3.2}:
Software, PROGRAMMING LANGUAGES, Language
Classifications, Applicative languages. {\bf F.3.3}:
Theory of Computation, LOGICS AND MEANINGS OF PROGRAMS,
Studies of Program Constructs, Type structure.",
}
@Article{Ashley:1994:FCP,
author = "J. Michael Ashley and Charles Consel",
title = "Fixpoint Computation for Polyvariant Static Analyses
of Higher-Order Applicative Programs",
journal = j-TOPLAS,
volume = "16",
number = "5",
pages = "1431--1448",
month = sep,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/186037.html",
abstract = "This paper presents an optimized general-purpose
algorithm for polyvariant, static analyses of
higher-order applicative programs. A polyvariant
analysis is a very accurate form of analysis that
produces many more abstract descriptions for a program
than does a conventional analysis. It may also compute
intermediate abstract descriptions that are irrelevant
to the final result of the analysis. The optimized
algorithm addresses this overhead while preserving the
accuracy of the analysis. The algorithm is also
parameterized over both the abstract domain and degree
of polyvariance. We have implemented an instance of our
algorithm and evaluated its performance compared to the
unoptimized algorithm. Our implementation runs
significantly faster on average than the other
algorithm for benchmarks reported here.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; design",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Parsing.",
}
@Article{Beemster:1994:SOG,
author = "Marcel Beemster",
title = "Strictness Optimization for Graph Reduction Machines
({Why} id Might Not Be Strict)",
journal = j-TOPLAS,
volume = "16",
number = "5",
pages = "1449--1466",
month = sep,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/186040.html",
abstract = "Strictness optimizations in the implementation of lazy
functional languages are not always valid. In
nonoptimized graph reduction, evaluation always takes
place at the request of case analysis or a primitive
operation. Hence, the result of a reduction is always a
data value and never a function. This implies that in
an implementation no argument satisfaction check is
required. But in the presence of strict arguments,
``premature'' reduction may take place outside the
scope of a case or primitive operation. This causes
problems in graph reducers that use an {\em aggressive
take}. Two solutions are presented, one based on a
run-time argument satisfaction check, the other on a
weakened strictness analyzer. Experimental results are
used to compare the two solutions and show that the
cost of the aggressive take can be arbitrarily high for
specific programs. The experimental results enable a
trade-off to be made by the reduction machine
designer.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; performance",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.2}: Software,
PROGRAMMING LANGUAGES, Language Classifications,
Applicative languages. {\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, Run-time
environments. {\bf F.1.1}: Theory of Computation,
COMPUTATION BY ABSTRACT DEVICES, Models of Computation,
Relations among models.",
}
@Article{Ramalingam:1994:UA,
author = "G. Ramalingam",
title = "The Undecidability of Aliasing",
journal = j-TOPLAS,
volume = "16",
number = "5",
pages = "1467--1471",
month = sep,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/186041.html",
abstract = "Alias analysis is a prerequisite for performing most
of the common program analyses such as
reaching-definitions analysis or live-variables
analysis. Landi [1992] recently established that it is
impossible to compute statically precise alias
information---either may-alias or must-alias---in
languages with if statements, loops, dynamic storage,
and recursive data structures: more precisely, he
showed that the may-alias relation is not recursive,
while the must-alias relation is not even recursively
enumerable. This article presents simpler proofs of the
same results.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "languages; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4}: Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
F.4.1}: Theory of Computation, MATHEMATICAL LOGIC AND
FORMAL LANGUAGES, Mathematical Logic, Computability
theory. {\bf F.4.3}: Theory of Computation,
MATHEMATICAL LOGIC AND FORMAL LANGUAGES, Formal
Languages, Decision problems. {\bf D.3.3}: Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Procedures, functions, and subroutines.",
}
@Article{Khedker:1994:GTB,
author = "Uday P. Khedker and Dhananjay M. Dhamdhere",
title = "A Generalized Theory of Bit Vector Data Flow
Analysis",
journal = j-TOPLAS,
volume = "16",
number = "5",
pages = "1472--1511",
month = sep,
year = "1994",
CODEN = "ATPSDT",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibsource = "https://www.math.utah.edu/pub/tex/bib/toplas.bib",
URL = "http://www.acm.org/pubs/toc/Abstracts/0164-0925/186043.html",
abstract = "The classical theory of data flow analysis, which has
its roots in unidirectional flows, is inadequate to
characterize bidirectional data flow problems. We
present a generalized theory of bit vector data flow
analysis which explains the known results in
unidirectional and bidirectional data flows and
provides a deeper insight into the process of data flow
analysis. Based on the theory, we develop a
worklist-based generic algorithm which is uniformly
applicable to unidirectional and bidirectional data
flow problems. It is simple, versatile, and easy to
adapt for a specific problem. We show that the theory
and the algorithm are applicable to all bounded
monotone data flow problems which possess the property
of the separability of solution.\par
The theory yields valuable information about the
complexity of data flow analysis. We show that the
complexity of worklist-based iterative analysis is the
same for unidirectional and bidirectional problems. We
also define a measure of the complexity of round-robin
iterative analysis. This measure, called {\em width},
is uniformly applicable to unidirectional and
bidirectional problems and provides a tighter bound for
unidirectional problems than the traditional measure of
{\em depth}. Other applications include explanation of
isolated results in efficient solution techniques and
motivation of new techniques for bidirectional flows.
In particular, we discuss edge splitting and edge
placement and develop a feasibility criterion for
decomposition of a bidirectional flow into a sequence
of unidirectional flows.",
acknowledgement = ack-pb,
ajournal = "ACM Trans. Program. Lang. Syst.",
fjournal = "ACM Transactions on Programming Languages and
Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J783",
keywords = "algorithms; theory",
subject = "{\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf F.2.2}: Theory of
Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY,