Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
%% Do not edit this file directly, it is automatically generated % $Id: journal-abbrevs.bib,v 1.7 2006/09/02 18:47:11 leavens Exp $ % Journal abbreviations for bibtex. % Others defined by bibtex are indicated by comments. @String{Addison-Wesley = "Addison-Wesley Publishing Co."} @String{ACM = "ACM"} % ACMCS = "ACM Computing Surveys" % ACTA = "Acta Informatica" @String{AFIPS = "American Federation of Information Processing Societies"} @String{ANSI = "American National Standards Institute"} @String{BSTJ = "Bell System Technical Journal"} % CACM = "Communications of the ACM" @String{CMU = "School of Computer Science, Carnegie Mellon University"} @String{DECSRC = "Digital Equipment Corporation, Systems Research Center"} @String{ENTCS = "Electronic Notes in Theoretical Computer Science"} @String{ESOP = "European Symposium on Programming"} @String{FAC = "Formal Aspects of Computing"} @String{FOCS = "Annual Symposium on Foundations of Computer Science"} % IBMJRD = "IBM Journal of Research and Development" % IBMSJ = "IBM Systems Journal" @String{IEEE = "IEEE"} @String{IEEETSE = "IEEE Transactions on Software Engineering"} % IEEESE = "IEEE Transactions on Software Engineering" % IEEETC = "IEEE Transactions on Computers" @String{IFIP = "IFIP"} % IPL = "Information Processing Letters" @String{IRIA = "IRIA"} % JACM = "Journal of the ACM" % JCSS = "Journal of Computer and System Sciences" @String{JOOP = "Journal of Object-Oriented Programming"} @String{JOT = "Journal of Object Technology"} @String{JSL = "The Journal of Symbolic Logic"} @String{McGraw-Hill = "McGraw-Hill Book Co."} @String{MIT = "Massachusetts Institute of Technology"} @String{MITAI = "Massachusetts Institute of Technology, Artificial Intelligence Laboratory"} @String{MITLCS = "Massachusetts Institute of Technology, Laboratory for Computer Science"} @String{MITP = "The MIT Press"} @String{North-Holland = "North-Holland Publishing Co."} @String{NY = "New York, NY"} @String{LICS = "IEEE Symposium on Logic in Computer Science"} @String{LNCS = "Lecture Notes in Computer Science"} @String{PEPM = "ACM Symposium on Partial Evaluation and Semantics-based Program Manipulation"} @String{PODS = "ACM Symposium on Principles of Database Systems"} @String{POPL = "ACM Symposium on Principles of Programming Languages"} @String{Prentice-Hall = "Prentice-Hall, Inc."} @String{PRG = "Oxford University, Computing Laboratory, Programming Research Group"} @String{SAS = "Static Analysis Symposium"} % SCP = "Science of Computer Programming" @String{SIAMJC = "SIAM Journal on Computing"} % SICOMP = "SIAM Journal on Computing" @String{SIGART = "ACM SIGART Newsletter"} @String{SIGCSE = "ACM SIGCSE Bulletin"} @String{SIGOPS = "ACM SIGOPS Operating Systems Review"} @String{SIGPLAN = "ACM SIGPLAN Notices"} @String{SIGSOFT = "ACM SIGSOFT Software Engineering Notes"} @String{SPandE = "Software---Practice \& Experience"} @String{SOSP = "ACM Symposium on Operating Systems Principles"} @String{STOC = "Annual ACM Symposium on Theory of Computing"} @String{SV = "Springer-Verlag"} @String{TAPOS = "Theory and Practice of Object Systems"} % TOCS = "ACM Transactions on Computer Systems" % TODS = "ACM Transactions on Database Systems" % TOOIS = "ACM Transactions on Office Information Systems" % TOPLAS = "ACM Transactions on Programming Languages and Systems" @String{TOSEM = "ACM Transactions on Software Engineering and Methodology"} % TCS = "Theoretical Computer Science" @String{Wiley = "John Wiley and Sons"} % $Id: proceedings.bib,v 1.12 2006/05/18 21:55:17 leavens Exp $ % Conference, symposium, and workshop proceedings, collections, % journal issues. Basically any work made up of sections by different % authors. Entries for individual papers or chapters can use a % cross-reference to the overall collection described here. @proceedings{aosd02, title = {Proc. 1st Int' Conf. on Aspect-Oriented Software Development {(AOSD-2002)}}, booktitle = {Proc. 1st Int' Conf. on Aspect-Oriented Software Development {(AOSD-2002)}}, editor = {Gregor Kiczales}, publisher = {ACM Press}, year = 2002, month = apr, location = {Enschede, the Netherlands} } @proceedings{aosd03, title = {Proc. 2nd Int' Conf. on Aspect-Oriented Software Development {(AOSD-2003)}}, booktitle = {Proc. 2nd Int' Conf. on Aspect-Oriented Software Development {(AOSD-2003)}}, editor = {Mehmet {Ak{\c s}it}}, publisher = {ACM Press}, year = 2003, month = mar, location = {Boston} } @Proceedings{ecoop03, key = {ecoop}, title = {ECOOP 2003--Object-Oriented Programming 17th European Conference}, booktitle = {ECOOP 2003--Object-Oriented Programming 17th European Conference}, month = Jul, year = {2003}, location = {Darmstadt, Germany}, publisher = SV, note = {Lecture Notes in Computer Science, Volume 2743} } @proceedings{compos97, editor = {Willem P. de Roever and Hans Langmaack and Amir Pnueli}, title = {Compositionality: The Significant Difference, International Symposium, COMPOS'97, Bad Malente, Germany, September 8-12, 1997. Revised Lectures}, booktitle = {COMPOS'97}, publisher = SV, series = LNCS, volume = 1536, year = 1998, isbn = {3-540-65493-3} } @proceedings{ECOOP04, Key = {ECOOP}, Editor = {Martin Odersky}, Address = {Oslo, Norway}, Booktitle = {ECOOP '04 --- Object-Oriented Programming European Conference}, Publisher = SV, Series = LNCS, Title = {ECOOP '04 --- Object-Oriented Programming European Conference}, Volume = 3086, Year = 2004 } @proceedings{FME03, key = {FME}, editor = {Keijiro Araki and Stefania Gnesi and Dino Mandrioli}, title = {FME 2003: Formal Methods, International Symposium of Formal Methods Europe, Pisa, Italy, September 8-14, 2003, Proceedings}, booktitle = {FME}, publisher = SV, series = LNCS, volume = 2805, year = 2003, isbn = {3-540-40828-2}, } @proceedings{FMIA95, key = {FMIA}, editor = {Jean-Raymond Abrial and Egon B{\"o}rger and Hans Langmaack}, title = {Formal Methods for Industrial Applications, Specifying and Programming the Steam Boiler Control}, booktitle = {Formal Methods for Industrial Applications}, publisher = SV, series = {Lecture Notes in Computer Science}, volume = 1165, year = 1996, isbn = {3-540-61929-1}, } @proceedings{FSE-04, Key = {FSE}, Address = {Newport Beach, California, USA}, Booktitle = {Proc. of the 12th ACM SIGSOFT symposium on the Foundations of software engineering (FSE-12)}, Editor = {Matthew Dwyer}, Publisher = {ACM Press}, Title = {Proc. of the 12th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-12)}, Year = {2004} } @proceedings{FSE-05, Key = {FSE}, Address = {Lisbon, Portugal}, Booktitle = {Proc. of the 13th ACM SIGSOFT symposium on the Foundations of software engineering (FSE-13)}, Publisher = {ACM Press}, Title = {Proc. of the 13th ACM SIGSOFT symposium on the Foundations of software engineering (FSE-13)}, Year = {2005}} @Proceedings{icfp03, title = {Proceedings of the eighth ACM SIGPLAN international conference on Functional programming}, booktitle = {Proceedings of the eighth ACM SIGPLAN international conference on Functional programming}, year = {2003}, isbn = {1-58113-756-7}, location = {Uppsala, Sweden}, doi = {http://doi.acm.org/10.1145/944705.944732}, publisher = {ACM Press}, } @Proceedings{OOPSLA02, Key = {OOPSLA}, Address = {Seattle, USA}, Booktitle = {Proc. of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Organization = {ACM}, Title = {Proc. of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Year = {2002} } @proceedings{OOPSLA04, Key = {OOPSLA}, Address = {Vancouver, BC, Canada}, Booktitle = {Proc. of the 19th annual ACM SIGPLAN Conf. on Object-oriented programming, systems, languages, and applications}, Organization = {ACM}, Title = {Proc. of the 19th annual ACM SIGPLAN Conf. on Object-oriented programming, systems, languages, and applications}, Year = {2004} } @proceedings{VSTTE05, key = {VSTTE}, address = {Z\"{u}rich, Switzerland}, editor = {Charles Anthony Richard Hoare and Natarajan Shankar and Jay Misra}, title = {Proc.\ {IFIP} Working Conference on Verified Software: Tools, Techniques, and Experiments}, booktitle = {Proc.\ {IFIP} Working Conference on Verified Software: Tools, Techniques, and Experiments}, year = {2005}, month = Oct, URL = {\url{}} } % $Id: datatypes.bib,v 1.49 2006/08/13 23:14:00 leavens Exp $ % Type theory, abstract data types, subtyping, types in programming languages. @Unpublished{Abadi-Cardelli-Plotkin93, Key = "Abadi \& Cardelli \& Plotkin", Author = "Mart\'{\i}n Abadi and Luca Cardelli and Gordon D. Plotkin", Title = "Types for the Scott Numerals", Month = Feb, Year = 1993, Note = "Obtained from authors", Annote = "2 references." } @InCollection{Abadi-Cardelli94, Key = "Abadi \& Cardelli", Author = {Mart\'{\i}n Abadi and Luca Cardelli}, Title = "A Theory of Primitive Objects --- Untyped and First-Order Systems", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "296-320", Month = Apr, Annote = "19 references." } @InProceedings{Abadi-Cardelli94b, Key = "Abadi \& Cardelli", Author = "Mart\'{\i}n Abadi and Luca Cardelli", Title = "A Semantics of Object Types", BookTitle = "Ninth Annual IEEE Symposium on Logic in Comptuer Science, Paris, France", Year = 1994, Pages = "332-341", Organization = IEEE, Address = "Los Alamitos, CA", Month = Jul, Annote = "28 references." } @InProceedings{Abadi-Cardelli94c, Key = "Abadi \& Cardelli", Author = {M. Abadi and L. Cardelli}, Title = {A theory of primitive objects: second-order systems}, BookTitle = {Proc. of European Symposium on Programming}, Editor = "D. Sannella", Year = {1994}, Publisher = {Springer Verlag}, Address = NY, Series = LNCS, Volume = 788, Pages = "1-25" } @InProceedings{Abadi-Cardelli94d, Key = "Abadi \& Cardelli", Author = "Mart\'{\i}n Abadi and Luca Cardelli", Title = "A Semantics of Object Types", BookTitle = "Ninth Annual IEEE Symposium on Logic in Computer Science, Paris, France", Year = 1994, Pages = "332-341", Organization = "IEEE", Address = "Los Alamitos, CA", Month = Jul, Annote = "28 references." } @InCollection{Abadi-Cardelli95, Key = "Abadi \& Cardelli", Author = "Mart\'{\i}n Abadi and Luca Cardelli", Title = "On Subtyping and Matching", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Booktitle = "ECOOP '95: Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Year = 1995, Pages = "145-167", Annote = "16 references" } @InProceedings{Abadi-Cardelli95b, Key = "Abadi \& Cardelli", author = "M. Abadi and L. Cardelli", title = "An imperative object calculus", editor = "P. D. Mosses and M. Nielsen and M. I. Schwartzbach", series = LNCS, booktitle = "TAPSOFT'95: Theory and Practice of Software Development", publisher = SV, number = 915, year = 1995, month = May, pages = "471-485", annote = "26 references." } @Article{Abadi-Cardelli95c, Key = "Abadi \& Cardelli", author = "M. Abadi and L. Cardelli", title = "An imperative object calculus", journal = "Theory and Practice of Object Systems", volume = 1, number = 3, year = 1995, pages = "151-166" } @Book{Abadi-Cardelli96, author = "Mart\'{\i}n Abadi and Luca Cardelli", title = "A Theory of Objects", publisher = SV, year = 1996, key = "Abadi \& Cardelli", series = "Monographs in Computer Science", address = NY, annote = "128 references." } @InProceedings{Abadi-Pierce-Plotkin89, Key = "Abadi \& Pierce \& Plotkin", Author = "Mart\'{i}n Abadi and Benjamin Pierce and Gordon Plotkin", Title = "Faithful Ideal Models for Recursive Polymorphic Types", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "216-225", Annote = "7 references." } @TechReport{Abadi-etal89, Key = "Abadi, {\em et al.}", Author = "Mart\'{\i}n Abadi and Luca Cardelli and Benjamin C. Pierce and Gordon D. Plotkin", Title = "Dynamic Typing in a Statically Typed Language", Month = Jun, Year = 1990, Institution = DECSRC, Number = 47, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "A revised version appears in ACM TOPLAS, Vol 13, Num 2 (April, 1991), pages 237-268.", Annote = "34 references." } @InProceedings{Abadi-etal90, Key = "Abadi, {\em et al.}", Author = "Mart\'{\i}n Abadi and Luca Cardelli and Pierre-Louis Curien and Jean-Jacques L\`{e}vy", Title = "Explicit Substitutions", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Publisher = ACM, Month = Jan, Year = 1990, Pages = "31-46", Note = "Also Digital Equipment Corporation, Systems Research Center, Research Report 54, February 1990", Annote = "13 references." } @Article{Abadi-etal91, Key = "Abadi, {em et al}", Author = "Mart\'{\i}n Abadi and Luca Cardelli and Benjamin Pierce and Gordon Plotkin", Title = "Dynamic Typing in a Statically Typed Language", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 2, Month = Apr, Pages = "237-268", Annote = "36 references." } @TechReport{Abadi-etal93, Key = "Abadi, {\em et al.}", Author = "Mart\'{\i}n Abadi and Luca Cardelli and Pierre-Louis Curien", Title = "Formal Parametric Polymorphism", Number = 109, Month = Jul, Year = 1993, Institution = DECSRC, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "20 references." } @InProceedings{Abadi-etal99, key = {Abadi, {\em et al.}}, author = {Mart\'{\i}n Abadi and Anindya Banerjee and Nevin Heintze and Jon G. Riecke}, title = {A Core Calculus of Dependency}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {147-160}, annote = {40 references.} } @TechReport{Abadi93, Key = "Abadi", Author = {Mart\'{\i}n Abadi}, Title = "Baby Modula-3 and a Theory of Objects", Month = Feb, Year = 1993, Institution = DECSRC, Number = 95, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "95 references." } @Article{Abadi94, author = {Mart\'{\i}n Abadi}, title = "Baby Modula-3 and a Theory of Objects", key = "Abadi", journal = "Journal of Functional Programming", year = 1994, volume = 4, number = 2, pages = "249-283", month = Apr, annote = "26 references." } @Article{Abdali-Cherry-Soiffer86, Key = "Abdali \& Cherry \& Soiffer", Author = "S. Kamal Abdali and Guyt W. Cherry and Neil Soiffer", Title = "A Smalltalk System for Algebraic Manipulation", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "277-283", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Parameterized classes protocol views and categories are added to Smalltalk and used to build a algebraic manipulation system. Parameterized classes are templates for parameter subclasses that are dynamically created and local to part of a program. Parameters can be functions, e.g. equal for set elements, but are usually categories. A category is a class whose instances encapsulate the operations of some view of a set of objects. Categories form a repository for generic methods. There can be many views of the same domain. One can also form views from other categories. Optional methods can be attached to a category for efficiency; if an optional method isn't supplied, a generic method is used in its place. Categories form a multigraph. Categories that extend other categories can be implemented particularly efficiently. 12 references." } @InProceedings{Abiteboul-Kanellakis-Waller90, Key = "Abiteboul \& Kanellakis \& Waller", Author = "Serge Abiteboul and Paris C. Kanellakis and Emmanuel Waller", Title = "Method Schemas (Preliminary Report)", BookTitle = "Principles of Data Base Systems, Nashville", Organization = ACM, Year = 1990, Pages = "16-27", Annote = "Method schemas are a simple model for object-oriented programming. Consistency problem is undecidable in general, but decidable for monadic and/or recursion-free method schemas. 20 references." } @TechReport{Abiteboul-etal92, Key = "Abiteboul, {\em et al}", Author = "Serge Abiteboul, Paris Kanellakis, Sridhar Ramaswamy and Emmanual Waller", Title = "Method Schemas", Number = "CS-92-33", Institution = "Department of Computer Science, Brown University", Month = Jul, Year = 1992 } @InProceedings{Adams-Rees88, Key = "Adams \& Rees", Author = "Adams and Rees", Title = "Object-oriented Programming in Scheme", Organization = ACM, BookTitle = "Conference Record of the 1988 ACM Symposium on LISP and Functional Programming, Snowbird, Utah", Year = 1988, Month = Jul, Pages = "277-288" } @InProceedings{Agesen-Freund-Mitchell97, key = {Agesen \& Freund \& Mitchell}, author = {Ole Agesen and Stephen N. Freund and John C. Mitchell}, title = {Adding Type Parameterization to the Java Language}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {49-65}, annote = {22 references.} } @InCollection{Agesen-Palsberg-Schwartzbach93, Key = "Agesen \& Palsberg \& Schwartzbach", Author = "Ole Agesen and Jens Palsberg and Michael I. Schwartzbach", Title = "Type Inference of SELF: Analysis of Objects with Dynamic and Multiple Inheritence", Series = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Note = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Pages = "247-267", Annote = "15 references" } @InCollection{Agesen95, Key = "Agesen", Author = "Ole Agesen", Title = "The Cartesian Product Algorithm: Simple and Precise Typing of Parametric Polymorphism.", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Note = "ECOOP '95 - Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Year = 1995, Pages = "2-26", Annote = "25 references" } @InProceedings{Agrawal-DeMichiel-Lindsay91, Key = "Agrawal \& DeMichiel \& Lindsay", Author = "Rakesh Agrawal and Lindga G. DeMichiel and Bruce G. Lindsay", Title = "Static Type Checking of Multi-Methods", Booktitle = {OOPSLA '91: Conference proceedings on Object-oriented programming systems, languages, and applications}, Location = "Phoenix, Arizona", Editor = "Andreas Paepcke", Series = SIGPLAN, Volume = "26(11)", Publisher = ACM, Address = NY, Month = Nov, Year = 1991, Pages = "113--128", Annote = "13 references." } @Article{Agrawl-Garg84, Key = "Agrawl \& Garg", Author = "Mukul Babu Agrawal and Vijay Kumar Garg", Title = "Dimensional Analysis in Pascal", Journal = SIGPLAN, Year = 1984, Month = Mar, Volume = 19, Number = 3, Pages = "7-11", Annote = "Claims dimensional analysis needs extensions to type structure and makes a proposal for extensions to Pascal. 3 references." } @InProceedings{Aiken-Wimmers-Lakshman94, Key = {Aiken \& Wimmers \& Lakshman}, Author = {Alexander Aiken and Edward L. Wimmers and T. K. Lakshman}, Title = "Soft Typing with Conditional Types", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "163-173", Annote = "23 references." } @InCollection{Ait-Kaci-Garrigue93, Key = "Ait-Kaci \& Garrigue", Author = "H. Ait-Kaci and J. Garrigue", Title = "Label-Selective $\lambda$-Calculus Syntax and Confluence", BookTitle = "Foundations of Software Technology and Theorectical Computer Science", Publisher = SV, Year = 1993, Editor = "R. K. Shyamasundar", Series = LNCS, Volume = 761, Pages = "24-40", Month = Oct, Annote = "13 references." } @TechReport{Ait-Kaci83, Key = "Ait-Kaci", Author = "H. Ait-Kaci", Title = "Outline of a Calculus of Type Subsumptions", Number = "CIS-83-34", Institution = "Department of Computer and Information Science, The Moore School of Electrical Engineering, University of Pennsylvania", Month = Dec, Year = 1983 } @PhDThesis{Ait-Kaci84, Key = "Ait-Kaci", Author = "Hassan Ait-Kaci", Title = "A Lattice Theoretic Approach to Computation Based on a Calculus of Partially Ordered Type Structures", School = "University of Pennsylvania", Year = 1984, Annote = "76 references." } @InProceedings{Ait-Kaci85a, Key = "Ait-Kaci", Author = "Hassan Ait-Kaci", Title = "Logic and Inheritance", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersberg Beach, Fla.", Organization = ACM, Month = Jan, Year = 1986, Pages = "219-228", Annote = "11 References" } @InProceedings{Ait-Kaci85b, Key = "Ait-Kaci", Author = {Hassan A\"{\i}t-Kaci}, Title = "Integrating Data Type Inheritance Into Logic Programming", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "391-405", Annote = "12 references." } @Article{Ait-Kaci86, Key = "Ait-Kaci", Author = {Hassan A\"{\i}t-Kaci}, Title = "An Algebraic Semantics Approach to the Effective Resolution of Type Equations", Journal = TCS, Volume = 45, Pages = "293-351", Year = 1986 } @InProceedings{Alagic97, key = {Alagi\'{c}}, author = {Suad Alagi\'{c}}, title = {The {ODMG} Object Model: Does it Make Sense?}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {253-270}, annote = {28 references.} } @Article{Albano-Cardelli-Orsini85, Key = "Albano \& Cardelli \& Orsini", Author = "Antonio Albano and Luca Cardelli and Renzo Orsini", Title = "Galileo: A Strongly-Typed, Interactive Conceptual Language", Journal = TODS, Year = 1985, Month = Jun, Volume = 10, Number = 2, Pages = "230-260", Annote = "Flexible type system to model database structure and semantic integrity constraints, type hierarchies for specialization, modules and abstraction mechanisms. Support for conceptual modeling. Galileo's classes define relation-like objects. Transactions. 34 references." } @InProceedings{Albano-etal85, Key = "Albano, {\em et al.}", Author = "A. Albano and F. Giannotti and R. Orsini and D. Pedreschi", Title = "The Type System of Galileo", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "191-208", Annote = "11 references." } @InProceedings{Albano-etal91, Key = "Albano, {\em et al.}", Author = "Antonio Albano and Giorgio Ghelli and Renzo Orsini", Title = "Objects for a database programming language", BookTitle = "Database Programming languages; bulk types and persistent data", Month = Aug, Year = 1991, Organization = "Proceedings of the Third Intl Workshop", Publisher = "Morgan-Kaufmann Publishers Inc", Address = "San Mateo, CA", Pages = "236-253" } @Article{Albano83, Key = "Albano", Author = "Antonio Albano", Title = "Type Hierarchies and Semantic Data Models", Journal = SIGPLAN, Year = 1983, Month = Jun, Volume = 18, Number = 6, Pages = "178-186", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Two kinds of type constructors in Galileo, inherited as in Smalltalk or completely defined as in CLU. Type hierarchy with multiple inheritance. 34 references." } @InProceedings{Aldrich-Kostadinov-Chambers02, key = {Aldrich \& Kostadinov \& Chambers}, author = {Jonathan Aldrich and Valentin Kostadinov and Craig Chambers}, title = {Alias Annotations for Program Understanding}, BookTitle = "Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications", Series = SIGPLAN, Volume = "37(11)", Month = Nov, Year = 2002, organization = ACM, pages = {311--330}, annote = {Many references.} } @Unpublished{Aldrich03, Key = "Aldrich", author = {Jonathan Aldrich}, title = {Open Modules: Reconciling Extensibility and Information Hiding}, note = {Available from \url{http://www-2.cs.cmu.edu/~aldrich/aosd/}}, year = {2003}, annote = {14 references} } @InCollection{Allen87, Key = "Allen", Author = "Stuart Allen", Title = "A Non-Type-Theoretic Definition of Martin-Lof's Types", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "215-221", Month = Jun, Annote = "3 references." } @InCollection{Almeida97, author = {Paulo Sergio Almeida}, title = {Balloon Types: Controlling Sharing of State in Data Types}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, key = {Almeida}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {32-59}, annote = {The ability to share state is a first-class property of a data type. 33 references.} } @Article{Althoff81, Key = "Althoff", Author = "Althoff, Jr., James C.", Journal = "BYTE", Title = "Building Data Structures in the Smalltalk-80 System", Year = 1981, Pages = "230-278", Volume = 6, Number = 8, Month = Aug, Annote = "Discusses list structures and the utility of inheritance in building them. 4 references." } @TechReport{Amadio-Cardelli90, Key = "Amadio \& Cardelli", Author = "Roberto M. Amadio and Luca Cardelli", Title = "Subtyping Recursive Types", Institution = "Digital Systems Research Center", Year = 1990, Number = "62", Address = "Palo Alto, Ca 94301", Month = Aug, Note = "See also the 1991 POPL proceedings.", Annote = "27 references." } @Article{Amadio-Cardelli93, Key = "Amadio \& Cardelli", Author = "Roberto M. Amadio and Luca Cardelli", Title = "Subtyping Recursive Types", Journal = TOPLAS, Year = 1993, Volume = 15, Number = 4, Month = Sep, Pages = "575-631", Annote = "29 references." } @Article{America-Linden90, Key = "America \& van der Linden", Author = "Pierre America and Frank van der Linden", Title = "A Parallel Object-Oriented Language with Inheritance and Subtyping", Journal = SIGPLAN, Volume = 25, Number = 10, Month = Oct, Year = 1990, Pages = "161-168", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "26 references." } @InProceedings{America87, Key = "America", Author = "Pierre America", Title = "Inheritance and Subtyping in a Parallel Object-Oriented Language", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "234-242", Note = "Lecture Notes in Computer Science, volume 276", Annote = "Behavioral subtyping. One definition of subtypes based on implications between invariants of the types. Contravariant rule as necessary. 18 references." } @TechReport{America89, Key = "America", Author = "Pierre America", Title = "A Behavioural Approach to Subtyping in Object-Oriented Programming Languages", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = 443, Month = Jan, Year = 1989, Note = "Superseded by a later version in April 1989" } @TechReport{America89b, Key = "America", Author = "Pierre America", Title = "A Behavioural Approach to Subtyping in Object-Oriented Programming Languages", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = 443, Month = Apr, Year = 1989, Note = "Revised from the January 1989 version", Annote = "Definition of subtypes for mutable types based on implications between pre- and post-contitions mediated by a transfer function. Distinction between subtyping and inheritance. 11 references." } @InCollection{America91, Key = "America", Author = "Pierre America", Title = "Designing an Object-Oriented Programming Language with Behavioural Subtyping", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "60-90", Address = NY, Annote = "Design and other aspects of POOL. 16 references." } @InCollection{Amtoft-etal97, author = "T. Amtoft and F. Nielson and H. R. Nielson and J. Ammann", title = "Polymorphic Subtyping for Effect Analysis: The Dynamic Semantics", booktitle = "Proceedings of the Fifth {LOMAPS} Workshop", publisher = SV, year = "1997", editor = "M. Dam", number = "1192", series = "Lecture Notes in Computer Science", } @InProceedings{Ancona-Lagorio-Zucca02, key = {Ancona \& Lagorio \& Zucca}, author = {Davide Ancona and Giovanni Lagorio and Elena Zucca}, title = {A Formal Framework for {Java} Separate Compilation}, booktitle = {ECOOP 2002---Object-Oriented Programming, 16th European Conference, M{\'a}laga, Spain, Proceedings}, pages = {609-635}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {19 references.} } @InProceedings{Aponte93, Key = "Aponte", Author = "Maria Virginia Aponte", Title = "Extending Record Typing to Type Parametric Modules with Sharing", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "465-478", Annote = "13 references" } @Article{Appelbe-Ravn84, Key = "Appelbe \& Ravn", Author = "William F. Appelbe and A. P. Ravn", Title = "Encapsulation Constructs in Systems Programming Languages", Journal = TOPLAS, Year = 1984, Month = Apr, Volume = 6, Number = 2, Pages = "129-158", Annote = "Comparative discussion of encapsulation constructs. Extensions to Ada. Need for both packages and abstract data types as separate mechanisms. Type checking and multiple implementations. 16 references." } @InProceedings{Arbib-Manes80, Key = "Arbib \& Manes", Author = "M. Arbib and E. Manes", Title = "The Greatest Fixpoint Approach to Data Types", Address = "Dortmund, West Germany", BookTitle = "Proc. 3rd Workshop Meeting on Categorical and Algebraic Methods in Computer Science and System Theory", Year = 1980 } @Article{Arbib-Manes82, Key = "Arbib \& Manes", Author = "Michael A. Arbib and Ernest G. Manes", Title = "Parameterized Data Types do not Need Highly Constrained Parameters", Journal = "Information and Control", Month = Feb, Year = 1982, Volume = 52, Number = 2, Pages = "139-158", Annote = "Focuses on greatest fixpoints. 16 references." } @InCollection{Astesiano-Costa81, Key = "Astesiano \& Costa", Author = "E. Astesiano and G. Costa", Title = "Reducing Types in Applicative Languages with Structured Data", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "210-217", Annote = "Hierarchy of reducing types and insensitivity property for the non-reducing types. 11 references." } @Book{Atkinson-Buneman-Morrison88, Key = "Atkinson \& Buneman \& Morrison", Author = "Malcolm P. Atkinson and Peter Buneman and Ronald Morrison", Title = "Data Types and Persistence", Publisher = SV, Address = NY, Year = 1988, Annote = "Proceedings of the Appin Workshop, 1985. Hundreds of references." } @Article{Atkinson-Buneman87, Key = "Atkinson \& Buneman", Author = "Malcolm P. Atkinson and O. Peter Buneman", Title = "Types and Persistence in Database Programming Languages", Journal = ACMCS, Volume = 19, Number = 2, Month = June, Year = 1987, Pages = "105-190", Annote = "Focus on the problem of providing a uniform type system and mechanisms for data to persist. Polymorphism, type inheritance, object identity, and choice of structures to represent sets of similar values. 163 references." } @TechReport{Atkinson-Chisholm-Cockshott81, Key = "Atkinson \& Chisholm and \& Cockshott", Author = "Malcolm Atkinson and Ken Chisholm and Paul Cockshott", Title = "PS-Algol: an Algol with a Persistent Heap", Institution = "Department of Computer Science, University of Edinburgh", Year = 1981, Month = Dec, Type = "Internal Report", Number = "CSR-94-81", Annote = "Persistent heap. 22 references." } @InProceedings{Atkinson-Morrison85, Key = "Atkinson-Morrison", Author = "Malcolm P. Atkinson and Ronald Morrison", Title = "Types, Bindings and Parameters in a Persistent Environment", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "1-24", Annote = "29 references." } @Article{Atkinson-Morrison85a, Key = "Atkinson \& Morrison", Author = "Malcolm P. Atkinson and Ronald Morrison", Title = "Procedures as Persistent Data Objects", Journal = TOPLAS, Volume = 7, Number = 4, Month = Oct, Year = 1985, Pages = "539-559", Annote = "Persistent first-class procedures are sufficient to implement data protection, views, abstract data types, and separate compilation. 32 references." } @InCollection{Atkinson-etal84, Key = "Atkinson, {\em et al.}", Author = "M. P. Atkinson and P. Bailey and W. P. Cockshott and K. J. Chisholm and R. Morrison", Title = "Progress with Persistent Programming", BookTitle = "Databases - Role and Structure: An Advanced Course", Editor = "P. M. Stocker, P. M. D. Gray and M. P. Atkinson.", Publisher = "Cambridge University Press", Address = "Cambridge, England", Year = 1984, Pages = "245-310", Annote = "Database programming languages and issues in languages and databases. 93 references." } @TechReport{Atkinson-etal84b, Key = "Atkinson, {\em et al.}", Author = "M. P. Atkinson and W. P. Cockshott and P. Bailey and K. J. Chisholm and R. Morrison", Title = "PS-Algol Reference Manual", Institution = "Departments of Computer Science, Universities of Edinburgh and St. Andrews", Year = 1984, Month = Jan, Number = "PPR-4-83", Annote = "Persistence, first class procedures. 14 references." } @Article{Atkinson86, Key = "Atkinson", Author = "Robert G. Atkinson", Title = "Hurricane: An Optimizing Compiler for Smalltalk", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "151-158", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Type declaration and inference as applied to compiling efficient code for Smalltalk-80. Programmers must tell the system the class or set of classes to which each instance or class variable will belong. 9 references." } @InProceedings{Augustsson99, key = {Augustsson}, author = {Lennart Augustsson}, title = {Cayenne --- a language with dependent types}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {239-250}, annote = {A Haskell variant with dependent types. 27 references.} } @InCollection{Backhouse-Hoogendijk93, Key = "Backhouse \& Hoogendijk", Author = "Roland Backhouse and Paul Hoogendijk", Title = "Elements of a relational theory of datatypes", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "7-42", Address = NY, Month = Jul, Annote = "27 references." } @Article{Backhouse-etal89, Key = "Backhouse, {\em et al.}", Author = "Roland Backhouse and Paul Chisholm and Grant Malcolm and Erik Saaman", Title = "Do-it-Yourself Type Theory", Journal = "Formal Aspects of Computing", Volume = 1, Number = 1, Month = "January -- March", Year = 1989, Pages = "19-84", Annote = {Martin-L\"{o}f's type theory as a basis for program development. 62 references.} } @InCollection{Backhouse89, Key = "Backhouse", Author = "R. C. Backhouse", Title = "Constructive Type Theory -- An Introduction", Booktitle = "Constructive Methods in Computing Science", Series = "NATO ASI Series", Volume = "F55", Editor = "Manfred Broy", Publisher = SV, Address = NY, Pages = "9-60", Year = 1989, Annote = "Martin-Lof style type theory. 21 references." } @Article{Bailes87, Key = "Bailes", Author = "Paul A. Bailes", Title = "G: a functional language with generic abstract data types", Journal = "Computer Languages", Volume = 12, Number = 2, Month = Aug, Year = 1987, Pages = "69-94" } @Article{Bakel92, Key = "Bakel", Author = "Steffan van Bakel", Title = "Complete restrictions of the intersection type discipline", Journal = TCS, Year = 1992, Month = Aug, Volume = 102, Number = 1, Pages = "135-163" } @Article{Bakel95, Author = "Steffan van Bakel", Title = "Intersection Type Assignment Systems", Journal = TCS, Volume = 151, Number = 2, Year = 1995, Pages = "385-435" } @Article{Bar-David92, Key = "Bar-David", Author = "Tsvi Bar-David", Title = "Practical Consequences of Formal Definitions of Inheritance", Journal = JOOP, Year = 1992, Volume = 5, Number = 4, Month = "Jul/Aug", Pages = "43-49", Annote = "5 references." } @Article{Barendregt-Coppo-Dezani-Ciancaglini83, Key = "Barendregt \& Coppo \& Dezani-Ciancaglini", Author = "Henk Barendregt and Mario Coppo and Mariangiola Dezani-Ciancaglini", Title = "A Filter Lambda Model and the Completeness of Type Assignment", Journal = JSL, Volume = 48, Number = 4, Month = Dec, Year = 1983, Pages = "931-940", Annote = "Extends syntax and semantics of Curry types so that filters in the resulting type structure form a domain. 12 references." } @InCollection{Barendregt-Hemerik90, Key = "Barendregt \& Hemerik", Author = "Henk Barendregt and Kees Hemerik", Title = "Types in Lambda Calculi and Programming Languages", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = May, Year = 1990, Pages = "1-35", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432, Annote = "42 references." } @Article{Barendregt91, Key = "Barendregt", Author = "Henk Barendregt", Title = "Introduction to generalized type systems", Journal = "Journal of Functional Programming", Year = 1991, Volume = 1, Number = 2, Month = Apr, Pages = "125-154", Annote = "42 references." } @Article{Barendsen-Smetsers96, key = "Barendensen \& Smetsers", title = "Uniqueness typing for functional languages with graph rewriting semantics", author = "Erik Barendsen and Sjaak Smetsers", pages = "579-612", journal = "Mathematical Structures in Computer Science", month = Dec, year = 1996, volume = 6, number = 6, annote = "Full technical presentation of the (polymorphic) uniqueness type derivation system in natural deduction style." } @PhDThesis{Baroody78, Key = "Baroody", Author = "Baroody, Jr., Anthony James", Title = "The Evaluation of Abstract Data Types as an Implementation Tool for Database Management Systems", School = "University of Wisconsin - Madison", Year = 1978 } @TechReport{Baumgartner-Russo93, Key = "Baumgartner \& Russo", Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Signatures: A C++ Extension for Type Abstraction and Subtype Polymorphism", Year = "1993", Month = "September", Number = "CSD-TR-93-059", Institution = "Department of Computer Science, Purdue University ", Annote = "No references." } @Article{Baumgartner-Russo97, Key = "Baumgartner \& Russo", Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Implementing Signatures for {C++}", journal = TOPLAS, year = 1997, volume = 19, number = 1, month = Jan, pages = {153-187}, annote = {Structual subtyping for C++. 26 references.} } @Article{Beaven-Stansifer93, Key = "Beaven \& Stansifer", Author = "Mike Beaven and Ryan Stansifer", Title = "Explaining Type Errors in Polymorphic Languages", Journal = "ACM Letters on Programming Languages and Systems", Year = 1993, Volume = 2, Number = "1-4", Month = "March-December", Pages = "17-30", Annote = "9 references." } @InProceedings{Bell-Bellegarde-Hook97, key = {Bell \& Bellegarde \& Hook}, author = {Jeffrey M. Bell and Fran\c{c}oise Bellegarde and James Hook}, title = {Type-driven Defunctionalization}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {25-37}, annote = {Turning higher-order functions into function with data as arguments in a way that preserves typability. 13 references.} } @TechReport{Bennett82, Key = "Bennett", Author = "John K. Bennett", Title = "A Comparison of Four Object-Oriented Systems", Year = "1982", Number = "82-11-03", Institution = "Department of Computer Science, University of Washington", Annote = "64 references." } @Article{Benton-Bierma-DePaiva98, author = {P. N. Benton and G. M. Bierma and V. C. V. De Paiva}, title = {Computational types from a logical perspective}, journal = {Journal of Functional Programming}, year = 1998, key = {Benton \& Bierma \& De Paiva}, volume = 8, number = 2, month = Mar, pages = {177-193}, annote = {26 references.} } @InCollection{Bergstra-Tucker80, Key = "Bergstra \& Tucker", Author = "J. A. Bergstra and J. V. Tucker", Title = "A Characterization of Computable Data Types by Means of a Finite, Equational Specification Method", BookTitle = "Automata, Languages and Programming, Seventh Colloquium, Noordwijkerhout", Publisher = SV, Address = NY, Series = LNCS, Volume = 85, Editor = "J. W. de Bakker and J. van Leeuwen", Year = 1980, Pages = "76-90", Annote = "Algebraic characterization of the computable data types and data structures. 11 references." } @InCollection{Bert-Soler81, Key = "Bert \& Soler", Author = "Didier Bert and Roger Soler", Title = "About Data Type Genericity", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "231-243", Annote = "Extends Strachey-Scott model categorically to give semantics to abstract data types. 21 references." } @InCollection{Bertino-Guerrini95, Key = "Bertino \& Guerrini", Author = "Elisa Bertino and Biovanna Guerrini", Title = "Objects with Multiple Most Specific Classes", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Note = "ECOOP '95 - Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Pages = "102-126", Year = 1995, Annote = "16 references" } @TechReport{Bieman-Baker88, Key = "Bieman \& Baker", Author = "James M. Bieman and Albert L. Baker", Title = "Assertions in Executable Specifications: an Approach Using Dynamic Typing (Extended Abstract)", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa", Number = "88-20" } @InProceedings{Biswas95, Key = {Biswas}, Author = {Sandip K. Biswas}, Title = "Higher-Order Functors with Transparent Signatures", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "154-163", Annote = "Functors in ML. 11 references." } @TechReport{Black-Hutchinson90, Key = "Black \& Hutchinson", Author = "Andrew P. Black and Norman C. Hutchinson", Title = "Typechecking Polymorphism in Emerald", Institution = "Department of Computer Science; The University of Arizona", Year = 1990, Number = "TR 90-34", Address = "Tucson, AZ 85721", Month = Dec, Annote = "Only checks syntactic part of substitutability condition. Contravariant rules. Proof of safety sketeched. Distinguishes between conformity (for assignments, parameters), and matching for checking type parameters against requirements. 13 references." } @TechReport{Black-Hutchinson91, Key = "Black \& Hutchinson", Author = "Andrew P. Black and Norman Hutchinson", Title = "Typechecking Polymorphism in Emerald", Institution = "Digital Equipment Corporation, Cambridge Research Lab", Year = 1991, Number = "CRL 91/1 (Revised)", Address = "Cambridge, Mass.", Month = Jul, Annote = "13 references." } @Article{Black-Palsberg93, Key = "Black \& Palsberg", Author = {Andrew Black and Jens Palsberg}, Title = {Foundations of Object-Oriented Languages: Workshop Report}, Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 3, Month = Mar, Pages = "3-11", Note = {The bibliography was truncated in the published version. Obtain the full report by anonymous ftp from {\tt crl.dec.com} in {\tt pub/DEC/sigplan94.ps.Z}.} } @Book{Blair-etal91, Key = "Blair, {\em et al.}", Editor = "Gordon Blair and John Gallagher and David Hutchison and Doug Shepherd", Title = "Object-Oriented Languages, Systems and Applications", Publisher = "Pitman Publishing", Year = 1991, Address = "London", Note = "ISBN 0-273-03132-5", Annote = "Excellent advanced introduction to object-oriented languages. Good framework for describing systems. Many recent references." } @Article{Bloom-Zdonik87, Key = "Bloom \& Zdonik", Author = "Toby Bloom and Stanley Zdonik", Title = "Issues in the Design of Object-Oriented Database Programming Languages", Journal = SIGPLAN, Volume = 22, Number = 12, Month = Dec, Year = 1987, Pages = "441-451", Note = "OOPSLA '87 Conference Proceedings, Norman Meyrowitz (editor), October 1987, Orlando, Florida.", Annote = "36 references." } @Article{Blum-Parisi-Presicce83, Key = "Blum \& Parisi-Presicce", Author = "Edward K. Blum and Fancesco Parisi-Presicce", Title = "Implementation of Data Types by Algebraic Methods", Journal = "Theoretical Computer Science", Volume = 27, Number = 2, Month = Oct, Year = 1983, Pages = "304-330", Annote = "Theoretical treatment. 45 references." } @InProceedings{Bobrow-Stefik82, Key = "Bobrow \& Stefik", Author = "D. G. Bobrow and M. J. Stefik", Title = "Loops--Data and Object Oriented Programming for Interlisp", BookTitle = "Discussion Papers European Conference on AI, Orsay, France", Organization = "?", Month = Jul, Year = 1982 } @TechReport{Bobrow-etal85, Key = "Bobrow, {\em et al.\/}", Author = "D. G. Bobrow and K. Kahn and G. Kiczales and L. Masinter and M. Stefik and F. Zdybel", Title = "CommonLoops: Merging Common Lisp and Object-oriented Programming", Institution = "Xerox Palo Alto Research Center: Intelligent Systems Laboratory", Number = "ISL-85-8", Month = Aug, Year = 1985 } @Article{Bobrow-etal86, Key = "Bobrow, {\em et al.\/}", Author = "Daniel G. Bobrow and Kenneth Kahn and George Kiczales and Larry Masinter and Mark Stefik and Frank Zdybel", Title = "CommonLoops: Merging Lisp and Object-Oriented Programming", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "17-29", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "CommonLoops integrates functions and generic invocation by providing syntax that is the same as a function call for generic calls. Method lookup can be based on the class of more than one argument. The ``most specific'' method is called if there is a conflict, determined by the leftmost type specifiers which differ; this can be redefined by users of meta-objects. Multi-methods can use type specifier information to access the slots (instance variables) of arguments to the method. Default methods versus functions. Meta-objects allow CommonLoops to implement most other inheritance and generic invocation mechanisms, and allows them to be combined; CommonLoops thus has an extensible inheritance mechanism. Behavior can be specified for individual objects. Method combination based on run-super uses Lisp as the combination language. Meta-classes determine how multiple inheritance conflicts are resolved for instance variables and how component classes are ordered. Inheritance of instance variables can be overridden in a subclass. Discussion of implementation techniques. Comparision with Loops, Smalltalk-80, and new Flavors. 16 references." } @Unpublished{Bobrow-etal87, Key = "Bobrow, {\em et al.\/}", Author = "Daniel G. Bobrow and Linda G. DeMichiel and Richard P. Gabriel and Sonya Keene and Gregor Kiczales and David A. Moon", Title = "Common Lisp Object System Specification", Year = 1987, Number = "87-002", Note = "Draft Standard", Annote = "Standard programmer interface for object-oriented programming in Common Lisp. Largely based on Common Loops." } @TechReport{Boehm-Demers-Donahue80, Key = "Boehm \& Demers \& Donahue", Author = "H. Boehm and A. Demers and J. Donahue", Title = "An Informal Description of Russell", Institution = "Department of Computer Science, Cornell University", Year = 1980, Month = Oct, Number = "TR 80-430", Annote = "Stack-based language with few built-in types but powerful combining forms. Has closures and type constructing operations for forming new data types. Types treated as values. Substitution principle insures that syntactically identical denotations evaluate to the same value." } @TechReport{Boehm-Demers-Donahue85, Key = "Boehm \& Demers \& Donahue", Author = "Hans-Juergen Boehm and Alan Demers and James Donahue", Title = "A Programmer's Introduction to Russell", Institution = "Department of Computer Science, Rice University", Year = 1985, Month = Mar, Number = "COMP TR85-16", Annote = "11 references." } @Article{Boehm-Demers-Donahue86, Key = "Boehm \& Demers \& Donahue", Author = "Hans-J. Boehm and Alan Demers and James Donahue", Title = "Letter to the editor", Journal = SIGPLAN, Volume = 21, Number = 1, Month = Jan, Year = 1986, Pages = "17-18", Annote = "Discussion of Russell in response to Harland, et al. Notes the following type checking problem for dynamic type checking systems that have functional types: how to check the assignment to a variable that is supposed to hold functions that return prime integers. 4 references." } @Article{Boehm-Demers86, Key = "Boehm \& Demers", Author = "Hans-Juergen Boehm and Alan Demers", Title = "Implementing Russell", Journal = SIGPLAN, Volume = 21, Number = 7, Month = Jul, Year = 1986, Pages = "186-195", Note = "Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, Palo Alto, California, June 25-27, 1986.", Annote = "Discussion of the type inference done in the Russell compiler and separate compilation. 26 references." } @PhDThesis{Boehm83, Key = "Boehm", Author = "H. Boehm", Title = "A Logic for the Russell Programming Language", School = "Cornell University", Year = 1983, Note = "To appear as a University of Washington technical report." } @Article{Boehm89, Key = "Boehm", Author = "Hans-J. Boehm", Title = "Type Inference in the Presence of Type Abstraction", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 7, Month = Jul, Pages = "192-206", Note = "Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, Portland, Oregon, June", Annote = "32 references." } @InProceedings{Bonniot03, key = "Bonniot", author = {Daniel Bonniot}, title = {Using kinds to type partially-polymorphic methods}, booktitle = {Electronic Notes in Theoretical Computer Science}, year = {2003}, editor = {Gilles Barthe and Peter Thiemann}, volume = {75}, publisher = {Elsevier}, address = NY, } @InCollection{Bono-Patel-Shmatikov99, key = {Bono \& Patel \& Shmatikov}, author = {Viviana Bono and Amit Patel and Vitaly Shmatikov}, title = {A Core Calculus of Classes and Mixins}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {43-66}, annote = {45 references.} } @InProceedings{Borning-Ingalls82a, Key = "Borning \& Ingalls", Author = "Alan H. Borning and Daniel H. H. Ingalls", Title = "A Type Declaration and Inference System for Smalltalk", BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico", Organization = ACM, Month = Jan, Year = 1982, Pages = "133-141", Note = "Also Washington University Department of Computer Science, TR-81-08-02a.", Annote = "14 references." } @InProceedings{Borning-Ingalls82b, Key = "Borning \& Ingalls", Author = "Alan H. Borning and Daniel H. H. Ingalls", Title = "Multiple Inheritance in Smalltalk-80", BookTitle = "Proceedings of the National Conference on Artificial Intelligence", Organization = "American Association for Artificial Intelligence", Pages = "234-237", Year = 1982, Note = "Also Univ. of Washington Tech. Rep. 82-06-02.", Annote = "Motivation for multiple inheritance is to avoid duplication of code when one class implements the methods of two or more classes. For example, the class transcript implements the protocols of both windows and writestreams. Classes may have any number of superclasses but any class is always an instance of just one class, thus its rep is inherited from just one class. It is an error if a message name is inherited from more than one superclass. Multiple inheritance makes the need for pools of semi-global variables go away. 10 references." } @Article{Borning81, Key = "Borning", Author = "Alan H. Borning", Title = "The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory", Journal = TOPLAS, Volume = 3, Number = 4, Month = Oct, Pages = "353-387", Year = 1981, Annote = "Uses constraints instead of types. ThingLab is a graphical simulation laboratory built on Smalltalk. 17 references." } @InProceedings{Bourdoncle-Merz97, key = "Bourdoncle \& Merz", title = "Type-Checking Higher-Order Polymorphic Multi-Methods", author = "Fran{\c{c}}ois Bourdoncle and Stephan Merz", pages = "302--315", booktitle = {POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = 1997, publisher = ACM, address = NY, annote = "41 references." } @Article{Boute80, Key = "Boute", Author = "Raymond T. Boute", Title = "Simplifying Ada by Removing Limitations", Journal = SIGPLAN, Volume = 15, Number = 2, Month = Feb, Pages = "17-29", Year = 1980, Annote = "Argues for type variables, against name equivalence. Ideas of Stoy, etc. Views type correctness as static verification that type manipulations are correct, not that all types are known at compile time. 15 references." } @InProceedings{Boyapati-Lee-Rinard02, key = {Boyapati \& Lee \& Rinard}, author = {Chandrasekhar Boyapati and Robert Lee and Martin Rinard}, title = {Ownership types for safe programming: preventing data races and deadlocks}, booktitle = {Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "37(11)", Month = Nov, Year = 2002, organization = ACM, pages = {211--230}, annote = {48 references.} } @Article{Boyd83, Key = "Boyd", Author = "Stowe Boyd", Title = "Free and Bound Generics: Two Techniques for Abstract Data Types in Modular C", Journal = SIGPLAN, Volume = 19, Number = 3, Month = Mar, Year = 1983, Pages = "12-20", Annote = "Distinguishes general versions of a data type from specific ones. Trade-offs in efficiency. Automatic conversion between free and bound generics. 15 references." } @InProceedings{Boyland-Castagna97, Key = {Boyland \& Castagna}, Author = {John Boyland and Giuseppe Castagna}, Title = {Parasitic Methods: Implementation of Multi-Methods for {Java}}, booktitle = {OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, editor = {A. Michael Berman}, Location = "Atlanta, Georgia", Year = 1997, month = Oct, Pages = "66-76", Series = SIGPLAN, publisher = ACM, address = NY, volume = "32(10)", annote = "A way to add multimethods to single dispatch languages, like Java. 15 references." } @InProceedings{Boyland-Noble-Retert01, key = {Boyland \& Noble \& Retert}, author = {John Boyland and James Noble and William Retert}, title = {Capabilities for Sharing}, booktitle = {ECOOP 2001 --- Object-Oriented Programming: 15th European Conference, Budapest, Hungary}, pages = {1-27}, year = 2001, editor = {Jorgen Lindskov Knudsen}, volume = 2072, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {42 references.} } @article{Boyland00, key = {Boyland}, author = {John Boyland}, title = {Alias burying: Unique variables without destructive reads}, journal = {Software---Practice and Experience}, year = 2001, Volume = 31, Number = 6, Pages = "533-553", Month = May, } @Article{Bracha-Griswold93, Key = "Bracha \& Griswold", Author = "Gilad Bracha and David Griswold", Title = "Strongtalk: Typechecking Smalltalk in a Production Environment", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Pages = "215-230", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "Type checking for Smalltalk. 26 references." } @TechReport{Bracha-Lindstrom91, Key = "Bracha \& Lindstrom", Author = "Gilad Bracha and Gary Lindstrom", Title = "Modularity Meets Inheritance", Institution = "Department of Computer Science, University of Utah", Year = 1991, Number = "UUCS-91-017", Address = "Salt Lake City, Utah", Month = Oct, Annote = "33 references." } @InProceedings{Bracha-etal98, Key = "Bracha, {\em et al.}", Author = "Gilad Bracha and Martin Odersky and David Stoutamire and Philip Wadler", Title = "Making the Future Safe for the Past: Adding Genericity to the {Java} Programming Language", BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, Pages = "183-200", Annote = "The GJ language. 24 references." } @InCollection{Breazu-Tannen-Meyer87, Key = "Breazu-Tannen \& Meyer", Author = "Breazu-Tannen-Meyer", Title = "Polymorphism is Conservative over Simple Types", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "7-17", Month = Jun, Annote = "24 references." } @InProceedings{Brosgol77, Key = "Brosgol", Author = "B. M. Brosgol", Title = "Some Issues in Data Types and Type Checking", Pages = "102-130", BookTitle = "Design and Implementation of Programming Languages", Publisher = SV, Address = NY, Year = 1977, Editor = "J. H. Williams and D. A. Fischer", Annote = "Implementation issues for data types, concentrating on the tradeoffs involved and interactions of features. 34 references." } @InProceedings{Bruce-Cardelli-Pierce96, key = "Bruce \& Cardelli \& Pierce", author = "Kim B. Bruce and Luca Cardelli and Benjamin C. Pierce", title = "Comparing Object Encodings", booktitle = "Invited lecture at Third Workshop on Foundations of Object Oriented Languages (FOOL 3)", year = 1996, month = Jul, note = "Available electronically through {\tt http://www.cs.williams.edu/\discretionary{}{}{}$\sim$kim/\discretionary{}{}{}FOOL/\discretionary{}{}{}Abstracts.html}", } @Article{Bruce-Cardelli-Pierce99, key = "Bruce \& Cardelli \& Pierce", author = "Kim B. Bruce and Luca Cardelli and Benjamin C. Pierce", title = "Comparing Object Encodings", journal = "Information and Computation", year = 1999, month = Nov, volume = 155, number = "1/2", pages = "108-133" } @InCollection{Bruce-Crabtree-Kanapathy93, Key = "Bruce \& Crabtree \& Kanapathy", Author = "Kim B. Bruce and Jonathan Crabtree and Gerald Kanapathy", Title = "An Operational Semantics for TOOPLE: A Statically-Typed Object-Oriented Programming Language", BookTitle = "Mathematical Foundations of Programming Semantics 9th International Conference, New Orleans, LA, USA, Proceedings", Publisher = SV, Year = 1993, Editor = "S. Brookes and M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 802, Pages = "603-626", Address = NY, Month = Apr, Annote = "25 references." } @Article{Bruce-DiCosmo-Longo92, Key = "Bruce \& Di Cosmo \& G. Longo", Author = "K. Bruce and R. Di Cosmo and G. Longo", Title = "Provable isomorphisms of Types", Journal = "Mathematical Structures in Computer Science", Volume = 2, Number = 2, Year = "1992", Pages = "231-247" } @Unpublished{Bruce-Gent93, Key = "Bruce \& Gent", Author = "Kim B. Bruce and Robert van Gent", Title = "{TOIL}: Imperative Object Oriented languages can be type-safe too", Year = 1993, Note = "Obtained by annonymous ftp from angus.cs.williams.edu", Annote = "No references" } @InProceedings{Bruce-Longo88, Key = "Bruce \& Longo", Author = "Kim B. Bruce and Giuseppe Longo", Title = "A Modest Model of Records, Inheritance, and Bounded Quantification", BookTitle = "Third Annual Symposium on Logic in Computer Science", Pages = "38-51", Publisher = IEEE, Month = Jul, Year = 1988, Editor = "Y. Gurevich" } @Article{Bruce-Longo90, Key = "Bruce \& Longo", Author = "K. Bruce and G. Longo", Title = "A modest model of records, inheritance and bounded quantification", Journal = "Information and Computation", Year = 1990, Volume = 87, Number = "1/2", Pages = "196-240" } @InProceedings{Bruce-Mitchell92, Key = "Bruce \& Mitchell", Author = "Kim Bruce and John C. Mitchell", Title = "{PER} models of subtyping, recursive types and higher-order polymorphism", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "316-327", Organization = ACM, Month = Jan, Annote = "34 references." } @InCollection{Bruce-Petersen-Fiech97, key = {Bruce \& Petersen \& Fiech}, author = {Kim B. Bruce and Leaf Petersen and Adrian Fiech}, title = {Subtyping is Not a Good ``Match'' for Object-Oriented Languages}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {104-127}, annote = {26 references.} } @InCollection{Bruce-Riecke88, Key = "Bruce \& Riecke", Author = "Kim B. Bruce and Jon G. Riecke", Title = "The Semantics of Miranda's Algebraic Types", BookTitle = "Mathematical Foundations of Programming Language Semantics 3rd Workshop, Tulane University, New Orleans, Lousiana, USA, April 1987", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 298, Publisher = SV, Address = NY, Year = 1988, Pages = "455-475", Annote = "20 references." } @Unpublished{Bruce-Schuett-vanGent94, Key = "Bruce \& Schuett \& vanGent", Author = "Kim B. Bruce and Angela Schuett and Robert van Gent", Title = "A type-safe polymorphic object-oriented language", Note = "Obtain by anonymous ftp from cs.williams.edu in pub/kim/PolyTOIL.dvi", Month = Jul, Year = 1994 } @InCollection{Bruce-Schuett-vanGent95, Key = "Bruce \& Schuett \& vanGent", Author = "Kim B. Bruce and Angela Schuett and Robert van Gent", Title = "A type-safe polymorphic object-oriented language", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Note = "ECOOP '95 - Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Pages = "27-51", Year = 1995, Annote = "27 references." } @Article{Bruce-Wegner86, Key = "Bruce \& Wegner", Author = "Kim B. Bruce and Peter Wegner", Title = "An Algebraic Model of Subtypes in Object-Oriented Languages (Draft)", Journal = SIGPLAN, Volume = 21, Number = 10, Month = Oct, Year = 1986, Annote = "A type T1 is a subtype of T2 iff there is a coercer function from T1 to T2 that preserves the structure of the types. 13 references." } @Unpublished{Bruce-Wegner87, Key = "Bruce \& Wegner", Author = "Kim B. Bruce and Peter Wegner", Title = "Algebraic and Lambda Calculus Models of Subtype and Inheritance (Extended Abstract)", Year = 1987, Note = "Working paper?", Annote = "Uses order sorted algebras for coercers. 13 references." } @InCollection{Bruce-Wegner90, Key = "Bruce \& Wegner", Author = "Kim B. Bruce and Peter Wegner", Title = "An Algebraic Model of Subtype and Inheritance", BookTitle = "Advances in Database Programming Languages", Editor = "Francois Ban\c{c}ilhon and Peter Buneman", Pages = "75-96", Month = Aug, Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1990, Annote = "Uses order sorted algebras for coercers. 7 references." } @Article{Bruce-etal93, Key = "Bruce, {\em et al.}", Author = "Kim B. Bruce and Jon Crabtree and Thomas P. Murtagh and Robert van Gent and Allyn Dimock and Robert Muller", Title = "Safe and decidable type checking in an object-oriented language", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Pages = "29-46", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "Type checking inheritance in TOOPLE. 24 references." } @Article{Bruce-etal95, Key = "Bruce, {\em et al.}", Author = "Kim Bruce and Luca Cardelli and Giuseppe Castagna and The Hopkins Object Group and Gary T. Leavens and Benjamin Pierce", Title = "On Binary Methods", Journal = "Theory and Practice of Object Systems", Publisher = "John, Wiley and Sons, Inc.", Year = 1995, Address = NY, Pages = "221-242", Volume = 1, Number = 3, Annote = "53 references." } @TechReport{Bruce-etal95a, Key = "Bruce, {\em et al.}", Author = "Kim Bruce and Luca Cardelli and Giuseppe Castagna and The Hopkins Object Group and Gary T. Leavens and Benjamin Pierce", Title = "On Binary Methods", Year = 1995, Month = Dec, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "95-08a", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR95-08/TR.ps.Z", Note = "Appears in {\it Theory and Practice of Object Systems}. Volume 1, Number 3. Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu" } @Book{Bruce02, key = "Bruce", author = "Kim B. Bruce", title = "Foundations of Object-Oriented Languages: Types and Semantics", publisher = "The MIT Press", address = "Cambridge, MA", year = "2002", annote = "Many references." } @TechReport{Bruce92, Key = "Bruce", Author = "Bruce, K.", Title = "A paradigmatic object-oriented programming language: design, static typing and semantics", Institution = "Williams College", Number = "CS-92-01, revised", Note = "To appear in Journal of Functional Programming", Year = "1993" } @InProceedings{Bruce93, Key = "Bruce", Author = "Bruce, K.", Title = "Safe Type Checking in a Statically Typed Object-Oriented Programming Language", BookTitle = "Proc. ACM Symp. on Principles of Programming Languages", Year = "1993", Pages = "285-298" } @Article{Bruce94, Key = "Bruce", Author = {K. B. Bruce}, Title = {A Paradigmatic Object-Oriented Programming Language: Design, Static Typing and Semantics}, Journal = "Journal of Functional Programming", Volume = 4, Number = 2, Month = Apr, Year = 1994, Pages = "127-206" } @Article{Budd91b, Key = "Budd", Author = "Timothy A. Budd", Title = "Generalized arithmetic in C++", Journal = JOOP, Year = 1991, Volume = 3, Number = 6, Month = Feb, Pages = "11-22", Annote = "4 references." } @InProceedings{Buechi-Weck98, key = {B\"{u}chi \& Weck}, author = {Martin B\"{u}chi and Wolfgang Weck}, title = {Compound Types for {Java}}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {362-373}, annote = {36 references.} } @InCollection{Buneman84, Key = "Buneman", Author = "Peter Buneman", Title = "Can We Reconcile Programming Languages and Databases?", BookTitle = "Databases - Role and Structure: An Advanced Course", Editor = "P. M. Stocker, P. M. D. Gray and M. P. Atkinson.", Publisher = "Cambridge University Press", Address = "Cambridge, England", Year = 1984, Pages = "225-243", Annote = "The problems of integrating programming languages and databases. The basic problem is a mismatch of data types. 33 references." } @InProceedings{Buneman85, Key = "Buneman", Author = "Peter Buneman", Title = "Data Types for Data Base Programming", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "295-307", Annote = "Deriving records, indexes and sets from a single type: a partial function. 18 references." } @TechReport{Burstall-Lampson84, Key = "Burstall \& Lampson", Author = "R. Burstall and B. Lampson", Title = "A Kernel Language for Modules and Abstract Data Types", Institution = DECSRC, Month = Sep, Year = 1984, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "An version of this appeared in G. Kahn, D. B. MacQueen and G. Plotkin (eds.), Semantics of Data Types: International Symposium, Sophia-Antipolis, France, June, 1984, Springer-Verlag LNCS Volume 173, pages 1-50.", Annote = "Pebble and its details. Pebble treats types as values and declarations as types. Dependent product types correspond to existential types and dependent arrow types correspond to universal types. 20 references." } @InProceedings{Burstall84, Key = "Burstall", Author = "Rod Burstall", Title = "Programming with Modules as Typed Functional Programming", BookTitle = "Fifth Generation Computing Systems 1984", Month = Nov, Year = 1984, Pages = "103-112", Publisher = North-Holland, Address = NY, Annote = "Explains the motivation for the type system of Pebble and its details. Pebble treats types as values and declarations as types. Dependent product types correspond to existential types and dependent arrow types correspond to universal types. 30 references." } @Article{Burton90, Key = "Burton", Author = "F. Warren Burton", Title = "Type Extension Through Polymorphism", Journal = TOPLAS, Volume = 12, Number = 1, Month = Jan, Year = 1990, Pages = "135-138", Annote = "One can get a function that accepts subtypes of a given record type by allowing for the extension at design time: having a type parameter for the missing fields of a tuple. 7 references." } @Article{Butterworth-Otis-Stein91, Key = "Butterworth \& Otis \& Stein", Author = "Paul Butterworth and Allen Otis and Jacob Stein", Title = "The GemStone Object Database Management System", Journal = CACM, Year = 1991, Volume = 34, Number = 10, Month = Oct, Pages = "64-77", Annote = "11 references." } @TechReport{Canning-Hill-Olthoff88, Key = "Canning \& Hill \& Olthoff", Author = "Peter Canning and Walter L. Hill and Walter Olthoff", Title = "Towards a Kernel Language for Object-Oriented Programming", Number = "STL-88-21", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories", Address = "Palo Alto, Calif.", Month = Sep, Year = 1988, Annote = "28 references." } @InProceedings{Canning-etal89a, Key = "Canning, {\em et al.}", Author = "Peter Canning and William Cook and Walter Hill and John Mitchell and Walter Olthoff", Title = "F-Bounded Polymorphism for Object-Oriented Programming", BookTitle = "Fourth International Conference on Functional Programming and Computer Architecture", Month = Sep, Year = 1989, Organization = ACM, Note = "Also technical report STL-89-5, from Software Technology Laboratory, Hewlett-Packard Laboratories" } @Article{Canning-etal89b, Key = "Canning, {\em et al.}", Author = "Peter Canning and William Cook and Walter Hill and Walter Olthoff", Title = "Interfaces for Strongly-Typed Object-Oriented Programming", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "457-467", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana. Also technical report STL-89-6 (revision 1), from Software Technology Laboratory, Hewlett-Packard Laboratories", Annote = "33 references." } @Unpublished{Cardelli, Key = "Cardelli", Author = "Luca Cardelli", Title = "The Amber Machine", Annote = "An intermediate language for compiling, in the tradition of the SECD Machine, specialized for the Amber Language. 7 references." } @TechReport{Cardelli-Leroy90, Key = "Cardelli \& Leroy", Author = "Luca Cardelli and Xavier Leroy", Title = "Abstract Types and the Dot Notation", Institution = DECSRC, Month = Mar, Year = 1990, Number = 56, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "16 references." } @TechReport{Cardelli-Longo90a, Key = "Cardelli \& Longo", Author = "Luca Cardelli and Giuseppe Longo", Title = "A Semantic Basis for Quest", Month = Feb, Year = 1990, Institution = DECSRC, Number = 55, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "Concentrates on modeling quantifiers and subtyping. 43 references." } @InProceedings{Cardelli-Longo90b, Key = "Cardelli \& Longo", Author = "Luca Cardelli and Giuseppe Longo", Title = "A Semantic Basis for Quest", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = Jun, Year = 1990, Pages = "30-43", Note = "Extended abstract of DEC SRC technical report 55", Annote = "Concentrates on modeling quantifiers and subtyping. 43 references." } @InProceedings{Cardelli-MacQueen85, Key = "Cardelli \& MacQueen", Author = "Luca Cardelli and David MacQueen", Title = "Persistence and Type Abstraction", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "?", Annote = "8 references." } @InCollection{Cardelli-Mitchell89a, Key = "Cardelli \& Mitchell", Author = "Luca Cardelli and John C. Mitchell", Title = "Operations on Records (Summary)", BookTitle = "Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Month = Mar, Year = 1989, Publisher = SV, Address = NY, Series = LNCS, Volume = 442, Pages = "22-52", Annote = "25 references." } @TechReport{Cardelli-Mitchell89b, Key = "Cardelli \& Mitchell", Author = "Luca Cardelli and John C. Mitchell", Title = "Operations on Records", Month = Aug, Year = 1989, Institution = DECSRC, Number = 48, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "25 references." } @Article{Cardelli-Wegner85, Key = "Cardelli \& Wegner", Author = "Luca Cardelli and Peter Wegner", Title = "On Understanding Types, Data Abstraction and Polymorphism", Journal = ACMCS, Volume = 17, Number = 4, Month = Dec, Year = 1985, Pages = "471-522", Annote = "Model of typed, polymorphic programming languages. Existential and bounded quantification. Lambda calculus based model of type systems. The language Fun. 44 references." } @InProceedings{Cardelli-etal89a, Key = "Cardelli, {\em et al.}", Author = "Luca Cardelli and Jim Donahue and Mick Jordan and Bill Kalsow and Greg Nelson", Title = "The Modula-3 Type System", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1989, Pages = "202-212", Annote = "Includes subtypes. Strong arguments for structural subtyping and structural type equivalence rules. 15 references." } @TechReport{Cardelli-etal91, Key = "Cardelli, {\em et al.}", Author = "Luca Cardelli and Simone Martini and John C. Mitchell and Andre Scedrov", Title = "An Extension of System F with Subtyping", Institution = DECSRC, Year = 1991, Number = 80, Month = Dec, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Extended abstract in Theoretical Aspects of Computer Software, T. Ito and A. R. Meyer (editors), LNCS Vol 526. To appear in Information and Control.", Annote = "26 references." } @Article{Cardelli-etal94, Key = "Cardelli, {\em et al.}", Author = "Luca Cardelli and Simone Martini and John C. Mitchell and Andre Scedrov", Title = "An Extension of System F with Subtyping", journal = "Information and Computation", year = 1994, volume = 109, number = "1/2", pages = "4-56", month = "Feb" } @Article{Cardelli83, Key = "Cardelli", Author = "Luca Cardelli", Title = "ML under Unix", Journal = "Polymorphism: The ML/LCF/Hope Newsletter", Volume = "I", Number = 3, Month = Dec, Year = 1983, Annote = "3 references." } @InCollection{Cardelli84a, Key = "Cardelli", Author = "Luca Cardelli", Title = "A Semantics of Multiple Inheritance", BookTitle = "Semantics of Data Types: International Symposium, Sophia-Antipolis, France", Publisher = SV, Address = NY, Editor = "G. Kahn, D. B. MacQueen and G. Plotkin", Series = LNCS, Volume = 173, Month = Jun, Year = 1984, Pages = "51-66", Note = "A revised version of this paper appears in {\em Information and Computation}, volume 76, numbers 2/3, pages 138--164, February/March 1988.", Annote = "18 references." } @InCollection{Cardelli84b, Key = "Cardelli", Author = "Luca Cardelli", Title = "Amber", BookTitle = "Combinators and functional programming languages : Thirteenth Spring School of the LITP, Val d'Ajol, France, May 6-10, 1985", Year = 1986, Publisher = SV, Volume = 242, Series = LNCS, Editor = "Guy Cousineau and Pierre-Louis Curien, and Bernard Robinet", Number = "Also AT\&T Bell Laboratories Technical Memorandum TM 11271-840924-10" } @TechReport{Cardelli86, Key = "Cardelli", Author = "Luca Cardelli", Title = "A Polymorphic $\lambda$-calculus with Type:Type", Institution = DECSRC, Number = 10, Month = May, Year = 1986, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "34 references." } @Article{Cardelli87, Key = "Cardelli", Author = "Luca Cardelli", Title = "Basic Polymorphic Typechecking", Journal = "Science of Computer Programming", Volume = 8, Number = 2, Month = Apr, Year = 1987, Pages = "147-172" } @InProceedings{Cardelli88, Key = "Cardelli", Author = "Luca Cardelli", Title = "Structural Subtyping and the Notion of Power Type", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = Jan, Year = 1988, Pages = "70-79", Annote = "Structural subtyping rules. Power types are the types of all subtypes; they allow bounded quantification. His ``abstract types'' are simply dependent product types. 14 references." } @Article{Cardelli88b, Key = "Cardelli", Author = "Luca Cardelli", Title = "A Semantics of Multiple Inheritance", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "138-164", Annote = "A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 51--66. 20 references." } @InCollection{Cardelli88c, Key = "Cardelli", Author = "Luca Cardelli", Title = "Typechecking Dependent Types and Subtypes", BookTitle = "Foundations of Logic and Functional Programming, Workshop Proceedings, Trento, Italy, (Dec. 1986)", Editor = "M. Boscarol and L Carlucci Aiello and G Levi", Series = LNCS, Volume = 306, Pages = "45-57", Year = 1988, Annote = "Type system based on dependent types. Sketch of some type checking techniques. 13 references." } @TechReport{Cardelli89, Key = "Cardelli", Author = "Luca Cardelli", Title = "Typeful Programming", Month = May, Year = 1989, Institution = DECSRC, Number = 45, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "A revised version published in {\em Formal Description of Programming Concepts}, E.J. Neuhold and M. Paul (eds.), (Springer-Verlag 1991).", Annote = "Discussion of type checking in general. The language Quest." } @InCollection{Cardelli91, Key = "Cardelli", Author = "Luca Cardelli", Title = "Typeful Programming", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "431-507", Address = NY, Annote = "ISBN 0-387-53961-1. 52 references." } @TechReport{Cardelli92a, Key = "Cardelli", Author = "Luca Cardelli", Title = "Extensible Records in a Pure Calculus of Subtyping", Month = Jan, Year = 1992, Institution = DECSRC, Number = 81, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "Calculus of second-order extensible records. 21 references." } @Unpublished{Cardelli92b, Key = "Cardelli", Author = "Luca Cardelli", Title = "Typed Foundations of Object-oriented Programming", Note = "POPL '92 Tutorial", Annote = "30 references.", Month = Jan, Year = 1992 } @TechReport{Cardelli93, Key = "Cardelli", Author = "Luca Cardelli", Title = "An Implementation of F$_{<:}$", Institution = DECSRC, Year = 1993, Number = 97, Address = "130 Lytton Avenue, Palo Alto, California 94301", Month = Feb, Note = "Order from src-report@src.dec.com", Annote = "16 references." } @InProceedings{Cardelli97, key = {Cardelli}, author = {Luca Cardelli}, title = {Program Fragments, Linking, and Modularization}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, publisher = ACM, address = NY, month = Jan, pages = {266-277-}, annote = {Separate compilation and linking. 21 references.} } @InCollection{Cardone-Coppo90, Key = "Cardone-Coppo", Author = "Felice Cardone and Mario Coppo", Title = "Two Extension of Curry's Type Inference System", BookTitle = "Logic and Computer Science", Publisher = "Academic Press", Year = 1990, Editor = "P. Odifreddi", Series = "APIC Series", Volume = 31, Pages = "19-75", Address = NY, Annote = "Recursive types and intersection types. 12 references." } @Article{Cardone-Coppo91, Key = "Cardone \& Coppo", Author = "Felice Cardone and MarioCoppo", Title = "Type Inference with Recursive Types: Syntax and Semantics", Journal = "Information and Computation", Year = 1991, Volume = 92, Number = 1, Month = May, Pages = "48-80" } @Article{Cardone91, Key = "Cardone", Author = "Felice Cardone", Title = "Recursive Types for Fun", Journal = TCS, Year = 1991, Volume = 83, Number = 1, Month = Jun, Pages = "29-56" } @InCollection{Cardone92, Key = "Cardone", Author = "Felice Cardone", Title = "An Algebraic Approach to the Interpretation of Recursive Types", BookTitle = "CAAP '92, 17th Colloquium on Trees in Algebra and Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Jean-Claude Raoult", Series = LNCS, Address = NY, Volume = 581, Pages = "66-85", Annote = "26 references" } @TechReport{Carnese84, Key = "Carnese", Author = "Daniel J. Carnese", Title = "Multiple Inheritance in Contemporary Programming Languages", Year = 1984, Institution = MITLCS, Number = "TR-328", Month = Sep, Annote = "Explains the mechanisms for multiple inheritance in the Flavors, Traits, Smalltalk and Loops mechanisms. 117 references." } @Article{Cartwright-Fagan91, Key = "Cartwright \& Fagan", Author = "Robert Cartwright and Mike Fagan", Title = "Soft Typing", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 6, Month = Jun, Pages = "278-292", Note = "Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation (Toronto, Canada)", Annote = "Generalization of static and dynamic typing. Type checker inserts run-time checks into suspect programs. 25 references. " } @Article{Cartwright-Felleisen96, key = {Cartwright \& Felleisen}, author = {Robert Cartwright and Matthias Felleisen}, title = "Program Verification Through Soft Typing", journal = ACMCS, volume = 28, number = 2, pages = "349-351", month = Jun, year = 1996, annote = "6 references." } @InProceedings{Cartwright-Steele98, Key = "Cartwright \& Steele", Author = "Robert Cartwright and Guy L. {Steele Jr.}", Title = "Compatible Genericity with Run-time Types for the {Java} Programming Language", BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, Pages = "201-215", Annote = "8 references." } @InCollection{Caseau-Perron93, Key = "Caseau \& Perron", Author = "Yves Caseau and PLaurent Perron", Title = "Attaching Second-Order Types to Methods in an Object-Oriented Language", Journal = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Note = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Pages = "142-160", Annote = "30 references" } @Article{Caseau93, Key = "Caseau", Author = "Yves Caseau", Title = "Efficient Handling of Multiple Inheritance Hierarchies", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Pages = "271-287", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "20 references." } @InProceedings{Castagna-Ghelli-Longo92, Key = "Castagna \& Ghelli \& Longo", Author = "Giuseppe Castagna and Giorgio Ghelli and Giuseppe Longo", Title = "A Calculus for Overloaded Functions with Subtyping", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "182-192", Organization = ACM, Month = Jun, Note = "To appear in {\it Information and Computation}.", Annote = "23 references." } @InProceedings{Castagna-Ghelli-Longo93, Author = {G. Castagna and G. Ghelli and G. Longo}, Title = {A semantics for $\lambda$\&-{\em early}: a calculus with overloading and early binding}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {107-123}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93} } @article{Castagna-Ghelli-Longo95, title = {A Calculus for Overloaded Functions with Subtyping}, author = {Giuseppe Castagna and Giorgio Ghelli and Giuseppe Longo}, pages = {115--135}, journal = "Information and Computation", month = Feb, year = 1995, volume = 117, number = 1, URL = {ftp://theory.lcs.mit.edu/pub/iandc/iandc.bib}, annote = "A preliminary version appeared in {\em ACM Conference on LISP and Functional Programming\/}, June 1992 (pp.\ 182--192)" } @Article{Castagna-Leavens95, key = "Castagna \& Leavens", author = "Giuseppe Castagna and Gary T. Leavens", title = "Foundations of Object-Oriented Languages (2nd Workshop report)", journal = SIGPLAN, year = 1995, volume = 30, number = 2, pages = "5-11", month = Feb, annote = "21 references." } @InProceedings{Castagna-Pierce94, Key = {Castagna \& Pierce}, Author = {Giuseppe Castagna and Benjamin C. Pierce}, Title = "Decideable Bounded Quantification", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "151-162", Annote = "25 references." } @InCollection{Castagna93, Key = "Castagna", Author = "G. Castagna", Title = "A Meta-Language for Typed Object-Oriented Languages", BookTitle = "Foundations of Software Technology and Theoretical Computer Science", Publisher = SV, Year = 1993, Editor = "R. K. Shyamasundar", Series = LNCS, Volume = 761, Pages = "52-71", Month = Oct, Annote = "10 references." } @InProceedings{Castagna93b, Author = {G. Castagna}, Title = {${F}_{\leq}^{\&}$ : integrating parametric and "ad hoc" second order polymorphism}, BookTitle = {Proc.\ of the 4th International Workshop on Database Programming Languages}, Year = {1993}, Publisher = SV, Address = {New York City}, Series = {Workshops in Computing}, Month = Sep, Note = {To appear} } @TechReport{Castagna94, Key = "Castagna", Author = {G. Castagna}, Title = {Covariance and contravariance: conflict without a cause}, Institution = {LIENS}, Year = {1994}, Number = {liens-94-18}, Month = Oct, Note = {Available by anonymous ftp from {\tt ftp.ens.fr} in file {\tt /pub/dmi/users/castagna/covariance.dvi.Z}. To appear in ACM TOPLAS, volume 17, number 3, March 1995.} } @Article{Castagna95, Author = {Giuseppe Castagna}, Title = {Covariance and contravariance: conflict without a cause}, Journal = TOPLAS , Year = 1995, Volume = 17, Number = 3, Pages = {431-447} } @Article{Castagna95b, Key = "Castagna", Author = "Giuseppe Castagna", Title = "A Meta-Language for Typed Object-Oriented Languages", Volume = 151, Number = 2, Pages = "297-352", Publisher = "Elsevier Science", Month = Nov, Year = 1995 } @Article{Castagna96, Author = {Giuseppe Castagna}, Title = "Integration of Parametric and ``ad hoc'' Second Order Polymorphism in a Calculus with Subtyping", Journal = "Formal Aspects of Computing", Year = 1996, Volume = 8, Number = 3, Pages = "247-293", Annote = "38 references." } @Book{Castagna97, author = {Giuseppe Castagna}, title = {Object-Oriented Programming: A Unified Foundation}, publisher = {Birkhauser}, year = 1997, key = {Castagna}, series = {Progress in Theoretical Computer Science}, address = {Boston}, annote = {Many references.} } @inproceedings{Chambers-Chen99, author = {Craig Chambers and Weimin Chen}, title = {Efficient Multiple and Predicate Dispatching}, pages = "238--255", booktitle = {OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, editor = {A. Michael Berman}, year = 1999, volume = {34(10)}, series = SIGPLAN, Address = NY, location = {Denver, CO}, month = {November}, publisher = ACM, } @InProceedings{Chambers-Leavens94, Key = "Chambers \& Leavens", Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", BookTitle = "OOPSLA '94 Conference Proceedings", Series = SIGPLAN, Volume = "29(10)", Month = Oct, Year = 1994, Pages = "1-15", Annote = "Over 47 references." } @TechReport{Chambers-Leavens94c, Key = "Chambers \& Leavens", Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", Institution = "Department of Computer Science, Iowa State University", Year = 1994, Number = "94-03a", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-03/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu. Also University of Washington Department of Computer Science and Engineering TR number 94-03-01. A shorter version appears in the {\em OOPSLA '94 Conference Proceedings}, pages 1--15.", Annote = "Over 47 references." } @TechReport{Chambers-Leavens95, Key = "Chambers \& Leavens", Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", Institution = "Department of Computer Science, Iowa State University", Year = 1995, Number = "95-19", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR95-19/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu. Also University of Washington Department of Computer Science and Engineering TR number 95-08-05. To appear in {\em ACM TOPLAS}.", Annote = "Over 47 references." } @Article{Chambers-Leavens95b, author = "Craig Chambers and Gary T. Leavens", title = "Typechecking and Modules for Multi-Methods", key = "Chambers \& Leavens", journal = TOPLAS, year = 1995, volume = 17, number = 6, pages = "805-843", annote = "56 references." } @InProceedings{Chambers-Leavens96, Key = "Chambers \& Leavens", Author = "Craig Chambers and Gary T. Leavens", Title = "{BeCecil}, A Core Object-Oriented Language with Block Structure and Multimethods: Semantics and Typing", booktitle = {The Fourth International Workshop on Foundations of Object-Oriented Languages, {FOOL 4}, Paris, France}, Year = 1996, Month = Dec, note = {The proceedings are on-line at the URL http://www.cs.williams.edu/\verb|~|kim/FOOL/FOOL4.html}, annote = {Many references.}, URL = "http://www.cs.indiana.edu/hyplan/pierce/fool/chambers.ps.gz" } @TechReport{Chambers-Leavens97, Key = "Chambers \& Leavens", Author = "Craig Chambers and Gary T. Leavens", Title = "{BeCecil}, A Core Object-Oriented Language with Block Structure and Multimethods: Semantics and Typing", Institution = "Department of Computer Science, Iowa State University", Year = 1997, Number = "96-17a", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-17/TR.ps.gz", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu. Also University of Washington Department of Computer Science and Engineering TR number UW-CSE-96-12-02.", Annote = "Many references." } @Article{Chambers-Ungar-Lee89, Key = "Chambers \& Ungar \& Lee", Author = "Craig Chambers and David Ungar and Elgin Lee", Title = "An Efficient Implementation of {Self}, a Dynamically-Typed Object-Oriented Language Based on Prototyypes", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "49-70", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "34 references." } @Article{Chambers-Ungar90, Key = "Chambers \& Ungar", Author = "Craig Chambers and David Ungar", Title = "Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs", Journal = SIGPLAN, Volume = 25, Number = 6, Month = Jun, Year = 1990, Pages = "150-164", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "24 references." } @InProceedings{Chen-Hudak-Odersky92, Key = "Chen \& Hudak \& Odersky", Author = "Kung Chen and Paul Hudak and Martin Odersky", Title = "Parametric Type Classes", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "170-181", Organization = ACM, Month = Jun, Annote = "19 references." } @InCollection{Chen-Odersky94, Key = "Chen \& Odersky", Author = "Kung Chen and Martin Odersky", Title = "A Type System for a Lambda Calculus with Assignments", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "347-364", Month = Apr, Annote = "20 references." } @InProceedings{Clarke-Drossopoulou02, key = {Clarke \& Drossopoulou}, author = {Dave Clarke and Sophia Drossopoulou}, title = {Ownership, encapsulation and the disjointness of type and effect}, booktitle = {Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "37(11)", Month = Nov, Year = 2002, organization = ACM, pages = {292--310}, url = {http://doi.acm.org/10.1145/582419.582447}, annote = {59 references.} } @InProceedings{Clarke-Richmond-Noble03, author = {Dave Clarke and Michael Richmond and James Noble}, title = {Saving the World from Bad Beans: Deployment-Time Confinement Checking}, booktitle = {Proc. of the ACM Conference on Object Oriented Programming, Systems, Languages, and Applications}, year = {2003}, pages = {374--387}, publisher = {ACM Press}, address = {Anaheim, CA}, } @Article{Claybrook-Claybrook85, Key = "Claybrook \& Claybrook", Author = "Billy G. Claybrook and Anne-Marie Claybrook", Title = "Defining Database Views as Data Abstractions", Journal = IEEETSE, Volume = "SE-11", Number = 1, Month = Jan, Year = 1985, Pages = "3-14", Annote = "How database view realized as data abstractions can be specified and implemented. 25 references." } @InProceedings{Cline-Lea90a, Key = "Cline and Lea", Author = "Marshall P. Cline and Doug Lea", Title = "The Behavior of {C++} Classes", BookTitle = "Proceedings of the Symposium on Object Oriented Programming Emphasizing Practical Applications, Marist College", Year = 1990, Annote = "5 references." } @UnPublished{Cline-Lea90b, Key = "Cline and Lea", Author = "Marshall P. Cline and Doug Lea", Title = "Using Annotated C++", Month = Aug, Year = 1990, Note = "Obtained from the first author. Submitted to {\em C++ at Work '90}." } @Article{Cmelik-Gehani88, Key = "Cmelik \& Gehani", Author = "Robert F. Cmelik and Narain Gehani", Title = "Dimensional Analysis with C++", Journal = "IEEE Software", Month = May, Year = 1988, Volume = 5, Number = 3, Pages = "21-27", Annote = "9 references." } @Article{Cohen91, Key = "Cohen", Author = "Norman H. Cohen", Title = "Type-Extension Type Tests Can Be Performed In Constant Time", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 4, Month = Oct, Pages = "626-629", Annote = "2 references." } @TechReport{Compagnoni-Pierce93, Key = "Compagnoni \& Pierce", Author = "Adriana B. Compagnoni and Benjamin C. Pierce", Title = "Multiple Inheritance via Intersection Types", Institution = "University of Edinburg", Number = "ECS-LFCS-93-275", Month = "August", Year = 1993, Annote = "50 references." } @InCollection{Constable-Smith87, Key = "Constable \& Smith", Author = "Robert L. Constable and Scott Fraser Smith", Title = "Partial Objects in Constructive Type Theory", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "183-193", Month = Jun, Annote = "35 references." } @TechReport{Constable-Zlatin81, Key = "Constable \& Zlatin", Author = "Robert L. Constable and Daniel R. Zlatin", Title = "Report on the Type Theory (V3) of the Programming Logic PL/CV3", Institution = "Department of Computer Science, Cornell University", Year = 1981, Month = Apr, Number = "TR 81-454", Annote = "91 references." } @InCollection{Constable-Zlatin82, Key = "Constable \& Zlatin", Author = "Robert L. Constable and Daniel R. Zlatin", Title = "The Type Theory of PL/CV3", BookTitle = "Logics of Programs, Workshop, Yorktown Heights, New York, May 1981", Publisher = SV, Address = NY, Series = LNCS, Editor = "Dexter Kozen", Volume = 131, Year = 1982, Pages = "72-93", Annote = "16 references." } @Article{Constable-Zlatin84, Key = "Constable \& Zlatin", Author = "Robert L. Constable and Daniel R. Zlatin", Title = "The Type Theory of PL/CV3", Journal = TOPLAS, Volume = 6, Number = 1, Month = Jan, Year = 1984, Pages = "94-117", Annote = "32 references." } @Book{Constable-etal86, Key = "Constable, {\em et al.}", Author = "Robert L. Constable and S. Allen and h. Bromely and W. Cleveland and others", Title = "Implementing Mathematics with the Nuprl Development System", Publisher = Prentice-Hall, Address = "Englewood Cliffs, NJ", Year = 1986, Annote = "Hundreds of references." } @TechReport{Constable80a, Key = "Constable", Author = "Robert L. Constable", Title = "Programs as Types", Institution = "Department of Computer Science, Cornell University", Year = 1980, Month = May, Number = "TR 80-423", Annote = "Constructive type theory leading to a logic of programs. The data types include specifications. 37 references." } @InProceedings{Constable80b, Key = "Constable", Author = "Robert L. Constable", Title = "Programs and Types", BookTitle = "21st IEEE Symp. on Foundations of Computer Science, Syracuse, New York", Publisher = "IEEE", Year = 1980, Pages = "118-128", Annote = "Propositions are types, that is, types are both first and second order statements, both specifications and data types. 59 references." } @TechReport{Constable82, Key = "Constable", Author = "Robert L. Constable", Title = "Intentional Analysis of Functions and Types", Institution = "University of Edinburgh", Type = "Edinburgh Computer Science Report", Year = 1982, Number = "118-87" } @TechReport{Constable83, Key = "Constable", Author = "R. L. Constable", Title = "Mathematics as Programming", Institution = "Department of Computer Science, Cornell University", Year = 1983, Number = "TR 83-565", Address = "Ithaca, New York 14853", Month = Jul, Annote = "27 references." } @InCollection{Constable85, Key = "Constable", Author = "Robert L. Constable", Title = "Constructive Mathematics as a Programming Logic I: Some Principles of Theory", BookTitle = "Topics in the Theory of Computation", Editor = "Marek Karpinski and Jan van Leeuwen", Publisher = "Elsevier North-Holland, Inc.", Series = "Annals of Discrete Mathematics", Number = 24, Address = NY, Year = 1985, Pages = "21-37", Annote = "38 references." } @InCollection{Constable89, Key = "Constable", Author = "Robert L. Constable", Title = "Assigning Meaning to Proofs: a semantic basis for problem solving environments", Booktitle = "Constructive Methods in Computing Science", Series = "NATO ASI Series", Volume = "F55", Editor = "Manfred Broy", Publisher = SV, Address = NY, Pages = "63-91", Year = 1989, Annote = "Nuprl proof developement system. Good tutorial on constructive type theory and the Curry-Howard isomorphism. 23 references." } @InProceedings{Cook-Hill-Canning90, Key = "Cook \& Hill \& Canning", Author = "William R. Cook and Walter L. Hill and Peter S. Canning", Title = "Inheritance is Not Subtyping", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Month = Jan, Year = 1990, Pages = "125-135", Note = "Also STL-89-17, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, Calif., July 1989", Annote = "9 references." } @InProceedings{Cook89b, Key = "Cook", Author = "W. R. Cook", Title = "A Proposal for Making Eiffel Type-safe", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Pages = "57-70", Publisher = "Cambridge University Press", Annote = "8 references." } @Article{Cook89c, Key = "Cook", Author = "W. R. Cook", Title = "A Proposal for Making Eiffel Type-safe", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 4, Month = Aug, Pages = "305-311" } @InCollection{Cook91, Key = "Cook", Author = "William R. Cook", Title = "Object-Oriented Programming Versus Abstract Data Types", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "151-178", Address = NY, Annote = "45 references.", URL = {http://www.cs.utexas.edu/~wcook/papers/OOPvsADT/CookOOPvsADT90.pdf} } @Article{Cook92, Key = "Cook", Author = "W. R. Cook", Title = "Interfaces and Specifications for the {Smalltalk-80} Collection Classes", Journal = SIGPLAN, Month = Oct, Year = 1992, Volume = 27, Number = 10, Pages = "1-15", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "21 references." } @InCollection{Coppo-Dezani-Ciancaglini-Venneri80, Key = "Coppo \& Dezani-Ciancaglini \& Venneri", Author = "M. Coppo and M. Dezani-Ciancaglini and B. Venneri", Title = "Principal Type Schemes and lambda-Calculus Semantics", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "535-560", Annote = "13 references." } @InCollection{Coppo-Giannini92, Key = "Coppo \& Giannini", Author = "M. Coppo and P. Giannini", Title = "A Complete Type Inference Algorithm for Simple Intersection Types", BookTitle = "CAAP '92, 17th Colloquium on Trees in Algebra and Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Jean-Claude Raoult", Series = LNCS, Address = NY, Volume = 581, Pages = "102-123", Annote = "22 references" } @InCollection{Coppo80, Key = "Coppo", Author = "Mario Coppo", Title = "An Extended Polymorphic Type System for Applicative Languages", BookTitle = "Mathematical Foundations of Computer Science, Proceedings of the Ninth Symposium, Rydzyna, Poland", Publisher = SV, Editor = "P. Demb\'{i}nski", Series = LNCS, Volume = 88, Year = 1980, Pages = "194-204", Annote = "Extends ML-like typing. 17 references." } @Article{Coppo83, Key = "Coppo", Author = "Mario Coppo", Title = "On the Semantics of Polymorphism", Journal = "Acta Informatica", Volume = 20, Number = 2, Month = Nov, Year = 1983, Pages = "159-170", Annote = "Semantic characterization of terms which can be assigned a type. 16 references." } @UnPublished{Coquand-Huet84, Key = "Coquand \& Huet", Author = "Thierry Coquand and Gerard Huet", Title = "A Theory of Constructions", Month = Jun, Year = 1984, Note = "Paper presented at the International Symposium on Semantics of Data Types, Sophia-Antipolis, but not published in the proceedings." } @TechReport{Coquand-Huet85a, Key = "Coquand \& Huet", Author = "T. Coquand and G. Huet", Title = "Constructions: a Higher Order Proof System for Mechanizing Mathematics", Institution = "INRIA", Address = "Rocquencourt, France", Number = 401, Month = May, Year = 1985 } @InCollection{Coquand-Huet85b, Key = "Coquand \& Huet", Author = "T. Coquand and G. Huet", Title = "Constructions: a Higher Order Proof System for Mechanizing Mathematics", BookTitle = "EUROCAL '85, (European Converence on Computer Algebra; Linz, Austria)", Editor = "Bruno Buchberger", Series = LNCS, Volume = 203, Month = Apr, Year = 1985, Pages = "151-184", Annote = "Early version of the calculus of constructions. Many mathematical examples. 57 references." } @Article{Coquand-Huet88, Key = "Coquand \& Huet", Author = "Thierry Coquand and G\'{e}rard Huet", Title = "The Calculus of Constructions", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "95-120", Annote = "48 references." } @Article{Cormack-Wright90, Key = "Cormack \& Wright", Author = "G. V. Cormack and A. K. Wright", Title = "Type-dependent Parameter Inference", Journal = SIGPLAN, Volume = 25, Number = 6, Month = Jun, Year = 1990, Pages = "127-136", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "27 references." } @InProceedings{Cousot97, key = {Cousot}, author = {Patrick Cousot}, title = {Types as Abstract Interpretation}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {316-331}, annote = {41 references.} } @Book{Cox-Novobilski91, Key = "Cox \& Novobilski", Author = "Brad J. Cox and Andrew J. Novobilski", Title = "Object Oriented Programming: an Evolutionary Approach", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1991, Edition = "2nd", Annote = "Discusses Objective-C." } @Article{Cox84, Key = "Cox", Author = "Brad J. Cox", Title = "Message/Object Programming: An Evolutionary Change in Programming Technology", Journal = "IEEE Software", Month = Jan, Year = 1984, Volume = 1, Number = 1, Pages = "50-61", Annote = "Argues for hybrid languages with both object-oriented and procedure-oriented constructs. Description of benefits of object-oriented style. Integration of objects in language and operating system as in Hydra. 7 references." } @Book{Cox86, Key = "Cox", Author = "Brad J. Cox", Title = "Object Oriented Programming: an Evolutionary Approach", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1986, Annote = "Discusses Objective-C." } @Article{Crary-Harper-Puri99, key = {Crary \& Harper \& Puri}, author = {Karl Crary and Robert Harper and Sidd Puri}, title = {What is a Recursive Module?}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = May, pages = {50-63}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {23 references.} } @InProceedings{Crary-Walker-Morrisett99, key = {Crary \& Walker \& Morrisett}, author = {Karl Crary and David Walker and Greg Morrisett}, title = {Typed Memory Management in a Calculus of Capabilities}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {262-275}, annote = {41 references.} } @InProceedings{Crary-Weirich-Morrisett99, key = {Crary \& Weirich \& Morrisett}, author = {Karl Crary and Stephanie Weirich and Greg Morrisett}, title = {Intensional Polymorphism in Type-Erasure Semantics}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {301-312}, annote = {Supports the ability to dispatch to different routines baed on run-time types. 28 references.} } @InProceedings{Crary97, key = {Crary}, author = {Karl Crary}, title = {Foundations for the Implementation of Higher-Order Subtyping}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {125-135}, annote = {Translates a higher-order calculus with subtyping to one that uses explicit coercions in a subsumption-free calculus. 31 references.} } @Book{Crole93, Key = "Crole", Author = "Roy Crole", Title = "Categories for Types", Publisher = "Cambridge University Press", Year = 1993, Address = "Cambridge" } @InCollection{Curien-Ghelli90, Key = "Curien \& Ghelli", Author = "P.-L. Curien and G. Ghelli", Title = "Coherence of Subsumption", BookTitle = "CAAP '90 15th Colloquium on Trees in Algebra and Programming, Copenhagen, Denmark", Month = May, Year = 1990, Editor = "A. Arnold", Publisher = SV, Address = NY, Series = LNCS, Volume = 431, Pages = "132-146" } @Book{Curien86, Key = "Curien", Author = "P.-L. Curien", Title = "Categorical combinators, sequential algorithms, and functional programming", Publisher = "Wiley", Year = 1986, Address = NY, Note = "Research notes in theorectical computer science Includes bibliographical references and index. QA267.3 .C87 1986" } @InProceedings{Curry-Ayers83, Key = "Curry \& Ayers", Author = "Gael A. Curry and Robert M. Ayers", Title = "Experience with Traits in the Xerox Star Workstation", BookTitle = "Workshop on Reusability in Programming, Newport, R.I.", Organization = "Advance papers", Year = 1983, Month = Sep, Pages = "83-96", Note = "A revised version appears in {\em IEEE Transactions on Software Engineering}, Volume SE-10, Num. 5, Sept. 1984, pages 519-527.", Annote = "Explains the implementation of the Traits mechanism. Experience in its usage. Problems with efficiency of multiple inheritance. Major problem is access to trait storage in instances at run-time must in general use indirection. This is not a problem in single inheritance. Multiple inheritance not necessary for most of the Star software. 8 references" } @Article{Curry-etal82, Key = "Curry, {\em et al.}", Author = "Gael Curry and Larry Baer and Daniel Lipkie and Bruce Lee", Title = "Traits: An Approach to Multiple Inheritance Subclassing", Journal = "SIGOA Newsletter", Month = Jun, Year = 1982, Volume = 3, Number = "1 and 2", Pages = "1-9", Note = "ACM-SIGOA Conference on Office Automation Systems, Philadelphia, Penn.", Annote = "Multiple inheritance, using acyclic DAG. Saves code. 6 references." } @PhDThesis{Curtis90, Key = "Curtis", Author = "Pavel Curtis", Title = "Constrained Quantification in Polymorphic Type Analysis", School = "Cornell University", Month = Jan, Year = 1990, Note = "Xerox PARC TR, CSL-90-1", Annote = "28 references." } @InProceedings{Damas-Milner82, Key = "Damas \& Milner", Author = "L. Damas and R. Milner", Title = "Principal Type-Schemes for Functional Programs", BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico", Year = 1982, Organization = ACM, Month = Jan, Pages = "207-212", Annote = "Shows that the ML type assignment algorithm finds the most general type possible. 6 references." } @InCollection{Damiani-Giannini94, Key = "Damiani \& Giannini", Author = "Ferruccio Damiani and Paola Giannini", Title = "A Decidable Intersection Type System based on Relevance", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "707-725", Month = Apr, Annote = "21 references." } @InCollection{Damm-Fehr78, Key = "Damm \& Fehr", Author = "W. Damm and E. Fehr", Title = "On the Power of Self-Application and Higher Type Structures", BookTitle = "Automata, Languages and Programming, Fifth Colloquium, Udine, July 1978", Publisher = SV, Address = NY, Series = LNCS, Volume = 62, Editor = {G. Ausiello and C. B\"{o}hm}, Year = 1978, Pages = "177-191", Annote = "25 references." } @InCollection{Damm94, Key = "Damm", Author = "Flemming M. Damm", Title = "Subtyping with Union Types, Intersection Types and Recursive Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "687-706", Month = Apr, Annote = "16 references." } @Article{Danforth-Tomlinson88, Key = "Danforth \& Tomlinson", Author = "Scott Danforth and Chris Tomlinson", Title = "Type Theories and Object-Oriented Programming", Journal = ACMCS, Volume = 20, Number = 1, Month = Mar, Year = 1988, Pages = "29-72", Annote = "Good survey of types theories and how they can be applied to understanding and type-checking object-oriented programs. Distinguishes representation relationships from behavioral relationships. 82 references." } @InProceedings{Davenport-Jenks80, Key = "Davenport \& Jenks", Author = "James H. Davenport and Richard D. Jenks", Title = "MODLISP", BookTitle = "Conference Record of the 1980 LISP Conference, Stanford, Calif.", Organization = "The LISP Conference", Month = Aug, Year = 1980, Pages = "65-74", Note = "Also IBM Research Report RC 8537, Oct. 1980", Annote = "LISP-like language with modes. Overloading and dynamic construction of new parameterized types. 20 references." } @InProceedings{Day-etal95, Author = "Mark Day and Robert Gruber and Barbara Liskov and Andrew C. Meyers", Title = "Subtypes vs. where clauses: Constraining parametric polymorphism", Booktitle = "OOPSLA '95 Conference Proceedings", Series = SIGPLAN, Volume = "30(10)", Year = 1995, Pages = "156-168" } @InProceedings{Demers-Donahue80a, Key = "Demers \& Donahue", Author = "Alan J. Demers and James E. Donahue", Title = "Data Types, Parameters and Type Checking", Pages = "12-23", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = Jan, Year = 1980, Annote = "Description of type-checking in Russell and motivation in terms of traditional systems. 11 references." } @InProceedings{Demers-Donahue80b, Key = "Demers \& Donahue", Author = "Alan Demers and James Donahue", Title = {"Type Completeness" as a Language Design Principle}, Pages = "234-244", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = Jan, Year = 1980, Annote = "Principle of type-completeness used to evaluate other languages and as a framework for language design. Type-completeness is 1) giving every expression a type, 2) having an expression for every type and 3) having the ability to parameterize any expression. 11 references." } @TechReport{Demers-Donahue80c, Key = "Demers \& Donahue", Author = "A. Demers and J. E. Donahue", Title = "The Russell Semantics: An Exercise in Abstract Data Types", Institution = "Department of Computer Science, Cornell University", Year = 1980, Month = Oct, Number = "TR 80-431", Annote = "Denotational Semantics of Russell as a metacircular interpreter. 11 references." } @InProceedings{Demers-Donahue83, Key = "Demers \& Donahue", Author = "Alan Demers and James Donahue", Title = "Making Variables Abstract: an Equational Theory for Russell", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = Jan, Year = 1983, Pages = "59-72", Annote = "14 references." } @InProceedings{Demers-etal77, Key = "Demers, {\em et al.}", Author = "A. J. Demers and J. E. Donahue and R. T. Teitelbaum and J. H. Williams", Title = "Encapsulated Data Types and Generic Procedures", Pages = "171-214", BookTitle = "Design and Implementation of Programming Languages", Publisher = SV, Address = NY, Year = 1977, Editor = "J. H. Williams and D. A. Fischer", Annote = "Meaning of data type and encapsulation. 17 references." } @Article{Denvir79, Key = "Denvir", Author = "B. T. Denvir", Title = "On Orthogonality in Programming Languages", Journal = SIGPLAN, Month = Jul, Volume = 14, Number = 7, Pages = "18-30", Year = 1979, Annote = "Types as types. Considers various features of programming languages with respect to orthogonality. 13 references." } @Article{Deutsch81, Key = "Deutsch", Author = "L. Peter Deutsch", Title = "Constraints: A Uniform Model for Data and Control", Journal = SIGPLAN, Month = Jan, Volume = 16, Number = 1, Pages = "118-120", Year = 1981, Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Constraints and a sort of abstract data type. 5 references." } @Article{Deux-etal, Key = "Deux, {\em et al.}", Author = "O. Deux", Title = "The $O_2$ System", Journal = "CACM", Year = 1991, Volume = 34, Number = 10, Month = Oct, Pages = "34-48", Annote = "23 references." } @InCollection{Dezani-Ciancaglini-Giovannetti-deLiguoro98, author = {Mariangiola Dezani-Ciancaglini and Elio Giovannetti and Ugo de'Liguo}, title = {Intersection types, $\lambda$-models, and B\"{o}hm trees}, booktitle = {Theories of Types and Proofs}, key = {Dezani-Ciancaglini-Giovannetti-deLiguo}, pages = {45-97}, publisher = {Mathematical Society of Japan}, year = 1998, editor = {Masako Takahashi and Mitsuhiro Okada and Mariangiola Dezani-Ciancaglini}, volume = 2, series = {MSJ Memoirs}, chapter = 2, address = {Tokyo, Japan} } @InProceedings{DiGianantonio-Honsell-Liquori98, key = {Di Gianantonio \& Honsell \& Liquori}, author = {Pietro Di Gianantonio and Furio Honsell and Luigi Liquori}, title = {A Lambda Calculus of Objects with Self-Inflicted Extension}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {166-178}, annote = {A study of functional prototype-based languages. Has a notion of flexible width-subtyping. 25 references.} } @PhdThesis{Dinesh92, Key = "Dinesh", Author = "T. B. Dinesh", Title = "Object-Oriented Programming: Inheritance to Adoption", School = "University of Iowa", Year = 1992, Address = "Iowa City, Iowa", Month = "May", Annote = "Generalizes the notions of inheritance and delegation. Inheritance with adoption results in some benefits when inherited types are not subtypes. 61 references." } @Article{Diwan-WcKinley-Moss98, key = {Diwan \& WcKinley \& Moss}, author = {Amer Diwan and Kathryn S. WcKinley and J. Eliot B. Moss}, title = {Type-Based Alias Analysis}, journal = SIGPLAN, year = 1998, volume = 33, number = 5, month = May, pages = {106-117}, note = {Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {36 references.} } @InCollection{Dodani-Tsai92, Key = "Dodani \& Tsai", Author = "Mahesh Dodani and Chung-Shin Tsai", Title = "ACTS: A Type System for Object-Oriented Programming Based on Abstract and Concrete Classes", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "309-328", Annote = "27 references" } @Article{Dodani-Tsai96, key = {Dodani \& Tsai}, author = {Mahesh Dodani and Chung-Shin Tsai}, title = {A reliable and flexible type system for object-oriented programming}, journal = {Object Oriented Systems}, year = 1996, volume = 3, number = 2, month = Jun, pages = {87-121}, annote = {24 references.} } @InCollection{Doh-Schmidt92, Key = "Doh \& Schmidt", Author = "Kyung-Goo Doh and David A. Schmidt", Title = "Extraction of Strong Typing Laws from Action Semantics Definitions", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "151-166", Annote = "36 references" } @Article{Donahue-Demers85, Key = "Donahue \& Demers", Author = "James Donahue and Alan Demers", Title = "Data Types are Values", Journal = TOPLAS, Month = Jul, Year = 1985, Volume = 7, Number = 3, Pages = "426-445", Annote = "Description of the Russell type system. Argues against type inference. Gives a denotational meaning to the value of a data type parameter, which is a set of operations. Gives the rules for type checking Russell. Argues that Russell is strongly typed, both in the sense that it each expression has a type and no parameter/argument mismatches are allowed and in the sense that no misinterpretation of values is possible. Thus Russell programs have representation independence. 32 references." } @InProceedings{Donahue85, Key = "Donahue", Author = "Integrating Programming Languages with Database Systems", Title = "James Donahue", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "331-341", Annote = "10 references." } @TechReport{Dorn05, key = {Dorn}, author = {Brian J. Dorn}, title = {Design and implementation of a reusable type inference engine and its application to {Scheme}}, institution = {Department of Computer Science, Iowa State University}, year = 2005, number = {05-16}, address = {226 Atanasoff Hall, Ames, Iowa 50011}, month = Jul, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-16/TR.pdf}, annote = {The author's MS thesis. 24 references.} } @Article{Dornic-etal92, Key = "Dornic, {\em at al}", Author = "Vincent Dornic and Pierre Jouvelot and David Torczon", Title = "Polymorphic Time Systems fpr Estimating Program Complexity", Journal = "ACM letters on Programming Languauges and Systems", Year = 1992, Month = Mar, Volume = 1, Number = 1, Pages = "33-45", Annote = "22 references. " } @TechReport{Dowek92, Key = "Dowek", Author = "Gilles Dowek", Title = "A Second-Order Pattern Matching Algorithm for the Cube of Typed $\lambda$-calculi", Institution = "INRIA", Year = 1992, Number = 1585, Month = Jan, Annote = "22 references." } @InProceedings{Dowek93, Key = {Dowek}, Author = {Dowek}, Title = {The Undecidability of typability of lambda-pi-calculus}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {139-145}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93}, Annote = {15 references} } @Article{Drossopoulou-Eisenbach-Khurshid99, key = {Drossopoulou \& Eisenbach \& Khurshid}, author = {Sophia Drossopoulou and Susan Eisenbach and Sarfraz Khurshid}, title = {Is the Java Type System Sound?}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {3-24}, annote = {At least a subset is. 34 references.} } @InCollection{Drossopoulou-Eisenbach97, key = {Drossopoulou \& Eisenbach}, author = {Sophia Drossopoulou and Susan Eisenbach}, title = {Java is Type Safe --- Probably}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {389-418}, annote = {21 references.} } @InProceedings{Drossopoulou-Wragg-Eisenbach98, key = {Drossopoulou \& Wragg \& Eisenbach}, author = {Sophia Drossopoulou and David Wragg and Susan Eisenbach}, title = {What {\em is} {Java} Binary Compatability?}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {341-358}, annote = {20 references.} } @TechReport{Duba-Harper-MacQueen90, Key = "Duba \& Harper \& MacQueen", Author = "Bruce F. Duba and Robert Harper and David MacQueen", Title = "Typing First-Class Continuations in ML", Institution = CMU, Year = 1990, Number = "CMU-CS-90-184", Note = "Appears in POPL '91", Annote = "42 references." } @InProceedings{Dubois-Rouaix-Weis95, Key = {Dubois \& Rouaix \& Weis}, Author = {Catherine Dubois and Fran\c{c}ois Rouaix and Pierre Weis}, Title = "Extensional Polymorphism", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "118-", Annote = "A framework for type checking ad hoc polymorphic functions. 23 references." } @InProceedings{Duggan-Sourelis96, key = {Duggan \& Sourelis}, author = {Dominic Duggan and Constantinos Sourelis}, title = {Mixin Modules}, BookTitle = {ICFP '96: Proceedings of the first ACM SIGPLAN international conference on Functional programming}, editor = {Richard L. Wexelblat}, Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, publisher = ACM, address = NY, pages = {262--273}, annote = {Allows recursive definitions to span module boundaries. 32 references.} } @Article{Duggan99, author = {Dominic Duggan}, title = {Dynamic Typing for Distributed Programming in Polymorphic Languages}, journal = TOPLAS, year = 1999, key = {Duggan}, volume = 21, number = 1, month = Jan, pages = {11-45}, annote = {Dynamic type dispatch with refinement kinds. 53 references.} } @Article{Dungan79, Key = "Dungan", Author = "Dona M. Dungan", Title = "Bibliography on Data Types", Journal = SIGPLAN, Volume = 14, Number = 11, Month = Nov, Year = 1979, Pages = "31-59", Annote = "This is a complete annotated bibliography, covering data types in specific languages (52 references), data type abstractions (116 references), and theoretical foundations (41 references)." } @PhDThesis{Dungan80, Key = "Dungan", Author = "Dona Marie Dungan", Title = "Variations on Data Type Equivalence", School = "University of Iowa", Year = 1980 } @InProceedings{Dzeng-Haynes94, key = {Dzeng \& Haynes}, author = {Hsianlin Dzeng and Christopher Haynes}, title = {Type Reconstruction for Variable-Arity Procedures}, booktitle = {Proceedings of the 1994 ACM Conference on LISP and Functional Programming}, year = 1994, organization = ACM, month = Jun, pages = "239-249", } @Proceedings{ECOOP87, Key = "ECOOP", Title = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Note = "Lecture Notes in Computer Science, Volume 276" } @Proceedings{ECOOP88, Key = "ECOOP", Title = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Note = "Lecture Notes in Computer Science, Volume 322" } @Proceedings{ECOOP89, Key = "ECOOP", Title = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Publisher = "Cambridge University Press" } @InProceedings{Eidorff-etal99, key = {Eidorff, {\em et al.}}, author = {Peter Harry Eidorff and Fritz Henglein and Christian Mossin and Henning Niss and Morten Heine S{\o}rensen and Mads Tofte}, title = {{AnnoDomini}: From Type Theory to Year 2000 Conversion Tool}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {1-14}, annote = {10 references.} } @InProceedings{Eifrig-etal94, key = "Eifrig, {\em et al.}", author = "Jonathan Eifrig and Scott Smith and Valery Trifonov and Amy Zwarico", title = "Application of OOP Type Theory: State, Decidability, Integration", volume = 29, number = 10, series = SIGPLAN, pages = "16-30", booktitle = "OOPSLA '94 Conference Proceedings", year = 1994, organization = ACM, month = Oct, annote = "19 references." } @InProceedings{Eifrig-etal94b, key = "Eifrig, {\em et al.}", Author = "Jonathan Eifrig and Scott Smith and Valery Trifonov", Title = "Type Inference for Recursively Constrained Types and its Application to {OOP}", Booktitle = "Mathematical Foundations of Programming Semantics, New Orleans", Series = "Electronic Notes in Theoretical Computer Science", Publisher = "Elsevier", Volume = 1, Year = "1995", Note = "http://www.sciencedirect.com/science/journal/15710661" } @inproceedings{Eifrig-etal95, key = "Eifrig, {\em et al.}", Author = "J. Eifrig and S. Smith and V. Trifonov", Title = "Sound polymorphic type inference for objects", Booktitle = "OOPSLA '95 Conference Proceedings", Series = SIGPLAN, Volume = "30(10)", Year = 1995, pages = "169-184" } @InCollection{Ernst99, key = {Ernst}, author = {Erik Ernst}, title = {Propogating Class and Method Composition}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {67-91}, annote = {A generalization of the Beta language, gbeta, which allows methods to be combined in a way that is type checked. Includes block structure. 25 references.} } @InCollection{Evan-Schmidt90, Key = "Evan \& Schmidt", Author = "Susan Evan and David A. Schmidt", Title = "Type Inference for Action Semantics", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = May, Year = 1990, Pages = "118-133", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432, Annote = "26 references." } @InProceedings{Fabry76, Key = "Fabry", Author = "R. Fabry", Title = "How to Design A System In Which Modules Can Be Changed On The Fly", BookTitle = "Proceedings of the Second International Conference on Software Engineering", Organization = IEEE, Month = Oct, Year = 1976, Annote = "Places version numbers on objects so that translation routines can be invoked when necessary." } @PhdThesis{Fagan90, author = {Michael Fagan}, title = {Soft Typing: An Approach to Type Checking for Dynamically Typed Languages}, school = {Rice University}, year = 1992, key = {Fagan} } @TechReport{Fairbairn82, Key = "Fairbairn", Author = "J. Fairbairn", Title = "Ponder and its Type System", Institution = "University of Cambridge, Computer Laboratory", Year = 1982, Month = Nov, Number = 31, Note = "Reprinted in {\em Polymorphism: The ML/LCF/Hope Newsletter}, I(2), April, 1983.", Annote = "Small set of primitives and few built-in constructs. Polymorphic and normal order functional language. Mechanisms for user-defined pairs and disjoint union types. Third-man argument applied to types as values in Russell. Thus adopts ML-style polymorphism, but argument types must be specified and type variables must be declared explicitly. Most general type does not exist in general. Limits power of type generators so that generated types can be compared. Locally quantified polymorphic types with parameterized generators and capsules. 9 references." } @InProceedings{Fairbairn85, Key = "Fairbairn", Author = "Jon Fairbairn", Title = "A New Type-Checker for a Functional Language", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "119-138", Annote = "Type checker for Ponder. 10 references." } @TechReport{Fairbairn89, Key = "Fairbairn", Author = "Jon Fairbairn", Title = "Some Types with Inclusion Properties in $\forall$, $\rightarrow$, $\mu$", Institution = "University of Cambridge, Computer Laboratory", Year = 1989, Month = Jun, Number = 171, Annote = "6 references." } @inproceedings{Fahndrich-Leino03, author = "Manuel F{\"a}hndrich and K. Rustan M. Leino", title = "Declaring and Checking Non-null Types in an Object-Oriented Langauge", booktitle = {OOPSLA '03: Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, location = {Anaheim, CA}, address = NY, publisher = ACM, month = Nov, series = SIGPLAN, volume = "38(11)", Pages = {302--312}, year = 2003, } @PhDThesis{Fasel81, Key = "Fasel", Author = "Joseph Henry Fasel, III", Title = "Programming Languages as Abstract Data Types: Definition and Implementation", School = "Purdue University", Year = 1981 } @TechReport{Fickas-etal88, Key = "Fickas, {\em et al.}", Author = "S. Fickas and E. Doerry and D. Meyer and P. Miller", Title = "Design Issues in a Minimal Language to Support Lisp-based, Object-based, and Rule-based Programming", Institution = "Computer Science Department, University of Oregon", Address = "Eugene, Oregon", Number = "CIS-TR-88-16", Month = Dec, Year = 1988, Annote = "13 references." } @Article{Fischer-Mitchell98, key = {Fischer \& Mitchell}, author = {Kathleen Fischer and John C. Mitchell}, title = {On the Relationship Between Classes, Objects and Data Abstraction}, journal = TAPOS, year = 1998, volume = 4, number = 1, pages = {3-25}, annote = {Combining prototypes with standard abstraction mechanisms. How to gain more precise control over the class hierarchy using standard data abstraction, enhanced with subtype constraints. 50 references.} } @InProceedings{Fischer-Reppy00, author = {Kathleen Fischer and John Reppy}, key = {Fischer \& Reppy}, title = {Extending {Moby} with Inheritance-Based Subtyping}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {27-43}, annote = {16 references.} } @Article{Fischer-Reppy99, key = {Fischer \& Reppy}, author = {Kathleen Fischer and John Reppy}, title = {The design of a class mechanism for {Moby}}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = May, pages = {37-49}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {35 references.} } @InProceedings{Flatt-Felleisen98, key = {Flatt \& Felleisen}, author = {Matthew Flatt and Matthias Felleisen}, title = {Units: Cool Modules for HOT Languages}, booktitle = {PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation}, editor = {A. Michael Berman}, series = SIGPLAN, year = 1998, volume = {33(5)}, publisher = ACM, address = NY, month = May, pages = {236-248}, annote = {31 references.} } @InProceedings{Flatt-Krishnamurthi-Felleisen98, key = {Flatt \& Krishnamurthi \& Felleisen}, author = {Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen}, title = {Classes and Mixins}, booktitle = {POPL '98: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, location = "San Diego, California", year = 1998, publisher = ACM, address = NY, month = Jan, pages = {171--183}, annote = {29 references.} } @InCollection{Fokkinga81, Key = "Fokkinga", Author = "Maarten M. Fokkinga", Title = "On the Notion of Strong Typing", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "305-320", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "19 references." } @Article{Ford-Hansche82, Key = "Ford \& Hansche", Title = "Optional, Repeatable and Varying Type Parameters", Author = "Gary Ford and Brian Hansche", Journal = SIGPLAN, Volume = 17, Number = 2, Month = Feb, Year = 1982, Pages = "41-48", Annote = "Specific proposals for these mechanisms in a language resembling Algol 68. 5 references." } @Article{Fortune-Leivant-ODonnell83, Key = "Fortune \& Leivant \& O'Donnell", Author = "Steven Fortune and Daniel Leivant and Michael O'Donnell", Title = "The Expressiveness of Simple and Second-order Type Structures", Year = 1983, Volume = 30, Journal = JACM, Pages = "151-185", Annote = "Theoretical treatment of what functions are definable and of normalizability. 58 references." } @Article{Foster-Faehndrich-Aiken99, key = {Foster \& F\"{a}hndrich \& Aiken}, author = {Jeffrey S. Foster and Manuel F\"{a}hndrich and Alexander Aiken}, title = {A Theory of Type Qualifiers}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = May, pages = {192-203}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {Const in C++ is an example of a type qualifier. Gives a useful form of subtyping. 34 references.} } @Article{Freeman-Pfenning91, Key = "Freeman \& Pfenning", Author = "Tim Freeman and Frank Pfenning", Title = "Refinement Types for ML", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 6, Month = Jun, Pages = "268-277", Note = "Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation (Toronto, Canada)", Annote = "Recursively defined subtypes of user-defined types. Type inferece system based on interesection types and abstract interpretation. 18 references." } @InProceedings{Freund-Mitchell98, key = {Freund \& Mitchell}, author = {Stephen N. Freund and John C. Mitchell}, title = {A Type System for Object Initialization in the {Java} Bytecode Language}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {310-328}, annote = {17 references.} } @TechReport{Fruhwirth89a, Key = "Fruhwirth", Author = {Thom W. Fr\"{u}wirth}, Title = "A Polymorphic Type Checking System for Prolog in HiLog", Institution = "Department of Computer Science, SUNY at Stony Brook", Address = "Long Island, New York 11794", Year = 1989, Number = "89/20", Note = "6th Israel Conference on Artificial Intelligence and Computer Vision", Annote = "HiLog overcomes problems with using Prolog as a type language to express polymorphic types. 16 references." } @TechReport{Fruhwirth89b, Key = "Fruhwirth", Author = {Thom W. Fr\"{u}wirth}, Title = "Towards a Fully Polymorphic Type System for Prolog", Institution = "Department of Computer Science, SUNY at Stony Brook", Address = "Long Island, New York 11794", Month = Oct, Year = 1989, Number = "89/26", Note = "Presented at the Workshop on Types in Logic Programming at the North American Conference on Logic Programming, Cleveland, Ohio", Annote = "Declarative subtyping but no cycles allowed. 26 references." } @TechReport{Fruhwirth89c, Key = "Fruhwirth", Author = {Thom W. Fr\"{u}wirth}, Title = "On Fixpoint Semantics for Types in Logic Programming Languages", Institution = "Department of Computer Science, SUNY at Stony Brook", Address = "Long Island, New York 11794", Year = 1989, Number = "?", Annote = "Characterization of types by their fixpoint semantics. 6 references." } @Article{Fuh-Mishra90, Key = "Fuh \& Mishra", Author = "You-Chin Fuh and Prateek Mishra", Title = "Type Inference with Subtypes", Journal = TCS, Volume = 73, Number = 2, Month = Jun, Year = 1990, Pages = "155-175", Note = "Special Issue: Second European Symposium on Programming (Nancy, France, March 1988)", Annote = "Extends polymorphic type inference with a very general notion of subtype. Shows principal type property and syntactic completeness for the type checker. 16 references." } @Article{Gantenbein91, Key = "Gantenbein", Author = "Gantenbein", Title = "Dynamic Binding in Strongly Typed Programming Languages", Journal = "Journal of Systems and Software", Year = 1991, Volume = 14, Number = 1, Month = Jan, Pages = "31-38" } @InProceedings{Gay92, Key = "Gay", Author = "Simon J. Gay", Title = "A Sort Inference Algorithm for the Polyadic Pi-Calculus", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "429-438", Annote = "5 references" } @Article{Gehani80, Key = "Gehani", Author = "Narain Gehani", Title = "Generic Procedures: An Implementation and Undecidability Result", Journal = "Computer Languages", Year = 1980, Volume = 5, Number = "3-4", Pages = "155-161", Annote = "Macro-expanding implementation leads to undecidability result. 13 references." } @Article{Georgeff84, Key = "Georgeff", Author = "Michael Georgeff", Title = "Transformations and Reduction Strategies for Typed Lambda Expressions", Journal = TOPLAS, Year = 1984, Volume = 6, Number = 4, Month = Oct, Pages = "603-631", Annote = "Efficient representations and evaluations of closures. Reducing reflexive types. 22 references." } @InCollection{Ghelli90, Key = "Ghelli", Author = "G. Ghelli", Title = "A Class Abstraction for a Hierarchical Type System", BookTitle = "ICDT '90, Third International Conference on Database Theory, Paris, France", Publisher = Springer-Verlag, Year = 1990, Editor = "S. Abiteboul and P. C. Kanellakis", Series = LNCS, Volume = 470, Pages = "56-71", Address = NY, Month = Dec } @InCollection{Ghelli91a, Key = "Ghelli", Author = "Giorgio Ghelli", Title = "Modelling Features of Object-Oriented Languages in Second Order Functional Languages with Subtypes", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "311-340", Address = NY, Annote = "17 references." } @Article{Ghelli91b, Key = "Ghelli", Author = "Giorgio Ghelli", Title = "A Static Type System for Message Passing", Journal = SIGPLAN, Volume = 26, Number = 11, Month = Nov, Year = 1991, Pages = "129-145", Note = "OOPSLA '91 Conference Proceedings, Andreas Paepcke (editor), October 1991, Phoenix, Arizona", Annote = "19 references." } @InProceedings{Ghelli93, Key = {Ghelli}, Author = {G. Ghelli}, Title = {Recursive types are not Conservative over F$\lessthanorequal$}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {146-162}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93}, Annote = {13 refences} } @InProceedings{Ghelli96, key = {Ghelli}, author = {Giorgio Ghelli}, title = {Complexity of kernel {Fun} subtype checking}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {134-145}, annote = {38 references.} } @TechReport{Giannini85, Key = "Giannini", Author = "Paola Giannini", Title = "Type Checking and Type Deduction Techniques for Polymorphic Programming Languages", Institution = CMU, Year = 1985, Month = Dec, Number = "CMU-CS-85-187", Annote = "Type checking and deduction in two different polymorphic programming structures: the parameteric lambda calculus (with let) and the polymorphic or second-order lambda calculus. Type inference rules. 42 references." } @InProceedings{Gifford-Lucassen86, Key = "Gifford \& Lucassen", Author = "David K. Gifford and John M. Lucassen", Title = "Integrating Functional and Imperative Programming", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "28-38", Organization = ACM, Month = Aug, Annote = "A fluent language, including side effects in the type system. 19 references." } @Book{Girard-Lafont-Taylor89, Key = "Girard \& Lafont \& Taylor", Author = "Jean-Yves Girard and Yves Lafont and Paul Taylor", Title = "Proofs and Types", Publisher = "Cambridge University Press", Address = NY, Year = 1989, Annote = "Typed lambda-calculus. 49 references." } @InProceedings{Girard71, Key = "Girard", Author = "Jean-Yves Girard", Title = {Une extension de l'interpr\'{e}tation de G\"{o}del \`{a} l'analyse, et son application \`{a} l'\'{e}limination des coupures dans l'analyse et la th\'{e}orie des types}, BookTitle = "Proceedings 2nd Scandinavian Logic Symposium", Publisher = "North-Holland", Address = "Amsterdam", Year = 1971, Pages = "63-92" } @Article{Girard86, Key = "Girard", Author = "J. Y. Girard", Title = "The System {\bf F} of variable types, fifteen years later", Journal = TCS, Volume = 45, Year = 1986, Pages = "159-192" } @InCollection{Girard93, Key = "Girard", Author = "Jean-Yves Girard", Title = "Linear Logic: A Survey", BookTitle = "Logic and Algebra of Specification", Year = 1993, Pages = "63-112", Editor = "F. L. Bauer and W. Brauer and H. Schwichtenberg", Series = "NATO ASI Series. Series F : Computer and System Sciences", Volume = 94, Publisher = SV, Address = NY, Annote = "17 references." } @TechReport{Gladney82a, Key = "Gladney", Author = "H. M. Gladney", Title = "Generic Operators in Concise Programs", Institution = "IBM Research Laboratory, San Jose, CA", Year = 1982, Number = "RJ3441 (40927)", Type = "IBM Research Report", Month = Mar, Annote = "27 references." } @TechReport{Gladney82b, Key = "Gladney", Title = "An Introduction to the Concise Programming Language", Author = "H. M. Gladney", Institution = "IBM Research Laboratory, San Jose, CA", Year = 1982, Number = "RJ3455 (41061)", Type = "IBM Research Report", Month = Apr, Annote = "21 references." } @InProceedings{Glew-Morrisett99, key = {Glew \& Morrisett}, author = {Neal Glew and Greg Morrisett}, title = {Type-Safe Linking and Modular Assembly Language}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {250-261}, annote = {30 references.} } @Book{Goldberg-Robson83, Key = "Goldberg \& Robson", Author = "Adele Goldberg and David Robson", Title = "Smalltalk-80, The Language and its Implementation", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1983, Annote = "Smalltalk features message-based object oriented programming and a hierarchical type system." } @InProceedings{Goldstein-Bobrow80a, Key = "Goldstein \& Bobrow", Author = "I. Goldstein and D. Bobrow", Title = "Extending Object Oriented Programming in Smalltalk", BookTitle = "Conference Record of the 1980 LISP Conference, Stanford, Calif.", Organization = "The LISP Conference", Month = Aug, Year = 1980 } @InProceedings{Gomard90, Key = "Gomard", Author = "Carsten K. Gomard", Title = "Partial Type Inference for Untyped Functional Programs", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = Jun, Year = 1990, Pages = "282-287", Annote = "Algorithm to type parts of a program and underline parts that are not typeable. 15 references." } @InProceedings{Gordon-etal78, Key = "Gordon, {\em et al.}", Author = "M. Gordon and R. Milner and L. Morris and M. Newey and C. Wadsworth", Title = "A Meta Language for Interactive Proof in LCF", Organization = ACM, BookTitle = "Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona", Month = Jan, Year = 1978, Pages = "119-130", Annote = "Overview of ML and its application to proof systems. 36 references." } @Article{Gorlen87, Key = "Gorlen", Author = "Keith E. Gorlen", Title = "An Object-Oriented Class Library for C++ Programs", Journal = SPandE, Year = 1987, Volume = 17, Number = 12, Month = Dec, Pages = "899-922", Annote = "8 references." } @InCollection{Granston-Russo93, Key = "Granston \& Russo", Author = "Elana D. Granston and Vincent F. Russo", Title = "Signature-Based Polymorphism for C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "121-133", Address = "Cambridge, Mass.", Annote = "8 references." } @InProceedings{Graver-Johnson90, Key = "Graver \& Johnson", Author = "Justin O. Graver and Ralph E. Johnson", Title = "A Type System for Smalltalk", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Month = Jan, Year = 1990, Pages = "136-150", Annote = "19 references." } @TechReport{Graver89, Key = "Graver", Author = "Justin Owen Graver", Title = "Type-Checking and Type-Inference for Object-Oriented Programming Languages", Institution = "Department of Computer Science, University of Illinois at Urbana-Champaign", Number = "UUICDCS-R-89-1539 and UILU-ENG-89-1758", Month = Aug, Year = 1989, Note = "The author's Ph.D. thesis.", Annote = "Subtypes not based on subclasses. 47 references." } @InCollection{Greenhouse-Boyland99, key = {Greenhouse \& Boyland}, author = {Aaron Greenhouse and John Boyland}, title = {An Object-Oriented Effects System}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {205-229}, annote = {14 references.}, URL = {http://www.springerlink.com/link.asp?id=tu309p114v1kbd8v} } @Article{Grogono-Bennett89, Key = "Grogono \& Bennett", Author = "Peter Grogono and Anne Bennett", Title = "Polymorphism and Type Checking in Object-Oriented Languages", Journal = SIGPLAN, Volume = 24, Number = 11, Month = Nov, Year = 1989, Pages = "43-75", Annote = "Coding binary operations in a type-checked language with dynamic binding. 12 references." } @InCollection{Groote, Key = "Groote", Author = "P. de Groote", Title = "Defining lambda-typedd lambda-calculii by axiomatizing the typing relation", Journal = LNCS, Number = 665, Editor = "P. Enjalbert and A. Finkel and K. W. Wagner", Publsiher = SV, Address = NY, Year = 1993, Note = "STACS 93, 10th Annual Symposium on the Theoretical Aspects of Computer Science, Germany, Feb 25-27, 1993. Proceedings", Page = "712-23", Annote = "24 references" } @Article{Grosch83, Key = "Grosch", Author = "Josef Grosch", Title = "Type Derivation Graphs - A Way to Visualize the Type Building Possibilities of Programming Languages", Journal = SIGPLAN, Month = Dec, Year = 1983, Volume = 18, Number = 12, Pages = "60-68", Annote = "Graphics to visualize type combinations. 16 references." } @Article{Gunn-Harland81, Key = "Gunn \& Harlannd", Author = "Hamish I. E. Gunn and David M. Harland", Title = "Degrees of Constancy in Programming Languages", Journal = IPL, Year = 1981, Month = Oct, Volume = 13, Number = 1, Pages = "35-38", Annote = "Distinguishes value constancy from the orthogonal notion of type constancy in language with first-class type objects. 13 references." } @Book{Gunter-Mitchell94, Key = "Gunter \& Mitchell", Title = "Theoretical Aspects of Object-Oriented Programming", Publisher = "The MIT Press", Year = 1994, Editor = "Carl A. Gunter and John C. Mitchell", Series = "Fondations of Computing", Address = "Cambridge, MA", Annote = "41 references." } @TechReport{Guttag-Horning-Williams81, Key = "Guttag \& Horning \& Williams", Author = "John V. Guttag and James Horning and John Williams", Title = "FP with Data Abstraction and Strong Typing", Institution = "University of Newcastle Upon Tyne", Year = 1981, Month = Jul, Note = "Also in {\em Proceedings of a Conference on Functional Programming and Computer Architecture}, ACM, pages 11-24, Wentworth by the Sea, New Hampshire, October, 1981", Annote = "Not only adds types to FP, but also very nice data abstraction facility. 19 references." } @Article{Halbert-OBrien87, Key = "Halbert \& O'Brien", Author = "Daniel C. Halbert and Patrick D. O'Brien", Title = "Using Types and Inheritance in Object-Oriented Languages", Journal = "IEEE Software", Volume = 4, Number = 5, Month = Sep, Year = 1987, Pages = "71-79", Note = "Revised version of a paper presented at ECOOP '87 European Conference on Object-Oriented Programming, June, 1987 (Springer LNCS vol. 276). Also a Digital technical report, DEC-TR-437, April, 1986.", Annote = "Several worked examples. 7 references." } @Article{Hall-etal96, author = "Cordelia V. Hall and Kevin Hammond and Simon L. Peyton Jones and Philip L. Wadler", title = "Type Classes in Haskell", key = "Hall, {\em et al.}", journal = "TOPLAS", year = 1996, volume = 18, number = 2, pages = "109-138", month = Mar, annote = "39 references." } @InProceedings{Hanakata82, Key = "Hanakata", Author = "K. Hanakata", Title = "A Bit Table for Message passing in Multiple Inheritance Hierarchies", BookTitle = "1982 European Conference on Artificial Intelligence", Month = Jul, Year = 1982, Organization = "University of Kaiserslantern", Pages = "106-107", Annote = "Message passing is a crucial aspect of efficiency in their multiple inheritance system. Static scheme for precomputation of tables for efficient lookup, main benefit being compressed space. 18 references." } @InCollection{Hanus91, Key = "Hanus", Author = "M. Hanus", Title = "On the Relationship between Algebraic Module Specifications and Program Modules", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 2, Advances in Distributed Computing (ADC) and Colloquium on Combining Paradigms for Software Development (CCPSD)", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 494, Pages = "83-98", Address = NY, Month = Apr } @Article{Harland-Gunn82, Key = "Harland \& Gunn", Author = "David M. Harland and Hamish I. E. Gunn", Title = "Another look at Enumerated Types", Journal = SIGPLAN, Volume = 17, Number = 7, Month = Jul, Year = 1982, Pages = "62-71", Annote = "Scope rules and enumerated types. 15 references." } @Article{Harland-Szyplewski-Wainwright85, Key = "Harland \& Szyplewski \& Wainwright", Author = "David M. Harland and Martyn W. Szyplewski and John B. Wainwright", Title = "An Alternative View of Polymorphism", Journal = SIGPLAN, Volume = 20, Number = 10, Month = Oct, Year = 1985, Pages = "23-35", Annote = "Advocates dynamic type checking with types as values and guards on variable cells. 10 references." } @Article{Harland84a, Key = "Harland", Author = "David M. Harland", Title = "User-Defined Types in a Polymorphic Language", Journal = "The Computer Journal", Volume = 27, Number = 1, Month = Feb, Year = 1984, Pages = "47-56", Annote = "Dynamic view of type equivalence essential for types as values. Argues against wholly static type checking. Typeof operator, tagged cells, dynamic type checking when necessary, no substitution property in the language. Type equivalence is tag equivalence, that is, object equivalence for type implementation objects. Record constancy separated from field constancy. Abstract types constructed positionally, no names given to the operations by the type definition. 15 references." } @Book{Harland84b, Key = "Harland", Author = "D. M. Harland", Title = "Polymorphic Programming Languages: Design and Implementation", Publisher = Wiley, Address = NY, Year = 1984 } @Article{Harper-Duba-Macqueen93, Key = "Harper \& Duba \& Macqueen", Author = "Robert Harper and Bruce F. Duba and David Macqueen", Title = "Typing first-class continuations in ML", Journal = "Journal of Functional Programming", Year = 1993, Volume = 3, Number = 4, Month = Oct, Pages = "465-484", Annote = "42 references." } @InCollection{Harper-Honsell-Plotkin87, Key = "Harper \& Honsell \& Plotkin", Author = "Robert Harper and Furio Honsell and Gordon Plotkin", Title = "A Framework for Defining Logics", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "194-204", Month = Jun, Annote = "The Logical Framework, LF. 23 references." } @TechReport{Harper-Housell-Plotkin93, Key = "Harper \& Housell \& Plotkin", Author = "Robert W. Harper and F. Housell and G. Plotkin", Title = "A Framework for Defining Logic", Year = 1993, Journal = JACM, Volume = 40, Number = 1, Pages = "143-184", Annote = "55 references. The Type Theory LF" } @InProceedings{Harper-Lillibridge94, Key = {Harper \& Lillibridge}, Author = {Robert Harper and Mark Lillibridge}, Title = "A Type-Theoretic Approach to Higher-Order Modules with Sharing", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "123-137", Annote = "46 references." } @TechReport{Harper-MacQueen-Milner86, Key = "Harper \& MacQueen \& Milner", Author = "Robert Harper and David MacQueen and Robin Milner", Title = "Standard {ML}", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Mar, Year = 1986, Number = "ECS-LFCS-86-2", Annote = "7 references." } @InCollection{Harper-Milner-Tofte87, Key = "Harper \& Milner \& Tofte", Author = "Robert Harper and Robin Milner and Mads Tofte", Title = "A Type Discipline for Program Modules", BookTitle = "Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT)", Series = LNCS, Volume = 250, Month = Mar, Year = 1987, Pages = "308-319", Publisher = SV } @InProceedings{Harper-Mitchell-Moggi89, Key = "Harper \& Mitchell \& Moggi", Author = "Robert Harper and John C. Mitchell and Eugenio Moggi", Title = "Higher-Order Modules and the Phase Distinction", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, California", Publisher = ACM, Month = Jan, Year = 1990, Pages = "341-354", Note = "An expanded version is found in CMU-CS-89-197, October 1989", Annote = "18 references." } @TechReport{Harper-Mitchell90, Key = "Harper \& Mitchell", Author = "Robert Harper and John C. Mitchell", Title = "On the Type Structure of Standard ML", Institution = "School of Computer Science, Carnegie Mellon", Year = 1990, Number = "CMU-CS-90-137", Month = May, Annote = "64 references." } @Article{Harper-Mitchell93, Key = "Harper \& Mitchell", Author = "Robert Harper and John C. Mitchell", Title = "On the Type Structure of Standard ML", Journal = TOPLAS, Year = 1993, Month = Apr, Volume = 15, Number = 2, Pages = "211-252", Annote = "64 references. " } @InProceedings{Harper-Morrisett95, Key = {Harper \& Morrisett}, Author = {Robert Harper and Greg Morrisett}, Title = "Compiling Polymorphism Using Intentional Type Analysis", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "130-141", Annote = "53 references." } @TechReport{Harper-Pfenning92, key = "Harper \& Pfenning", author = "Robert Harper and Frank Pfenning", title = "A Module System for a Programming Language Based on the {LF} Logical Framework", institution = "Carnegie Mellon University", address = "Pittsburgh, Pennsylvania", number = "CMU-CS-92-191", month = sep, year = "1992", note = "To appear in Journal of Logic and Computation", url = "http://www.cs.cmu.edu/~fp/elf-papers/lfproc92.ps.Z" } @TechReport{Harper-Pierce90, Key = "Harper \& Pierce", Author = "Robert W. Harper and Benjamin C. Pierce", Title = "Extensible Records Without Subtypes", Institution = CMU, Address = "Pittsburgh, Penn.", Year = 1990, Month = Feb, Number = "CMU-CS-90-102", Note = "See also the 1991 POPL proceedings.", Annote = "Second order calculus with records that is compared with Remy and Cardelli and Mitchell's work. 19 references." } @TechReport{Harper85a, Key = "Harper", Author = "Robert W. Harper", Title = "Aspects of the Implementation of Type Theory", Institution = "Department of Computer Science, Cornell University", Address = "Ithaca, N.Y.", Year = 1985, Month = Apr, Number = "TR 85-675", Annote = "Building an automated programming logic, the PRL system. The author's doctoral dissertation. 85 references." } @InProceedings{Harper85b, Key = "Harper", Author = "Robert Harper", Title = "Modules and Persistence in Standard ML", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "419-430", Annote = "7 references." } @TechReport{Harper86, Key = "Harper", Author = "Robert Harper", Title = "Introduction to Standard ML", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Nov, Year = 1986, Number = "ECS-LFCS-86-14", Annote = "6 references." } @Article{Harper94, key = "Harper", author = "Robert Harper", title = "A Simplified Account of Polymorphic References", journal = "Information Processing Letters", year = 1994, volume = 51, pages = "201-206" } @Article{Harper96, key = "Harper", author = "Robert Harper", title = "A note on ``A Simplified Account of Polymorphic References''", journal = "Information Processing Letters", year = 1996, volume = 57, number = 1, month = Jan, pages = "15-16", annote = "What has to be proved for soundness. 5 references." } @Article{Harris91, Key = "Harris", Author = "Warren Harris", Title = "Contravariance for the rest of us", Journal = JOOP, Year = 1991, Volume = 4, Number = 7, Month = "Nov/Dec", Pages = "10-18", Annote = "5 references." } @Article{Hauck93, Key = "Hauck", Author = "Franz Hauck", Title = "Inheritance Modeled with Explicit Bindings: An Approach to Typed Inheritance", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "231-239", Annote = "10 references." } @TechReport{Hayes-Coleman89, Key = "Hayes \& Coleman", Author = "Fiona Hayes and Derek Coleman", Title = "Objects and Inheritance: An Algebraic View", Institution = "Information Management Lab, Hewlett Packard Laboratories", Type = "Technical Memo", Number = "?", Month = Nov, Year = 1989, Annote = "8 references." } @PhDThesis{Haynes82, Key = "Haynes", Author = "Christopher T. Haynes", Title = "A Theory of Data Type Representation Independence", School = "Univ. of Iowa, Dept. of Computer Science", Year = 1982, Note = "Technical Report 82-04." } @Article{Heering-Klink85, Key = "Heering \& Klint", Author = "Jan Heering and Paul Klint", Title = "Towards Monolingual Programming Environments", Journal = TOPLAS, Month = Apr, Year = 1985, Volume = 7, Number = 2, Pages = "183-213", Annote = "Discusses type checking in a language that incorporates features for debugging and command interpretation. Elastic type checking is sought which checks types as soon as information is available. 31 references." } @Article{Heinaenen83, Key = "Heinaenen", Author = "Juha Heinaenen", Title = "A Programmer Controlled Approach to Data and Control Abstraction", Journal = SIGPLAN, Year = 1983, Month = Jun, Volume = 18, Number = 6, Pages = "41-52", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Extending the Lukko language downward efficiently. Lukko provides a skeleton abstraction language and interface specs for machine dependent parts. In-line expansion. 27 references." } @InProceedings{Heintze-Riecke98, key = {Heintze \& Riecke}, author = {Nevin Heintze and Jon G. Riecke}, title = {The {SLam} Calculus: Programming with Secrecy and Integrity}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {365-377}, annote = {23 references.} } @InCollection{Helmink90, Key = "Helmink", Author = "L. Helmink", Title = "Resolution and Type Theory", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = May, Year = 1990, Pages = "197-211", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432 } @TechReport{Henglein89, Key = "Henglein", Author = "Fritz Henglein", Title = "Polymorphic Type Inference and Semi-Unification", Institution = "Department of Computer Science, Courant Institute of Mathematical Sciences, New York University", Address = NY, Month = May, Year = 1989, Number = 443, Annote = "123 references." } @InCollection{Henglein92, Key = "Henglein", Author = "Fritz Henglein", Title = "Dynamic Typing", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "233-253", Annote = "24 references" } @Article{Henglein93, Key = "Henglein", Author = "Fritz Henglein", Title = "Type Inference with Polymorphic Recursion", Journal = "ACM Transactions on Programming Languages and Systems", Volume = 15, Number = 3, Month = Apr, Year = 1993, Pages = "253-289", Annote = "66 references. " } @Article{Henglein99, key = {Henglein}, author = {Fritz Henglein}, title = {Breaking Through the $n^3$ Barrier: Faster Object Type Inference}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {57-72}, annote = {34 references.} } @Article{Herlihy-Liskov82, Key = "Herlihy \& Liskov", Author = "Maurice Herlihy and Barbara Liskov", Title = "A Value Transmission Method for Abstract Data Types", Journal = TOPLAS, Volume = 4, Number = 4, Month = Oct, Year = 1982, Pages = "527-551", Annote = "19 references." } @Book{Hilfinger83, Key = "Hilfinger", Author = "Paul N. Hilfinger", Title = "Abstraction Mechanisms and Language Design", Publisher = MITP, Year = 1983, Address = "Cambridge, Mass.", Note = "Ph. D. Thesis, Carnegie-Mellon University, 1981", Annote = "Design principles for abstraction mechanisms. Purposes of an abstraction mechanism are are 1) expressiveness, 2) documentation, 3) consistency checking and 4) freedom from detail. Criteria for evaluation are 1) expressiveness, 2) freedom from detail (incrementality), 3) expressiveness of intent and 4) simplicity. Demonstrates their utility by showing how the principles led to improvements in Ada. 35 references." } @Article{Hilfinger88, Key = "Hilfinger", Author = "Paul N. Hilfinger", Title = "An Ada Package for Dimensional Analysis", Journal = TOPLAS, Volume = 10, Number = 2, Month = Apr, Year = 1988, Pages = "189-203", Annote = "Improved version of the package presented in the author's thesis. 8 references." } @InCollection{Hindley82, Key = "Hindley", Author = "J. R. Hindley", Title = "The Simple Semantics for Coppo-Dezani-Sall{\'e} Types", Series = LNCS, Publisher = SV, Address = NY, BookTitle = "International Symposium on Programming, 5th Colloquium, Turin, April, 1982", Volume = 137, Pages = "212-226", Editor = "M. Dezani-Ciancaglini and U. Montanari", Year = 1982, Annote = "9 references." } @Article{Hindley83, Key = "Hindley", Author = "J. R. Hindley", Title = "The Completeness Theorem for Typing lambda-Terms", Journal = "Theoretical Computer Science", Pages = "1-18", Volume = 22, Number = "1,2", Month = Jan, Year = 1983, Annote = "Rules for type assignment. 19 references." } @Book{Hindley97, author = {J. Roger Hindley}, title = {Basic Simple Type Theory}, publisher = {Cambridge University Press}, year = 1997, key = {Hindley}, volume = 42, series = {Cambridge Tracts in Theoretical Computer Science}, address = {Cambridge, UK}, annote = {Many references.} } @InProceedings{Hirst-Dinesh91, Key = "Hirst \& Dinesh", Author = "G. Steve Hirst and T. B. Dinesh", Title = "The Combination of Specifications and the Induced Relations in Object Oriented Programs", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "41-44", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = "May", Annote = "4 references." } @InProceedings{Hoang-Mitchell95, Key = {Hoang \& Mitchell}, Author = {My Hoang and John C. Mitchell}, Title = "Lower bounds on type inference with subtypes", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "176-185", Annote = "19 references." } @InProceedings{Hoffman-Pierce95, Key = "Hofmann \& Pierce", Author = "Martin Hofmann and Benjamin Pierce", Title = "Positive Subtyping", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "186-197", Annote = "25 references." } @TechReport{Hofmann-Pierce92, Key = "Hofmann \& Pierce", Author = "Martin Hofmann and Benjamin Pierce", Title = "An Abstract View of Objects and Subtyping", Institution = "Department of Computer Science, University of Edinburgh", Year = 1992, Number = "ECS-LFCS-92-226", Address = "Edinburgh, U.K.", Month = Aug, Annote = "Preliminary Report, 40 references." } @TechReport{Hofmann-Pierce94, Key = "Hofmann \& Pierce", Author = "Martin Hofmann and Benjamin Pierce", Title = "Positive Subtyping", Institution = "Department of Computer Science, University of Edinburgh", Year = 1994, Number = "ECS-LFCS-94-303", Address = "Edinburgh, U.K.", Month = Sep, Note = "An extended abstract will appear in the POPL'95 proceedings. Available by anonymous ftp from {\tt ftp.dcs.ed.ac.uk} in file {\tt pub/bcp/pos.ps.Z}.", Annote = "25 references." } @article{Hofmann-Pierce94b, author = "Martin Hofmann and Benjamin Pierce" , title = "A Unifying Type-Theoretic Framework for Objects", journal = "Journal of Functional Programming", note = "Previous versions appeared in the Symposium on Theoretical Aspects of Computer Science, 1994, (pages 251--262) and, under the title ``An Abstract View of Objects and Subtyping (Preliminary Report)", year = 1995 } @InCollection{Horn87, Key = "Horn", Author = "Chris Horn", Title = "Conformance, Genericity, Inheritance and Enhancement", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "223-233", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "10 references." } @Article{House83, Key = "House", Author = "R. T. House", Title = "A Proposal for an Extended Form of Type Checking of Expressions", Journal = "The Computer Journal", Volume = 26, Number = 4, Month = Nov, Year = 1983, Pages = "366-374" } @InCollection{Howard80, Key = "Howard", Author = "W. A. Howard", Title = "The Formulae-as-Types notion of Construction", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "479-490", Annote = "Propositions as types, the Curry-Howard isomorphism. 5 references." } @InProceedings{Howard96, key = {Howard}, author = {Brian Howard}, title = {Inductive, Coinductive, and Pointed Types}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {102-109}, annote = {26 references.} } @Article{Hoyer84, Key = "Hoyer", Author = "Wolfgang Hoyer", Title = "Some Remarks on Records With Variants", Journal = SIGPLAN, Volume = 19, Number = 3, Month = Mar, Year = 1983, Annote = "5 references." } @Book{Huet90, Key = "Huet", Editor = "Gerard Huet", Title = "Logical Foundations of Functional Programming", Publisher = Addison-Wesley, Address = NY, Year = 1990, Series = "The UT Year of Programming Series", Annote = "Collection of papers." } @InCollection{Huet93, Key = "Huet", Author = "G. Huet", Title = "The Gallina Specification Language: A Case Study", Series = "Lecture Notes in Computer Science", Number = 652, Publisher = SV, Address = "Berlin, Germany", Editor = "R. Shyamasundar", Pages = "229-240", Note = "Foundations of Software Technology and Theortical Computer Science. 12th Conference, New Delhi, India, Dec 92. Proceedings", Annote = "16 references" } @InCollection{Hyland-Pitts87, Key = "Hyland \& Pitts", Author = "M. E. Hyland and A. M. Pitts", Title = "The Theory of Constructions: Categorical Semantics and Topos-Theoretic Models", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Organization = "American Mathematical Society", Address = "Providence, R.I.", Pages = "137-199", Annote = "46 references." } @TechReport{Hyland-Robinson-Rosolini88, Key = "Hyland \& Robinson \& Rosolini", Author = "Martin Hyland Edmund Robinson and Pino Rosolini", Title = "Algebraic Types in {PER} Models", Month = Sep, Year = 1988, Number = "88-234", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Annote = "Huet's conjecture. 7 references." } @Article{Ichbiah-etal79, Key = "Ichbiah, {\em et al.}", Author = "J. D. Ichbiah and J. G. P. Barnes and J. C. Heliard and B. Krieg-Brueckner and O. Roubine and B. A. Wichmann", Title = "Reference Manual and Rationale for the Ada Programming Language", Journal = SIGPLAN, Volume = 14, Number = 6, Month = Jun, Year = 1979, Note = "This version of the language is now obsolete, but the rationale (part B) is still valuable.", Annote = "Rationale explains various design choices. Packages, interesting numeric types, exception handling. 70 references in part B." } @Article{Igarashi-Pierce-Wadler01, key = "Igarashi \& Pierce \& Wadler", author = "Atsushi Igarashi and Benjamin Pierce and Philip Wadler", title = "{Featherweight Java}: {A} Minimal Core Calculus for {Java} and {GJ}", month = May, journal = TOPLAS, volume = 23, number = 3, pages = {396-459}, year = 2001 } @InCollection{Igarashi-Pierce99, key = {Igarashi \& Pierce}, author = {Atsushi Igarashi and Benjamin C. Pierce}, title = {Foundations for Virtual Types}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {161-185}, annote = {35 references.} } @InProceedings{Igarashi-Viroli02, key = {Igarashi \& Viroli}, author = {Atsushi Igarashi and Mirko Viroli}, title = {On Variance-Based Subtyping for Parameteric Types}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M{\'a}laga, Spain, Proceedings}, pages = {441-469}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {37 references.} } @InProceedings{Ingalls78, Key = "Ingalls", Author = "Daniel H. H. Ingalls", Title = "The Smalltalk-76 Programming System Design and Implementation", Organization = ACM, BookTitle = "Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona", Month = Jan, Year = 1978, Pages = "9-16", Annote = "Virtues of message passing, object-oriented models. The virtual memory system and other parts of the implementation. 11 references." } @InProceedings{Ingalls86, Key = "Ingalls", Author = "Daniel H. H. Ingalls", Title = "A Simple Technique for Handling Multiple Polymorphism", Booktitle = {OOPLSA '86: Conference proceedings on Object-oriented programming systems, languages and applications}, Editor = {Norman Meyrowitz}, Location = "Portland, Oregon", Address = NY, Publisher = ACM, Series = SIGPLAN, Volume = {21(11)}, Month = Nov, Year = 1986, Pages = "347--349", Annote = "Each message send in a language like Smalltalk-80 reduces the polymorphism of the call on one argument. The modularity of code can be maintained by message sending on each argument of a binary or n-ary operation. 1 reference." } @Book{Ishikawa93, Key = "Ishikawa", Author = "Hiroshi Ishikawa", Title = "Object Oriented Database System: Design and implementation for advanced applications", Publisher = "Springer-Verlag Inc", Year = 1993, Address = NY, Annote = " 90 references" } @Article{Jacobs90, Key = "Jacobs", Author = "Dean Jacobs", Title = "Type Declarations as Subtype Constraints in Logic Programming", Journal = SIGPLAN, Volume = 25, Number = 6, Month = Jun, Year = 1990, Pages = "165-173", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "12 references." } @InProceedings{Jategaonkar-Mitchell88, Key = "Jategaonkar \& Mitchell", Author = "Lalita A. Jategaonkar and John C. Mitchell", Title = "{ML} with Extended Pattern Matching and Subtypes (preliminary version)", BookTitle = "ACM Conference on LISP and Functional Programming, Snowbird, Utah", Year = 1988, Month = Jul, Pages = "198-211", Annote = "12 references." } @TechReport{Jategaonkar89, Key = "Jategaonkar", Author = "Lalita A. Jategaonkar", Title = "{ML} with Extended Pattern Matching and Subtypes", Institution = MITLCS, Year = 1989, Number = 468, Address = "Cambridge, Mass.", Month = Aug } @Article{Jenkins-Leavens96, Key = "Jenkins \& Leavens", Author = "Steven Jenkins and Gary T. Leavens ", Title = "Polymorphic Type-Checking in Scheme", Journal = "Computer Lanugages", Volume = 22, Number = 4, Year = 1996, Pages = "215-223", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR95-21/TR.ps.Z", Annote = "13 references." } @Article{Jenks-Trager81, Key = "Jenks \& Trager", Title = "A Language for Computational Algebra", Author = "Richard D. Jenks and Barry M. Trager", Journal = SIGPLAN, Volume = 16, Number = 11, Month = Nov, Year = 1981, Pages = "22-29", Annote = "Extensible parameterized types and generic operators. Abstract data types as general 'as possible'. Notions of 'domains' and 'catagories'. 16 references." } @Article{Johnson-Morris76, Key = "Johnson \& Morris", Author = "R. T. Johnson and J. B. Morris", Title = "Abstract Data Types in the Model Programming Language", Journal = SIGPLAN, Year = 1976, Volume = 8, Number = 2, Month = Feb, Pages = "36-46", Note = "Proceedings of Conference on Data: Abstraction, Definition and Structure", Annote = "Abstract data types in model, a scientific language. 18 references." } @InProceedings{Johnson-Walz86, Key = "Johnson \& Walz", Author = "Gregory F. Johnson and Janet A. Walz", Title = "A Maximum-Flow Approach to Anomaly Isolation in Unification-Based Incremental Type Inference", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = Jan, Year = 1986, Pages = "44-57", Annote = "A language-based editor's error isolation approach. 12 references." } @Article{Johnson-Zweig91, Key = "Johnson-Zweig", Author = "Johnson-Zweig", Title = "Delegation in C++", Journal = JOOP, Year = 1991, Volume = 4, Number = 7, Month = "Nov/Dec", Pages = "31-34", Annote = "8 references." } @Article{Johnson86, Key = "Johnson", Author = "Ralph E. Johnson", Title = "Type-Checking Smalltalk", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "315-321", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Argues that to type check Smalltalk-80 with the goal of efficient compiled code, the best approach is to treat types as sets of classes, i.e. unions. Classes are parameterized. Polymorphism uses bounded quantification, type checking requires case analysis, and a block whose body is illegally typed has a legal type. Case analysis might be exponential. Some type inference is done, but in general declarations are required. The perform method and the new primitive are not type checked. 13 references." } @InCollection{Jones90b, Key = "Jones", Author = "Neil D. Jones", Title = "Partial Evaluation, Self-application, and types", BookTitle = "17th International Colloquium on Automata, Languages, and Programming (ICALP), Warwick, England", Publisher = SV, Year = 1990, Editor = "M. S. Paterson", Series = LNCS, Pages = "639-659", Address = NY, Month = Jul } @InCollection{JonesMark92, Key = "Jones", Author = "Mark P. Jones", Title = "A Theory of Qualified Types", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "287-306", Annote = "22 references" } @InProceedings{JonesMark93, author = "Mark P. Jones", booktitle = "FPCA '93: Conference on Functional Programming and Computer Architecture, Copenhagen, Denmark", title = "{A} system of constructor classes: overloading and implicit higher-order polymorphism", year = 1993, publisher = "ACM Press", address = NY, url = "ftp://nebula.cs.yale.edu/pub/yale-fp/papers/fpca93.dvi.Z", month = Jun, Pages = "52-61" } @InCollection{JonesMark94, Key = "Jones", Author = "Mark P. Jones", Title = "ML Typing, Explicit Polymorphism and Qualified Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "56-75", Month = Apr, Annote = "25 references." } @Article{JonesMark95, author = "Mark P. Jones", title = "{A} system of constructor classes: overloading and implicit higher-order polymorphism", key = "Jones", journal = "Journal of Functional Programming", year = 1995, volume = 5, number = 1, pages = "1-35", month = "Jan", note = "An earlier version appeared in FPCA '93", annote = "23 references." } @InProceedings{JonesMark97, key = {Jones}, author = {Mark P. Jones}, title = {First-class Polymorphism with Type Inference}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {483-496}, annote = {34 references.} } @InProceedings{Kaes92, Key = "Kaes", Author = "Stefan Kaes", Title = "Type Inference in the Presence of Overloading, Subtyping, and Recursive Types", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "193-204", Organization = ACM, Month = Jun, Annote = "24 references." } @Article{Kaiser-Hailpern92, Key = "Kaiser \& Hailpern", Author = "Gail E. Kaiser and Brent Hailpern", Title = "An Object-Based Programming Model for Shared Data", Journal = TOPLAS, Year = 1992, Volume = 14, Number = 2, Month = Apr, Pages = "201-264", Annote = "Support for shared data in a distributed environment. 56 references." } @Article{Kamareddine-Nederpelt94, key = {Kamareddine \& Nederpelt}, author = {Fairouz Kamareddine and Rob Nederpelt}, title = {A unified approach to type theory through a refined $\lambda$-calculus}, journal = TCS, year = 1994, volume = 136, number = 1, month = Dec, pages = {183-216}, annote = {31 references.} } @InProceedings{Kanellakis-Waller90, Key = "Kanellakis \& Waller", Author = "Abiteboul S. Kanellakis and E. Waller ", Title = "Method Schemas", Year = 1990, Organization = "PODS", BookTitle = "Proceedings of ACM" } @Article{Kaplan-Ullman80, Key = "Kaplan \& Ullman", Author = "Marc A. Kaplan and Jeffrey D. Ullman", Title = "A Scheme for the Automatic Inference of Variable Types", Journal = JACM, Month = Jan, Year = 1980, Pages = "128-145", Volume = 27, Number = 1, Annote = "Inference of the types of variables from data available in the program without using declarations. Strong but possibly inefficient algorithm. 13 references." } @Article{Karlsson-Petersson82, Key = "Karlsson \& Petersson", Author = "Kent Karlsson and Kent Petersson (eds.)", Title = "Notes from: The Aspenas Symposium on Functional Languages and Computer Architecture", Journal = SIGPLAN, Volume = 17, Number = 11, Month = Nov, Year = 1982, Pages = "14-23", Annote = "Panel discussion about types including MacQueen's principles for a typing system." } @InProceedings{Katiyar-Luckham-Mitchell94, Key = "Katiyar \& Luckham \& Mitchell", Author = "Dinesh Katiyar and David Luckham and John Mitchell", Title = "A Type System for Prototyping Languages", Pages = "138-150", Booktitle = "Conference Record of POPL '94: 21st ACM SIGPLAN--SIGACT Symposium of Principles of Programming Languages, Portland, Oregon", Year = 1994, Organization = ACM, Month = Jan, Annote = "27 references." } @Article{Katiyar-etal94, Key = "Katiyar, {\em et al.}", Author = "Dinesh Katiyar and David Luckham and John Mitchell and Sigurd Meldal", Title = "Polymorphism and Subtyping in Interfaces", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 8, Month = Aug, Pages = "22-34", Note = "Proceedings of the Workshop on Interface Definition Languages.", Annote = "21 references." } @Article{Katzenelson83, Key = "Katzenelson", Author = "Jacob Katzenelson", Title = "Introduction to Enhanced C (EC)", Journal = SPandE, Volume = 13, Number = 7, Month = Jul, Year = 1983, Pages = "551-576", Annote = "Set-oriented language with user-defined data abstractions. Programmer chosen representations for some of the built-in types. 30 references." } @Article{Keane94, Key = "Keane", Author = "John A. Keane", Title = "An overview of the Flagship system", Journal = "Journal of Functional Programming", Year = 1994, Volume = 4, Number = 1, Month = Jan, Pages = "19-45", Annote = "79 references." } @InProceedings{Kemper-Moerkotte, Key = "Kemper \& Moerkotte", Author = "A. Kemper and G. Moerkotte", Title = "A Framework for Strong Typing and Type Inference in (Persistent) Object Models", BookTitle = "2nd International Conference on Database and Expert Systems Applications", Year = 1991, Organization = "Gesellschaft fur Informatik (GI-Emisa)", Month = Aug } @Article{Kfoury-Tiuryn-Urzyczyn93, Key = "Kfoury \& Tiuryn \& Urzyczyn", Author = "A.J. Kfoury and J. Tiuryn and P. Urzyczyn", Title = "Type Inference with Polymorphic Recursion", Journal = "ACM Transactions on Programming Languages and Systems", Volume = 15, Number = 3, Month = Apr, Year = 1993, Pages = "290-311", Annote = "24 references." } @InProceedings{Kfoury-Wells99, key = {Kfoury \& Wells}, author = {A. J. Kfoury and J. B. Wells}, title = {Principality and Decidable Type Inference for Finite-Rank Intersection Types}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {161-174}, annote = {26 references.} } @InProceedings{Kieburtz83, Key = "Kieburtz", Author = "Richard B. Kieburtz", Title = "Precise Typing of Abstract Data Type Specifications", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = Jan, Year = 1983, Pages = "109-116", Annote = "Theory of data types as approximate semantics for an equational theory. 9 references." } @InProceedings{Kieburtz99, key = {Kieburtz}, author = {Richard B. Kieburtz}, title = {Taming Effects with Monadic Typing}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {51-62}, annote = {17 references.} } @Article{Kilov91, Key = "Kilov", Author = "Haim Kilov", Title = "Object concepts and bibliography", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 10, Month = Oct, Pages = "11-12", Annote = "Discussion of and further readings for the Object Data Management Reference Model. 46 references." } @Book{Kim-Lochovsky89, Key = "Kim \& Lochovsky", Editor = "Won Kim and Frederick H. Lochovsky", Title = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Annote = "24 chapters, each with its own bibliography." } @InCollection{Kniesel99, key = {Kniesel}, author = {G\"{u}nter Kniesel}, title = {Type-Safe Delegation for Run-Time Component Adaptation}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {351-366}, annote = {28 references.} } @Article{Knight89, Key = "Knight", Author = "Kevin Knight", Title = "Unification: A Multidisciplinary Survey", Journal = ACMCS, Volume = 21, Number = 1, Month = Mar, Year = 1989, Pages = "93-124", Annote = "Covers use of unification in type inference, inheritance, Prolog, theorem proving, etc. 178 references." } @InProceedings{Kobayashi99, key = {Kobayashi}, author = {Naoki Kobayashi}, title = {Quasi-Linear Types}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {29-42}, annote = {22 references.} } @InProceedings{Kozen-Palsberg-Schwartzbach92, Key = "Kozen \& Palsberg \& Schwartzbach92", Author = "Dexter Kozen and Jens Palsberg and Michael Schwartzbach", Title = "Efficient Recursive Subtyping", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "419-428", Annote = "9 references" } @InCollection{Kozma-Laborczi82, Key = "Kozma \& Laborczi", Author = "L. Kozma and Z. Laborczi", Title = "On Implementation Problems of Shared Abstract Data Types", BookTitle = "Specification and Design of Software Systems, Conference on Operating Systems, Visegrad, Hungary, January, 1982", Year = 1982, Series = LNCS, Editor = "E. Knuth and E. J. Neuhold", Publisher = SV, Address = NY, Volume = 152, Pages = "146-152", Annote = "Implementing data types for objects shared by parallel processes. 7 references." } @InProceedings{Kristensen-etal83, Key = "Kristensen, {\em et al.}", Author = "Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger Moller-Pedersen and Kristen Nygaard", Title = "Abstraction Mechanisms in the Beta Programming Language", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = Jan, Year = 1983, Pages = "285-298", Annote = "Patterns are used to cover all kinds of abstraction and describe data and procedure structures. 16 references." } @InCollection{Kristensen-etal87b, Key = "Kristensen, {\em et al.}", Author = "Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger Moller-Pedersen and Kristen Nygaard", Title = "Classification of actions or Inheritance also for methods", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "98-107", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "12 references." } @InProceedings{Kutzner-Schmidt-Schauss99, key = {Kutzner \& Schmidt-Schau{\ss}}, author = {Arne Kutzner Manfred Schmidt-Schau{\ss}}, title = {A Non-Deterministic Call-by-Need Lambda Calculus}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {324-335}, annote = {28 references.} } @Article{LaLonde-Thomas-Pugh86, Key = "LaLonde \& Thomas \& Pugh", Author = "Wilf R. LaLonde and Dave A. Thomas and John R. Pugh", Title = "An Exemplar Based {Smalltalk}", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "322-330", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Using exemplars or prototypes in Actra instead of classes and inheritance gives more expressive power. One can separate the logical (subtype) hierarchy from the physical (subclass) hierarchy. Distinct class and instance prototypes. Logical relationships are maintained via the class exemplars and implementation strategies are realized by instance exemplars. Changes needed to make Smalltalk-80 exemplar based. ``Or-inheritance'' allows an object to delegate to one or another exemplar (depending on its state), providing the exemplars all have the same interface. 17 references." } @Article{LaLonde89, Key = "LaLonde", Author = "Wilf R. LaLonde", Title = "Designing Families of Data Types Using Exemplars", Journal = TOPLAS, Volume = 11, Number = 2, Month = Apr, Year = 1989, Pages = "212-248", Annote = "One should design families of related types. Design method partitions instances into behaviorally distinct subsets (multiple representations), to simply the implementation of each kind of instance and to make the implementation more modular. Lists as an example, show that making inheritance follow the subtype hierarchy does not always allow the most efficient implementation. That is, with multiple implementations, one can profitably use method lookup overhead to perform part of the computation. Incomplete specifications for familial classes, which should be usable. 51 references." } @InCollection{Lamarche87, Key = "Lamarche", Author = "Francois Lamarche", Title = "A Simple Model of the Theory of Constructions", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Organization = "American Mathematical Society", Address = "Providence, R.I.", Pages = "201-216", Annote = "10 references." } @Article{Lamb-etal91, Key = "Lamb, {\em et al.}", Author = "Charles Lamb and Gordon Landis and Jack Orenstein and Dan Weinreb", Title = "The ObjectStore Database System", Journal = CACM, Year = 1991, Volume = 34, Number = 10, Month = Oct, Pages = "50-62", Annote = "16 references." } @Article{Lampson-Burstall88, Key = "Lampson \& Burstall", Author = "B. Lampson and R. Burstall", Title = "Pebble, A Kernel Language for Modules and Abstract Data Types", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "278-346", Note = "A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 1--50.", Annote = "Pebble and its details. Pebble treats types as values and declarations as types. Dependent product types correspond to existential types and dependent arrow types correspond to universal types. 26 references." } @InProceedings{Lampson-Schmidt83, Key = "Lampson \& Schmidt", Author = "Butler W. Lampson and Eric E. Schmidt", Title = "Practical Use of a Polymorphic Applicative Language", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1983, Pages = "237-255", Annote = "Language with lambda-abstraction, hierarchical naming and type checking. 16 references." } @Article{Lang-Pearlmutter86, Key = "Lang \& Pearlmutter", Author = "Kevin J. Lang and Barak A. Pearlmutter", Title = "Oaklisp: an Object-Oriented Scheme with First Class Types", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "30-37", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Message passing based on the type of the first argument as in Smalltalk-80; however, message names (operations) are not symbols, but anonymous objects themselves. A method table controls generic invocation. Methods are closed with respect to their lexical environment. Inheritance and method combination via a whopper-like continue mechanism. Coercable types have operations that will coerce objects of their type to related types. Coercions produce new objects in general. Coercions seem to be used in programming binary operations. Types are also anonymous objects. Mixin managers ensure that no type object needs to be created twice. Types thought of as sets of objects; formalized semantics of type hierarchy, where subtypes are subsets. 16 references." } @Article{Lang-Stewart98, Key = "Lang \& Stewart", Author = "Jun Lang and David B. Stewart", Title = "A Study of the Applicability of Existing Exception-Handling Techniques to Component-Based Real-Time Software Technology", journal = TOPLAS, year = 1998, volume = 20, number = 2, month = Mar, pages = {274-301}, annote = {60 references.} } @InCollection{Larcheveque92, Key = "Larcheveque", Author = "J. M. Larcheveque", Title = "Interprocedural Type Propagation for Object-Oriented Languages", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "321-340", Annote = "26 references" } @InProceedings{Launchbury-Sabry97, key = {Launchbury \& Sabry}, author = {John Launchbury and Amr Sabry}, title = {Monadic State: Axiomatization and Type Safety}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {227-238}, annote = {29 references.} } @PhDThesis{Lauterbach77, Key = "Lauterbach", Author = "Carlos Helmut Lauterbach", Title = "Hierarchical Organization of Data Types for Program Modularity", School = "University of California, Los Angeles", Year = 1977 } @TechReport{Leavens-Clifton05, key = {Leavens \& Clifton}, author = {Gary T. Leavens and Curtis Clifton}, title = {A Type Notation for {Scheme}}, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "05-03", Year = 2005, Month = Feb, Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-03/TR.pdf}, Annote = "8 references." } @TechReport{Leavens-Clifton-Dorn06, key = {Leavens \& Clifton \& Dorn}, author = {Gary T. Leavens and Curtis Clifton and Brian Dorn}, title = {A Type Notation for {Scheme}}, Year = 2006, Month = Jan, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "05-18a", Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-18/TR.pdf}, Annote = "7 references." } @TechReport{Leavens-Dhara92, Key = "Leavens \& Dhara", Author = "Gary T. Leavens and Krishna Kishore Dhara", Title = "A Foundation for the Model Theory of Abstract Data Types with Mutation and Aliasing (preliminary version)", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "92-35", Year = 1992, Month = Nov, Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "14 references." } @TechReport{Leavens-Dhara94, Key = "Leavens \& Dhara", Author = "Gary T. Leavens and Krishna Kishore Dhara", Title = "Blended Algebraic and Denotational Semantics for {ADT} Languages", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "93-21b", Year = 1994, Month = Sep, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-21/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "32 references." } @TechReport{Leavens-Liskov85, Key = "Leavens \& Liskov", Author = "Gary T. Leavens and Barbara Liskov", Title = "The Name Clash Problem and a Proposed Solution", Institution = MITLCS, Type = "DSG Note", Number = 130, Month = Oct, Year = 1985, Annote = "Discusses the problems caused by where clauses in CLU and Argus, that is, the limits of their expressive power. Proposes making required operations parameters. 5 references." } @TechReport{Leavens-Weihl83, Key = "Leavens \& Weihl", Author = "Gary T. Leavens and William E. Weihl", Title = "Exceptions and Type Compatibility", Institution = MITLCS, Type = "DSG Note", Number = 117, Month = Sep, Year = 1983, Annote = "Discusses several type compatibility rules for proctypes to allow proctypes with differing signals to be assigned and passed as parameters. Problems with recursive rules." } @Article{Leavens84, Key = "Leavens", Author = "Gary T. Leavens", Title = "Bibliography on Data Types", Journal = SIGPLAN, Year = 1984, Volume = 19, Number = 8, Month = Aug, Pages = "41-50", Annote = "Hundreds of annotated references, but the bibliography is not selective and gives the reader no direction." } @TechReport{Leavens85, Key = "Leavens", Author = "Gary T. Leavens", Title = "Abstractions and Type Checking in the Argus Library", Institution = MITLCS, Type = "DSG Note", Number = 135, Month = Dec, Year = 1985, Annote = "Rationale for the design of the Argus library. 9 references." } @Article{Leavens91b, Key = "Leavens", Author = "Gary T. Leavens", Title = "Introduction to the Literature on Object-Oriented Design, Programming, and Languages", Journal = "OOPS Messenger", Year = 1991, Volume = 2, Number = 4, Month = Oct, Annote = "Hundreds of references." } @InCollection{Lecluse-Richard88, Key = "L{\'e}cluse \& Richard", Author = "C. L{\'e}cluse and P. Richard", Title = "Modeling Inheritance and Genericity in Object Oriented-Databases", BookTitle = "ICDT '88, 2nd International Conference on Database Theory, Bruges, Belgium, August/September 1988", Editor = "M. Gyssens and J. Paredaens and D. Van Gucht", Series = LNCS, Volume = 326, Publisher = SV, Address = NY, Pages = "223-238", Year = 1988, Annote = "18 references." } @Article{Lee-Yi98, Key = "Lee \& Yi", Author = "Oukseh Lee and Kwangkeun Yi", Title = "Proofs about a Folklore Let-Polymorphic Type Inference Algorithm", journal = TOPLAS, year = 1998, volume = 20, number = 4, month = Jul, pages = {707-723}, annote = {14 references.} } @InProceedings{Leivant83a, Key = "Leivant", Author = "Daniel Leivant", Title = "Polymorphic Type Inference", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1983, Pages = "83-98", Annote = "26 references." } @InProceedings{Leivant83b, Key = "Leivant", Author = "Daniel Leivant", Title = "Structural Semantics for Polymorphic Data Types (preliminary report)", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1983, Pages = "155-166", Annote = "20 references." } @InProceedings{Leivant89, Key = "Leivant", Author = "Daniel Leivant", Title = "Stratified polymorphism (extended summary)", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "39-47", Annote = "Functions representable in the finitely-stratified lambda calculus are the super-elementary functions. 29 references." } @InProceedings{Leivant90, Key = "Leivant", Author = "Daniel Leivant", Title = "Discrete Polymorphism", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = Jun, Year = 1990, Pages = "288-297", Annote = "Extension of the Coppo-Dezani lambda calculus with infinite intersection types. references." } @Article{Leroy-Mauny93, Key = "Leroy \& Mauny", Author = "Xavier Leroy and Michel Mauny", Title = "Dynamics in ML", Journal = "Journal of Functional Programming", Year = 1993, Volume = 3, Number = 4, Month = Oct, Pages = "431-463", Annote = "29 references." } @InProceedings{Leroy-Rouaix98, key = {Leroy \& Rouaix}, author = {Xavier Leroy and Fran\c{c}ois Rouaix}, title = {Security properties of typed applets}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {391-403}, annote = {34 references.} } @InProceedings{Leroy94, Key = {Leroy}, Author = {Xavier Leroy}, Title = "Manifest types, modules, and separate compilation", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "109-122", Annote = "27 references." } @InProceedings{Leroy95, Key = {Leroy}, Author = {Xavier Leroy}, Title = "Applicative functors and fully transparent higher-order modules", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "142-153", Annote = "Enhancements to the ML module system. 18 references." } @InCollection{Leszczylowski-Wirsing91, Key = "Leszczylowski \& Wirsing", Author = "Jacek Leszczylowski and Martin Wirsing", Title = "Polymorphism, Parameterization and typing: an algebraic specification perspective", BookTitle = "STACS 91, 8th Annual Symposium on Theoretical Aspects of Computer Science, Hamburg, Germany", Publisher = Springer-Verlag, Year = 1991, Editor = "C. Choffrut and M. Jantzen", Series = LNCS, Volume = 480, Pages = "1-15", Address = NY, Month = Feb } @Article{Levin-Pierce99, Key = {Levin \& Pierce}, AUTHOR = {Michael Y. Levin and Benjamin C. Pierce}, TITLE = {TinkerType: {A} Language for Playing with Formal Systems}, JOURNAL = {Journal of Functional Programming}, VOLUME = 13, NUMBER = 2, MONTH = Mar, YEAR = 2003, URL = {http://www.cis.upenn.edu/~bcpierce/papers/tt-jfp.pdf} } @Article{Lieberman86, Key = "Lieberman", Author = "Henry Lieberman", Title = "Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "214-223", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Prototypes represent default behavior for a concept. Delegation is used instead of inheritance. Delegation is more flexible and general than inheritance. Inheritance cannot easily simulate delegation. 15 references." } @TechReport{Lindig93, author = {Christian Lindig}, title = {{STYLE}: A Practical Type Checker for {Scheme}}, institution = {Technische Universitat Braunschweig}, year = 1993, key = {Lindig}, type = {Informatik-Bericht}, number = {93-10}, month = Oct } @Article{Lipkie-etal82, Key = "Lipkie, {\em et al.}", Author = "Dr. Daniel E. Lipkie and Steven R. Evans and John K. Newlin and Robert L. Weissman", Title = "Star Graphics: An Object Oriented Implementation", Journal = "Computer Graphics", Volume = 16, Number = 3, Month = Jul, Year = 1982, Pages = "115-124", Annote = "Discusses the Traits mechanism. 9 references." } @InProceedings{Liquori-Castagna96, author = "L. Liquori and G. Castagna", title = "A typed lambda calculus of objects", key = "Liquori \& Castagna", series = "Lecture Notes in Computer Science", booktitle = "1996 Asian Computing Conference", year = 1996 } @InCollection{Liquori97, key = {Liquori}, author = {Luigi Liquori}, title = {Subtyping is Not a Good ``Match'' for Object-Oriented Languages}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {146-169}, annote = {21 references.} } @Book{Liskov-etal81, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov and Russell Atkinson and Toby Bloom and Eliot Moss and J. Craig Schaffert and Robert Scheifler and Alan Snyder", Title = "CLU Reference Manual", Series = LNCS, Volume = 114, Publisher = SV, Address = NY, Year = 1981, Annote = "Strongly typed, exception handling, abstraction mechanisms." } @TechReport{Liskov-etal95, Author = "Barbara Liskov and Dorothy Curtis and Mark Day and Sanjay Ghemawat and Robert Gruber and Paul Johnson and Andrew C. Myers", Title = "Theta Reference Manual", Institution = MITLCS, Month = Feb, Year = 1995, Number = "Programming Methodology Group Memo 88", URL = "http://clef.lcs.mit.edu/Thor-papers.html" } @Article{Liskov88, Key = "Liskov", Author = "Barbara Liskov", Title = "Data Abstraction and Hierarchy", Journal = SIGPLAN, Volume = 23, Number = 5, Month = May, Year = 1988, Pages = "17-34", Note = "Revised version of the keynote address given at OOPSLA '87.", Annote = "When a subclass uses its superclass abstractly (as a client), then the superclass might just as well have been a component of the representation. When a subclass does not use its superclass abstractly, then this inheritance is an implementation detail that is best forgotten. So implementation inheritance may be useful but uninteresting from the point of view of design. Subtyping, as a semantic relation, is interesting because it allows one to keep track of design decisions, group and classify types, limit the effects of specification changes, and provides for generics. Data abstraction is fundamental to object oriented programming." } @TechReport{Liskov90, Key = "Liskov", Author = "Barbara Liskov", Title = "Constraining Subtypes", Institution = MITLCS, Year = 1990, Type = "Mercury Design Note", Number = 49, Month = Dec } @InProceedings{Litvinov98, Key = "Litvinov", Author = "Vassily Litvinov", Title = "Constraint-Based Polymorphism in {Cecil}: Towards a Practical and Static Type System", booktitle = {OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, Pages = "388-411", URL = "ftp://ftp.cs.washington.edu/pub/chambers/sbp-oopsla.ps.gz", Note = "The proceedings mistakenly contain a preliminary version of the paper. The final version is at \url{ftp://ftp.cs.washington.edu/pub/chambers/sbp-oopsla.ps.gz}.", Publisher = ACM, Address = NY, Annote = "38 references." } @Article{Liu-Ku92, Key = "Liu \& Ku", Author = "Bing Liu and Yuen-Wah Ku", Title = "ConstraintLisp: An Object-Oriented Constraint Programming Language", Journal = SIGPLAN, Month = Nov, Year = 1992, Volume = 27, Number = 11, Pages = "17-26", Annote = "19 references." } @TechReport{Longo88, Key = "Longo", Author = "Giuseppe Longo", Title = "Some Aspects of Impredicativity", Institution = CMU, Month = Apr, Year = 1988, Number = "CMU-CS-88-135", Note = "Lecture delivered at the {\em Logic Colloquium '87}, North Holland Studies in Logic, to appear.", Annote = "60 references." } @InCollection{Longo93, Key = "Longo", Author = "G. Longo", Title = "Types as Parameters", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "658-670", Annote = "40 references" } @InProceedings{Lucassen-Gifford88, Key = "Lucassen \& Gifford", Author = "John M. Lucassen and David K. Gifford", Title = "Polymorphic Effect Systems", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = Jan, Year = 1988, Pages = "47-57", Annote = "16 references." } @TechReport{Lucassen87, Key = "Lucassen", Author = "John M. Lucassen", Title = "Types and Effects: Towards the Integration of Functional and Imperative Programming", Institution = MITLCS, Month = Aug, Year = 1987, Number = "TR-408", Annote = "The author's Ph. D thesis. Every expression has both a type and effect. Polymorphic effect checking. Allows functional and imperative programming to be merged. 45 references." } @Article{Lunau89, Key = "Lunau", Author = "Charlotte Pii Lunau", Title = "Separation of Hierarchies in Duo-Talk", Journal = JOOP, Month = "July/August", Year = 1989, Pages = "20-25", Annote = "Inheritance of interfaces gives a subtype hierarchy, separate from the subclass hierarchy. Cannot replace inherited methods with an error message. Multiple implementations of a type. No behavioral specifications. 15 references." } @InCollection{Luo91, Key = "Luo", Author = "Z. Luo", Title = "Program Specification and Data Refinement in Type Theory", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '91)", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 493, Pages = "143-168", Address = NY, Month = Apr } @Article{Ma-Kessler90, Key = "Ma \& Kessler", Author = "K.-L. Ma and R. R. Kessler", Title = "TICL---A Type Inference System for Common Lisp", Journal = SPE, Volume = 20, Number = 6, Month = Jun, Year = 1990, Pages = "593-624" } @InProceedings{Ma92, Key = "Ma", Author = "QingMing Ma", Title = "Parametericity as Subtyping", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "281-292", Organization = ACM, Month = Jan, Annote = "27 references." } @Article{MacAuslans92, Key = "MacAuslans", Author = "Joel MacAuslans", Title = "A Note on 'Towards a Type Theory for Active Objects'", Journal = "OOPS Messenger", Volume = 3, Number = 3, Month = Jul, Year = 1992, Pages = "2-9", Annote = "3 references" } @Article{MacLennan83, Key = "MacLennan", Author = "B. J. MacLennan", Title = "Abstraction in the iAPX-432 Prototype Systems Implementation Language", Journal = SIGPLAN, Volume = 18, Number = 12, Month = Dec, Pages = "86-95", Year = 1983, Annote = "Language definition excerpt. An object-oriented language with abstraction and classes. Classes defined hierarchically by giving a genus and a list of differences. Combining forms (packages) with classes allows multiple implementations of a given abstract type to coexist. Type implementation returning procs give generics. Partially implemented types can be defined and extended. Explicit manipulation of operators associated with a class object is used for protection. Trademarks and seals integrated into the type system. 6 references." } @TechReport{MacQueen-Burstall81, Key = "MacQueen \& Burstall", Author = "D. B. MacQueen and R. M. Burstall", Title = "Structure and Parameterization in a Typed Functional Language", Institution = "Bell Laboratories", Year = 1981, Month = Sep, Number = "TM-81-11271-9", Annote = "Describes the type system of 'Hope' and its motivation. 20 references." } @InProceedings{MacQueen-Plotkin-Sethi84, Key = "MacQueen \& Plotkin \& Sethi", Author = "David MacQueen and Gordon Plotkin and Ravi Sethi", Title = "An Ideal Model for Recursive Polymorphic Types", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = Jan, Year = 1984, Pages = "165-174", Annote = "Model for type inference dealing with recursive types, formalizing the view of types as sets of values. Metric structure on types to establish existence and uniqueness of recursive type equations. 23 references." } @Article{MacQueen-Plotkin-Sethi86, Key = "MacQueen \& Plotkin \& Sethi", Author = "David MacQueen and Gordon Plotkin and Ravi Sethi", Title = "An Ideal Model for Recursive Polymorphic Types", Journal = "Information and Control", Volume = 71, Number = "1/2", Month = "Oct./Nov.", Year = 1986, Pages = "95-130", Annote = "31 references." } @InProceedings{MacQueen-Sethi82, Key = "MacQueen \& Sethi", Author = "D. B. MacQueen and Ravi Sethi", Title = "A Semantic Model of Types for Applicative Languages", Publisher = ACM, BookTitle = "ACM Symp. on LISP and Functional Programming", Year = 1982, Pages = "243-252", Annote = "Types formalized as ideals. Polymorphism, soundness of type inference. 14 references." } @Article{MacQueen83, Key = "MacQueen", Author = "David MacQueen", Title = "Modules for Standard ML (Draft)", Journal = "Polymorphism: The ML/LCF/Hope Newsletter", Volume = "I", Number = 3, Month = Dec, Year = 1983, Annote = "5 references." } @InProceedings{MacQueen84, Key = "MacQueen", Title = "Modules for {Standard} {ML}", Author = "David MacQueen", BookTitle = "Proceedings of the Symposium on {LISP} and Functional Programming, Austin, Texas", Organization = ACM, Pages = "198-207", Month = Aug, Year = 1984 } @InProceedings{MacQueen86, Key = "MacQueen", Author = "David MacQueen", Title = "Using Dependent Types to Express Modular Structure", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = Jan, Year = 1986, Pages = "277-286", Annote = "Discusses some practical problems with SOL and presents a stratified type system as an alternative. 26 references." } @Article{Madsen-Magnusson-Moller-Pedersen90, Key = "Madsen \& Magnusson \& Moller-Pedersen", Author = "Ole Lehrmann Madsen and Boris Magnusson and Birger Moller-Pedersen", Title = "Strong Typing of Object-Oriented Languages Revisited", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "140-150", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "1 reference." } @Article{Maier-etal86, Key = "Maier, {\em et al.}", Author = "David Maier and Jacob Stein and Allen Otis and Alan Purdy", Title = "Development of an Object-Oriented DBMS", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "472-482", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "GemStone is an object-oriented database server that provides an object-oriented database language called OPAL. Based on Smalltalk-80. Optimistic concurrency control algorithms using shadows. Read/Write access control on segments. 45 references." } @InProceedings{Mairson93, Key = "MAirson", Author = "Harry G. Mairson", Title = "A constructive logic of Multiple SubTyping", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "313-324", Annote = "21 references" } @Article{Mannino-Choi-Batory90, Key = "Mannino \& Choi \& Batory", Author = "Micael V. Mannino and In Jun Choi and Don S. Batory", Title = "The Object-Oriented Functional Data Language", Journal = IEEETSE, Volume = 16, Number = 11, Month = Nov, Year = 1990, Pages = "1258-1272", Annote = "Integration of functional and object-oriented languges. 42 references." } @InProceedings{Marlow-Wadler97, key = {Marlow \& Wadler}, author = {Simon Marlow and Philip Wadler}, title = {A Practical Subtyping System for Erlang}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {136-149}, annote = {21 references.} } @TechReport{Marti-Oliet-Meseguer90, Key = "Marti-Oliet \& Meseguer", Author = "Narciso Mart\'\i-Oliet and Jose Meseguer", Title = "Inclusions and Subtypes", Institution = "Computer Science Laboratory, SRI International", Year = 1990, Number = "SRI-CSL-90-16", Address = "333 Ravenswood Ave., Menlo Park, Calif.", Month = Dec, Annote = "50 references." } @Article{Marti-Oliet-Meseguer96a, key = "Marti-Oliet \& Meseguer", title = {Inclusions and Subtypes {I}: First Order Case}, author = {Narciso Mart\'\i-Oliet and Jos\'e Meseguer}, journal = {Journal of Logic and Computation}, volume = 6, pages = {409-438}, year = 1996 } @Article{Marti-Oliet-Meseguer96b, key = "Marti-Oliet \& Meseguer", title = {Inclusions and Subtypes {II}: Higher-Order Case}, author = {Narciso Mart\'\i-Oliet and Jos\'e Meseguer}, journal = {Journal of Logic and Computation}, volume = 6, pages = {541-572}, year = 1996 } @TechReport{Martin-Lof80, Key = {Martin-L\"{o}f}, Author = {Per Martin-L\"{o}f}, Title = "Intuitionistic Type Theory. Notes of Giowanni Sambin on a series of lectues given in Padova", Institution = "Univ. of Padova", Address = "Padova, Italy", Month = Jun, Year = 1980 } @InCollection{Martin-Lof82, Key = {Martin-L\"{o}f}, Author = {Per Martin-L\"{o}f}, Title = "Constructive Mathematics and Computer Programming", BookTitle = "Logic, Methodology, and Philosophy of Science VI (Proceedings of the Sixth International Congress; Hannover, 1979)", Editor = "L. J. Cohen and others", Series = "Studies in Logic and the Foundations of Mathematics", Volume = 104, Publisher = "North Holland", Address = "Amsterdam", Year = 1982, Pages = "153-175", Annote = "12 references." } @Book{Martin-Lof84, Key = {Martin-L\"{o}f}, Author = {Per Martin-L\"{o}f}, Title = "Intuitionistic Type Theory", Publisher = "Bibioplois", Address = "Napoli", Year = 1984, Note = "Notes of Giowanni Sambin on a series of lectues given in Padova" } @InProceedings{Martin-Lof85, Key = {Martin-L\"{o}f}, Author = {Per Martin-L\"{o}f}, Title = "Constructive Mathematics and Computer Programming", BookTitle = "Mathematical Logic and Programming Languages", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1985, Pages = "167-184" } @TechReport{Matthews82a, Key = "Matthews", Author = "D. C. J. Matthews", Title = "Poly Report", Institution = "Computer Laboratory, University of Cambridge, Cambridge, England", Year = 1982, Month = Aug, Number = 28, Note = "Reprinted in {\em Polymorphism: The ML/LCF/Hope Newsletter}, I(2), April, 1983.", Annote = "Extends ideas of Russell. Allows polymorphic operations which can manipulate abstract objects. Types may be passed explicitly or by inference. Overloading. Exceptions as in CLU. 3 references." } @TechReport{Matthews82b, Key = "Matthews", Author = "D. C. J. Matthews", Title = "Introduction to Poly", Institution = "Computer Laboratory, University of Cambridge, Cambridge, England", Year = 1982, Month = May, Number = 29, Note = "Reprinted in {\em Polymorphism: The ML/LCF/Hope Newsletter}, I(2), April, 1983.", Annote = "Tutorial introduction to Poly. Examples of polymorphic list functions, double precision integer package and subrange type constructor." } @Article{Matthews85a, Key = "Matthews", Author = "David C. J. Matthews", Title = "Poly Manual", Journal = SIGPLAN, Volume = 20, Number = 9, Month = Sep, Year = 1985, Pages = "52-76", Annote = "Reference manual for Poly: a language with a polymorphic type system. This differs substantially from earlier versions of Poly. Still has types passed explicitly or by inference. Type marks are used in type checking and a set of objects which is like a module. 3 references." } @InProceedings{Matthews85b, Key = "Matthews", Author = "David C. J. Matthews", Title = "An overview of the Poly Programming Language", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "265-274", Annote = "Types as first-class values in Poly. 6 references." } @UnPublished{Maung93, Key = "Maung", Author = "Ian Maung", Title = "A Study of Behavioural Subtyping", Note = "Obtained from the author", Year = 1993, Month = Oct, Annote = "32 references." } @Article{McAllester-Zabih86, Key = "McAllester \& Zabih", Author = "David McAllester and Ramin Zabih", Title = "Boolean Classes", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "417-423", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Classes are viewed as predicates. Boolean classes are constructed from other classes using and, or, and not. Boolean classes are used to abbreviate combinations of various classes. 3 references." } @PhDThesis{McCracken79, Key = "McCracken", Author = "N. McCracken", Title = "An Investigation of a Programming Language with a Polymorphic Type Structure", School = "Syracuse University", Year = 1979 } @InCollection{McCracken84, Key = "McCracken", Author = "Nancy McCracken", Title = "The Typechecking of Programs with Implicit Type Structure", BookTitle = "Semantics of Data Types: International Symposium, Sophia-Antipolis, France", Publisher = SV, Address = NY, Editor = "G. Kahn, D. B. MacQueen and G. Plotkin", Series = LNCS, Volume = 173, Month = Jun, Year = 1984, Pages = "301-315", Annote = "Mix of explicit and implicit types. Least general predecessors. Algorithms for type inference. Result is a system that is not complete. Expansion is not defined. 8 references." } @Article{McGettrick79, Key = "McGettrick", Title = "Aspects of the Algol 68 Mode Structure", Author = "Andrew D. McGettrick", Journal = SIGPLAN, Volume = 14, Number = 7, Month = Jul, Pages = "62-77", Year = 1979, Annote = "Considers Algol 68 modes and all sorts of wild extensions: e.g. mode d = proc (d) d. 31 references" } @Article{McGraw82, Key = "McGraw", Title = "The VAL Language: Description and Analysis", Author = "James R. McGraw", Journal = TOPLAS, Volume = 4, Number = 1, Month = Jan, Year = 1982, Pages = "44-82", Annote = "Describes the type structure in VAL. 54 references." } @Article{Medvidovic-etal98, key = {Medvidovic, {,em et al.}}, author = {Nenad Medvidovic and Peyman Oreizy and Jason E. Robbins and Richard N. Taylor}, title = {Using Object-Oriented Typing to Support Architectural Design in the {C2} Style}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {24-32}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {Component composability, substitutability (subtyping) and reuse. 27 references.} } @InCollection{Meertens81, Key = "Meertens", Author = "Lambert Meertens", Title = "Issues in the Design of a Beginner's Programming Language", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "167-184", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "Discusses type checking for the B language. 14 references." } @InProceedings{Meertens83, Key = "Meertens", Author = "Lambert Meertens", Title = "Incremental Polymorphic Type Checking in B", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1983, Pages = "265-275", Annote = "13 references." } @InCollection{Mendler87, Key = "Mendler", Author = "N. P. Mendler", Title = "Recursive Types and Type Constraints in Second-Order Lambda Calculus", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "30-36", Month = Jun, Annote = "13 references." } @Article{Mendler91, Key = "Mendler", Author = "N. P. Mendler", Title = "Inductive Types and Type Constraints in the Second-order Lambda Calculus", Journal = "Annals of Pure and Applied Logic", Year = 1991, Volume = 51, Number = "1-2", Month = Mar, Pages = "159 ff." } @InProceedings{Meseguer89a, Key = "Meseguer", Author = "J. Meseguer", Title = "Relating Models of Polymorphism", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1989, Pages = "228-241", Annote = "55 references." } @InProceedings{Meyer-Reinhold86, Key = "Meyer \& Reinhold", Author = "Albert R. Meyer and Mark B. Reinhold", Title = "'Type' is Not a Type: Preliminary Report", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = Jan, Year = 1986, Pages = "287-295", Annote = "Why making 'type' a type causes problems. 31 references." } @Article{Meyer86, Key = "Meyer", Author = "Bertrand Meyer", Title = "Genericity versus Inheritance", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "391-405", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "A comparison of generics and subtyping as styles of polymorphism. The programming language Eiffel, which is statically typed and object-oriented with multiple inheritance. Description of generics and default operation parameters in Ada. Modules equated with types in object-oriented languages. In Eiffel, a class can inherit (data) more than once from the same superclass. The simulation of inheritance with generics is not acceptable from a software engineering standpoint. One can simulate generics with inheritance in Eiffel, at the expense of some duplication of code. Eiffel itself has generics type parameters, but no constraints on generic type parameters. 15 references." } @Article{Millstein-Chambers02, key = "Millstein \& Chambers", author = "Todd Millstein and Craig Chambers", title = "Modular Statically Typed Multimethods", journal = "Information and Computation", year = 2002, pages = "76-118", month = may, volume = 175, number = 1, } @TechReport{Millstein-Chambers98, key = {Millstein \& Chambers}, author = {Todd Millstein and Craig Chambers}, title = {Modular Statically Typed Multimethods}, institution = {University of Washington}, year = 1998, number = {UW-CSE-98-07-01}, month = Jul, URL = "ftp://ftp.cs.washington.edu/homes/chambers/dubious.ps.gz" } @InCollection{Millstein-Chambers99, key = {Millstein \& Chambers}, author = {Todd Millstein and Craig Chambers}, title = {Modular Statically Typed Multimethods}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {279-303}, annote = {41 references.} } @PhdThesis{Millstein03, key = {Millstein}, author = {Todd Millstein}, title = {Reconciling Software Extensibility with Modular Program Reasoning}, school = {Department of Computer Science \& Engineering, University of Washington}, year = {2003}, } @Article{Milner83, Key = "Milner", Author = "Robin Milner", Title = "A Proposal for Standard ML", Journal = "Polymorphism: The ML/LCF/Hope Newsletter", Volume = "I", Number = 3, Month = Dec, Year = 1983, Note = "Also appeared in the Conference Record of the ACM Symposium on Lisp and Functional Programming, Austin, Texas, August 1984, pages 184-197 and as Tech. Report CSR-157-83, University of Edinburgh, Edinburgh, Scotland, 1983.", Annote = "3 references." } @InProceedings{Milner84, Key = "Milner", Author = "Robin Milner", Title = "A Proposal for Standard ML", BookTitle = "Conference Record of the ACM Symposium on {LISP} and Functional Programming, Austin, Texas", Organization = ACM, Month = Aug, Year = 1984, Pages = "184-197", Note = "Also appeared as Tech. Report CSR-157-83, University of Edinburgh, Edinburgh, Scotland, 1983.", Annote = "3 references." } @InProceedings{Minsky83, Key = "Minsky", Author = "Naftaly H. Minsky", Title = "Locality in Software Systems", BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Organization = ACM, Month = Jan, Year = 1983, Pages = "299-312", Annote = "Discusses how the support for a proof of correctness of an invariant can be localized in a module and the problems with typical module constructs for this purpose. Protection based solution uses export connection rather than import connection to achieve minimal support. Connections based on privileges (operations) rather than on resources (types as a whole). Privileges can be granted to be redistributed or not. 26 references." } @InProceedings{Mitchell-Harper88, Key = "Mitchell \& Harper", Author = "John C. Mitchell and Robert Harper", Title = "The Essence of ML", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = Jan, Year = 1988, Pages = "28-46", Annote = "54 references." } @Unpublished{Mitchell-Honsell-Fisher92, Key = "Mitchell \& Honsell \& Fisher", Author = "John C. Mitchell and Furio Honsell and Kathleen Fisher", Title = "A Lambda Calculus of Objects and Method Specialization (summary)", Month = Dec, Year = 1992, Note = "Obtained from the authors by anonymous ftp" } @TechReport{Mitchell-Maybury-Sweet79, Key = "Mitchell \& Maybury \& Sweet", Author = "James G. Mitchell and William Maybury and Richard Sweet", Title = "Mesa Language Manual", Institution = "Xerox Palo Alto Research Centers", Year = 1979, Month = Apr, Number = "CSL-79-3", Annote = "Mesa is a systems programming language with modules which are used to program abstract data types." } @InProceedings{Mitchell-Meldal-Madhav91, Key = "Mitchell \& Meldal \& Madhav", Author = "John Mitchell and Sigurd Meldal and Neel Madhav", Title = "An extension of Standard ML modules with subtyping and inheritance", BookTitle = "Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando", Organization = ACM, Month = Jan, Year = 1991, Pages = "270-278", Annote = "32 references." } @InCollection{Mitchell-Moggi87, Key = "Mitchell \& Moggi", Author = "John C. Mitchell and Eugenio Moggi", Title = "Kripke-style models for typed lambda calculus", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "303-314", Month = Jun, Annote = "24 references." } @InProceedings{Mitchell-Plotkin85, Key = "Mitchell \& Plotkin", Author = "John C. Mitchell and Gordon D. Plotkin", Title = "Abstract Types have Existential Type", BookTitle = "Conference Record of the 12th Annual ACM Symposium on Principles of Programming Languages, New Orleans, Louisana", Publisher = ACM, Month = Jan, Year = 1985, Pages = "37-51" } @Unpublished{Mitchell-Scedrov93, Key = "Mitchell \& Scedrov", Author = "John C. Mitchell and Andre Scedrov", Title = "Notes on Sconing and Relators", Year = 1993, Note = "Obtained from the authors by anonymous ftp.", Annote = "40 references" } @InCollection{Mitchell-Scott87, Key = "Mitchell \& Scott", Author = "John C. Mitchell and Philip J. Scott", Title = "Typed Lambda Calculus Models and Cartesian Closed Categories (preliminary version)", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Organization = "American Mathematical Society", Address = "Providence, R.I.", Pages = "301-316", Annote = "18 references." } @InProceedings{Mitchell84a, Key = "Mitchell", Author = "John C. Mitchell", Title = "Coercion and Type Inference (Summary)", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = Jan, Year = 1984, Pages = "175-185", Annote = "Semantic model of automatic coercions in a type-inferred language. Type containment in general. 26 references." } @PhDThesis{Mitchell84b, Key = "Mitchell", Author = "John Clifford Mitchell", Title = "Lambda Calculus Models of Typed Programming Languages", School = MIT, Month = Aug, Year = 1984, Annote = "Discusses the second order lambda calculus, its features and semantics. Also discusses type inference and inference models. 106 references." } @InProceedings{Mitchell86, Key = "Mitchell", Author = "John C. Mitchell", Title = "Representation Independence and Data Abstraction (preliminary version)", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = Jan, Year = 1986, Pages = "263-276", Annote = "Defines representation independence as meaning that programs cannot depend on the way a data type is implemented. Shows that the second order lambda calculus as defined in his thesis has this property. 22 references." } @Article{Mitchell88, Key = "Mitchell", Author = "John C. Mitchell", Title = "Polymorphic Type Inference and Containment", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "211-249", Note = "An extended version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 257--278.", Annote = "Semantics for quantified types over arbitrary models of untyped lambda calculus. Inference models are a generalization of ideal models. 37 references." } @InProceedings{Mitchell90a, Key = "Mitchell", Author = "John C. Mitchell", Title = "Toward a typed foundation for method specialization and inheritance", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, Calif.", Organization = ACM, Month = Jan, Year = 1990, Pages = "109-124" } @InCollection{Mitchell90b, Key = "Mitchell", Author = "John C. Mitchell", Title = "Type systems for programming languages", BookTitle = "Handbook of Theoretical Computer Science", Chapter = 8, Pages = "365-458", Volume = "B: Formal Models and Semantics", Editor = "J. van Leeuwen", Publisher = "North-Holland", Address = NY, Year = 1990, Annote = "140 references." } @Article{Mitchell91b, Key = "Mitchell", Author = "John C. Mitchell", Title = "Type Inference with Simple Subtypes", Journal = "Journal of Functional Programming", Year = 1991, Volume = 1, Number = 3, Month = Jul, Pages = "245-286", Annote = "39 references." } @Book{Mitchell96, key = "Mitchell", author = "John C. Mitchell", title = "Foundations for Programming Languages", publisher = "MIT Press", address = "Cambridge, MA", year = 1996, ISBN = "0-262-13321-0", annote = "Graduate text on programming language theory. Focus on typed lambda calculus. Hundreds of references." } @Article{Moffat81, Key = "Moffat", Title = "A Model for Pascal-like Typing", Author = "David V. Moffat", Journal = SIGPLAN, Volume = 16, Number = 7, Month = Jul, Year = 1981, Pages = "66-74", Annote = "Clear exposition of what is meant by various kinds of types and type equivalence rules. 11 references." } @InCollection{Monsuez, Key = "Monsuez", Author = "B. Monsuez", Title = "Polymorphic Typing by Abstract Interpretation", Series = "Lecture Notes in Computer Science", Number = 652, Publisher = SV, Address = "Berlin, Germany", Editor = "R. Shyamasundar", Pages = "217-228", Note = "Foundations of Software Technology and Theortical Computer Science. 12th Conference, New Delhi, India, Dec 92. Proceedings", Annote = "17 references" } @InCollection{Monsuez93, Key = "Monsuez", Author = "B. Monsuez", Title = "Polymorphic Typing for Call-By-Name Semantics", BookTitle = "Formal Methods in Programming and Their Applications", Publisher = SV, Year = 1993, Editor = "Dines Bjoerner and Manfred Broy and Igor V. Pottosin", Series = LNCS, Volume = 735, Pages = "156-169", Month = Jul, Annote = "19 references." } @InProceedings{Monteleone89, Key = "Monteleone", Author = "Gennaro Monteleone", Title = "Generalized Conjunctive Types", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1989, Pages = "242-249", Annote = "Only conjunctions of compatible types are allowed. 11 references." } @Article{Moon86, Key = "Moon", Author = "David A. Moon", Title = "Object-Oriented Programming with {{\em Flavors}}", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "1-8", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Description of the new Flavors mechanism. Goals are program modularity, ease of development of large programs, and efficiency. Generic functions can be defined, besides object methods. Flavor ordering on mixed-in flavors is consistent with each flavor's own ordering. Inherited instance variables are the union of the instance variables of each component. Description of the various kinds of method combination; users can define their own. Method combination is declarative. Modularity achieved by code sharing, multiple inheritance. Can redefine flavors, methods and generic functions while the program is running. Changing data representation converts all old instances of the flavor to the new representation as needed. Efficiency concerns. 5 references." } @InProceedings{Morris76, Key = "Morris", Author = "J. B. Morris", Title = "Synopsis of Data Type Abstraction in Programming Languages", BookTitle = "NSF Very High Level Programming Languages Conference, Moscow, USSR, September, 1976", Year = 1976, Month = Sep, Organization = "Energy Research and Development Administration", Annote = "Data types in the Model programming language contrasted with CLU and Alphard." } @Article{Morris80, Key = "Morris", Author = "James B. Morris", Title = "Programming by Successive Refinement of Data Abstractions", Journal = SPandE, Volume = 10, Number = 4, Year = 1980, Pages = "249-263", Month = Apr, Annote = "Discusses the Model programming language. Requirements for a data abstraction mechanism: 1. representation independence, 2. parameterizability, 3. distinction between abstract type and its concrete representation, 4. invocation of abstract operations must be efficient. 19 references." } @Article{Morrison-etal88, key = "Morrison et al.", author = "R. Morrison and M. P. Atkinson and A. L. Brown and A. Dearle", title = "Bindings in Persistent Programming Languages", journal = "SIGPlan Notices", publisher = "acm", volume = 23, number = 4, month = Apr, year = 1988, pages = "27--34" } @Article{Morrison-etal91, Key = "Morrison, {em et al}", Author = "R. Morrison and A. Dearle and R.C.H. Conner and A.L. Brown", Title = "An Ad Hoc Approach to the Implementation of Polymorphism", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 3, Month = Jul, Pages = "342-371", Annote = "42 references." } @TechReport{Moss-Wolf88, Key = "Moss \& Wolf", Author = "J. Eliot B. Moss and Alexander L. Wolf", Title = "Towards Principles of Inheritance and Subtyping in Programming Languages", Institution = "Department of Computer and Information Science, University of Massachusetts", Address = "Amherst, Mass.", Number = "88-95", Type = "COINS Technical Report", Month = Nov, Year = 1988, Annote = "Behavioral abstraction. Pragmatic principles of language deisgn. 36 references." } @InCollection{Moss89, Key = "Moss", Author = "J. Eliot B. Moss", Title = "Object Orientation as Catalyst for Language-Database Integration", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 24, Pages = "583-592", Annote = "21 references" } @inproceedings{Mugridge-etal91, key = "Mugridge, {\em et al.}", author = "W. B. Mugridge and J. G. Hosking and J. Hamer", title = "Multi-Methods in a Statically-Typed Programming Language", booktitle = "ECOOP '91 European Conference on Object-Oriented Programming, Geneva, Switzerland, Proceedings", publisher = SV, address = NY, pages = {307--324}, Series = LNCS, Volume = 512, Editor = "Pierre America", year = 1991 } @PhDThesis{Murtagh83, Key = "Murtagh", Author = "Thomas Peter Murtagh", Title = "A Data Abstraction Language for Concurrent Programming", School = "Cornell University", Year = 1983 } @InProceedings{Myers-Bank-Liskov97, author = "Andrew C. Myers and Joseph A. Bank and Barbara Liskov", title = "Parameterized Types for {Java}", booktitle = {Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages}, key = {Myers \& Bank \& Liskov}, year = 1997, pages = {132-145}, organization = ACM, address = NY, month = Jan, annote = {21 references.} } @Article{Mylopoulos-Bernstein-Wong80, Key = "Mylopoulos \& Bernstein \& Wong", Author = "J. Mylopoulos and P. A. Bernstein and H. Wong", Title = "A Facility for Designing Database-Intensive Applications", Journal = TODS, Volume = 5, Number = 2, Month = Jun, Year = 1980, Annote = "Describes TAXIS which offers relational database management, semantic integrity checks and exception handling all integrated with the notions of class and property using an IS-A relationship. Multiple inheritance, constraints on redefinition, test defined classes which generalize enumeration types, exceptions organized in an IS-A hierarchy. 26 references." } @InCollection{Neilson-Neilson93, Key = "Neilson \& Neilson", Author = "F. Neilson and H. R. Neilson", Title = "Layered Predicates", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publsiher = SV, Address = NY, Year = 1993, Note = "Semantics: Foundations and Applications REX Workshop, The NetherLands, june 1992. Proceedings", Page = "425-456", Annote = "13 references" } @Article{Netzer-Miller92, Key = "Netzer \& Miller", Author = "Robert H.B. Netzer and Barton P. Miller", Title = "What are Race conditions? Some Issues and Formalizations", Journal = "ACM Letters on Programming Languages and Systems", Year = 1992, Month = Mar, Volume = 1, Number = 1, Pages = "74-88", Annote = "26 references. " } @PhDThesis{Newman78, Key = "Newman", Author = "J. Richard Newman", Title = "An Investigation into Multi-Level Program Abstractions for a Systematic Picture Programming Language", School = "University of Southwestern Louisiana", Year = 1978 } @Article{Nguyen-Hailpern86, Key = "Nguyen \& Hailpern", Author = "Van Nguyen and Brent Hailpern", Title = "A Generalized Object Model", Journal = SIGPLAN, Volume = 21, Number = 10, Month = Oct, Year = 1986, Pages = "78-87", Note = "Object-Oriented Programming Workshop, June, 1986", Annote = "18 references." } @InCollection{Nielson-Nielson-Amtoft97, author = "H. R. Nielson and F. Nielson and T. Amtoft", title = "Polymorphic Subtyping for Effect Analysis: The Static Semantics", booktitle = "Proceedings of the Fifth {LOMAPS} Workshop", publisher = SV, year = "1997", editor = "M. Dam", number = "1192", series = "Lecture Notes in Computer Science", } @Article{Nielson96, key = {Nielson}, author = {Nielson}, title = "Annotated Type and Effect Systems", journal = ACMCS, volume = 28, number = 2, pages = "344-345", month = Jun, year = 1996, annote = "8 references." } @InCollection{Nierstrasz89, Key = "Kim \& Lochovsky", Author = "Oscar Nierstrasz", Title = "A Survey of Object-Oriented Concepts", Chapter = 1, Pages = "3--21", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Annote = "43 references." } @Article{Nierstrasz93, Key = "Nierstrasz", Author = "Oscar Nierstrasz", Title = "Regular types for active objects", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "1-15", Annote = "30 references." } @PhDThesis{Nikhil84, Key = "Nikhil", Author = "R. Nikhil", Title = "An Incremental, Strongly Typed Applicative Programming System for Databases", School = "University of Pennsylvania, Department of Computing and Information Science", Year = 1984 } @InProceedings{Nikhil85, Key = "Nikhil", Author = "Rishiyur S. Nikhil", Title = "Functional Databases, Functional Languages", BookTitle = "Persistence and Data Types: Papers for the Appin Workshop", Month = Aug, Year = 1985, Organization = "Universities of Glasgow and St. Andrews, Departments of Computer Science", Note = "Persistent Programming Research Report 16", Pages = "309-330", Annote = "41 references." } @InProceedings{Nipkow-Oheimb98, key = {Nipkow \& Oheimb}, author = {Tobias Nipkow and David von Oheimb}, title = {Java$_{light}$ is Type-Safe --- Definitely}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {161-170}, annote = {22 references.} } @InProceedings{Nipkow-Prehofer93, Key = "Nipkov \& Prehofer", Author = "Tobias Nipkov and Christian Prehofer", Title = "Type checking Type classes", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "409-418", Annote = "14 references" } @Article{Nipkow-Prehofer94, author = "Tobias Nipkov and Christian Prehofer", title = "Type Reconstruction for Type Classes", key = "Nipkov \& Prehofer", journal = "Journal of Functional Programming", year = 1994, volume = 5, number = 2, pages = "201-224", month = Apr, annote = "17 references." } @TechReport{Nipkow-Snelting90, Key = "Nipkow \& Snelting", Author = "Tobias Nipkow and Gregor Snelting", Title = "Type Classes and Overloading Resolution via Order-Sorted Unification", Institution = "University of Cambridge, Computer Laboratory", Address = "Cambridge CB2 3QG, England", Number = 200, Month = Aug, Year = 1990, Annote = "Type inference algorithm for a Haskell-like language based on order-sorted unification. Language features polymorphism, overloading, type classes, and multiple inheritance. 16 references." } @InProceedings{Nishimura98, key = {Nishimura}, author = {Susumu Nishimura}, title = {Static Typing for Dynamic Messages}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {266-278}, annote = {references.} } @InProceedings{Nordlander99, key = {Nordlander}, author = {Johan Nordlander}, title = {Pragmatic Subtyping in Polymorphic Languages}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {216-227}, annote = {Subtyping extensions to the Hindley/Milner type system. To keep the types simple, it fails for all expressions that must be typed using constraints. 30 references.} } @Book{Nordstrom-Peterson-Smith90, Key = "Nordstrom \& Peterson \& Smith", Author = {Bengt Nordstr\"{o}m and Kent Peterson and Jan M. Smith}, Title = "Programming in Martin-Lof's Type Theory", Publisher = "Oxford University Press", Year = "1990", Volume = 7, Series = "International Series of Monographs on Computer Science", Address = NY } @InProceedings{Nordstrom-Peterson83, Key = {Nordstr\"{o}m \& Peterson}, Author = {Bengt Nordstr\"{o}m and Kent Peterson}, Title = "Types and Specifications", BookTitle = "Information Processing 83", Editor = "R. E. A. Mason", Publisher = "Elsevier Science Publishers B.V. (North-Holland)", Month = Sep, Year = 1983, Note = "Proceedings of the IFIP 9th World Computer Congress, Paris, France", Pages = "915-920", Annote = "Type system with subsets (abstraction) and dependent function types and its use in specification. Excellent short description of the Curry-Howard isomorphism and intensional view of specs. 14 references." } @Article{Novak83, Key = "Novak", Author = "Novak, Jr., Gordon S.", Title = "Data Abstraction in GLISP", Journal = SIGPLAN, Year = 1983, Month = Jun, Volume = 18, Number = 6, Pages = "170-177", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Hierarchical inheritance, object-oriented. Extensible to representation languages. Type inference mechanisms. Recursive compilation to expand contexts through multiple levels and achieve binding at compile time for efficiency. Several examples. 13 references." } @article{OHearn-Pym99a, Key = {O'Hearn \& Pym}, Author = {Peter O'Hearn and David Pym}, Journal = {Bulletin of Symbolic Logic}, Pages = {215-244}, Title = {The Logic of Bunched Implication}, Volume = 5, Number = 2, Year = {1999} } @inproceedings{OHearn-Reynolds-Yang01a, Key = {O'Hearn \& Reynolds \& Yang}, Author = {Peter O'Hearn and John Reynolds and Hongseok Yang}, Booktitle = {Proceedings of CSL'01}, Pages = {1-19}, Publisher = SV, Series = LNCS, Title = {Local Reasoning about Programs that Alter Data Structures}, Volume = {2142}, Year = {2001}, Annote = {Connects separation logic and the logic of bunched implications} } @InCollection{O'Keefe-Wand92, Key = "O'Keefe \& Wand", Author = "Patrick M. O'Keefe and Mitchell Wand", Title = "Type Inference for Partial Types is Decidable", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "408-417", Annote = "18 references" } @Article{OToole-Gifford89, Key = "O'Toole \& Gifford", Author = "James William O'Toole and David K. Gifford", Title = "Type Reconstruction with First-Class Polymorphic Values", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 7, Month = Jul, Pages = "207-217", Note = "Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, Portland, Oregon, June", Annote = "The language IFX. 21 references." } @InProceedings{Odersky-Laufer96, author = {Martin Odersky and Konstantin L\"{a}ufer}, title = "Putting Type Annotations to Work", key = "Odersky \& Laufer", pages = "54-67", booktitle = "Conference Record of POPL '96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersberg Beach, Florida", year = 1996, organization = ACM, address = NY, month = Jan, annote = "31 references." } @Article{Odersky-Sulzmann-Wehr99, key = {Odersky \& Sulzmann \& Wehr}, author = {Martin Odersky and Martin Sulzmann and Martin Wehr}, title = {Type Inference with Constrained Types}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {35-55}, annote = {The framework HM(X) and instances dealing with polymorphic records, equational theories, and subtypes. 39 references.} } @InProceedings{Odersky-Wadler97, author = "Martin Odersky and Philip Wadler", title = "Pizza into {Java}: Translating Theory into Practice", booktitle = {POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, key = {Odersky \& Wadler}, year = 1997, pages = {146-159}, publisher = ACM, address = NY, month = Jan, annote = {26 references.} } @inproceedings{Odersky-etal03, Author = {Martin Odersky and Vincent Cremet and Christine R{\"o}ckl and Matthias Zenger}, Title = {A Nominal Theory of Objects with Dependent Types}, booktitle = {ECOOP 2003---Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, Proceedings}, editor = {Luca Cardelli}, series = LNCS, volume = 2743, publisher = SV, address = NY, month = {July}, year = 2003, Pages = {201--224}, } @InProceedings{Ohori-Buneman-Breazu-Tannen89, Key = "Ohori \& Buneman \& Breazu-Tannen", Author = "A. Ohori and P. Buneman and V. Breazu-Tannen", Title = "Database Programming in {Machiavelli} -- a Polymorphic Language with Static Type Inference", BookTitle = "Proceedings of the ACM SIGMOD conference", Year = 1989, Month = "May -- June", Address = "Portland, Oregon", Pages = "46--57" } @Article{Ohori-Buneman89, Key = "Ohori \& Buneman", Author = "Atsushi Ohori and Peter Buneman", Title = "Static Type Inference for Parameteric Classes", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "445-456", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "Type inference for classes with inheritance and parameters. 24 references." } @InCollection{Ohori88, Key = "Ohori", Author = "Atsushi Ohori", Title = "Semantics of Types for Database Objects", BookTitle = "ICDT '88, 2nd International Conference on Database Theory, Bruges, Belgium, August/September 1988", Editor = "M. Gyssens and J. Paredaens and D. Van Gucht", Series = LNCS, Volume = 326, Publisher = SV, Address = NY, Pages = "239-251", Year = 1988, Annote = "19 references." } @TechReport{Oles87b, Key = "Oles", Author = "Frank J. Oles", Title = "Lambda Calculi with Implicit Type Conversions", Institution = "IBM Research Division", Address = "T.J. Watson Research Center, Yorktown Heights, N.Y.", Month = Nov, Year = 1987, Number = "RC 13245 (\#59268)", Annote = "8 references." } @Article{Olthoff-Kempf89, Key = "Olthoff \& Kempf", Author = "W. Olthoff and J. Kempf", Title = "An Algebraic Specification of Method Combination for the Common LISP Object System", Journal = "LISP and Symbolic Computation", Volume = 2, Year = 1989, Pages = "115-152" } @Article{Olthoff86, Key = "Olthoff", Author = "Walter G. Olthoff", Title = "Augmentation of Object-Oriented Programming by Concepts of Abstract Data Type Theory: The ModPascal Experience", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "429-443", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Includes a brief overview of algebraic specifications, algebras, and specification morphisms. ModPascal is based on Pascal; it features modules (ADT implementations), enrichment, a flexible parameterization mechanism. Enrichments add to the set of operations of one or more types. Parameterization is multilevel and the declaration of formal parameters is completely implicit. 18 references." } @InCollection{Orejas81, Key = "Orejas", Author = "F. Orejas", Title = "On the Representation of Data Types", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "419-431", Annote = "Correctness of representations without the use of representation invariants. Restricted representations. 11 references." } @InProceedings{Ossher84, Key = "Ossher", Author = "Harold L. Ossher", Title = "Grids: A New Program Structuring Mechanism Based on Layered Graphs", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = Jan, Year = 1984, Pages = "11-22", Annote = "Layered graphs, factorization, clustering. 13 references." } @InCollection{Oxhoj-Palsberg-Schwartzbach92, Key = "Oxhoj \& Palsberg \& Schwartzbach", Author = "Nicholas Oxh\{o}j and Jens Palsberg and Michael I. Schwartzbach", Title = "Making Type Inference Practical", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "329-349", Annote = "27 references" } @TechReport{Palsberg-Black93, Key = "Palsberg \& Black", Author = "Jens Palsberg and Andrew Black", Title = "Foundations of Object-Oriented languages", Institution = "Computer Science Department, Aarhus University", Year = 1993, Annote = "32 references." } @InProceedings{Palsberg-OKeefe95, Key = {Palsberg \& O'Keefe}, Author = {Jens Palsberg and Patrick M. O'Keefe}, Title = "A Type System Equivalent to Flow Analysis", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "367-378", Annote = "20 references." } @InProceedings{Palsberg-Pavlopoulou98, key = {Palsberg \& Pavlopoulou}, author = {Jens Palsberg and Christina Pavlopoulou}, title = {From Polyvariant Flow Information to Intersection and Union Types}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {197-208}, annote = {49 references.} } @TechReport{Palsberg-Schwartzbach90a, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwatzbach", Title = "Genericity and Inheritance", Institution = "Computer Science Department, Aarhus University", Year = 1990, Number = "DAIMI-PB - 318", Month = Jul, Annote = "32 references." } @Article{Palsberg-Schwartzbach90b, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Type Substitution for Object-Oriented Programming", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "151-160", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "31 references." } @Unpublished{Palsberg-Schwartzbach91a, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "A Unified Type System for Object-Oriented Programming", Note = "Sent by the authors", Annote = "22 references." } @Unpublished{Palsberg-Schwartzbach91b, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michel I. Schwartzbach", Title = "What is Type-Safe Code Reuse?", Note = "Sent by the authors", Annote = "13 references." } @TechReport{Palsberg-Schwartzbach91c, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Object-Oriented Type Inference", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB - 345", Month = Mar, Annote = "29 references." } @TechReport{Palsberg-Schwartzbach91d, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Static Typing for Object-Oriented Programming", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB - 355", Month = Jun, Annote = "57 references." } @TechReport{Palsberg-Schwartzbach91e, Key = "Palsberg \& Schwartzbach", Editor = "Jens Palsberg and Michael I. Schwartzbach", Title = "Types, Inheritance and Assignments", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB - 357", Month = Jun, Annote = "69 references." } @Article{Palsberg-Schwartzbach92, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Three Discussions on Object-Oriented Typing", Journal = "OOPS Messenger", Year = 1992, Volume = 3, Number = 2, Month = Apr, Pages = "31-38", Annote = "1 reference." } @Book{Palsberg-Schwartzbach94, Key = "Palsberg \& Schwartzbach", Author = "Jens Palsberg and Michael I. Schwartzbach", Title = "Object-Oriented Type Systems", Publisher = "John Wiley and sons", Year = 1994, Annote = "72 reference." } @Article{Palsberg96, key = {Palsberg}, author = {Jens Palsberg}, title = "Type Inference for Objects", journal = ACMCS, volume = 28, number = 2, pages = "358-359", month = Jun, year = 1996, annote = "8 references." } @PhDThesis{Paolini81, Key = "Paolini", Author = "Paolo Paolini", Title = "Abstract Data Types and Data Bases", School = "University of California, Los Angeles", Year = 1981 } @PhDThesis{Parsaye-Ghomi81, Key = "Parsaye-Ghomi", Author = "Kamran Parsaye-Ghomi", Title = "Higher Order Abstract Data Types", School = "University of California, Los Angeles", Year = 1981 } @Article{Paulson86, Key = "Paulson", Author = "Lawrence C. Paulson", Title = "Constructing Recursion Operators in Intuitionistic Type Theory", Journal = "Journal of Symbolic Computation", Volume = 2, Number = 4, Month = Dec, Year = 1986, Pages = "325-355", Annote = "Implementing noetherian recursion in intuitionistic type theory." } @Book{Peterson87, Key = "Peterson", Editor = "Gerald E. Peterson", Title = "Tutorial: Object-Oriented Computing", Publisher = "IEEE Computer Society Press", Year = 1987, Address = "Los Angeles, Calif.", Note = "Volume 1: concepts; volume 2: implementations." } @TechReport{Petersson82, Key = "Petersson", Author = "K. Petersson", Title = "A Programming System for Type Theory", Institution = "Dept. of Computer Science, Univ. Goteborg / Chalmers Univ. of Technology, Sweden", Year = 1982, Type = "LPM Memo", Number = 21 } @TechReport{Pfenning-Lee89, Key = "Pfenning \& Lee", Author = "Frank Pfenning and Peter Lee", Title = "Metacircularity in the Polymorphic $\lambda$-calculus", Institution = CMU, Number = "CMU-CS-89-207", Month = Dec, Year = 1989, Annote = "36 references." } @TechReport{Pfenning-Mohring89, Key = "Pfenning \& Mohring", Author = "Frank Pfenning and Christine Paulin-Mohring", Title = "Inductively Defined Types in the Calculus of Constructions", Institution = CMU, Number = "CMU-CS-89-209", Month = Dec, Year = 1989, Annote = "27 references." } @InProceedings{Pfenning88, Key = "Pfenning", Author = "Frank Pfenning", Title = "Partial Polymorphic Type Inference and Higher-Order Unification", BookTitle = "Conference Record of the ACM Symposium on Lisp and Functional Programming, Snowbird, Utah", Organization = ACM, Month = Jul, Year = 1988, Pages = "153-163", Annote = "Shows the problem of partial type inference in the nth-order polymorphic lambda calculus is equivalent to nth-order unification. Gives an algorithm for partial type inference in the $\omega$-order polymorphic lambda calculus, and an implementation in Lambda Prolog. 25 references." } @Book{Pfenning92, Key = "Pfenning", Editor = "Frank Pfenning", Title = "Types in Logic Programming", Publisher = MITP, Year = 1992, Series = "Logic Programming Series", Address = "Cambridge, Mass.", Annote = "Many references." } @TechReport{Pierce-Dietzen-Michaylov89, Key = "Pierce \& Dietzen \& Michaylov", Author = "Benjamin Pierce and Scott Dietzen and Spiro Michaylov", Title = "Programming in Higher-Order Typed Lambda-Calculi", Institution = CMU, Number = "CMU-CS-89-111", Month = Mar, Year = 1989, Annote = "Tutorial on various formed of typed lambda calculus, including omega-order. 55 references." } @TechReport{Pierce-Steffen94, Key = "Pierce \& Steffen", Author = "Benjamin Pierce and Steffen", Title = "Higher-Order SubTyping", Institution = "University of Edinburgh", Number = "ECS-LFCS-94-280", Month = Jan, Year = 1994, Note = "To appear in Theoretical Computer Science", Annote = "50 references" } @TechReport{Pierce-Turner92, Key = "Pierce \& Turner", Author = "Benjamin C. Pierce and David N. Turner", Title = "Simple Type-Theoretic Foundations for Object-Oriented Programming", Institution = "Department of Computer Science, University of Edinburgh", Year = 1992, Address = "Edinburgh, U.K.", Month = Aug, Annote = "48 references." } @TechReport{Pierce-Turner92b, author = "Benjamin C. Pierce and David N. Turner" , title = "Statically Typed Friendly Functions via Partially Abstract Types" , institution = "University of Edinburgh, LFCS" , type = "Technical Report" , number = "ECS-LFCS-93-256" , month = Apr , year = "1993" , Note = "Available by anonymous ftp from {\tt ftp.dcs.ed.ac.uk} in file {\tt pub/bcp/friendly.ps.Z}. Also available as INRIA-Rocquencourt Rapport de Recherche No. 1899", } @InProceedings{Pierce-Turner93, Key = "Pierce \& turner", Author = "Banjamin C. Pierce and David Turner", Title = "Object-Oriented Programming without Recursive types", BookTitle = "Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "299-312", Annote = "46 references" } @Article{Pierce-Turner94, author = "Benjamin C. Pierce and David N. Turner" , title = "Simple Type-Theoretic Foundations for Object-Oriented Programming", note = "A preliminary version appeared in POPL 1993", journal = "Journal of Functional Programming", volume = 4, number = 2, month = Apr, pages = "207--248", year = 1994 } @InProceedings{Pierce-Turner98, key = {Pierce \& Turner}, author = {Benjamin C. Pierce and David N. Turner}, title = {Local Type Inference}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {252-265}, annote = {45 references.} } @Book{Pierce02, key = "Pierce", author = "Benjamin C. Pierce", title = "Types and Programming Languages", publisher = MITP, address = "Cambridge, MA", year = 2002, annote = "Many references." } @Book{Pierce05, key = "Pierce", editor = "Benjamin C. Pierce", title = "Advanced Topics in Types and Programming Languages", publisher = MITP, address = "Cambridge, MA", year = 2005, annote = "Many references." } @TechReport{Pierce91a, Key = "Pierce", Author = "Benjamin C. Pierce", Title = "Programming With Intersection Types, Union Types, and Polymorphism", Institution = CMU, Year = 1991, Number = "CMU-CS-91-106", Month = Feb, Annote = "39 references." } @TechReport{Pierce91b, Key = "Pierce", Author = "Benjamin C. Pierce", Title = "Bounded Quantification is Undecidable", Institution = CMU, Year = 1991, Number = "CMU-CS-91-161", Month = Jul, Annote = "30 references." } @TechReport{Pierce91c, Key = "Pierce", Author = "Benjamin C. Pierce", Title = "Programming with Intersection Types and Bounded Polymorphism", Institution = CMU, Year = 1991, Number = "CMU-CS-91-205", Month = Dec, Annote = "30 references." } @Unpublished{Pierce93a, Key = "Pierce", Author = "Benjamin C. Pierce", Title = "Mutable Objects", Year = 1993, Month = May, Annote = "Working draft. Obtained by anonymous ftp from ftp.lcs.ac.uk 11 references." } @InProceedings{Pierce93b, Key = {Pierce}, Author = {B. C. Pierce}, Title = {Intersection types and bounded polymorphism}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {346-360}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93}, Annote = { 33 refernces} } @Article{Pigozzi90, Key = "Pigozzi", Author = "Don Pigozzi", Title = "Data Types over Multiple-valued Logics", Journal = TCS, Year = 1990, Volume = 77, Number = "1 \& 2", Month = Dec, Pages = "161-194" } @InProceedings{Pitts89, Key = "Pitts", Author = "Andrew M. Pitts", Title = "Non-trivial Power Types Can't Be Subtypes of Polymorphic Types", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "6-13", Annote = "Higher-order type theory and the logic of toposes. 13 references." } @InProceedings{Plotkin-Abadi93, Key = {Plotkin \& Abadi}, Author = {G. Plotkin and M. Abadi}, Title = {A logic for parametric polymorphism}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {361-375}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93}, Annote = {20 references} } @PhDThesis{Polajnar78, Key = "Polajnar", Author = "Jernej Polajnar", Title = "An Algebraic View of Protection and Extendibility in Abstract Data Types", School = "University of Southern California", Year = 1978 } @Article{Ponder-Bush92, Key = "Ponder \& Bush", Author = "Carl Ponder Bill Bush", Title = "Polymorphism Considered Harmful", Journal = SIGPLAN, Year = 1992, Volume = 27, Number = 6, Month = Jun, Pages = "76-79", Annote = "Says it's hard to understand code with message passing. 3 references." } @InProceedings{Pottier96, key = {Pottier}, author = {Fran\c{c}ois Pottier}, title = {Simplifying subtyping constraints}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {122-133}, annote = {11 references.} } @InProceedings{Pottier99, key = {Pottier}, author = {Fran\c{c}ois Pottier}, title = {A Framework for Type Inference with Subtyping}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {228-238}, annote = {19 references.} } @Article{Prechelt-Tichy98, key = {Prechelt \& Tichy}, author = {Lutz Prechelt and Walter F. Tichy}, title = {A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking}, journal = IEEETSE, year = 1998, volume = 24, number = 4, month = Apr, pages = {302-312}, annote = {Type checking in ANSI C increased productivity over Kernighan and Ritchie C, helped find more defects, and reduced the lifetime of defects. 22 references.} } @Article{Pugh-Weddell90, Key = "Pugh \& Weddell", Author = "William Pugh and Grant Weddell", Title = "Two-directional record layout for multiple inheritance", Journal = SIGPLAN, Volume = 25, Number = 6, Month = Jun, Year = 1990, Pages = "85-91", Note = "Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY", Annote = "18 references." } @InProceedings{Rehof97, key = {Rehof}, author = {Jokob Rehof}, title = {Minimal Typings in Atomic Subtyping}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {278-291}, annote = {34 references.} } @TechReport{Reinhold89, Key = "Reinhold", Author = "Mark B. Reinhold", Title = "Typechecking is Undecidable when 'Type' is a Type", Institution = MITLCS, Number = "TR-458", Month = Dec, Year = 1989 } @Article{Reiss86, Key = "Reiss", Author = "Steven P. Reiss", Title = "An Object-Oriented Framework for Graphical Programming", Journal = SIGPLAN, Volume = 21, Number = 10, Month = Oct, Year = 1986, Pages = "49-57", Note = "Object-Oriented Programming Workshop, June, 1986", Annote = "Object-oriented basis of the GARDEN graphical programming system. 18 references." } @InCollection{Reiss87, Key = "Reiss", Author = "Steven P. Reiss", Title = "An Object-Oriented Framework for Conceptual Programming", Editor = "Bruce Shriver and Peter Wegner", BookTitle = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Pages = "189-218", Annote = "Object-oriented basis of the GARDEN graphical programming system. 27 references." } @Unpublished{Reistad-Gifford93, Key = "Reistad \& Gifford", Author = "Brian Reistad and David K. Gifford", Title = "Reconstructing Static Dependedent Costs for Estimating Execution Times", Month = May, Year = 1993, Note = "Obtained from authors", Annote = "75 references." } @InProceedings{Remy89, Key = "Remy", Author = "D. R{\'e}my", Title = "Typechecking records and variants in a natural extension of {ML}", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1989, Pages = "60-76" } @InProceedings{Remy94, Key = "R{\'e}my", Author = "Didier R{\'e}my", Title = "Programming Objects with {ML-ART}: An extension to {ML} with Abstract and Record Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Address = NY, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "321-346", Month = Apr } @Article{Reppy-Riecke96, key = {Reppy \& Riecke}, author = {John Reppy and Jon Riecke}, title = {Simple Objects for Standard ML}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {171-180}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {33 references.} } @inproceedings{Reynolds00a, Key = {Reynolds}, Author = {John Reynolds}, Booktitle = {Millennial Perspectives in Computer Science, Proceedings of the 1999 Oxford-Microsoft Symposium in Honor of Sir Tony Hoare}, Publisher = {Palgrave}, Title = {Intuitionistic Reasoning about Shared Mutable Data Structure}, Year = {2000}, Annote = {Introduces separation logic} } @inproceedings{Reynolds02a, Key = {Reynolds}, Author = {John C. Reynolds}, Title = {Separation Logic: A Logic for Shared Mutable Data Structures}, Booktitle = {Proceedings of the Seventeenth Annual IEEE Symposium on Logic in Computer Science}, Publisher = {IEEE Computer Society Press}, Year = {2002}, Annote = {Surveys early work in separation logic and describes how to extend it to cover pointer arithmetic.} } @InCollection{Reynolds80, Key = "Reynolds", Author = "John C. Reynolds", Title = "Using Category Theory to Design Implicit Conversions and Generic Operators", BookTitle = "Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark", Publisher = SV, Address = NY, Series = LNCS, Editor = "Neil D. Jones", Volume = 94, Month = Jan, Year = 1980, Pages = "211-258", Annote = "Defines category-sorted algebras which are used to avoid problems between implicit conversions and generics. 11 references." } @InProceedings{Reynolds83, Key = "Reynolds", Author = "John C. Reynolds", Title = "Types, Abstraction and Parametric Polymorphism", BookTitle = "Proc. IFIP Congress '83, Paris", Month = Sep, Year = 1983, Annote = "20 references." } @InCollection{Reynolds85, Key = "Reynolds", Author = "John C. Reynolds", Title = "Three Approaches to Type Structure", BookTitle = "Mathematical Foundations of Software Development, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT), Berlin. Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '85)", Month = Mar, Year = 1985, Pages = "97-138", Editor = "Hartmut Ehrig and Christiane Floyd and Maurice Nivat and James Thatcher", Series = LNCS, Volume = 185, Publisher = SV, Address = NY } @Book{Reynolds98, author = {John C. Reynolds}, title = {Theories of Programming Languages}, publisher = {Cambridge}, year = 1998, key = {Reynolds}, annote = {Hundreds of references.} } @InCollection{Riecke-Subrahmanyam94, Key = "Riecke \& Subrahmanyam", Author = "Jon G. Riecke and Ramesh Subrahmanyam", Title = "Extensions to Type Systems Can Preserve Operational Equivalences", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "76-95", Month = Apr, Annote = "28 references." } @InProceedings{Riely-Hennessy98, key = {Riely \& Hennessy}, author = {James Riely and Matthew Hennessy}, title = {A Typed Language for Distributed Mobile Processes}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {378-390}, annote = {24 references.} } @Article{Ritter94, key = {Ritter}, author = {Eike Ritter}, title = {Categorical abstract machines for higher-order typed $\lambda$-calculi}, journal = TCS, year = 1994, volume = 136, number = 1, month = Dec, pages = {125-162}, annote = {25 references.} } @InCollection{Roberts81, Key = "Roberts", Author = "J. D. Roberts", Title = "Naming by Colours: A Graph-Theoretic Approach to Distributed Structure", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "29-76", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "Apparent type of an object. Naming in programs. 13 references." } @TechReport{Robinson-Rosolini89, Key = "Robinson \& Rosolini", Author = "Edmund Robinson and Giuseppe Rosolini", Title = "Polymorphism, Set Theory, and Call-by-Value", Month = Oct, Year = 1989, Number = "89-260", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Annote = "There are no models of the second-order call-by-value calculus in either constructive or classical set theory. 10 references." } @TechReport{Robinson88, Key = "Robinson", Author = "Edmund Robinson", Title = "How complete is {PER}?", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "106-111", Note = "Also TR 88-229, Department of Computing and Information Science, Queen's University at Kingston, Ontario", Annote = "15 references." } @Article{Robinson94, key = {Robinson}, author = {Edmund Robinson}, title = {Parametricity as isomorphism}, journal = TCS, year = 1994, volume = 136, number = 1, month = Dec, pages = {163-181}, annote = {17 references.} } @Article{Rodriguez-etal93, Key = "Rodriguez, {\em et al}", Author = "N. Rodriguez, R. Lerusalunschy and J. Rangel", Title = "Types in School", Journal = SIGPLAN, Volume = 28, Number = 8, Month = Aug, Year = 1993, Pages = "81-89", Annote = "15 references." } @InProceedings{Rowe-Shoens79, Key = "Rowe \& Shoens", Author = "Lawrence A. Rowe and Kurt A. Shoens", Title = "Data Abstractions, Views and Updates in RIGEL", BookTitle = "Proceedings of the ACM-SIGMOD Conference on Management of Data, Boston, Mass.", Month = May, Year = 1979, Pages = "71-81", Annote = "Relations, views and tuples built-in to RIGEL. Generator expressions used for queries. Both abstract types and modules in the language. 30 references." } @Article{Rowe81a, Key = "Rowe", Author = "Lawrence A. Rowe", Title = "Data Abstraction from a Programming Language Viewpoint", Journal = SIGPLAN, Volume = 16, Number = 1, Month = Jan, Year = 1981, Pages = "29-35", Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Discusses the basics of type systems. 31 references." } @Article{Rowe81b, Key = "Rowe", Author = "Lawrence A. Rowe", Title = "Issues in the Design of Database Programming Languages", Journal = SIGPLAN, Volume = 16, Number = 1, Month = Jan, Year = 1981, Pages = "29-35", Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Should records in the language correspond to DB records? What facilities are provided to define the interface between application programs and the DB? Discussion based on the RIGEL language. 7 references." } @Article{Royer98, key = {Royer}, author = {Jean-Claude Royer}, title = {Type Checking Object-Oriented Programs: Core of the Problem and Some Solutions}, journal = JOOP, year = 1998, volume = 11, number = 6, month = Oct, pages = {58-66,71}, annote = {29 references.} } @InProceedings{Sakkinen89, Key = "Sakkinen", Author = "M. Sakkinen", Title = "Disciplined Inheritance", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "40-56", Annote = "57 references." } @InProceedings{Sandberg82a, Key = "Sandberg", Author = "David Wallace Sandberg", Title = "Lithe: A Language Combining a Flexible Syntax with Classes", Year = 1982, Organization = ACM, BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Alberquerque, New Mexico", Pages = "142-145", Month = Jan, Note = "Also Univ. of Washington Tech. Rep. 81-07-05", Annote = "6 references." } @PhDThesis{Sandberg82b, Key = "Sandberg", Author = "David Wallace Sandberg", Title = "Language Combining a Flexible Syntax with Classes", School = "University of Washington, Seattle, Washington", Year = 1982, Note = "TR \#82-12-03", Annote = "Programming language Lithe is defined. Lithe combines extensible syntax and classes. Goal: to make programming easier. 45 references." } @Article{Sandberg86, Key = "Sandberg", Author = "David Sandberg", Title = "An Alternative to Subclassing", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "424-428", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "The alternative, found in the language X2, is to add parameters to classes and to introduce descriptive classes to grouping parameters. Compile-time type checking. Descriptive classes have other classes as instances, e.g. total order might describe integer. The programmer declares what classes are instances of a descriptive class, and supplies the procedures that interpret instances of these classes according to the description. Parameters can be used to refine behavior. Implicit parameters are passed when an object of a descriptive class is used as an argument. A single class can be a member or more than one descriptive class, but cannot be a member of the same descriptive class more than once. 7 references." } @InCollection{Scedrov90, Key = "Scedrov90", Author = "Andre Scedrov", Title = "A Guide to Polymorphic Types", BookTitle = "Logic and Computer Science", Publisher = "Academic Press", Year = 1990, Editor = "P. Odifreddi", Series = "APIC Series", Volume = 31, Pages = "387-420", Address = NY, Annote = "Survey. 102 references." } @Article{Schaffert-etal86, Key = "Schaffert, {\em et al.\/}", Author = "Craig Schaffert and Topher Cooper and Bruce Bullis and Mike Kilian and Carrie Wilpolt", Title = "An Introduction to {Trellis/Owl}", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "9-16", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Trellis/Owl is a language with multiple inheritance and static type checking. It distinguishes instance from class operations, and private from public operations. Subtyping as an organizational principle for generalization and specialization. Subtyping as a specification hierarchy. Subtyping and type checking. Inheritance ambiguities must be explicitly resolved. Type generators and parameterized types. Other features are iterators, exception handling and atype case statement for checking the types of objects at run-time. 7 references." } @Article{Schmidt-Mall83, Key = "Schmidt \& Mall", Author = "Joachim W. Schmidt and Manuel Mall", Title = "Abstraction Mechanisms for Database Programming", Journal = SIGPLAN, Year = 1983, Month = Jun, Volume = 18, Number = 6, Pages = "83-93", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Iteration abstractions. Boolean and relational queries as functional abstractions. Access abstraction. Selection based on arbitrary predicates. 17 references." } @TechReport{Schmidt-Walker92, Key = "Schmidt \& Walker", Author = "Heinz W. Schmidt and Richard Walker", Title = "TOF: An Efficient Type System for Objects and Functions", Institution = {Departement of Computer Science, The Australian National University}, Number = "TR-CS-92-17", Month = Nov, Year = 1992, Note = "This document's final destination was unknown when entered", Annote = "34 references" } @Article{Schmidt77, Key = "Schmidt", Title = "Some High Level Constructs for Data of Type Relation", Author = "Joachim W. Schmidt", Journal = TODS, Year = 1977, Volume = 2, Number = 3, Pages = "247-261", Annote = "Adding relation as a primitive type to Pascal. Need a repetition statement controlled by relations, predicates as a generalization of boolean relations and constructor for relations using predicates from other relations. Relations based on the record type. Predicates built-in to the language like Codd's data sublanguage. 17 references." } @TechReport{Schmidt80, Key = "Schmidt", Author = "Joachim W. Schmidt and Manuel Mall", Title = "Pascal/R Report", Institution = {Fachbereich Informatik, Universit\"{a}t Hamburg}, Year = 1980, Month = Jan, Number = "IFI-B-66/80", Annote = "1 reference." } @Article{Schoch79, Key = "Schoch", Author = "J. Schoch", Title = "An Overview of the Programming Language Smalltalk-72", Journal = SIGPLAN, Year = 1979, Month = Sep, Volume = 14, Number = 9, Pages = "64-73" } @InProceedings{Schubert98, key = {Schubert}, author = {Aleksy Schubert}, title = {Second-order unification and type inference for {Church-style} polymorphism}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {279-288}, annote = {21 references.} } @InCollection{Schwartzbach91, Key = "Schwartzbach", Author = "M. I. Schwartzbach", Title = "Type Inference with Inequalities", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '91)", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 493, Pages = "441 ff.", Address = NY, Month = Apr } @InProceedings{Seco-Caires00, author = {Joao Seco and Luis Caires}, key = {Seco \& Caires}, title = {A Basic Model of Typed Components}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {108-128}, annote = {26 references.} } @InCollection{Sekiguchi-Yonezawa94, Key = "Sekiguchi \& Yonezawa", Author = "Tatsurou Sekiguchi and Akinori Yonezawa", Title = "A Complete Type Inference System for Subtyped Recursive Types", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "667-686", Month = Apr, Annote = "18 references." } @Article{Shankar80, Key = "Shankar", Author = "K. S. Shankar", Title = "Tutorial: Data Structures, Types and Abstraction", Journal = "Computer", Volume = 13, Number = 4, Month = Apr, Year = 1980, Pages = "67-77", Annote = "15 references." } @InProceedings{Shao99, key = {Shao}, author = {Zhong Shao}, title = {Typed Cross-Module Compilation}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {141-152}, annote = {40 references.} } @Article{Shaw-etal83, Key = "Shaw, {\em et al.}", Author = "Mary Shaw and Ellen Borison and Michael Horowitz and Tom Lane and David Nichols and Randy Paisch", Title = "Descartes: A Programming-Language Approach to Interactive Display Interfaces", Journal = SIGPLAN, Year = 1983, Month = Jun, Volume = 18, Number = 6, Pages = "100-111", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "49 references." } @Article{Shaw80, Key = "Shaw", Author = "Mary Shaw", Title = "The Impact of Abstraction Concerns on Modern Programming Languages", Journal = "Proceedings of the IEEE", Volume = 68, Number = 9, Month = Sep, Year = 1980, Pages = "1119-1130", Annote = "Review and survey of abstraction techniques. Discussion of implementations and limitations. 76 references." } @Article{Shaw81b, Key = "Shaw", Author = "Mary Shaw", Title = "Abstraction, Data Types and Models for Software", Journal = SIGPLAN, Volume = 16, Number = 1, Year = 1981, Month = Jan, Pages = "189-191", Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Good and bad points of abstract data types. 6 references." } @InProceedings{Sheldon-Gifford90, Key = "Sheldon \& Gifford", Author = "Mark A. Sheldon and David K. Gifford", Title = "Static Dependent Tyeps for First Class Modules", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = Jun, Year = 1990, Pages = "20-29", Annote = "13 references." } @PhDThesis{Sherman83, Key = "Sherman", Author = "Mark Steven Sherman", Title = "Paragon: A Language Using Type Hierarchies for the Specification, Implementation and Selection of Abstract Data Types", School = CMU, Month = Aug, Year = 1983, Note = "CMU-CS-83-147, also published by Springer-Verlag, LNCS, Volume 189, 1985", Annote = "Language design emphasizing a multiple inheritance type hierarchy for the refinement and selection of multiple implementations which can interact in a program. The author concludes that multiple, interacting representations for an abstract type, in a single program, are not worth the trouble, given the complications necessary to deal with them in the language and the unsatisfactory nature of the result. Paragon allows complete separation of abstractions and their concrete implementations, allowing representations to be changed easily. Non-symmetric type compatibility used for refinement of types and procedures is based on inheritance. Uses prototypes instead of types, that is, (indefinite) objects can be used as types, but this leads to problems. Stack-based language, with an object-manager model that is perhaps too flexible. Statically type checked prototype implementation. The specifications referred to in the title are really just data types. 72 references." } @InProceedings{Sherman84, Key = "Sherman", Author = "Mark Sherman", Title = "Paragon: Novel Uses of Type Hierarchies for Data Abstraction", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = Jan, Year = 1984, Pages = "208-217", Annote = "Design of the Paragon programming language. Multiple inheritance, uniform object notation, separate procedure specifications and implementations, relaxed parameter matching rules. 27 references." } @Article{Shilling-Sweeney89, Key = "Shilling \& Sweeney", Author = "John J. Shilling and Peter F. Sweeney", Title = "Three Steps to Views: Extending the Object-Oriented Paradigm", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "353-361", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "Different interfaces for the same object. 12 references." } @Article{Shivers88, Key = "Shivers", author = {Olin Shivers}, title = {Control-Flow Analysis in {Scheme}}, pages = "164-174", journal = SIGPLAN, year = 1988, month = Jul, volume = 23, number = 7, note = {Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation.} } @Article{Skarra-Zdonik86, Key = "Skarra \& Zdonik", Author = "Andrea H. Skarra and Stanley B. Zdonik", Title = "The Management of Changing Types in an Object-Oriented Database", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "483-495", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "A model for managing change in type definitions, presented in terms of the ENCORE database management system, which has multiple inheritance. Version set mechanism for recording changes to types. Coercions can change the version of an instance. The version set interface abstracts the type over all versions (union of operations and properties). Error handlers added to a type version that handle cases where operations or properties are defined in the version set interface but not by the type version itself. Classes described by boolean functions that test membership in the class. 28 references." } @Article{Smalltalk81, Key = "Smalltalk", Author = "{Xerox Learning Research Group}", Journal = "BYTE", Title = "The Smalltalk-80 System", Year = 1981, Pages = "36-48", Volume = 6, Number = 8, Month = Aug, Annote = "Several other articles about Smalltalk-80 are included in the same issue. 5 references." } @Article{Smetsers-etal94, key = "Smetsers, {\em et al.}", author = "S. Smetsers and E. Barendsen and M. v. Eekelen and R. Plasmeijer", title = "Guaranteeing Safe Destructive Updates Through a Type System with Uniqueness Information for Graphs", journal = "Lecture Notes in Computer Science", volume = 776, pages = "358--379", year = 1994, ISSN = "0302-9743", URL = "ftp://ftp.cs.kun.nl/pub/CSI/SoftwEng.FunctLang/papers/smes94-guaranteeing.ps.gz" } @Article{Smith-Dinitz-Barth86, Key = "Smith \& Dinitz \& Barth", Author = "Reid G. Smith and Rick Dinitz and Paul Barth", Title = "Impulse-86: A Substrate for Object-Oriented Interface Design", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "167-176", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Impulse-86 provides building blocks for constructing a wide variety of domain-specific interfaces for knowledge-based systems. Discussion of inheritance, mixins, and polymorphism in its programming. 16 references." } @InProceedings{Smith-Volpano98, key = {Smith \& Volpano}, author = {Geoffrey Smith and Dennis Volpano}, title = {Secure Information Flow in a Multi-Threaded Imperative Language}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {355-364}, annote = {28 references.} } @InCollection{Smith93, Key = "Smith", Author = "G. S. Smith", Title = "Polymorphic type Inference with Overloading and Subtyping", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "671-685", Annote = "15 references" } @Article{Smolka-Ait-Kaci87, Key = "Smolka \& Ait-Kaci", Author = "Gert Smolka and Hassan Ait-Kaci", Title = "Inheritance Hierarchies: Semantics and Unification", Journal = "Journal of Symbolic Computation", Volume = 7, Number = "3\&4", Month = "March/April", Pages = "343-370", Year = 1987 } @TechReport{Snyder-Hill-Olthoff89, Key = "Snyder \& Hill \& Olthoff", Author = "Alan Snyder and Walt Hill and Walter Olthoff", Title = "A Glossary of Common Object-Oriented Terminology", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California", Month = Sep, Year = 1989, Number = "STL-89-26", Annote = "10 references." } @TechReport{Snyder86a, Key = "Snyder", Author = "Alan Snyder", Title = "CommonObjects: An Overview", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California", Month = Jun, Year = 1986, Number = "STL-86-13", Annote = "Strong emphasis on encapsulation in this Flavors-like system. Classes are not objects. No handlers for undefined operations. Encapsulation protects against subclasses, even inheritance itself is hidden. Subtyping is orthogonal to inheritance. Inheriting class can hide operations of parent or rename them. Call-method syntax allows method of class or parent class to be called directly. Instance variables never directly visible to other classes, even children. 22 references." } @Article{Snyder86b, Key = "Snyder", Author = "Alan Snyder", Title = "Encapsulation and Inheritance in Object-Oriented Programming Languages", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "38-45", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Inheritance versus data abstraction (encapsulation). Subclasses are a kind of client for a class. Direct access to inherited instance variables creates a dependency; accessing instance variables only via operations is prefered. Hiding instance variables from subclasses implies merging inherited instance variables is wrong. The use of inheritance itself should be hidden; this allows inheritance to be used purely as an implementation technique and permits one to exclude operations in a subclass. Inheritance should only allow access to the class interface of immediate parent classes, not more distant ancestors. Subtyping should be separated from inheritance and based on the external behavior of objects. In CommonObjects, one can specify the type hierarchy independently of the implementation hierarchy. Problems specific to multiple inheritance are also addressed. 16 references." } @InCollection{Snyder87, Key = "Snyder", Author = "Alan Snyder", Title = "Inheritance and the Development of Encapsulated Software Components", Editor = "Bruce Shriver and Peter Wegner", BookTitle = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Pages = "165-188", Annote = "18 references." } @TechReport{Snyder89, Key = "Snyder", Author = "Alan Snyder", Title = "The Essence of Objects", Institution = "Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California", Month = Sep, Year = 1989, Number = "STL-89-25", Annote = "Core concepts of the object-oriented approach in tutorial form. 12 references." } @TechReport{Snyder90, Key = "Snyder", Author = "Alan Snyder", Title = "An Abstract Object Model for Object-Oriented Systems", Institution = "Hewlett Packard Software Technology Library", Year = 1990, Number = "HPL-90-22", Address = "Software Technology Laboratory, Palo Alto, CA", Month = Apr, Annote = "3 references." } @TechReport{Snyder91a, Key = "Snyder", Author = "Alan Snyder", Title = "The Essence of Objects: Common Concepts and Terminology", Institution = "Software and Systems Laboratory, Hewlett Packard", Year = 1991, Number = "HPL-91-50", Address = "Software and Systems Laboratory, Palo Alto, CA", Month = Jun, Note = "Submitted to IEEE Computer", Annote = "12 references." } @InCollection{Snyder91b, Key = "Snyder", Author = "Alan Snyder", Title = "Modeling the C++ Object Model An Application of an Abstract Object Model", BookTitle = "ECOOP '91 Proceedings", Editor = "Pierre America", Year = 1991, Series = LNCS, Volume = 512, Pages = "1-20", Note = "An earlier version is Technical report HPL-90-212(R.1), HP Software and Systems Laboratory, Palo Alto, CA" } @TechReport{Stallman-Moon-Weinreb83, Key = "Stallman \& Moon \& Weinreb", Author = "Richard M. Stallman and David Moon and Daniel Weinreb", Title = "Lisp Machine Window System Manual", Institution = MITAI, Month = Aug, Year = 1983, Annote = "The window system is built out of flavors and is characterized by a great deal of variety and flexibility and complexity. Goals seem to be to: 1. provide a flexible base for users to define their own windows, 2. to provide canned windows for generic uses, 3. control the underlying complexity by defaults and 4. provide some control and uniformity over what the user can do. Coupling and abstraction seem to be minor concerns. Defaults and options seem as important as flavors for flexibility and mastering complexity. Ease of flavor combination important for flexibility and convenience. Multiple representations and implementations not important, rather different combinations of various features. Multiple inheritance allows basic flavors that are orthogonal and thus small and easily reused. Orthogonality of flavors is important because the mechanism does not allow methods to be omitted from an included flavor. Implicit is user's ability to define new flavors and override anything not desired. Not everything is a flavor instance, thus elaborate conventions for ad hoc polymorphism on normal lisp objects." } @TechReport{Stansifer85, Key = "Stansifer", Author = "Ryan Stansifer", Title = "Representing Constructive Theories in High-Level Programming Languages", Institution = "Department of Computer Science, Cornell University", Address = "Ithaca, N.Y.", Year = 1985, Month = Mar, Number = "TR 85-664", Annote = "Describes three constructive programming logics. Shows how linear input resolution could be implemented as a proof strategy for a programming logic. The author's doctoral dissertation. 81 references." } @InProceedings{Stansifer88, Key = "Stansifer", Author = "Ryan Stansifer", Title = "Type Inference with Subtypes", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = Jan, Year = 1988, Pages = "88-97", Annote = "Various comparisons with Wand's system, row variables. 12 references." } @InProceedings{Stata-Abadi98, key = {Stata \& Abadi}, author = {Raymie Stata and Mart\'{i}n Abadi}, title = {A Type System for {Java} Bytecode Subroutines}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {149-160}, annote = {11 references.} } @InProceedings{Stata-Abadi98, key = {Stata \& Abadi}, author = {Raymie Stata and Mart\'{i}n Abadi}, title = {A Type System for {Java} Bytecode Subroutines}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {149-160}, annote = {11 references.} } @Article{Stata-Abadi99, key = {Stata \& Abadi}, author = {Raymie Stata and Mart\'{i}n Abadi}, title = {A Type System for {Java} Bytecode Subroutines}, journal = TOPLAS, year = 1999, volume = 21, number = 1, month = Jan, pages = {90-137}, annote = {15 references} } @Article{Statman85, Key = "Statman", Author = "R. Statman", Title = "Logical Relations and the Typed $\lambda$-Calculus", Journal = "Information and Control", Volume = 65, Number = "2/3", Pages = "85-97", Month = "May/June", Year = 1985, Annote = "17 references." } @Article{Steensgaard-Madsen-Olsen84, Key = "Steensgaard-Madsen \& Olsen", Author = "Jorgen Steensgaard-Madsen and Lars Moller Olsen", Title = "Definition of the Programming Language MODEF", Journal = SIGPLAN, Volume = 19, Number = 2, Month = Feb, Year = 1984, Pages = "92-110", Annote = "Statement oriented data abstraction language." } @Article{Steensgaard-Madsen79, Key = "Steensgaard-Madsen", Author = "Jorgen Steensgaard-Madsen", Title = "Pascal--Clarifications and Recommended Extensions", Journal = "Acta Informatica", Volume = 12, Number = 1, Year = 1979, Pages = "73-94", Annote = "Concentrates on the type system in Pascal. 2 references" } @Article{Steensgaard-Madsen81, Key = "Steensgaard-Madsen", Author = "J. Steensgaard-Madsen", Title = "A Statement-Oriented Approach to Data Abstraction", Journal = TOPLAS, Volume = 3, Number = 1, Month = Jan, Year = 1981, Pages = "1-10", Annote = "Expresses abstract types where they are used instead of separate modules. 12 references." } @TechReport{Stefik-Bell-Bobrow83, Key = "Stefik \& Bell \& Bobrow", Author = "M. Stefik and A. Bell and D. Bobrow", Title = "Rule-Oriented Programming in Loops", Institution = "Knowledge Systems Area, Xerox PARC", Number = "VLSI-82-22", Year = 1983, Month = Jul } @Article{Stefik-Bobrow86, Key = "Stefik \& Bobrow", Author = "Mark Stefik and Daniel G. Bobrow", Title = "Object Oriented Programming: Themes and Variations", Journal = "The AI Magazine", Year = 1986, Month = "Winter", Volume = 6, Number = 4, Pages = "40-62", Annote = "Introduction to the concepts of `object-oriented programming' based on Loops. Also a survey of some important variations and issues. 22 references." } @Article{Stefik-etal83, Key = "Stefik, {\em et al.}", Author = "M. Stefik and D. Bobrow and S. Mittal and L. Conway", Title = "Knowledge Programming in Loops", Journal = "The AI Magazine", Year = 1983, Month = "Fall", Volume = 4, Number = 3, Pages = "3-13" } @Book{Streicher91, Key = "Streicher", Author = "T. Streicher", Title = "Semantics of Type Theory: Correctness, Completeness, and Independence Results", Publisher = "Birkhauser", Year = 1991, Address = "Boston" } @Article{Strom-Yemini86, Key = "Strom \& Yemini", Author = "Rob Strom and Shaula Yemini", Title = "Typestate: A Programming Language Concept for Enhancing Software Reliabiity", Journal = IEEETSE, Year = 1986, Volume = "SE-12", Number = 1, Month = Jan, Pages = "157-171", Annote = "Typestates are interfaces that an object may assume, depending on it's current state. 18 references" } @Article{Stroustrup84, Key = "Stroustrup", Author = "B. Stroustrup", Title = "Data Abstraction in C", Journal = "AT\&T Bell Laboratories Technical Journal", Month = Oct, Year = 1984, Volume = 63, Number = "8, Part 2", Pages = "1701-1732", Annote = "Describes C++. 11 references." } @Article{Stroustrup88, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "What is Object-Oriented Programming?", Journal = "IEEE Software", Month = May, Year = 1988, Volume = 5, Number = 3, Pages = "10-20", Annote = "Discussion of Object-oriented programming languages and C++. 9 references." } @Article{Sutor-Jenks87, Key = "Sutor \& Jenks", Author = "Robert S. Sutor and Richard D. Jenks", Title = "Type Inference and Coercion Facilities in the Scratchpad II Interpreter", Journal = SIGPLAN, Volume = 22, Number = 7, Month = Jul, Year = 1987, Pages = "56-63", Note = "Proceedings of the SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques, St. Paul, Minnesota, June 1987.", Annote = "Scratchpad II is an abstract data type programming language with polymorphism and a sophisticated type inference and coercion facility. Modemap facility provides user control over generic invocation. Weakly typed front end for a strongly typed programming language. 8 references." } @InProceedings{Suzuki81, Key = "Suzuki", Author = "Norihisa Suzuki", Title = "Inferring Types in Smalltalk", BookTitle = "Conference Record of the Eighth ACM Symposium on Principles of Programming Languages", Publisher = ACM, Month = Jan, Year = 1981, Pages = "187-199", Annote = "Extension of ML-like type inference algorithm to treating unions of types. 16 references." } @PhDThesis{Swierstra80, Key = "Swierstra", Author = "S. Doaitse Swierstra", Title = "Lawine, an Experiment in Language and Machine Design", School = "Twente University of Technology", Address = "Groningen, The Netherlands", Year = 1980, Annote = "56 references." } @Article{Talpin-Jouvelot94, key = "Talpin \& Jouvelot", author = "Jean-Pierre Talpin and Pierre Jouvelot", title = "The Type and Effect Discipline", year = 1994, url = "http://cri.ensmp.fr/~talpin/ic94.ps.gz", journal = "Information and Computation", month = Jun, number = 2, pages = "245--296", volume = 111 } @Article{Tarditi-etal96, key = {Tarditi, {\em et al}}, author = {D. Tarditi and G. Morrisett and P. Cheng and C. Stone and R. Harper and P. Lee}, title = {{TIL}: A Type-Directed Optimizing Compiler for {ML}}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {181-192}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {48 references.} } @Book{Tennent81, Key = "Tennent", Author = "R. D. Tennent", Title = "Principles of Programming Languages", Publisher = "Prentice-Hall International", Address = "Englewood Cliffs, N.J.", Year = 1981, Annote = "Contains a chapter on types and type checking." } @Article{Tennent83, Key = "Tennent", Author = "R. D. Tennent", Title = "Some Proposals for Improving Pascal", Journal = "Computer Languages", Volume = 8, Number = "3/4", Pages = "125-137", Year = 1983, Annote = "Organizing programs, exception handling, representation abstraction via hiding and a class facility. 7 references" } @InCollection{Thatte90, Key = "Thatte", Author = "S. Thatte", Title = "Type Inference and Implicit Scaling", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = May, Year = 1990, Pages = "406-420", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432, Annote = "19 references." } @InProceedings{Thatte94, Key = {Thatte}, Author = {Satish Thatte}, Title = "Automated Synthesis of Interface Adapters for Reusable Classes", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "174-187", Annote = "21 references." } @TechReport{Thomason-Touretzky90, Key = "Thomason \& Touretzky", Author = "Richmond H. Thomason and David S. Touretzky", Title = "Inheritance Theory and Networks with Roles", Institution = "School of Computer Science, Carnegie Mellon", Year = 1990, Number = "CMU-CS-90-139", Month = Jun, Annote = "22 references." } @Book{Thompson91, Key = "Thompson", Author = "Simon Thompson", Title = "Type Theory and Functional Programming", Publisher = Addison-Wesley, Year = 1991, Series = "International Computer Science Series", Annote = "Both a first and second course in type theory. 137 references." } @InCollection{Thorup-Torgersen99, key = {Thorup \& Torgersen}, author = {Kresten Krab Thorup and Mads Torgersen}, title = {Unifying Genericity: Combining the Benefits of Virtual Types and Parameterized Classes}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {186-204}, annote = {30 references.} } @InCollection{Thorup97, key = {Thorup}, author = {Kresten Krab Thorup}, title = {Genericity in {Java} with Virtual Types}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {444-471}, annote = {32 references.} } @InCollection{Tiuryn90, Key = "Tiuryn", Author = "Jerzy Tiuryn", Title = "Type Inference Probelms: A Survey", BookTitle = "Mathematical Foundations of Computer Science 1990, Bansk\`a Bystrica, Czechoslovakia", Editor = "B. Rovan", Series = LNCS, Volume = 452, Publisher = SV, Address = NY, Year = 1990, Pages = "105-120", Annote = "44 references." } @InCollection{Tiuryn93, Key = "Tiuryn", Author = "J. Tiuryn", Title = "Type Reconstruction with Recursive Types and Atomic Subtyping", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "686-701", Annote = "17 references" } @TechReport{Tofte89, Key = "Tofte", Author = "Mads Tofte", Title = "Four Lectures on Standard {ML}", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Mar, Year = 1989, Number = "ECS-LFCS-89-73 (also CSR-290-89)", Annote = "1 reference." } @Article{Tofte99, key = {Tofte}, author = {Mads Tofte}, title = {A Brief Introduction to Regions}, journal = SIGPLAN, year = 1999, volume = 34, number = 3, month = Mar, pages = {186-195}, note = "Proceedings ISMM '98: International Symposium on Memory Management, Vancouver, Canada.", annote = {12 references.} } @InProceedings{Touretzsky84, Key = "Touretzsky", Author = "David S. Touretzsky", Title = "Implicit Ordering of Defaults in Inheritance Systems", BookTitle = "AAAI '84", Organization = "AAAI?", Year = 1984, Pages = "322-325" } @PhDThesis{Tsu92, Author = {Hideki Tsuiki}, Title = {A record calculus witha merge operator}, School = {Faculty of Environmental Information, Keio University}, Year = {1992}, Month = nov } @InCollection{Tsuiki94, Key = "Tsuiki", Author = "Hideki Tsuiki", Title = "A Normalizing Calculus with Overloading and Subtyping", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "273-295", Month = Apr, Annote = "16 references." } @TechReport{Tucker-Zucker90, Key = "Tucker \& Zucker", Author = "J.V. Tucker and J.I. Zucker", Title = "Provable Computable Selection Functions on Abstract Structures", Institution = "Department of Computer Science and Systems, McMaster University", Year = 1991, Number = "91-04", Address = "Hamilton, Ontario Canada L8S 4K1", Note = "To appear in Leeds Proof Theory 1990, ed P. Aczel, H. Simmons & S.S. Wainer. Cambridge University Press.", Annote = "21 references." } @Unpublished{Tucker-Zucker91a, Key = "Tucker \& Zucker", Author = "J.V. Tucker and J.I. Zucker", Title = "Deterministic and Nondeterministic Computation, and Horn Programs, on Abstract Data Types", Note = "To appear in Journal of Logic Programming", Annote = "24 references.", Year = 1991 } @TechReport{Tucker-Zucker91b, Key = "Tucker \& Zucker", Author = "J.V. Tucker and J.I. Zucker", Title = "Examples of semicomputable sets of real and complex numbers", Institution = "Department of Computer Science and Systems, McMaster University", Year = 1991, Number = "91-03", Address = "Hamiltoon, Ontario Canada, L8S 4K1", Note = "To appear in Constructivity in Computer Science - Proceedings of Summer Symposium, San Antonio, Texas, June 1991. ed M.J. O'Donnell & J.P. Myers, Jr. Springer-Verlag.", Annote = "17 references." } @Unpublished{Tucker-Zucker91c, Key = "Tucker \& Zucker", Author = "J.V. Tucker and J.I. Zucker", Title = "Projections of Semicomputable Relations on Abstract Data Types", Note = "Submitted to International Journal Foundations of Computer Science", Annote = "15 references." } @Unpublished{Turner86b, Key = "Turner", Author = "David Turner", Title = "Constructive Type Theory as a Programming Language", Note = "Notes from lecture given", Month = May, Year = 1986 } @InProceedings{Urzyczyn93, Key = {Urzyczyn}, Author = {P. Urzyczyn}, Title = {Type reconstruction in $F_{w}$ is undecidable}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {418-432}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93}, Annote = {22 references} } @Article{VanDusen81, Key = "Van Deusen", Title = "Types in Red", Author = "Mary Van Deusen", Journal = SIGPLAN, Volume = 16, Number = 12, Pages = "27-38", Year = 1981, Annote = "A flexible system for type visibility and definition. 10 references." } @Article{Volpano-Smith95, key = "Volpano \& Smith", author = "Dennis Volpano and Geoffrey Smith", title = "A type soundness proof for variables in LCF ML", journal = "Information Processing Letters", year = 1995, volume = 56, number = 3, month = Nov, pages = "141-146" } @InProceedings{Wadler-Blott89, Key = "Wadler \& Blott", Author = "Philip Wadler and Stephen Blott", Title = "How to make ad-hoc Polymorphism less ad hoc", Organization = ACM, BookTitle = "Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1989, Pages = "60-76", Annote = "18 references." } @TechReport{Wagner81, Key = "Wagner", Author = "Eric G. Wagner", Title = "Lecture Notes on the Algebraic Specification of Data Types", Institution = "Mathematical Sciences Department: IBM Thomas J. Watson Research Center", Year = 1981, Type = "Research Report", Number = "RC 9203 (#39787)", Address = "Yorktown Heights, New York 10598", Month = October, Annote = "83 references." } @Article{Waldmann92, Key = "Waldmann", Author = "Uwe Waldmann", Title = "Semantics of Order-sorted Specifications", Journal = "Theoretical Computer Science", Volume = 94, Number = 1, Month = Mar, Year = 1992, Pages = "1-35" } @InCollection{Waller91, Key = "Waller", Author = {E. Waller}, Title = {Schema updates and consistency}, BookTitle = {Deductive and Object-Oriented Databases, second International Conference, Munich, Germany}, Editor = "C. Delobel and M. Kifer and Y. Masunaga", Year = 1991, Publisher = SV, Address = NY, Series = LNCS, Volume = 566, Month = Dec, Pages = "167-188" } @InProceedings{Wand84, Key = "Wand", Author = "Mitchell Wand", Title = "A Types-as-Sets Semantics for Milner-Style Polymorphism", Organization = ACM, BookTitle = "Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah", Month = Jan, Year = 1984, Pages = "158-164", Annote = "Semantics of Milner-style polymorphism. 26 references." } @InProceedings{Wand87, Key = "Wand", Author = "M. Wand", Title = "Complete type inference for simple objects", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Pages = "37-44", Year = 1987, Organization = IEEE, Month = Jun, Note = "Corrigendum in {\it Third Annual Symposium on Logic in Computer Science}, page 132, 1988", Annote = "Type inference for record types with multiple inheritance. 6 references." } @InProceedings{Wand89a, Key = "Wand", Author = "Mitchell Wand", Title = "Type Inference for Record Concatenation and Multiple Inheritance", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "92-97", Annote = "18 references." } @InCollection{Wand89b, Key = "Wand", Author = "Yair Wand", Title = "A Proposal for a Formal Model of Objects", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 21, Pages = "537-559", Annote = "16 references" } @Article{Wand91a, author = "Wand", author = "Mitchell Wand", title = "Type Inference for Record Concatenation and Multiple Inheritance", journal = "Information and Computation", year = "1991", volume = "93", pages = "1-15", note = "Preliminary version appeared in {\it Proc. 4th IEEE Symposium on Logic in Computer Science\/} (1989), 92--97." , URL = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/ic-91.ps}, } @Article{Wasserman-etal81, Key = "Wasserman, {\em et al.}", Author = "Anthony I. Wasserman and David D. Sheretz and Martin L. Kersten and Reid P. van de Reit and Mark D. Dippe", Title = "Revised Report on the Programming Language PLAIN", Journal = SIGPLAN, Volume = 16, Number = 5, Month = May, Pages = "59-80", Year = 1981, Annote = "Strongly typed language with modules and data base relation types built-in. Good string support. 9 references." } @TechReport{Wegner-Zdonik87, Key = "Wegner \& Zdonik", Author = "Peter Wegner and Stanley B. Zdonik", Title = "Why Like Isn't Like Is-a (or As You Like It)", Institution = "Brown University, Department of Computer Science", Month = Jul, Year = 1987, Number = "CS-87-17", Annote = "21 references." } @TechReport{Wegner-Zdonik88, Key = "Wegner \& Zdonik", Author = "Peter Wegner and Stanley B. Zdonik", Title = "Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "55-77", Series = LNCS, Volume = 322, Annote = "27 references." } @InProceedings{Wegner83, Key = "Wegner", Author = "P. Wegner", Title = "On the Unification of Data and Program Abstraction in Ada", Organization = ACM, BookTitle = "Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas", Month = Jan, Year = 1983, Pages = "256-264", Annote = "8 references." } @TechReport{Wegner86, Key = "Wegner", Author = "Peter Wegner", Title = "Classification as a Paradigm for Computing", Institution = "Brown University, Department of Computer Science", Month = May, Year = 1986, Number = "CS-86-11", Annote = "29 references." } @TechReport{Weihl86, Key = "Weihl", Author = "William E. Weihl", Title = "Type-Checking for Remote Procedure Calls", Institution = MITLCS, Type = "DSG Note", Number = 138, Month = Jan, Year = 1986, Annote = "Raises the issue of having a different type-checking rule for RPCs as opposed to the rule for normal calls. Proposes having classes of types that are similar enough to be identified for call-by-value." } @TechReport{Weinreb-Moon80, Key = "Weinreb \& Moon", Author = "Daniel Weinreb and David Moon", Title = "Flavors: Message Passing in the Lisp Machine", Institution = MITAI, Type = "AI Memo", Number = 602, Month = Nov, Year = 1980, Annote = "This is a draft of the chapter on flavors from the Lisp Machine manual. It is obsolete with respect to the current Lisp machine, but only in details." } @TechReport{Weller82, Key = "Weller", Author = "D. L. Weller", Title = "A Relational Representation of an Abstract Type System", Institution = "IBM Research Laboratory, San Jose, CA", Year = 1982, Number = "RJ3503", Type = "IBM Research Report", Month = Jun, Annote = "14 references." } @InProceedings{Wells94, key = "Wells", author = "J. B. Wells", title = "Typability and Type Checking in the Second-Order $\lambda$-Calculus Are Equivalent and Undecidable", booktitle = "Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science, Paris", pages = "176-185", year = 1994 } @Article{Wetherell82, Key = "Wetherell", Title = "Error Data Values in the Data-Flow Language VAL", Author = "C. S. Wetherell", Journal = TOPLAS, Volume = 4, Number = 2, Month = Apr, Year = 1982, Pages = "226-238", Annote = "Describes the error algebra in VAL. 17 references." } @Article{Wharton83, Key = "Wharton", Author = "R. Michael Wharton", Title = "A Note on Types and Prototypes", Journal = SIGPLAN, Month = Dec, Year = 1983, Volume = 18, Number = 12, Pages = "122-126", Annote = "Instead of predefined types, has predefined variables. 6 references." } @InProceedings{Wirth80, Key = "Wirth", Author = "N. Wirth", Title = "The Module: A System Structuring Facility in High-Level Programming Languages", BookTitle = "Language Design and Programming Methodology. Proceedings of a Symposium, September 1979, Sydney, Australia", Year = 1980, Publisher = SV, Pages = "1-24", Editor = "Jeffery M. Tobias", Note = "Volume 79 in the Lecture Notes in Computer Science Series.", Annote = "Modules are a means to partition systems effectively. Presentation of Modula-2. Separation into definition and implementation parts. 11 references." } @Article{Wirth87, Key = "Wirth", Author = "N. Wirth", Title = "Extensions of Record Types", Journal = SIGCSE, Volume = 19, Number = 2, Month = Jun, Year = 1987, Pages = "2-9", Note = "Revised version appears in TOPLAS, Vol 10, Number 2, April 1988, pages 204--214.", Annote = "Variables of an extended type form a subset of the variables of the ancestor type. Two new language constructs: type test and type guards. 6 references." } @Article{Wirth88, Key = "Wirth", Author = "N. Wirth", Title = "Type Extensions", Journal = TOPLAS, Volume = 10, Number = 2, Month = Apr, Year = 1988, Pages = "204-214", Annote = "Extensible data types, like subclasses but without extra language features. Variables of an extended type form a subset of the variables of the ancestor type. Two new language constructs: type test and type guards. 8 references." } @Article{Woitok83, Key = "Woitok", Author = "Rainer Woitok", Title = "Abstracting Linked Data Structures Using Incremental Records", Journal = SIGPLAN, Year = 1983, Volume = 18, Number = 11, Month = Nov, Pages = "54-63", Annote = "Practical paradigm problem. How should list pointers be abstractly reflected? The conventional list[t] abstracting has no provision for pointers from (t) objects back to list placeholders, so more indirectness is required, and in particular one cannot go from one list to the next through an element. Backward pointers cannot be used without exposing the rep. How can pointers be put in user data structures and still controlled? Abstract list elements instead of lists. But this solution involves allowing abstract types to live in different parts of the same record, namely extensible records. This allows the list element abstraction to point at the whole of a list element object without affecting modularity or abstraction. Generics allow code savings and ability to thread multiple lists through elements. 9 references" } @Book{Wolfram93, Key = "Wolfram", Author = "D.A, Wolfram", Title = "The Clausal Theory of Types", Publisher = "Cambridge University Press", Year = 1993, Series = "Cambridge tracts in Theoretical Computer Science", Annote = "204 references." } @InCollection{Wolter-Lowe92, Key = "Wolter \& Lowe", Author = "Uwe Wolter and Michael Lowe", Title = "Beyond Conditional Equations: Quasi-Initial Semantics for Parametric Algebraic Specifications", BookTitle = "CAAP '92, 17th Colloquium on Trees in Algebra and Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Jean-Claude Raoult", Series = LNCS, Address = NY, Volume = 581, Pages = "342-361", Annote = "22 references" } @TechReport{Wraith89, Key = "Wraith", Author = "G. C. Wraith", Title = "Categorical Datatypes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Month = Jan, Year = 1989, Number = "1/89", Note = "Appears in {\em Category Theory and Computer Science}, (D. Pitts, {\em et al.}, eds., Springer-Verlag, LNCS 389).", Annote = "Modeling Hagino's categorical datatypes in the the second order polymorphic lambda calculus. 8 references." } @TechReport{Wright-Cartwright93, Key = "Wright \& Cartwright", Author = "Andrew K. Wright and Robert Cartwright", Title = "A Practical Soft Type System for {Scheme}", Institution = "Department of Computer Science, Rice University", Year = 1993, Number = "COMP TR93-918", Address = "Houston, Texas", Month = Dec, Annote = "24 references." } @Article{Wright-Cartwright97, Key = "Wright \& Cartwright", Author = "Andrew K. Wright and Robert Cartwright", Title = "A Practical Soft Type System for {Scheme}", journal = TOPLAS, year = 1997, volume = 19, number = 1, month = Jan, pages = {87-152}, annote = {83 references.} } @TechReport{Wright-Felleisen91, Key = "Wright \& Felleisen", Author = "Andrew K. Wright and Matthias Felleisen", Title = "A Syntactic Approach to Type Soundness", Institution = "Department of Computer Science, Rice University", Year = 1991, Number = "COMP TR91-160", Address = "Houston, Texas", Month = Apr, Annote = "35 references." } @Article{Wright-Felleisen94, Key = "Wright \& Felleisen", Author = "Andrew K. Wright and Matthias Felleisen", Title = "A Syntactic Approach to Type Soundness", Journal = "Information and Computation", Year = 1994, Number = 1, Volume = 115, Month = Nov, Pages = "38-94", Annote = "38 references." } @InCollection{Wright92, Key = "Wright", Author = "Andrew K. Wright", Title = "Typing References by Effect Inference", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "473-491", Annote = "19 references" } @Article{Wulf80, Key = "Wulf", Author = "William A. Wulf", Title = "Trends in the Design and Implementation of Programming Languages", Journal = "Computer", Year = 1980, Volume = 13, Number = 1, Pages = "14-25", Month = Jan, Annote = "33 references." } @Article{Xi-Pfenning98, key = {Xi \& Pfenning}, author = {Hongwei Xi and Frank Pfenning}, title = {Eliminating Array Bound Checking Through Dependent Types}, journal = SIGPLAN, year = 1998, volume = 33, number = 5, month = May, pages = {249-257}, note = {Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {24 references.} } @InProceedings{Xi-Pfenning99, key = {Xi \& Pfenning}, author = {Howgwei Xi and Frank Pfenning}, title = {Dependent Types in Practical Programming}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {214-227}, annote = {28 references.} } @inproceedings{Xi03, key = "Xi", author = "Hongwei Xi", title = {Facilitating Program Verification with Dependent Types}, booktitle = "Proceedings of the International Conference on Software Engineering and Formal Methods", year = 2003, pages = "72-81" } @Article{Yamane85, Key = "Yamane", Author = "Yoshito Yamane", Title = "Some Thoughts on the Type System of B", Journal = SIGPLAN, Volume = 20, Number = 10, Month = Oct, Year = 1985, Pages = "105-110", Annote = "4 references." } @InProceedings{Yang-Huang98, author = {Honseok Yang and Howard Huang}, title = {Type Reconstruction for Syntactic Control of Interference}, booktitle = {IEEE Computer Society International Conference on Computer Languages 1998, Loyola University, Chicago}, key = {Yang \& Huang}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = {May}, pages = {164-173}, annote = {20 references.} } @Article{Yardeni-Shapiro91, Key = "Yardeni \& Shapiro", Author = "Eyal Yardeni and Ehud Shapiro", Title = "A Type System for Logic Programs", Journal = "Journal of Logic Programming", Year = 1991, Volume = 10, Number = 2, Month = Feb, Pages = "125-154" } @InProceedings{Yelland89a, Key = "Yelland", Author = "P. M. Yelland", Title = "First Steps Towards Fully Abstract Semantics for Object-Oriented Languages", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "348-364", Annote = "Formal characterization of the visible behavior of objects. 19 references." } @Article{Yelland89b, Key = "Yelland", Author = "P. M. Yelland", Title = "First Steps Towards Fully Abstract Semantics for Object-Oriented Languages", Journal = "The Computer Journal", Volume = 32, Number = 4, Month = Aug, Year = 1989, Pages = "290-296" } @InProceedings{Yves-Laurent92, Key = "Yves \& Laurent", Author = "Caseau Yves and Perron Laurent", Title = "A type system for object-oriented database programming and querying languages.", BookTitle = "Proceedings of the Third International Workshop, Nafplion, Greece, August, 1991", Publisher = "Morgan-Kaufman Publishers Inc.", Year = 1992, Page = "218-235", Annote = "extracted from Computing reviews." } @techreport{Zenger-Odersky04, Key = {Zenger \& Odersky}, Author = {Matthias Zenger and Martin Odersky}, Institution = {{\'E}cole Polytechnique F{\'e}d{\'e}rale de Lausanne}, Number = {IC/2004/33}, Title = {Independently Extensible Solutions to the Expression Problem}, Url = {http://scala.epfl.ch/docu/related.html}, Year = 2004 } @InProceedings{Zenger02, key = {Zenger}, author = {Matthias Zenger}, title = {Type-Safe Prototype-Based Component Evolution}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {441-469}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {First-class components on top of a class-based OO language. 57 references.} } @InProceedings{Zhao-Palsberg-Vitek03, author = {Tian Zhao and Jens Palsberg and Jan Vitek}, title = {Lightweight Confinement for Featherweight Java}, booktitle = {Proc. of the ACM Conference on Object Oriented Programming, Systems, Languages, and Applications}, year = {2003}, pages = {135--148}, publisher = {ACM Press}, address = {Anaheim, CA}, annote = {Summary: The paper formalizes the notion of confinement types presented earlier by Grothoff et al. Confinement types ensure that no instance of a confined type may escaped the code of the package in which the instance's class is declared. This is coarser-grained than ownership types, but is more lightweight and offers some similar benefits. The paper presents a core calculus and sound type system for Confined Featherweight Java. The paper then extends this type system to handle generic types and "post-hoc confined", where generic types instantiated with confined types for the type parameters become themselves confined. A core calculus and sound type system for Confined Generic Featherweight Java is presented. The key ideas in the paper are very interesting. The paper does suffer from many grammatical errors and a few key errors in the formalism make me a bit suspicious. All the errors I saw were typographical, but the lack of attention to detail in a formal paper was a bit troublesome. However, my intuition says that the system is sound as they claim.}, } @Article{Zilles73, Key = "Zilles", Title = "Procedural Encapsulation: A Linguistic Protection Technique", Author = "Steven Zilles", Journal = SIGPLAN, Volume = 8, Number = 9, Year = 1973, Pages = "142-146" } @Article{Zilles81, Key = "Zilles", Title = "Types, Algebras and Modeling", Author = "Stephen N. Zilles", Journal = SIGPLAN, Volume = 16, Number = 1, Pages = "207-209", Month = Jan, Year = 1981, Note = "Proceedings of the Workshop on Data Abstraction, Databases and Conceptual Modeling, June, 1980", Annote = "Tries to unify types in data bases and programming languages. 7 references." } @Article{Zippel83, Key = "Zippel", Author = "Richard Zippel", Title = "Capsules", Journal = SIGPLAN, Year = 1983, Month = Jun, Volume = 18, Number = 6, Pages = "166-169", Note = "Proceedings of the SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco", Annote = "Sharing code by referring to code by its desired behavior and having the system find it. Protocol consists of operations, their semantics, axioms, instance variables and attributes. Protocols collect operations. Semantics and axioms are not understood. Capsules implement a protocol and operations. Separation of code and specifications. Functionality can be added while the system runs. 5 references." } @Unpublished{Zippel84, Key = "Zippel", Author = "Richard Zippel", Title = "Private Communication", Year = 1984, Note = "Discussion of Flavors and capsules mechanisms.", Annote = "Lisp machine used with exploratory methodology, programming by experiment, building tools and from bottom up. Inheritance of data definitions important for controlling complexity, building software in layers. Run-time redefinition of methods important for debugging and they are always debugging. Deamons used very often. Keyword arguments more important than optional arguments and highly used. Flavors not usually used to allow multiple implementations of an abstraction to interact in one program, usually have one or a few implementations which are selected when mixed in. More common to take some flavor, mix it in and extend it. Ad hoc and message passing polymorphism both heavily used. Meta capsules provide templates in which method combination style can be defined for a capsule. Capsules allow one to ignore the implementations of lower layers and only specify performance desired." } @TechReport{Zwanenburg99, author = {Zwanenburg}, title = {Object-Oriented Concepts and Proof Rules: Formalization in Type Theory and Implementation in {Yarrow}}, institution = {Eindhoven University of Technology}, year = 1999, key = {Zwanenburg}, type = {IPA Dissertation Series}, number = {1999-12}, address = {Eindhoven}, month = Dec, annote = {Many references.} } @InCollection{deBruijn80, Key = "de Bruijn", Author = "N. G. de Bruijn", Title = "A Survey of the Project AUTOMATH", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "579-606", Annote = "34 references." } @PhDThesis{vanDaalen80a, Key = "van Daalen", Author = "Diedrik T. van Daalen", Title = "The Language Theory of AUTOMATH", School = "The University of Technology, Eindhoven", Year = 1980 } % $Id: old-datatypes.bib,v 1.6 2006/08/13 23:14:00 leavens Exp $ % 1970s and older references on datatypes, type theory, etc. @InProceedings{Atkinson-Liskov-Scheifler78, Key = "Atkinson \& Liskov \& Scheifler", Author = "Russell R. Atkinson and Barbara H. Liskov and Robert W. Scheifler", Title = "Aspects of Implementing {CLU}", Booktitle = "Proceedings of the ACM 1978 Annual Conference", Organization = ACM, Pages = "123-129", Year = 1978, Annote = "Basics of implementing exception handling, iterators, and parameterized types in CLU. 9 references." } @TechReport{Bloom76, Key = "Bloom", Author = "Toby Bloom", Title = "Immutable Groupings", Month = Aug, Year = 1978, Number = 61, Type = "CLU Design Note", Institution = MITLCS, Annote = "Discusses adding immutable groupings to CLU. Gives a proposal for sequences and structures." } @Book{BrinchHansen77, Key = "Brinch Hansen", Title = "The Architecture of Concurrent Programs", Author = "Per Brinch Hansen", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1977, Annote = "The programming language Concurrent Pascal is described. It integrates abstract data types and monitors. 43 references." } @InCollection{Dahl-Hoare72, Key = "Dahl \& Hoare", Author = "Ole-Johan Dahl and C. A. R. Hoare", Title = "Hierarchical Program Structures", BookTitle = "Structured Programming", Publisher = "Academic Press, Inc.", Address = NY, Year = 1972, Pages = "175-220", Annote = "Uses SIMULA 67 for examples. 12 references." } @InProceedings{Demers-Donahue-Skinner78, Key = "Demers \& Donahue \& Skinner", Author = "Alan Demers and James Donahue and Glenn Skinner", Title = "Data Types as Values: Polymorphism, Type-checking, Encapsulation", Pages = "23-30", Booktitle = "Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona", Organization = ACM, Month = Jan, Year = 1978, Annote = "View of what a data type is in Russell. Polymorphism handled by types as values. Representation-independent semantics. 20 references." } @Article{Donahue79, Key = "Donahue", Author = "James Donahue", Title = "On the Semantics of 'Data Type'", Journal = SIAMJC, Year = 1979, Volume = 8, Number = 4, Month = Nov, Pages = "546-560", Annote = "Informal and formal treatments of the meaning of 'data type'. Meaning of 'strongly typed'. Application to the typed lambda calculus. Representation independence. 22 references." } @TechReport{Flon74, Key = "Flon", Author = "Lawrence Flon", Title = "A Survey of Some Issues Concerning Abstract Data Types", Institution = CMU, Year = 1974, Month = Sep } @Article{Gannon77, Key = "Gannon", Author = "J. D. Gannon", Title = "An Experimental Evaluation of Data Type Conventions", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = Aug, Pages = "584-595", Annote = "An experiment attempting to show that type systems help programmers is described. Concludes that static type checking increases programming reliability, but redundancy may not be as big a help as the functions that come with built-in types. 10 references." } @Article{Geschke-Morris-Satterwaite77, Key = "Geschke \& Morris \& Satterwaite", Author = "Charles M. Geschke and Morris, Jr., James H. and Edwin H. Satterwaite", Title = "Early Experience with MESA", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = Aug, Pages = "540-553", Annote = "Overview of modules and types in MESA. 14 references." } @Article{Gries-Gehani77, Key = "Gries \& Gehani", Author = "David Gries and Narain Gehani", Title = "Some Ideas on Data Types in High-Level Languages", Journal = CACM, Year = 1977, Volume = 20, Number = 6, Month = Jun, Pages = "414-420", Annote = "Parameterized type definitions and their problems. Iteration, domains of arrays as types. Argues for explicit conversions only between types. Pathological examples of costs of parameterization. 17 references." } @TechReport{Jones-Liskov76a, Key = "Jones \& Liskov", Author = "Anita K. Jones and Barbara H. Liskov", Title = "An Access Control Facility for Programming Languages", Institution = MITLCS, Type = "Computation Structures Group Memo", Number = 137, Month = Apr, Year = 1976, Annote = "Includes a comparision with Hydra. 13 references." } @Article{Jones-Liskov76b, Key = "Jones \& Liskov", Author = "Anita K. Jones and Barbara H. Liskov", Title = "A Language Extension for Controlling Access to Shared Data", Journal = IEEESE, Volume = "SE-2", Number = 4, Month = Dec, Year = 1976, Pages = "277-285", Annote = "An earlier version of the CACM paper. 12 references." } @Article{Jones-Liskov78, Key = "Jones \& Liskov", Author = "Anita K. Jones and Barbara H. Liskov", Title = "A Language Extension for Expressing Constraints on Data Access", Journal = CACM, Volume = 21, Number = 5, Pages = "358-367", Year = 1978, Month = May, Annote = "Extensions to programming languages to provide controlled sharing. 17 references." } @TechReport{Lampson-etal81, Key = "Lampson, {\em et al.}", Author = "Butler W. Lampson and James L. Horning and Ralph L. London and James G. Mitchell and Gerald J. Popek", Title = "Report on the Programming Language {Euclid}", Institution = "Xerox Palo Alto Research Centers", Year = 1981, Month = Oct, Number = "CSL-81-12", Note = "Also {\em SIGPLAN Notices}, 12(2), February, 1977.", Annote = "23 references." } @Article{Linden76, Key = "Linden", Author = "T. A. Linden", Title = "The Use of Abstract Data Types to Simplify Program Modifications", Year = 1976, Month = Feb, Journal = SIGPLAN, Volume = 8, Number = 2, Pages = "12-23", Note = "Conference on Data: Abstraction, Definition and Structure" } @Article{Liskov-Zilles74, Key = "Liskov \& Zilles", Author = "Barbara Liskov and Stephen Zilles", Title = "Programming with Abstract Data Types", Journal = SIGPLAN, Year = 1974, Volume = 9, Number = 4, Month = Apr, Pages = "50-59", Note = "Proceedings of a Symposium on Very High Level Languages", Annote = "Rationale for abstract data types as in CLU. 13 references." } @Article{Liskov-etal77, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov and Alan Snyder and Russell Atkinson and Craig Schaffert", Title = "Abstraction Mechanisms in {CLU}", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = Aug, Pages = "564-576", Annote = "Describes procedural, control and data abstraction mechanisms in CLU. Example programs. Describes the CLU library. 24 references." } @TechReport{Liskov75a, Key = "Liskov", Author = "Barbara Liskov", Title = "Multiple Implementations of a Type", Institution = "Massachusetts Institute of Technology, Project MAC", Year = 1975, Type = "CLU Design Note", Number = 53, Annote = "Discusses multiple implementations and considers the following approaches: 1. unions of all implementations, 2. abstract representations which avoids quadratic number of conversion functions, 3. limiting the scope of implementations." } @InCollection{Martin-Lof75a, Key = {Martin-L\"{o}f}, Author = {Per Martin-L\"{o}f}, Title = "About Models for Intuitionistic Type Theories and the Notion of Definitional Equality", Publisher = North-Holland, Address = NY, Editor = "S. Kanger", BookTitle = "3rd Scandinavian Logic Symp.", Year = 1975, Pages = "81-109" } @InCollection{Martin-Lof75b, Key = {Martin-L\"{o}f}, Author = {P. Martin-L\"{o}f}, Title = "An Intuitionistic Theory of Types: Predictive Part", Publisher = North-Holland, Address = NY, Editor = "H. E. Rose and J. C. Sheperdson", Booktitle = "Logic Colloquium '73", Series = "Studies in Logic", Volume = 80, Year = 1975, Pages = "73-118" } @InProceedings{Mealy67, Key = "Mealy", Author = "G. Mealy", Title = "Another Look at Data", Booktitle = "1967 Fall Joint Computer Conference", Organization = AFIPS, Year = 1967, Volume = 31, Pages = "525-534" } @Article{Milner78, Key = "Milner", Author = "Robin Milner", Title = "A Theory of Type Polymorphism in Programming", Journal = JCSS, Volume = 17, Number = 3, Month = Dec, Year = 1978, Pages = "348-375", Annote = "Theoretical basis for inference of types of expressions and polymorphism as in ML. 23 references." } @InCollection{Mitchell-Wegbreit78, Key = "Mitchell \& Wegbreit", Author = "J. Mitchell and B. Wegbreit", Title = "Schemes: A High-level Data Structuring Concept", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1978, BookTitle = "Current Trends in Programming Methodology", Volume = 4, Pages = "150-184", Editor = "Raymond T. Yeh", Note = "Also Xerox PARC CSL-77-01, Jan. 1977.", Annote = "Requirements for a type system: 1. minimum of run-time overhead, 2. strongly typed, 3. ability to limit access to type implementing routines, 4. ability to reuse function names, 5. ability to write polymorphic definitions, 6. ability to add new new qualities to a type in a general way, 7. deal with objects and not just pointers to them, 8. should be able to define a set of related types in a single scheme, 9. ability to compose schemes nicely, 10. ability to impose constraints on scheme parameters and 11. ability to define all operations, including assignment, and initialization and finalization. 25 references." } @Article{Morris73a, Key = "Morris", Author = "Morris, Jr., James H.", Title = "Protection in Programming Languages", Year = 1973, Journal = CACM, Month = Jan, Volume = 16, Number = 1, Pages = "15-21", Annote = "Seal and unseal functions provide type safety. Invariants can be maintained and properties verified from small parts of the text when types encapsulated. Idea of type protecting an invariant. Trademarks allow loosening of type system and can be used to model hierarchical types and polymorphic types. Can use scope rules to enforce protection. 7 references." } @InProceedings{Morris73b, Key = "Morris", Author = "Morris, Jr., James H.", Publisher = ACM, Title = "Types are not sets", BookTitle = "Conference Record of ACM Symposium on Principles of Programming Languages, Boston, Mass.", Month = Oct, Year = 1973, Pages = "120-124", Annote = "Authentication and secrecy in type checking. 6 references." } @InCollection{Morris74, Key = "Morris", Title = "Towards More Flexible Type Systems", Author = "Morris, Jr., James H.", Publisher = SV, Address = NY, Booktitle = "Programming Symposium, Proceedings, Colloque sur la Programmation, Paris, April 1974", Series = LNCS, Editor = "B. Robinet", Volume = 19, Year = 1974, Pages = "377-384", Annote = "Consideration of extensions to type systems and motivation for them. 4 references." } @MastersThesis{Moss78, Key = "Moss", Author = "John Eliot Bakerslee Moss", Title = "Abstract Data Types in Stack Based Languages", School = MIT, Month = Feb, Year = 1978, Note = "MIT/LCS/TR-190", Annote = "Doing object-oriented, CLU style abstraction in a stack-based language. 22 references." } @Article{Parnas-Shore-Weiss76, Key = "Parnas \& Shore \& Weiss", Author = "D. L. Parnas and John E. Shore and David Weiss", Title = "Abstract Types Defined as Classes of Variables", Journal = SIGPLAN, Volume = 8, Number = 2, Month = Feb, Year = 1976, Pages = "149-154", Note = "Proceedings of Conference on Data: Abstraction, Definition and Structure", Annote = "16 references." } @Article{Popek-etal77, Key = "Popek, {\em et al.}", Author = "G. J. Popek and J. J. Horning and B. W. Lampson and J. G. Mitchell and R. L. London", Title = "Notes on the Design of {Euclid}", Journal = SIGPLAN, Volume = 12, Number = 3, Month = Mar, Year = 1977, Pages = "11-18", Note = "Proceedings of an ACM Conference on Language Design for Reliable Software, Raliegh, North Carolina, March, 1977.", Annote = "Overview of Euclid's goals and mechanisms including the type system. 35 references." } @InCollection{Reynolds74, Key = "Reynolds", Author = "J. C. Reynolds", Title = "Towards a Theory of Type Structure", Publisher = SV, Address = NY, Booktitle = "Programming Symposium, Proceedings, Colloque sur la Programmation, Paris, April 1974", Series = LNCS, Volume = 19, Year = 1974, Pages = "408-425", Annote = "Extension of typed lambda calculus to user-defined types and polymorphic functions. 14 references." } @InCollection{Reynolds75, Key = "Reynolds", Author = "J. C. Reynolds", Title = "User-defined Types and Procedural Data Structures as Complementary Approaches to Type Abstraction", Booktitle = "New Directions in Algorithmic Languages", Organization = "IFIP Working Group 2.1", Year = 1975, Editor = "S. A. Schuman", Publisher = IRIA, Address = "Rocquencourt", Pages = "157-168" } @InCollection{Reynolds78, Key = "Reynolds", Author = "John C. Reynolds", Title = "User Defined Types and Procedural Data Structures as Complementary Approaches to Data Abstraction", BookTitle = "Programming Methodology, A Collection of Articles by IFIP WG2.3", Publisher = SV, Address = NY, Editor = "David Gries", Year = 1978, Pages = "309-317", Note = "Reprinted from S. A. Schuman (ed.), {\em New Directions in Algorithmic Languages 1975}, Inst. de Recherche d'Informatique et d'Automatique, Rocquencourt, 1975, pages 157-168", Annote = "User defined types are as in CLU, with a data structure and some operations that manipulate it. Procedural data structures represent data as procedure closures. 14 references." } @Article{Robinson65, author = {J. A. Robinson}, title = {A machine oriented logic based on the resolution principle}, journal = JACM, year = 1965, key = {Robinson}, volume = 12, number = 1, pages = {23-41} } @TechReport{Schaffert75a, Key = "Schaffert", Author = "Craig Schaffert", Title = "Immutable Groupings", Institution = "Massachusetts Institute of Technology, Project MAC", Year = 1975, Month = Apr, Type = "CLU Design Note", Number = 47, Annote = "Discussion of immutable records and arrays in CLU. Reasons for adding them are readability and verification." } @TechReport{Schaffert75b, Key = "Schaffert", Author = "J. Craig Schaffert", Title = "Types as Objects", Institution = "Massachusetts Institute of Technology, Project MAC", Year = 1975, Month = Apr, Type = "CLU Design Note", Number = 49, Annote = "Types are objects which can be queried about their operations, etc." } @TechReport{Scheifler79, Key = "Scheifler", Author = "Bob Scheifler", Title = "Type Parameters and Infinite Recursion Revisited", Institution = MITLCS, Year = 1979, Month = Jul, Type = "CLU Design Note", Number = 77, Annote = "By making type parameters with parameterized operations write out the restrictions on the parameters of their parameterized operations, type checking recursion is converted into textual recursion and thus there are no problems with infinite recursion. 1 reference." } @Article{Scott76, Key = "Scott", Author = "Dana Scott", Title = "Data Types as Lattices", Journal = SIAMJC, Volume = 5, Number = 3, Month = Sep, Year = 1976, Pages = "522-587", Annote = "Theoretical treatment of data types. 253 references." } @InCollection{Shamir-Wadge77, Key = "Shamir \& Wadge", Author = "Adi Shamir and William W. Wadge", Title = "Data Types as Objects", Publisher = SV, Address = NY, Booktitle = "Automata, Languages and Programming, Forth Colloquium, University of Turku", Series = LNCS, Volume = 52, Year = 1977, Pages = "465-479", Annote = "Types in the domain of data objects, multiple inheritance. 4 references." } @Article{Shaw-Wulf-London77, Key = "Shaw \& Wulf \& London", Author = "Mary Shaw and William A. Wulf and R. L. London", Title = "Abstraction and Verification in {Alphard}: Defining and Specifying Iteration and Generators", Journal = CACM, Volume = 20, Number = 8, Month = Aug, Year = 1977, Pages = "553-564", Annote = "Description of Alphard 'forms'. Specification and verification techniques. 17 references." } @TechReport{Snyder76a, Key = "Snyder", Author = "Alan Snyder", Title = "Extended Unions", Institution = MITLCS, Year = 1976, Month = Mar, Type = "CLU Design Note", Number = 57, Annote = "Proposal for property specified unions." } @TechReport{Snyder76b, Key = "Snyder", Author = "Alan Snyder", Title = "Alternatives to Extended Unions", Institution = MITLCS, Year = 1976, Month = Mar, Type = "CLU Design Note", Number = 58, Annote = "Type expressions, renaming of operations. Hierarchies of related types. 1 reference." } @Article{Tennent77a, Key = "Tennent", Author = "R. D. Tennent", Title = "On a New Approach to Representation-Independent Data Classes", Journal = "Acta Informatica", Volume = 8, Number = 4, Pages = "315-324", Year = 1977, Annote = "Discusses parameterization and access to operations of a type. 24 references." } @Article{Tennent78, Key = "Tennent", Author = "R. Tennent", Title = "Another Look at Type Compatibility in Pascal", Journal = SPandE, Volume = 8, Number = 4, Month = "July-August", Pages = "429-437", Year = 1978, Annote = "Structural versus name equivalence in Pascal. 14 references." } @Article{Wegbreit74, Key = "Wegbreit", Title = "The Treatment of Data Types in {EL1}", Author = "Ben Wegbreit", Journal = CACM, Volume = 17, Number = 5, Month = May, Pages = "251-264", Year = 1974, Annote = "Importance of problem-oriented notation and problem-oriented types. Notation should be simultaneously natural and efficient. No pointers to the stack. Mode and routine valued variables. Modes of 'None' and 'any'. Mode valued routines. Mix of compiled and interpreted routines in the system. Precise control over degree of binding. Ad hoc polymorphism, since can find the mode of an argument. Size is not a part of the SEQ mode, uses heap. Can build new modes at run-time. Abstract data types as functions. Implied modes with generic definitions as sugar for the ad hoc style. User control over mode equality, ability to produce new mode not equal to any other. A LOWER routine like 'down' in CLU for abstract types. Freezing of type information during compilation for efficiency. 10 references." } @Article{Wells-Cornwall76, Key = "Wells \& Cornwall", Author = "M. B. Wells and F. L. Cornwall", Title = "A Data Type Encapsulation Scheme Utilizing Base Language Operators", Year = 1976, Month = Feb, Journal = SIGPLAN, Volume = 8, Number = 2, Pages = "170-178", Note = "Conference on Data: Abstraction, Definition and Structure" } @Book{Wulf-Levin-Harbison81, key = "Wulf \& Levin \& Harbison", title = "Hydra/{C}.mmp: An Experimental Computer System", author = "W. A. Wulf and R. Levin and P. Harbison", publisher = "McGraw-Hill", year = "1981" } @Article{Wulf-London-Shaw76, Key = "Wulf \& London \& Shaw", Author = "William A. Wulf and Ralph L. London and Mary Shaw", Title = "An Introduction to the Construction and Verification of {Alphard} Programs", Journal = IEEESE, Year = 1976, Volume = "SE-2", Number = 4, Month = Dec, Pages = "253-264", Annote = "Integration of specifications with programs. Requirements on a type parameter can also include specifications. 41 references." } @Article{Wulf-etal74, key = "Wulf, {\em et al.}", author = "W. Wulf and E. Cohen and W. Corwin and A. Jones and R. Levin and C. Pierson and F. Pollack", title = "{HYDRA}: the kernal of a multiprocessor operating system", journal = cacm, volume = "17", number = "6", pages = "337--345", month = jul, year = "1974" } % $Id: distrib.bib,v 1.12 2006/08/13 23:14:00 leavens Exp $ % distributed and parallel processing, except language definitions @InProceedings{Abbadi-Skeen-Cristen85, Key = "Abbadi \& Skeen \& Christen", Author = "Amr El Abbadi and Dale Skeen and Flaviu Cristian", Title = "An Efficient, Fault-Tolerant Protocol for Replicated Data Management", BookTitle = "Proceedings of the 4th ACM SIGACT/SIGMOD Conference on Principles of Data Base Systems", Year = 1985, Organization = ACM, Annote = "Replication scheme based on the idea of virtual partitions. 18 references." } @InCollection{Abramsky90, Key = "Abramsky", Author = "Samson Abramsky", Title = "A Generalized Kahn Principle for Abstract Asynchronous Networks", Title = "Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University, New Orleans, USA, March/April, 1989", Publisher = SV, Year = "1990", Volume = 442, Series = LNCS, Address = NY, Editor = "M. Main and A. Melton and M. Mislove and D Schmidt", Pages = "1-21", Annote = "32 references." } @TechReport{Aceto-Hennessy88, Key = "Aceto \& Hennessy", Author = "L. Aceto and M. Hennessy", Title = "Termination, Deadlock and Divergence", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "6/88", Month = Dec, Year = 1988, Annote = "Process algebra with explicit representations of successful termination, deadlock and divergence. Analysis of its semantics, both operational and denotational. 27 references." } @TechReport{Aceto89, Key = "Aceto", Author = "L. Aceto", Title = "On Relating Concurrency and Nondeterminism", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "6/89", Month = Oct, Year = 1989, Annote = "CCS-like language whose semantic theory relates concurrency and nondeterminism without reducing the former to the latter. 30 references." } @TechReport{Aceto90, Key = "Aceto", Author = "Luca Aceto", Title = "A Theory of Testing for ACP", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "3/90", Month = May, Year = 1990, Annote = "Algebraic verification in the theory of testing equivalence. 31 references." } @Book{Aceto92, Key = "Aceto", Author = "Luca Aceto", Title = "Action refinement in process algebras", Publisher = "Cambridge University Press", Address = NY, Year = 1992, Annote = "ISBN 0-521-43111-5" } @Proceedings{Agha-Wegner-Yonezawa89, Key = "Agha \& Wegner \& Yonezawa", Editor = "Gul Agha and Peter Wegner and Akinori Yonezawa", Title = "ACM SIGPLAN Workshop on Object-Based Concurrent Programming", Organization = ACM, Month = Apr, Year = 1989, Note = "ACM SIGPLAN Notices, Volume 24, Number 4" } @Book{Agha-Wegner-Yonezawa93, Key = "Agha \& Wegner \& Yonezawa", Editor = "Gul Agha and Peter Wegner and Akinori Yonezawa", Title = "Research Directions in Concurrent Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1993 } @Article{Agha90, Key = "Agha", Author = "Gul Agha", Title = "Concurrent Object-Oriented Programming", Journal = CACM, Year = 1990, Volume = 33, Number = 9, Month = Sep, Pages = "125-141", Annote = "25 references." } @InCollection{Agha91, Key = "Agha", Author = "Gul Agha", Title = "The Structure and Semantics of Actor Languages", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "1-59", Address = NY, Annote = "39 references." } @Article{Ahuja-Carlson-Gahlot, Key = "Ahuja \& Carlson \& Gahlot", Author = "M. Ahuja and T. Carlson and A. Gahlot", Title = "Passive-Space and Time View: Vector Clocks for Achieving Higher Performance, Program Correction, and Distributed Computing", Journal = IEETSE, Volume = 19, Number = 9, Month = Sep, Year = 1993, Pages = "845-855", Annote = "14 references" } @Article{Aladhaband-etal93, Key = "Alghaband {\em et al}", Author = "G. Alghband and M.S. Benten and R. Jakob and H. F. Jordan and A. V. Ramanan", Title = "Language Portability Across Shared Memory MultiProcessors", Journal = "IEEE Transactions on Parallel and Distributed Systems", Volume = 4, Number = 9, Month = Sep, Year = 1993, Pages = "1064-1072", Annote = "24 references" } @Book{Alford-etal85, Key = "Alford, {\em et al.}", Author = "M. W. Alford and J. P. Ansart and G. Hommel and L. Lamport and B. Liskov and G. P. Mullery and F. B. Schneider", Title = "Distributed Systems: Methods and Tools for Specification. An Advanced Course", Publisher = SV, Address = NY, Year = 1985, Series = LNCS, Volume = 190 } @InProceedings{Allchin-McKendry83, Key = "Allchin \& McKendry", Author = "J. E. Allchin and M. S. McKendry", Title = "Synchronization and Recovery of Actions", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = Aug, Pages = "31-44", Year = 1983, Organization = ACM, Annote = "Description of atomicity as found in the Clouds project. 27 references." } @Article{Almes-etal85, Key = "Almes, {\em et al.}", Author = "Guy T. Almes and Andrew P. Black and Edward D. Lazowska and Jerre D. Noe", Title = "The Eden System: A Technical Review", Journal = IEEESE, Volume = "SE-11", Number = 1, Month = Jan, Year = 1985, Pages = "43-58", Annote = "Interesting checkpointing. The Eden system is an operating system and architecture for distributed programming. Discussion of their implementation. 18 references." } @TechReport{Alsberg-etal76, Key = "Alsberg, {\em et al.}", Author = "Peter A. Alsberg and Geneva G. Belford and John D. Day and Enrique Grapa", Title = "Multi-Copy Resiliency Techniques", Type = "CAC Document", Number = 202, Institution = "Center for Advanced Computation, University of Illinois, Urbana, Illinois", Month = May, Year = 1976, Annote = "Discusses resiliency, that is not losing data in the face of failures. The techniques are based on primary sites and backups. 2 references." } @Article{Alverson-Notkin93, Key = "Alverson \& Notkin", Author = "G. A. Alverson and D. Notkin", Title = "Program Structuring for Effective Parallel Portability", Journal = "IEEE Transactions on Parallel and Distributed Systems", Volume = 4, Number = 9, Month = Sep, Year = 1993, Pages = "1060-1064", Annote = "17 references" } @Book{Ananda-Srinivasan91, Key = "Ananda \& Srinivasan", Author = "Akkihebba L. Ananda and Balasubramaniam Srinivasan", Title = "Distributed Computing Systems: Concepts and Structures", Publisher = "IEEE Computer Society Press", Year = 1991, Series = "IEEE Computer Society Press Reprint Collection", Address = "Los Alamitos, California", Annote = "Collection of articles about distributed systems." } @Article{Andreoli-Pareschi90, Key = "Andreoli \& Pareschi", Author = "Jean-Marc Andreoli and Remo Pareschi", Title = "LO and Behold! Concurrent Structured Processes", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "44-56", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "24 references." } @Article{Andrews-Olsson86, Key = "Andrews \& Olsson", Author = "Gregory R. Andrews and Ronald A. Olsson", Title = "The Evolution of the SR Language", Journal = "Distributed Computing", Volume = 1, Number = 2, Month = Apr, Year = 1986, Note = "Also University of Arizona TR 85-22." } @Article{Andrews-Schneider83, Key = "Andrews \& Schneider", Author = "Gregory R. Andrews and Fred B. Schneider", Title = "Concepts and Notations for Concurrent Programming", Journal = ACMCS, Volume = 15, Number = 1, Pages = "3-43", Month = Mar, Year = 1983 } @Article{Andrews-etal87, Key = "Andrews, {\em et al.}", Author = "Gregory R. Andrews and Richard D. Schlichting and Roger Hayes and Titus D. M. Purdin", Title = "The Design of the Saguaro Distributed Operating System", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "104-118", Month = Jan, Year = 1987, Annote = "Features support for communication connections, semitransparent file replication and access, pools of server processes, decentralized allocation protocols, and support for type checking. 39 references." } @Article{Andrews-etal88, Key = "Andrews, {\em et al.}", 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 = TOPLAS, Volume = 10, Number = 1, Pages = "51-86", Month = Jan, Year = 1988, Annote = "38 references." } @TechReport{Andrews90, Key = "Andrews", Author = "Gregory R. Andrews", Title = "Paradigms for Process Interaction in Distributed Programs", Institution = "Department of Computer Science, The University of Arizona", Address = "Tucson, Arizona", Number = "TR 89-24a", Month = May, Year = 1990, Annote = "67 references." } @Article{Andrews91a, Key = "Andrews", Author = "Gregory R. Andrews", Title = "Paradigms for Process Interaction in Distributed Programs", Journal = ACMCS, Year = 1991, Volume = 23, Number = 1, Month = Mar, Pages = "49-90", Annote = "69 references." } @Book{Andrews91b, Key = "Andrews", Author = "Gregory R. Andrews", Title = "Concurrent Programming: Principles and Practice", Publisher = "The Benjamin/Cummings Publishing Company", Year = 1991, Annote = "hundreds of references." } @Article{Aridor-Choen-Yehudai98, key = {Aridor \& Choen \& Yehudai}, author = {Yariv Aridor and Shimon Choen and AmiramYehudai}, title = {Design of an Actor Language for Implicit Parallel Programming}, journal = SIGPLAN, year = 1998, volume = 33, number = 6, month = Jun, pages = {39-47}, annote = {12 references.} } @Article{Arora-Kulkarni98, key = {Arora \& Kulkarni}, author = {Anish Arora and Sandeep S. Kulkarni}, title = {Component Based Design of Multitolerant Systems}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = Jan, pages = {63-78}, annote = {27 references.} } @TechReport{Arun-Kumar-Hennessy90, Key = "Arun-Kumar \& Hennessy", Author = "S. Arun-Kumar and M. Hennessy", Title = "An Efficiency Preorder for Processes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "5/90", Month = Jul, Year = 1990, Annote = "14 references." } @InProceedings{Atkinson-Hewitt77, Key = "Atkinson \& Hewitt", Author = "R. Atkinson and C. Hewitt", Title = "Synchronization in Actor Systems", BookTitle = "Conference Record of the Fourth Annual ACM Symposium on Principles of Programming Languages", Month = Jan, Year = 1977, Pages = "267-280" } @Book{Atkinson-Moreton-Natali88, Key = "Atkinson \& Moreton \& Natali", Author = "Colin Atkinson and Trevor Moreton and Antonio Natali", Title = "Ada for distributed systems", Publisher = "Cambridge University Press", Address = "Cambridge", Year = 1988, Annote = "49 references." } @Article{Babaoglu87, Key = "Baboglu", Author = {\"{O}zalp Babao\~{g}lu}, Title = "On the Reliability of Consensus-Based Fault-Tolerant Distributed Computing Systems", Journal = TOCS, Volume = 5, Number = 4, Month = Nov, Year = 1987, Pages = "394-416", Annote = "Models times of machine failure as a stocastic process and derives reliability estimates for various algorithms and other parameters. Estimates of reliability where a bound on the number of failures is unknown. 32 references." } @Article{Bal-Kaashoek93, Key = "Bal\& Kaashoek", Author = "Henri E Bal and M.Frans Kaashoek", Title = "Object Distribution in Orca using Compile -Time and Run-Time Techniques", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "162-177", Annote = "37 references." } @Article{Bal-Steiner-Tanenbaum89, Key = "Bal \& Steiner \& Tanenbaum", Author = "Henri E. Bal and Jennifer G. Steiner and Andrew S. Tanenbaum", Title = "Programming Languages for Distributed Computing Systems", Journal = ACMCS, Volume = 21, Number = 3, Month = Sep, Year = 1989, Pages = "261-322", Annote = "Survey with extensive bibliography." } @Article{Bal-Tanenbaum91, Key = "Bal \& Tanenbaum", Author = "Henri E. Bal and Andrew S. Tanenbaum", Title = "Distributed Programming with Shared Data", Journal = "Computer Languages", Year = 1991, Volume = 16, Number = 2, Pages = "129-146" } @PhDThesis{Bal89, Key = "Bal", Author = "Henri Elle Bal", Title = "The Shared Data-Object Model as a Paradigm for Programming Distributed Systems", School = "Vrije Universiteit te Amsterdam", Year = 1989, Annote = "Hundreds of references." } @Book{Bal90, Key = "Bal", Author = "Henri E. Bal", Title = "Programming Distributed Systems", Publisher = "Silicon Press", Year = 1990, Address = "Summit, NJ" } @Article{Barborak-Malek-Dahbura93, Key = "Barborak \& Malek \& Dahbura", Author = "Micheal Barborak and Miroslaw Malek and Anton Dahbura", Title = "The Consensus problem in Fault tolerant Computing", Journal = ACMCS, Year = 1993, Volume = 25, Number = 2, Pages = "171-220", Annote = "150 references" } @Manual{Bartlett77, Key = "Bartlett", Author = "Joel F. Bartlett", Title = "A NonStop Operating System", Organization = "Tandem Computers, Inc.", Year = 1977, Annote = "Discusses process pairs and other high level topics in the architecture of Tandem's operating system. 8 references." } @Article{Belloch96, key = {Belloch}, author = {Guy E. Belloch}, title = {Programming Parallel Algorithms}, journal = CACM, year = 1996, volume = 39, number = 3, month = Mar, pages = {85-97}, annote = {25 references.} } @InProceedings{Ben-Or83, Key = "Ben-Or", Author = "Michael Ben-Or", Title = "Another Advantage of Free Choice: Completely Asynchronous Agreement Prototols", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = Aug, Year = 1983, Pages = "27-30", Annote = "Probabilistic solution to the asynchronous agreement or commit problem. Not very efficient unless the number of faulty processors is assumed to be less than the square root of the number of processors. 4 references." } @TechReport{Ben-Zvi90, Key = "Ben-Zvi", Author = "Boaz Ben-Zvi", Title = "Disconnected Actions: An Asynchronous Extension to a Nested Atomic Action System", Institution = MITLCS, Year = 1990, Number = 475, Address = "Cambridge, Mass.", Month = Jan } @InProceedings{Benton-Cardelli-Fournet02, author = {Nick Benton and Luca Cardelli and C\'{e}dric Fournet}, key = {Benton \& Cardelli \& Fournet}, title = {Modern Concurrency Abstractions for {C\#}}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {415-440}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {29 references.} } @Article{Bernstein-Goodman81, Key = "Bernstein \& Goodman", Author = "Philip A. Bernstein and Nathan Goodman", Title = "Concurrency Control in Distributed Database Systems", Journal = ACMCS, Volume = 13, Number = 2, Month = Jun, Year = 1981, Pages = "185-221", Annote = "Taxonomy and discussion of distributed concurrency control methods. 83 references and a partial index of references organized by subjects." } @Article{Bernstein-Goodman83, Key = "Bernstein \& Goodman", Author = "Philip A. Bernstein and Nathan Goodman", Title = "Multiversion Concurrency Control -- Theory and Algorithms", Journal = TODS, Volume = 8, Number = 4, Month = Dec, Year = 1983, Pages = "465-483", Annote = "Theorems about serializability and 1 copy serializability. Analysis of multiversion timestamping, multiversion locking, and a hybrid protocol. 21 references." } @Article{Bernstein-Goodman84, Key = "Bernstein \& Goodman", Author = "Philip A. Bernstein and Nathan Goodman", Title = "An Algorithm for Concurrency Control and Recovery in Replicated Distributed Databases", Journal = TODS, Volume = 9, Number = 4, Month = Dec, Year = 1984, Pages = "596-615", Annote = "Algorithm that handles detectable site failures but not partitions. Basic idea is to read from one copy and write to all available copies. 34 references." } @InProceedings{Berry-Milner-Turner92, Key = "Berry \& Milner \& Turner", Author = "Dave Berry and Robin Milner and David Turner", Title = "A semantics for ML concurrency primitives", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "119-129", Organization = ACM, Month = Jan, Annote = "18 references." } @Article{Birman93, Key = "Birman", Author = "Kenneth P. Birman", Title = "The Process Group Approach to Reliable Distributed Computing", Journal = CACM, Month = Dec, Year = 1993, Volume = 36, Number = 12, Pages = "36-53", Annote = "37 references" } @Article{Birrell-Nelson84, Key = "Birrell \& Nelson", Author = "Andrew D. Birrell and Bruce J. Nelson", Title = "Implementing Remote Procedure Calls", Journal = TOCS, Volume = 2, Number = 1, Month = Feb, Year = 1984, Pages = "39-59", Annote = "Description of their implementation of RPCs. 15 references." } @Article{Birrell-etal82, Key = "Birrell, {\em et al.}", Author = "Andrew D. Birrell and Roy Levin and Roger M. Needham and Michael D. Schroeder", Title = "Grapevine: An Exercise in Distributed Computing", Journal = CACM, Volume = 25, Number = 4, Month = Apr, Year = 1982, Pages = "260-274", Annote = "Description of the design and implementation of Grapevine, which is a mail, naming, authentication and catalog service. The system makes a best effort to send updates and messages but essentially makes no guarantees. 13 references." } @InProceedings{Birrell-etal86, Key = "Birrell, {\em et al.}", Author = "Andrew D. Birrell and Butler W. Lampson and Roger M. Needham and Michael D. Schroeder", Title = "A Global Authentication Service without Global Trust", BookTitle = "IEEE Symposium on Security and Privacy, Oakland", Month = Apr, Year = 1986, Pages = "223-230", Organization = IEEE, Annote = "Design of an authentication service ofr a large scale, long lifetime, distributed system. Method makes explicit trust relationships. 8 references." } @Article{Birrell85, Key = "Birrell", Author = "Andrew D. Birrell", Title = "Secure Communication Using Remote Procedure Calls", Journal = TOCS, Volume = 3, Number = 1, Month = Feb, Year = 1985, Pages = "1-14", Annote = "Protocols for use in a remote procedure call package for end-to-end security. Based on conversations. Provides authentication, encryption and prevention of playbacks. 12 references." } @TechReport{Birrell89, Key = "Birrell", Author = "Andrew D. Birrell", Title = "An Introduction to Programming with Threads", Month = Jan, Year = 1989, Institution = DECSRC, Number = 35, Annote = "17 references." } @Article{Black-etal86, Key = "Black, {\em et al.}", Author = "Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy", Title = "Object Structure in the {E}merald System", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "78-86", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Emerald is an object-based language for distributed programming. Notion of conformity encapsulates syntactic subtyping rules. Distinctions between local and global objects hidden by language. Objects created by explicit constructors, code sharing is managed by the kernel, and abstract types provide a classification scheme that is independent of an object's implementation. 24 references." } @Article{Black-etal87, Key = "Black, {\em et al.}", Author = "Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy and Larry Carter", Title = "Distribution and Abstract Types in Emerald", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "65-76", Month = Jan, Year = 1987, Annote = "Overview of Emerald and comparison with other distributed programming languages. Abstract types are interfaces that allow subtyping. Some implementation considerations. 35 references." } @TechReport{Black-etal88, Key = "Black, {\em et al.}", Author = "David L. Black and David B. Golub and Karl Hauth and Avadis Tevanian and Richard Sanzi", Title = "The Mach Exception Handling Facility", Institution = CMU, Month = Apr, Year = 1988, Number = "CMU-CS-88-129", Annote = "10 references." } @Article{Blasgen-etal79, Key = "Blasgen, {\em et al.}", Author = "Mike Blasgen and Jim Gray and Mike Mitoma and Tom Price", Title = "The Convoy Phenomenon", Journal = SIGOPS, Volume = 13, Number = 2, Pages = "20-25", Month = Apr, Year = 1979, Annote = "Describes how convoys of processes waiting for locks form and some suggestions about how to avoid them. 4 references." } @InCollection{Bloom-Meyer90, Key = "Bloom \& Meyer", Author = "Bard Bloom and Albert R. Meyer", Title = "Experimenting with Process Equivalence", BookTitle = "Semantics for Concurrency, Leicester", Publisher = SV, Year = 1990, Editor = "M. Z. Kwiatkowska and M. W. Shields and R. M. Thomas", Series = "Workshops in Computing", Pages = "81-95", Address = NY, Annote = "21 references." } @TechReport{Bloom79a, Key = "Bloom", Author = "Toby Bloom", Title = "Synchronization Mechanisms for Modular Programming Languages", Institution = MITLCS, Number = 211, Month = Jan, Year = 1979, Annote = "This master's thesis evaluates the expressive power of various synchronization mechanisms. 35 references." } @InProceedings{Bloom79b, Key = "Bloom", Author = "T. Bloom", Title = "Evaluating Synchronization Mechanisms", BookTitle = "Proceedings of the Seventh Symposium on Operating Systems Principles", Organization = ACM, Pages = "24-32", Month = Dec, Year = 1979 } @TechReport{Bloom83, Key = "Bloom", Author = "Toby Bloom", Title = "Dynamic Module Replacement in a Distributed Programming System", Month = Mar, Year = 1983, Number = "TR-303", Institution = MITLCS, Annote = "Unit of replacement in Argus is the subsystem. Need for multiple interfaces to a type. Static type checking and association of a type with a static module definition place limits on dynamic modifiability. 17 references." } @Article{Boari-etal84, Key = "Boari, {\em et al.}", Author = "M. Boari and S. Crespi-Reghizzi and A. Dapra and F. Maderna and A. Natali", Title = "Multi-microprocessor Programming Techniques: MML, a New Set of Tools", Journal = "IEEE Computer", Month = Jan, Year = 1984 } @InProceedings{Borr81, Key = "Borr", Author = "Andrea J. Borr", Title = "Transaction Monitoring in Encompass [TM]: Reliable Distributed Transaction Processing", BookTitle = "Proceedings on Very Large Databases, Seventh International Conference on Very Large Data Bases, Cannes, France", Organization = IEEE, Month = Sep, Year = 1981, Pages = "155-165", Annote = "Description of the application-level transaction facilities provided with the Tandem system and of their distributed data management system. 6 references." } @Article{Botorog98, key = {Botorog}, author = {George H. Botorog}, title = {Efficient high-level parallel programming}, journal = TCS, year = 1998, volume = 196, number = {1-2}, month = {April}, pages = {77-107} } @inproceedings{Bouge-Francez88, key = {Boug\'{e} \& Francez}, author = {L. Boug\'{e} and N. Francez}, title = {A compositional approach to superimposition}, booktitle = {Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {1988}, isbn = {0-89791-252-7}, pages = {240--249}, location = {San Diego, California, United States}, doi = {http://doi.acm.org/10.1145/73560.73581}, publisher = {ACM Press}, annote = {31 references.} } @Article{Brinch-Hansen98a, key = {Brinch Hansen}, author = {Per {Brinch Hansen}}, title = {An Evaluation of {High Performance Fortran}}, journal = SIGPLAN, year = 1998, volume = 33, number = 3, month = Mar, pages = {57-64}, annote = {12 references.} } @Article{Brinch-Hansen98b, key = {Brinch Hansen}, author = {Per {Brinch Hansen}}, title = {An Evaluation of The Message Passing Interface}, journal = SIGPLAN, year = 1998, volume = 33, number = 3, month = Mar, pages = {65-72}, annote = {11 references.} } @Article{Brinch-Hansen99, key = {Brinch Hansen}, author = {Per {Brinch Hansen}}, title = {Java's Insecure Parallelism}, journal = SIGPLAN, year = 1999, volume = 34, number = 4, month = Apr, pages = {38-45}, annote = {21 references.} } @Article{Briot-Guerraoui-Lohr98, author = {Jean-Pierre Briot and Rachid Guerraoui and Klaus-Peter Lohr}, title = {Concurrency and Distribution in Object-Oriented Programming}, journal = ACMCS, year = 1998, key = {Briot \& Guerraoui \& Lohr}, volume = 30, number = 3, month = Sep, pages = {291-329}, annote = {Many references.} } @Article{Brookes-Hoare-Roscoe84, Key = "Brookes \& Hoare \& Roscoe", Author = "S. D. Brookes and C. A. R. Hoare and A. W. Roscoe", Title = "A Theory of Communicating Sequential Processes", Journal = JACM, Volume = 31, Number = 3, Month = Jul, Year = 1984, Pages = "560-599" } @Article{Brown-Kolling-Taft85, Key = "Brown \& Kolling \& Taft", Author = "Mark R. Brown and Karen N. Kolling and Edward A. Taft", Title = "The Alpine File System", Journal = TOCS, Volume = 3, Number = 4, Month = Nov, Year = 1985, Pages = "261-293", Annote = "Discussion of the Alpine file system design and implementation as well as the Cedar language and programming environment. Alpine supports atomic transactions in a distributed network. 29 references." } @InCollection{Broy91, Key = "Broy", Author = "Manfred Broy", Title = "Formalization of Distributed, Concurrent, Reactive Systems", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "319-361", Address = NY, Annote = "ISBN 0-387-53961-1. 57 references." } @Unpublished{Burkhart92, Key = "Burkhart", Author = "Roger Burkhart", Title = "Process Based Definition of Enterprose Models", Note = "To Appear in Enterprise Integration Modelling: Proceedings of the First Intl Conference, MIT Press, 1992, Author = roger@ci.deere.com", Annote = "11 references. " } @Book{Burns-Wellings98, key = {Burns \& Wellings}, author = {Andy Burns and Andy Wellings}, title = {Concurrency in Ada}, publisher = {Cambridge University Press}, year = 1998, address = NY, edition = "Second edition." } @TechReport{Burrows-Abadi-Needham, Key = "Burrows \& Abadi \& Needham", Author = "Michael Burrows and Mart\'{i}n Abadi and Roger Needham", Title = "A Logic of Authentication", Month = Feb, Year = 1989, Institution = DECSRC, Number = 39, Annote = "20 references." } @Article{Butcher-Zedan91a, Key = "Butcher \& Zedan", Author = "Paul Butcher and Hussein Zedan", Title = "Lucinda--An Overview", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 8, Month = Aug, Pages = "90-100", Annote = "20 references." } @InCollection{Butcher-Zedan91b, Key = "Butcher \& Zedan", Author = "Paul Butcher and Hussein Zedan", Title = "Lucinda - A Polymorphic Linda", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "126-146", Annote = "28 references" } @InProceedings{Campbell-Klostad79, Key = "Campbell \& Klostad", Author = "R. H. Campbell and R. B. Klostad", Title = "Path Expressions in Pascal", BookTitle = "Proceedings of the Fourth International Conference on Software Engineering", Pages = "212-219", Month = Sep, Year = 1979, Organization = "IEEE" } @Article{Cardelli95, author = "Luca Cardelli", title = "A language with distributed scope", key = "Cardelli", journal = "Computing Systems", year = 1995, volume = 8, number = 1, pages = "27-59", month = Jan, note = "A preliminary version appeared in POPL '95." } @InProceedings{Cardelli95b, Key = {Cardelli}, Author = {Luca Cardelli}, Title = "A Language with Distributed Scope", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "286-297", Annote = "The language Obliq. 33 references." } @Article{Carey-Muhanna86, Key = "Carey \& Mahunna", Author = "Michael J. Carey and Waleed A. Muhanna", Title = "The Performance of Multiversion Concurrency Control Algorithms", Journal = TOCS, Volume = 4, Number = 4, Month = Nov, Year = 1986, Pages = "?", Annote = "Simulation of concurrency control algorithms and an analysis of the results. Shows that multiversion algorithms provide significant performance improvements, although they access the disk more frequently. The storage overhead for old versions appears small. (Optimistic protocols are poor under heavy loads?) 32 references." } @Article{Carriero-Gelernter89a, Key = "Carriero \& Gelernter", Author = "Nicholas Carriero and David Gelernter", Title = "Linda in Context", Journal = CACM, Volume = 32, Number = 4, Month = Apr, Year = 1989, Pages = "444-458", Annote = "Compares the Linda parallel language model to other paradigms for parallel programming: message passing, concurrent logic programming, and functional languages. 35 references." } @Article{Carriero-Gelernter89b, Key = "Carriero \& Gelernter", Author = "Nicholas Carriero and David Gelernter", Title = "How to Write Parallel Programs: A Guide for the Perplexed", Journal = ACMCS, Volume = 21, Number = 3, Month = Sep, Year = 1989, Pages = "323-357", Annote = "Paradigms: parallel computation of elements of a data structure, adgenda parallelism, specialist parallelism. Linda as example language. 47 references." } @Article{Castellano-Michelis-Pomello87, Key = "Castellano \& Michelis \& Pomello", Author = "L. Castellano and G. De Michelis and L. Pomello", Title = "Concurrency vs interleaving: an instructive example", Journal = "Bulletin of the EATCS", Year = 1987, Volume = 31, Pages = "12-15", Month = Feb } @Article{Champine-Geer-Ruh90, Key = "Champine \& Geer \& Ruh", Author = "George A. Champine and Daniel E. Geer, Jr., and William N. Ruh", Title = "Project Athena as a Distributed Computer System", Journal = "Computer", Year = 1990, Volume = 23, Number = 9, Month = Sep, Pages = "40-51", Annote = "14 references." } @Article{Chan-Sarin85, Key = "Chan \& Sarin", Author = "Arvola Chan and Sunil Sarin", Title = "Improving Availability and Performance of Distributed Database Systems", Journal = "IEEE Bulletin on Database Engineering", Month = Jun, Year = 1985, Pages = "?", Annote = "Survey of 3 projects at CCA. These are based on timestamps and compensation for actions. Performance concerns are important. 26 references." } @Article{Chandy-Kesselman91, Key = "Chandy \& Kesselman", Author = "K. Mani Chandy and Carl Kesselman", Title = "Parallel Programming in 2001", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 6, Month = Nov, Pages = "11-20", Annote = "4 references." } @Article{Chandy-Lamport85, Key = "Chandy \& Lamport", Author = "K. Mani Chandy and Leslie Lamport", Title = "Distributed Snapshots: Determining Global States of Distributed Systems", Journal = TOCS, Volume = 3, Number = 1, Month = Feb, Year = 1985, Pages = "63-75", Annote = "Algorithm for noting the global state of processors and channels as it could have been at some time in the past. 11 references." } @Article{Chandy-Misra84, Key = "Chandy \& Misra", Author = "K. M. Chandy and J. Misra", Title = "The Drinking Philosophers Problem", Journal = TOPLAS, Volume = 6, Number = 4, Month = Oct, Year = 1984, Pages = "632-646", Annote = "The problem of resolving conflicts fairly among processes in a distributed system is studied. Solutions offered here involve introducing extra resources to distinguish the processes and to form an acyclic precedence graph which is maintained locally. 10 references." } @Book{Chandy-Misra88, Key = "Chandy \& Misra", Author = "K. M. Chandy and J. Misra", Title = "Parallel Program Design", Publisher = Addison-Wesley, Year = 1988, Address = "Reading, Mass." } @Article{Cheriton-Zwaenepoel85, Key = "Cheriton \& Zwaenepoel", Author = "D. Cheriton and Zwaenepoel", Title = "Distributed Process Groups in the V Kernel", Journal = TOCS, Month = May, Year = 1985, Volume = 3, Number = 2 } @Article{Cheriton87, Key = "Cheriton", Author = "D. Cheriton", Title = "UIO: A Uniform I/O System Interface for Distributed Systems", Journal = TOCS, Month = Feb, Year = 1987, Volume = 5, Number = 1 } @Article{Chin-Chanson91, Key = "Chin \& Chanson", Author = "Roger S. Chin and Samuel T. Chanson", Title = "Distributed Object-Based Programming Systems", Journal = ACMCS, Year = 1991, Volume = 23, Number = 1, Month = Mar, Pages = "91-124", Annote = "56 references." } @TechReport{Clamen-etal89, Key = "Clamen, {\em et al.}", Author = "S. M. Clamen and L. D. Leibengood and S. M. Nettles and J. M. Wing", Title = "Reliable Distributed Computing with Avalon/Common Lisp", Month = Sep, Year = 1989, Institution = CMU, Number = "CMU-CS-89-186", Annote = "25 references." } @TechReport{Cleaveland-Hennessy89, Key = "Cleaveland \& Hennessy", Author = "Rance Cleaveland Matthew Hennessy", Title = "Testing Equivalence as a Bisimulation Equivalene", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "4/89", Month = Jun, Year = 1989, Annote = "How to view testing equivalences as bisimulation equivalences. 16 references." } @TechReport{Closkey88, Key = "Closkey", Author = "Cynthia Closkey", Title = "The ARGUS System Manual", Institution = MITLCS, Year = 1988, Type = "Programming Methodology Group Memo ", Number = 64, Address = "Cambridge, Mass, 02139", Month = Sep, Annote = "No references." } @InProceedings{Coan-Oki-Kolodner86, Key = "Coan \& Oki \& Kolodner", Author = "Brian A. Coan and Brian M. Oki and Elliot K. Kolodner", Title = "Limitations on Database Availability when Networks Partition", BookTitle = "Proceedings of the Fifth Annual ACM Symposium on the Principles of Distributed Computing", Month = Aug, Year = 1986, Pages = "?", Organization = ACM } @TechReport{Coffin89, Key = "Coffin", Author = "Michael Coffin", Title = "Par: A Language for Architecture-Independent Parallel Programming", Institution = "Department of Computer Science, The University of Arizona", Address = "Tucson, Arizona", Number = "TR 89-18", Month = Sep, Year = 1989, Annote = "Language for writing architecture independent parallel programs. 24 references." } @Book{Coulouris-Dollimore88, Key = "Coulouris \& Dollimore", Author = "George F. Coulouris and Jean Dollimore", Title = "Distributed Systems: Concepts and Design", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1988 } @InProceedings{Cristian-etal85, Key = "Cristian, {\em et al.}", Author = "Flaviu Cristian and Houtan Aghili and Ray Strong and Danny Dolev", Title = "Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement", BookTitle = "Fifteenth International Conference on Fault Tolerant Computing, Ann Arbor, Michigan", Organization = IEEE, Month = Jun, Year = 1985, Pages = "?", Annote = "Algorithm for atomic broadcasts needed to implement delta-common storage; storage that at every time displays the same contents to all correct processors and requires delta time units to complete replicated updates. 19 references." } @Article{Cristian91, Key = "Cristian", Author = "Flaviu Cristian", Title = "Understanding Fault-Tolerant Distributed Systems", Journal = CACM, Year = 1991, Volume = 34, Number = 2, Month = Feb, Pages = "56-78", Annote = "67 references." } @Article{Crowl-LeBlanc94, Key = "Crowl \& LeBlanc", Author = "Lawrence A. Crowl and Thomas J. LeBlanc", Title = "Parallel Programming with Control Abstraction", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "524-576", Annote = "41 references." } @Article{Dasgupta-etal91, Key = "Dasgusta, {\em et al.}", Author = "Partha Dasgupta and Richard J. LeBlanc, Jr. and Mustaque Ahamad and Umakishore Ramachandran", Title = "The Clouds Distributed Operating System", Journal = "Computer", Year = 1991, Volume = 24, Number = 11, Month = Nov, Pages = "34-43", Annote = "12 references." } @Article{Dasgupta86, Key = "Dasgupta", Author = "Partha Dasgupta", Title = "A Probe-Based Monitoring Scheme for an Object-Oriented Distributed Operating System", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "57-66", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Permenant entities in Clouds are objects. Nested actions. Objects can be explicitly deleted. Processes are separated from objects. 15 references." } @Article{Davidson-Garcia-Molina-Skeen, Key = "Davidson \& Garcia-Molina \& Skeen", Author = "Susan B. Davidson and Hector Garcia-Molina and Dale Skeen", Title = "Consistency in a Partitioned Networks", Journal = ACMCS, Volume = 17, Number = 3, Month = Sep, Year = 1985, Pages = "341-370", Annote = "A comprehensive survey. 50 references." } @Article{Davidson84, Key = "Davidson", Author = "Susan B. Davidson", Title = "Optimism and Consistency in Partitioned Distributed Database Systems", Journal = TODS, Volume = 9, Number = 3, Month = Sep, Year = 1984, Pages = "456-481", Annote = "Strategy is to let transactions proceed in face of a partition, to detect conflicts after the fact and to back out transactions that cause cycles in the serialization order. Some analysis of the situations in which this strategy is useful. 29 references." } @Article{Davies-Wakerly78, Key = "Davies \& Wakerly", Author = "D. Davies and J. Wakerly", Title = "Synchronization and Matching in Redundant Systems", Journal = IEEETC, Volume = "C-27", Number = 6, Month = Jun, Year = 1978, Pages = "531-539" } @TechReport{Day-etal93a, Key = "Day {\em et al}", Author = "Mark S. Day and Sanjay Ghemawat and Robert E. Gruber and Umesh Maheshwari and Andrew Myers", Title = "Programming Methodology Group Memo 78: Student Working Papers", Number = "Memo 78", Year = 1993, Institution = MITLCS } @Article{Day-etal93b, Key = "Day {\em et al}", Author = "M Day, B. Liskov, U, Maheshwari, and A.C. Myers,", Title = "References to Remote Mobile Objects in Thor", Journal = "ACM Letters on Programming Languages and Systems", Year = 1993, Volume = 2, Number = "1-4", Month = "March-December", Pages = "115-126", Annote = "14 references." } @TechReport{Day87, Key = "Day", Author = "Mark S. Day", Title = "Replication and Reconfiguration in a Distributed Mail Repository", Number = "MIT/LCS/TR-376", Month = Apr, Year = 1987, Institution = MITLCS } @Article{Decouchant86, Key = "Decouchant", Author = "D. Decouchant", Title = "Design of a Distributed Object Manager for the Smalltalk-80 System", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "444-452", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Sharing Smalltalk-80 objects over a local area network. Location transparency and uniform object naming; uses proxy objects to provide access to remote objects while maintaining the illusion of locality. Object migration as desired or needed. Read/write access control based on object ownership. 8 references." } @InCollection{Degano-Gorrieri-Vigna93, Key = "Degano \& Gorrieri \& Vigna93", Author = "P. Degano and R. Gorrieri and S. Vigna", Title = "On Relating Some models for Concurrency", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "15-30", Annote = "23 references" } @inproceedings{Deng-etal02, key = {Deng, {\em et al.}}, author = {Xianghua Deng and Matthew B. Dwyer and John Hatcliff and Masaaki Mizuno}, title = {Invariant-based Specification, Synthesis, and Verification of Synchronization in Concurrent Programs}, booktitle = {Proceedings of the 24th International Conference on Software Engineering (ICSE 2002)}, year = 2002, isbn = {1-58113-472-X}, pages = {442-452}, location = {Orlando, Florida}, doi = {http://doi.acm.org/10.1145/581339.581394}, publisher = ACM, address = NY } @Article{Detlefs-Herlihy-Wing88, Key = "Detlefs \& Herlihy \& Wing", Author = "David L. Detlefs and Maurice P. Herlihy and Jeannette M. Wing", Title = "Inheritance of Synchronization and Recovery Properties in Avalon/C++", Journal = "IEEE Computer", Volume = 21, Number = 12, Month = Dec, Year = 1988, Pages = "57-69", Annote = "16 references." } @Article{Dolev-Dwork-Stockmeyer87, Key = "Dolev \& Dwork \& Stockmeyer", Author = "Danny Dolev and Cynthia Dwork and Larry Stockmeyer", Title = "On the Minimal Synchronization Needed for Distributed Consensus", Journal = JACM, Volume = 34, Number = 1, Month = Jan, Year = 1987, Pages = "77-97" } @InProceedings{Dolev-Rieschuk-Strong82, Key = "Dolev \& Rieschuk \& Strong", Author = "D. Dolev and R. Rieschuk and H. R. Strong", Title = {"Eventual" is Earlier than "Immediate"}, BookTitle = "23rd Annual Symposium on Foundations of Computer Science, Chicago", Organization = IEEE, Year = 1982, Month = Nov, Pages = "196-203" } @InProceedings{Dolev-Strong82a, Key = "Dolev \& Strong", Author = "D. Dolev and H. R. Strong", Title = "Polynomial Algorithms for Multiple Processor Agreement", BookTitle = "Proceedings of the 14th Annual ACM Symposium on Theory of Computing, San Francisco", Organization = ACM, Month = May, Year = 1982, Pages = "401-407", Note = "Also IBM Res. Rep. RJ3342" } @InProceedings{Dolev-Strong82b, Key = "Dolev \& Strong", Author = "D. Dolev and H. R. Strong", Title = "Distributed Commit with Bounded Waiting", BookTitle = "Proceedings Second Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Organization = IEEE, Month = Jul, Year = 1982, Pages = "53-59" } @TechReport{Dolev-Strong82c, Key = "Dolev \& Strong", Author = "D. Dolev and H. R. Strong", Title = "Authenticated Algorithms for Byzantine Agreement", Institution = "IBM Research Laboratory, San Jose", Year = 1982, Month = Mar, Number = "RJ3416" } @InProceedings{Dolev81, Key = "Dolev", Author = "D. Dolev", Title = "Unanimity in an Unknown and Unreliable Environment", BookTitle = "22nd Annual Symposium on Foundations of Computer Science, Nashville", Year = 1981, Organization = IEEE, Month = Oct, Pages = "159-168" } @Article{Dolev82, Key = "Dolev", Author = "D. Dolev", Title = "The Byzantine Generals Strike Again", Journal = "Journal of Algorithms", Volume = 3, Pages = "14-30", Year = 1982, Note = "Also Stanford Tech. Rep. STAN-CS-81-846, February 1981" } @TechReport{Duke-etal93, Key = "Duke, {\em et al}", Author = "Roger Duke and Cecily Bailes and Graeme Smith", Title = "Modelling Reactive Objects", Number = "93-1", Institution = "Software Verification Research Center, The University of Queensland", Address = "Queensland, Australia", Year = 1993, Month = Jan } @InProceedings{Dwork-Skeen83, Key = "Dwork \& Skeen", Author = "Cynthia Dwork and Dale Skeen", Title = "The Inherent Cost of Nonblocking Commitment", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = Aug, Year = 1983, Pages = "1-11", Organization = ACM, Annote = "Strong lower bounds are derived for nonblocking commit protocols for both message and time complexity. Assumes benign processor failures. Nonblocking protocols take about 50% more time than blocking protocols. 4 references." } @Article{Ellingson-Kulpinski73, Key = "Ellingson \& Kulpinski", Author = "C. E. Ellingson and R. J. Kulpinski", Title = "Dissemination of system-time", Journal = "IEEE Transactions on Communications", Volume = "COM-21", Number = 5, Month = May, Year = 1973, Pages = "605-624" } @TechReport{Emer-Wehl89, Key = "Emer \& Wehl", Author = "Joel S. Emer and William E. Wehl", Title = "Integrated interactive Access to Heterogenous Distributed Services", Institution = MITLCS, Year = 1989, Type = "Programming Methodology Group Memo ", Number = 67, Address = "Cambridge, Mass, 02139", Month = Dec, Annote = "13 references." } @Article{Eswaran-etal76, Key = "Eswaran, {\em et al.}", Author = "K. P. Eswaran and J. N. Gray and R. A. Lorie and I. L. Traiger", Title = "On the Notions of Consistency and Predicate Locks in a Data Base System", Journal = CACM, Volume = 19, Number = 11, Year = 1979, Month = Nov, Pages = "624-633" } @Article{Falcone87, Key = "Falcone", Author = "Joseph R. Falcone", Title = "A Programmable Interface Language for Heterogeneous Distributed Systems", Journal = TOCS, Volume = 5, Number = 4, Month = Nov, Year = 1987, Pages = "330-351", Annote = "Programming language for a heterogeneous distributed system environment. 25 references." } @Article{Fekete-etal90, Key = "Fekete, {\em et al.}", Author = "Alan Fekete and Nancy Lynch and Michael Merritt and William Weihl", Title = "Commutativity-Based Locking for Nested Transactions", Journal = JCSS, Volume = 41, Number = 1, Month = Aug, Year = 1990, Pages = "65 ff.", Note = "6th Annual ACM SIGACT/SIGMOD Symposium on the Principles of Database Systems (PODS), March 1987" } @InCollection{Fidge94, Key = "Fidge", Author = "C. Fidge", Title = "Logical Time in Distributed Computing Systems", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "73-82", Address = "Los Alamitos, California", Annote = "12 references." } @Book{Filman-Friedman84, Key = "Filman \& Friedman", Author = "Robert E. Filman and Daniel P. Friedman", Title = "Coordinated Computing", Publisher = "McGraw-Hill", Year = 1984, Address = NY, Annote = "Hundreds of references." } @Article{Finn79, Key = "Finn", Author = "S. G. Finn", Title = "Resynch Procedures and a Fail-Safe Network Protocol", Journal = "IEEE Transactions on Communications", Volume = "COM-27", Number = 6, Month = Jun, Year = 1979, Pages = "840-845" } @InProceedings{Fischer-Griffeth-Lynch81, Key = "Fischer \& Griffeth \& Lynch", Author = "M. J. Fischer and N. D. Griffeth and N. A. Lynch", Title = "Global States of a Distributed System", BookTitle = "Proceedings Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Organization = IEEE, Pages = "33-38", Month = Jul, Year = 1981 } @Article{Fischer-Lynch-Merritt86, Key = "Fischer \& Lynch \& Merritt", Author = "Michael J. Fischer and Nancy A. Lynch and Michael Merritt", Title = "Easy Impossibility Proofs for distributed Consensus Problems", Journal = "Distributed Computing", Volume = 1, Number = 1, Month = Jan, Year = 1986, Pages = "26-39" } @InProceedings{Fischer-Lynch-Paterson83, Key = "Fischer \& Lynch \& Paterson", Author = "M. Fischer and N. Lynch and M. Paterson", Title = "Impossibility of Distributed Consensus with One Faulty Process", BookTitle = "Proceedings of the Second ACM Symposium on Principles of Database Systems", Year = 1983, Organization = ACM, Note = "Also M.I.T. Tech. Rep. MIT/LCS/TR-282, Sept. 1982" } @Article{Fischer-Lynch82, Key = "Fischer \& Lynch", Author = "M. Fischer and N. Lynch", Title = "A Lower Bound for the Time to Assure Interactive Consistency", Journal = IPL, Year = 1982, Month = Jun, Volume = 14, Number = 4, Pages = "183-186" } @InProceedings{Flanagan-Freund00, key = {Flanagan \& Freund}, author = {Cormac Flanagan and Stephen N. Freund}, title = {Type-based race detection for {Java}}, booktitle = {Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation}, year = {2000}, isbn = {1-58113-199-2}, pages = {219-232}, location = {Vancouver, British Columbia, Canada}, doi = {http://doi.acm.org/10.1145/349299.349328}, publisher = {ACM Press}, address = {New York, NY, USA} } @inproceedings{Flanagan-Freund04, key = {Flanagan \& Freund}, title = {Atomizer: a dynamic atomicity checker for multithreaded programs}, booktitle = {Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {2004}, isbn = {1-58113-729-X}, pages = {256-267}, location = {Venice, Italy}, doi = {http://doi.acm.org/10.1145/964001.964023}, publisher = ACM } @InProceedings{Flanagan-Qadeer03, key = {Flanagan \& Qadeer}, author = {Cormac Flanagan and Shaz Qadeer}, title = {Types for atomicity}, booktitle = {Proceedings of the 2003 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation}, year = {2003}, isbn = {1-58113-649-8}, pages = {1-12}, location = {New Orleans, Louisiana, USA}, doi = {http://doi.acm.org/10.1145/604174.604176}, publisher = {ACM Press} } @InProceedings{Flanagan-Qadeer03a, key = {Flanagan \& Qadeer}, author = {Cormac Flanagan and Shaz Qadeer}, title = {A type and effect system for atomicity}, booktitle = {Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation}, year = {2003}, isbn = {1-58113-662-5}, pages = {338-349}, location = {San Diego, California, USA}, doi = {http://doi.acm.org/10.1145/781131.781169}, publisher = {ACM Press} } @inproceedings{Flanagan04, key = {Flanagan}, author = {Cormac Flanagan}, title = {Verifying Commit-Atomicity Using Model-Checking}, booktitle = {Proceedings of the 11th International SPIN Workshop on Model Checking of Software}, location = {Barcelona, Spain}, publisher = SV, series = LNCS, volume = 2989, pages = {252-266}, year = 2004, month = Apr } @InCollection{Flatebo-Datta-Ghosh94, Key = "Flatebo \& Datta \& Ghosh", Author = "M. Flatebo and A.K. Datta and S. Ghosh", Title = "Self-Stabilization in Distributed Sytems", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "100-114", Address = "Los Alamitos, California", Annote = "24 references." } @TechReport{Franaszek-Robinson83, Key = "Franaszek \& Robinson", Author = "Peter Franaszek and John T. Robinson", Title = "Limitations of Concurrency in Transaction Processing", Type = "IBM Research Report", Number = "RC 10151", Institution = "IBM Reseach Center, Yorktown Heights, N.Y.", Month = Aug, Year = 1983, Annote = "Analysis of the concurrency possible under different locking protocols as the number of transactions and their probability of conflict increases. Based on random graphs. The effective level of concurrency reaches a maximum and then goes to zero in protocols which do not have priorities built in. In schemes that use priorities, the level of concurrency is unbounded, although it is not clear that this is practical. 13 references." } @article{Freund-Qadeer04, key = {Freund and Qadeer}, author = {Stephen N. Freund and Shaz Qadeer}, title = {Checking Concise Specifications for Multithreaded Software}, journal = {Journal of Object Technology}, volume = 3, number = 6, year = 2004, pages = {81-101} } @InCollection{Frolund92, Key = "Frolund", Author = "Svend Fr\olund", Title = "Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "185-196", Annote = "22 references" } @Article{Garcia-Molina82, Key = "Garcia-Molina", Author = "H. Garcia-Molina", Title = "Elections in a Distributed Computing System", Journal = IEEETC, Volume = "C-31", Number = 1, Month = Jan, Pages = "48-59", Year = 1982 } @Article{Garlan-Notkin91, Key = "Garlan \& Notkin", Author = "David Gorlan and David Notkin", Title = "Formalizing Design Spaces: Implicit Invocation Mechanisms", Journal = LNCS, Volume = "551", Pages = "31-44", Year = 1991, Annote = "20 references" } @InCollection{Garland-Lynch00, Key = "Garland \& Lynch", Author = "Stephen J. Garland and Nancy Lynch", Title = "Using I/O Automata for Developing Distributed Systems", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 13, Pages = "285-312", Annote = "41 references." } @Article{Gehani82, Key = "Gehani", Author = "N. H. Gehani", Title = "Concurrency in Ada and Multicomputers", Journal = "Computer Languages", Volume = 7, Number = 1, Year = 1982, Pages = "21-23", Annote = "Efficiency problems with distributing Ada tasks, because of shared variables and data shared through pointers." } @Article{Gelernter-Carriero92, Key = "Gelernter \& Carriero", Author = "David Gelernter and Nicholas Carriero", Title = "Coordination Languages and their Significance", Journal = CACM, Year = 1992, Volume = 35, Number = 2, Month = Feb, Pages = "97-107", Annote = "29 references." } @Article{Gelernter85, Key = "Gelernter", Author = "David Gelernter", Title = "Generative Communication in Linda", Journal = TOPLAS, Volume = 7, Number = 1, Month = Jan, Year = 1985, Pages = "80-112", Annote = "Closely coupled network language that has an interesting kind of shared memory abstraction for communication. 27 references." } @InCollection{Gelernter91, Key = "Gelernter", Author = "David Gelernter", Title = "Current Research on Linda", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "74-76" } @TechReport{Ghemawat90, Key = "Ghemawat", Author = "SanjayGhemawat", Title = "Automatic Replication for Highly Available Services", Institution = MITLCS, Year = 1990, Number = "473", Address = "Cambridge, Mass.", Month = Mar } @InProceedings{Gifford-Donahue85, Key = "Gifford \& Donahue", Author = "David K. Gifford and James E. Donahue", Title = "Coordinating Independent Atomic Actions", BookTitle = "Proceedings of IEEE Computer Conference '85", Month = Feb, Year = 1985, Pages = "92-95", Organization = IEEE, Annote = "Describes persistent actions, actions with an exactly once semantics. 8 references." } @Article{Gifford-Glasser88, Key = "Gifford \& Glasser", Author = "David K. Gifford and Nathan Glasser", Title = "Remote Pipes and Procedures for Efficient Distributed Communication", Journal = TOCS, Volume = 6, Number = 3, Month = Aug, Year = 1988, Pages = "258-283", Annote = "The channel model for efficient distributed communication. Remote procedures are first-class objects, pipes for bulk data transport and incremental results, and channel groups to control relative sequencing of results. 31 references." } @Article{Gifford-Spector, Key = "Gifford \& Spector", Author = "David Gifford and Alfred Spector", Title = "The TWA Reservation System", Journal = CACM, Volume = 27, Number = 7, Month = Jul, Year = 1984, Pages = "650-665", Annote = "Description of the design and implementation of the TWA system through interviews with the people involved. 6 references." } @Book{Gray-Reuter93, Key = "Gray \& Reuter", Author = "Jim Gray and Andreas Reuter", Title = "Transaction Processing: Concepts and Techniques", Publisher = "Morgan Kaufman", Year = 1993 } @Article{Gray-etal81, Key = "Gray, {\em et al.}", Author = "Jim Gray and Paul McJones and Mike Blasgen and Bruce Lindsay and Raymond Lorie and Tom Price and Franco Putzolu and Irving Traiger", Title = "The Recovery Manager of the System R Database Manager", Journal = ACMCS, Volume = 13, Number = 2, Month = Jun, Year = 1981, Pages = "223-242", Annote = "Describes the do-undo-redo protocol of system R and the checkpoint mechanism. 16 references." } @Article{Gray86, Key = "Gray", Author = "James N. Gray", Title = "An Approach to Decentralized Computer Systems", Journal = IEEETSE, Volume = "SE-12", Number = 6, Month = Jun, Year = 1986, Pages = "684-692", Annote = "Reasons for distribution. 15 references." } @InProceedings{Greif-Seliger-Weihl86, Key = "Greif \& Seliger \& Weihl", Author = "Irene Greif and Robert Seliger and William Weihl", Title = "Atomic Data Abstractions in a Distributed Collaborative Editing System (Extended Abstract)", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = Jan, Year = 1986, Pages = "160-172", Annote = "Reports on some experience using Argus. 20 references." } @TechReport{Greif75, Key = "Greif", Author = "Irene Greif", Title = "Semantics of Communicating Parallel Processes", Month = Sep, Year = 1975, Institution = "Massachusetts Institute of Technology, Project MAC", Number = 154, Annote = "Develops a specification language based on the actor model. 43 references." } @Article{Grimshaw93, Key = "Grimshaw", Author = "Andrew S. Grimshaw", Title = "Easy-to-Use Object-Oriented Parallel Processing with Mentat", Journal = "IEEE Computer", Year = 1993, Volume = 26, Number = 5, Month = May, Pages = "39-51", Annote = "Mentat adds data parallel programming to C++. 12 references." } @TechReport{Gruber89, Key = "Gruber", Author = "Robert Edward Gruber", Title = "Optimistic Concurrency Control For Nested Distributed Transactions", Institution = MITLCS, Year = "1989", Number = 453, Month = "June", Annote = "47 references." } @InProceedings{Habermann78, Key = "Habermann", Author = "N. Habermann", Title = "Dynamically Modifiable Distributed Systems", BookTitle = "Proceedings of the Distributed Sensor Net Workshop", Organization = "Carnegie-Mellon University, Pittsburgh, Penn.", Month = Dec, Year = 1978, Annote = "Uses version numbers on objects, they are translated to a canonical form when necessary and then to the form used by the version of the type manager that is manipulating them." } @Article{Haerder-Reuter83, Key = "Haerder \& Reuter", Author = "Theo Haerder and Andreas Reuter", Title = "Principles of Transaction-Oriented Database Recovery", Journal = ACMCS, Volume = 15, Number = 4, Month = Dec, Year = 1984, Pages = "287-317", Annote = "Analytic discussion of various kinds of database recovery mechanisms. Presents a simple taxonomy and costs. 38 references." } @Book{Hartley98, author = {Stephen J. Hartley}, title = {Concurent Programming: The {Java} Programming Language}, publisher = {Oxford}, year = 1998, key = {Hartley}, address = NY, annote = {44 references} } @Article{Hassan-Bal-Jacobs98, author = {Saniya Ben Hassan and Henri E. Bal and Ceriel J. H. Jacobs}, title = {A Task- and Data-Parallel Programming Language Based on Shared Objects}, journal = TOPLAS, year = 1998, key = {Hassan \& Bal \& Jacobs}, volume = 20, number = 6, month = Nov, pages = {1131-1170}, annote = {43 references.} } @inproceedings{Hatcliff-Robby-Dwyer04, key = {Hatcliff \& Robby \& Dwyer}, author = {John Hatcliff and Robby and Matthew Dwyer}, title = {Verifying Atomicity Specifications for Concurrent Object Oriented Software Using Model Checking}, booktitle = {Proceedings of the 5th International Conference on Verification, Model Checking, and Abstract Interpretation}, publisher = SV, series = LNCS, volume = 2937, year = 2004, pages = {175-190} } @TechReport{Hennessy-Ingolfsdottir89, Key = "Hennessy \& Ingolfsdottir", Author = "Matthew Hennessy and A. Ing\'{o}lfsd\'{o}ttir", Title = "A Theory of Communicating Processes with Value-passing", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "3/89", Month = Mar, Year = 1989, Annote = "Fully abstract semantics of process algebras that allows processes to communicate with values. Sound and complete proof system. 16 references." } @TechReport{Hennessy-Milner80, Key = "Hennessy \& Milner", Author = "Matthew Hennessy and Robin Milner", Title = "On Observing Nondeterminism and Concurrency", Institution = "University of Edinburgh, Department of Computer Science", Type = "Internal Report", Number = "CSR-69-80", Year = 1980, Month = Sep, Annote = "Defines observation congruence of programs. 9 references." } @Article{Hennessy-Milner85, Key = "Hennessy \& Milner", Author = "Matthew Hennessy and Robin Milner", Title = "Algebraic Laws for Nondeterminism and Concurrency", Journal = JACM, Volume = 32, Number = 1, Month = Jan, Year = 1985, Pages = "137-161" } @TechReport{Hennessy-Regan90, Key = "Hennessy \& Regan", Author = "Matthew Hennessy and T. Regan", Title = "A Temporal Process Algebra", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "9/20", Month = Mar, Year = 1990, Annote = "Processes algebras extended with idling until next clock cycle 25 references." } @Book{Hennessy88a, Key = "Hennessy", Author = "Matthew Hennessy", Title = "Algebraic Theory of Processes", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1988, Annote = "Semantic theory of communicating processes and a logical proof system for reasoning about them. Self-contained. 73 references." } @TechReport{Hennessy88b, Key = "Hennessy", Author = "Matthew Hennessy", Title = "Behaviour Equivalences: An Approach to the Semantics of Processes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "4/88", Month = Aug, Year = 1988, Note = "Notes for the CLSI Workshop on the semantics of natural and computer languages, 1987", Annote = "Informal account of structural composition and semantics of communicating concurrent systems. 15 references." } @TechReport{Hennessy88c, Key = "Hennessy", Author = "Matthew Hennessy", Title = "Observing Processes", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "5/88", Month = Dec, Year = 1988, Annote = "Tutorial account of behavioral theories of processes. 20 references." } @TechReport{Hennessy89, Key = "Hennessy", Author = "Matthew Hennessy", Title = "A Proof System for Communicating Processes with Value-Passing", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "5/89", Month = Aug, Year = 1989, Annote = "Sound and complete proof system for a version of CCS with value-passing. 20 references." } @Article{Herlihy-Lynch-Merritt92, Key = "Herlihy \& Lynch \& Merritt", Author = "Maurice Herlihy and Nancy Lynch and Michael Merritt", Title = "On the correctness of orphan management algorithms", Journal = JACM, Year = 1992, Volume = 39, Month = Oct, Pages = "881-930" } @InProceedings{Herlihy-Wing87, Key = "Herlihy and Wing", Author = "Maurice P. Herlihy and Jeannette M. Wing", Title = "Avalon: Language Support for Reliable Distributed Systems", BookTitle = "Seventeenth International Symposium on Fault-Tolerant Computing, Pittsburgh, Pennsylvania", Month = Jul, Year = 1987, Pages = "89-94", Organization = IEEE, Annote = "A set of linguistic constructs designed to give programmers explicit control over transaction-based processing. 25 references." } @Article{Herlihy-Wing89, Key = "Herlihy \& Wing", Author = "Maurice P. Herlihy and Jeanette M. Wing", Title = "Linearizable Concurrent Objects", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 4, Month = Apr, Pages = "133-135", Note = "Proceedings of the ACM SIGPLAN workshop on object-based concurrent programming", Annote = "0 references." } @Article{Herlihy-Wing91, Key = "Herlihy \& Wing", Author = "M. P. Herlihy and J. M. Wing", Title = "Specifying Graceful Degradation", Journal = "IEEE Transactions on Parallel and Distributed Systems", Year = 1991, Volume = 2, Number = 1, Month = Jan, Pages = "93-103", Annote = "29 references." } @TechReport{Herlihy82, Key = "Herlihy", Author = "Maurice Herlihy", Title = "A Control Abstraction for Process Synchronization", Institution = MITLCS, Year = 1982, Month = Oct, Type = "DSG Note", Number = 106, Annote = "Synchronizers are a way of generalizing the mutex type and the seize statement in Argus. 1 reference." } @TechReport{Herlihy84, Key = "Herlihy", Author = "Maurice Peter Herlihy", Title = "Replication Methods for Abstract Data Types", Institution = MITLCS, Year = 1984, Month = May, Number = 319, Annote = "New techniques for replication that uses type-specific properties of objects to provide more effective replication. Quorums are associated with operations of the type. 45 references." } @Article{Herlihy86a, Key = "Herlihy", Author = "Maurice Herlihy", Title = "A Quorum-Consensus Replication Method for Abstract Data Types", Journal = TOCS, Volume = 4, Number = 1, Month = Feb, Year = 1986, Pages = "32-53", Annote = "Method exploiting type specific properties for more effective replication. Also proposes a reconfiguration method that permits quorums to change dynamically. 33 references." } @InProceedings{Herlihy86b, Key = "Herlihy", Author = "Maurice Herlihy", Title = "Optimistic Concurrency Control for Abstract Data Types", BookTitle = "Proceedings of the Fifth Annual ACM Symposium on Principles of Distributed Computing", Organization = ACM, Year = 1986, Pages = "?", Note = "Reprinted in ACM SIGOPS Operating Systems Review, Volume 21, Number 2, April 1987, Pages 33-44", Annote = "27 references" } @Article{Herlihy87a, Key = "Herlihy", Author = "Maurice Herlihy", Title = "Concurrency versus Availability: Atomicity Mechanisms", Journal = TOCS, Volume = 5, Number = 3, Month = Aug, Year = 1987, Annote = "Concurrency control and replica management handled by a single protocol. Allows more concurrency and allows availability to be traded against concurrency. 33 references." } @Article{Herlihy87b, Key = "Herlihy", Author = "Maurice Herlihy", Title = "Dynamic Quorum Adjustment for Partitioned Data", Journal = TODS, Volume = 12, Number = 2, Month = Jun, Year = 1987, Pages = "170-194" } @Article{Herlihy89, Key = "Herlihy", Author = "Maurice P. Herlihy", Title = "Taking Concurrency Seriously", Journal = SIGPLAN, Year = 1989, Volume = 24, Number = 4, Month = Apr, Pages = "32-33", Note = "Proceedings of the ACM SIGPLAN workshop on object-based concurrent programming", Annote = "3 references." } @Article{Herlihy90, Key = "Herlihy", Author = "Maurice Herlihy", Title = "Concurrency and availability as dual properties of replicated atomic data", Journal = JACM, Year = 1990, Volume = 37, Number = 2, Month = Apr, Pages = "257-278" } @Article{Herlihy91, Key = "Herlihy", Author = "Maurice Herlihy", Title = "Wait-Free Synchronization", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 1, Month = Jan, Pages = "124-149", Annote = "31 references." } @Article{Herlihy93, Key = "Herlihy", Author = "Maurice Herlihy", Title = "A Methodology for Implementing Highly Concurrent Data Objects", Journal = TOPLAS, Volume = 15, Number = 5, Month = Nov, Year = 1993, Pages = "745-770", Annote = "45 references" } @TechReport{Hewitt-Baker77, Key = "Hewitt \& Baker", Author = "Carl Hewitt and Henry {Baker Jr.}", Title = "Actors and Continuous Functionals", Institution = MITLCS, Month = Dec, Year = 1977, Number = 194, Annote = "Laws that hold for communicating processes, that is restrictions on computations that are physically realizable, are presented in the actor formalism without proof. Various partial orders. Relation to denotational semantics. 50 references." } @Article{Hillis-Steele86, Key = "Hillis \& Steele", Author = "W. Daniel Hillis and Guy L. {Steele Jr.}", Title = "Data Parallel Algorithms", Journal = CACM, Volume = 29, Number = 12, Month = Dec, Year = 1986, Pages = "1170-1183", Annote = "Parallel algorithms for the connection machine. 25 references." } @Article{Hoare74, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Monitors: An Operating System Structuring Concept", Journal = CACM, Volume = 17, Number = 10, Month = Oct, Year = 1974, Pages = "549-557" } @Book{Hoare85, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Communicating Sequential Processes", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1985 } @Article{Hufnagel-Browne89, Key = "Hufnagel \& Browne", Author = "Stephen P. Hufnagel and James C. Browne", Title = "Performance Properties of Vertically Partitioned Object-Oriented Systems", Journal = IEEETSE, Volume = 15, Number = 8, Month = Aug, Year = 1989, Pages = "935-946", Annote = "Vertical partitioning means having the type be responsible for its storage, concurrency control, etc. 20 references." } @InCollection{Jagannathan91, Key = "Jagannathan", Author = "Suresh Jagannathan", Title = "Expressing Fine-Grained Parallelism Using Concurrent Data Structures", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "77-92", Annote = "18 references" } @Book{Janici-Lauer92, Key = "Janici \& Lauer", Author = "Ryszard Janici and Peter E. Lauer", Title = "Specification and Analysis of Concurrent Systems: The COSY Approach", Year = 1992, Publisher = SV, Series = "EATCS Monographs on Theoretical Computer Science", Annote = "many references." } @Unpublished{Jategaonkar-Meyer93, Key = "Jategaonkar \& Meyer", Author = "Lalita Jategaonkar and Albert Meyer", Title = "Self-Synchronization of concurrent processes", Note = "Preliminary report --- To appear in LICS '93.", Annote = "24 references. " } @Unpublished{Jategaonkar-Meyer93b, Key = "Jategaonkar \& Meyer", Author = "Lalita Jategaonkar and Albert Meyer", Title = "Testing Equivalence for Petri Nets with Action Refinement", Note = "Obtained from the Authors: lalitha@theory.lcs.mit.edu" } @Article{Jefferson85, Key = "Jefferson", Author = "David R. Jefferson", Title = "Virtual Time", Journal = TOPLAS, Month = Jul, Year = 1985, Volume = 7, Number = 3, Pages = "404-425", Annote = "A distributed transaction processing protocol which uses a notion of virtual time, that is, Lamport clocks, to synchronize activities. Use of antimessages for rollback when necessary. 32 references." } @Article{Jones-Rashid86, Key = "Jones \& Rashid", Author = "Michael B. Jones and Richard F. Rashid", Title = "Mach and Matchmaker: Kernel and Language Support for Object-Oriented Distributed Systems", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "67-77", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Mach is a multiprocessor operating system that provides uniform object references, protected object capabilities, and efficient cross domain object communication object operation invocation. Matchmaker is an interface specification language that supports multiple programming languages, language support for object references, language interfaces for object operations, operation interface notation, and interface code generation. Capability based design. Matchmaker hides the underlying message passing mechanisms of Mach. Parameters other than object references are passed by value. 29 references." } @Article{Joshi-Ram99, key = {Joshi \& Ram}, author = {Rushikesh K. Joshi and D. Janaki Ram}, title = {Anonymous Remote Computing: A Paradigm for Parallel Programming on Interconnected Workstations}, journal = IEEETSE, year = 1999, volume = 25, number = 1, month = Jan, pages = {75-90}, annote = {42 references.} } @InProceedings{Joung-Smolka92, Key = "Joung \& Smolka", Author = "Yuh-Jzer Joungand Scott A. Smolka", Title = "A Comprehensive Study of the Complexity of Multiparty Interaction (Extended Abstract)", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "142-153", Organization = ACM, Month = Jan, Annote = "29 references." } @Article{Joyce-etal87, Key = "Joyce, {\em et al.}", Author = "Jeffrey Joyce and Greg Lomow and Konrad Slind and Brian Unger", Title = "Monitoring Distributed Systems", Journal = TOCS, Volume = 2, Number = 2, Month = May, Year = 1987, Pages = "121-150", Annote = "Collection, interpretation, and display of information about the interactions of concurrently executing processes. The Jade distributed programming environment. 30 references." } @Article{Jul-etal88, Key = "Jul, {\em et al.}", Author = "Eric Jul and Henry Levy and Norman Hutchinson and Andrew Black", Title = "Fine-grained Mobility in the Emerald System", Journal = TOCS, Volume = 6, Number = 1, Month = Feb, Year = 1988, Pages = "109-133" } @Article{Jun-Gruenwald98, key = {Jun \& Gruenwald}, author = {Woochun Jun and Le Gruenwald}, title = {Semantics-Based Concurrency Control in Object-Oriented Databases}, journal = JOOP, year = 1998, volume = 10, number = 8, month = Jan, pages = {33-39}, annote = {17 references.} } @Article{Kafura-Lee89, Key = "Kafura \& Lee", Author = "D. G. Kafura and K. H. Lee", Title = "Inheritance in actor based concurrent object-oriented languages", Journal = "Computer Journal", Year = 1989, Volume = 32, Number = 4, Month = Aug, Pages = "297-304", Note = "Special Issue on object-oriented programming" } @InCollection{Kahn-MacQueen77, author = "G. Kahn and D. MacQueen", editor = "B. Gilchrist", title = "Coroutines and Networks of Parallel Processes", booktitle = "Information Processing '77: Proceedings of the IFIP Congress", pages = "993-998", publisher = "North-Holland", year = 1977 } @Article{Kahn-Saraswat90, Key = "Kahn \& Saraswat", Author = "Kenneth M. Kahn and Vijay A. Saraswat", Title = "Actors as a Special Case of Concurrent Constraint Programming", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "57-65", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "22 references." } @InCollection{Kahn74, author = "G. Kahn", editor = "J. L. Rosenfeld", title = "The semantics of a simple language for parallel programming", booktitle = "Information Processing '74: Proceedings of the IFIP Congress", pages = "471-475", publisher = "North-Holland", address = NY, year = 1974 } @article{Katz93, Key = "Katz", author = {Shmuel Katz}, title = {A superimposition control construct for distributed systems}, journal = TOPLAS, volume = {15}, number = {2}, year = {1993}, issn = {0164-0925}, pages = {337--356}, doi = {http://doi.acm.org/10.1145/169701.169682}, publisher = {ACM Press}, } @TechReport{Kiehn89, Key = "Kiehn", Author = "Astrid Kiehn", Title = "Distributed Bisimulations for Finite CCS", Institution = "Computer Science, School of Cognitive and Computing Sciences, University of Sussex", Address = "Brighton BN1 9QH", Number = "7/89", Month = Dec, Year = 1989, Annote = "17 references." } @Article{Kilov93, Key = "Kilov", Author = "Haim Kilov", Title = "Precise Specificationm of behavior in Object-Oriented Standarization activities", Journal = "Computer Standards and Interfaces", Volume = 15, Year = 1993, Pages = "275-285", Annote = "39 references" } @Article{Kim84, Key = "Kim", Author = "Won Kim", Title = "Local Networks", Journal = ACMCS, Pages = "71-98", Volume = 16, Number = 1, Month = Mar, Year = 1984, Annote = "Survey of hardware and software aspects of highly available systems for database applications. Discusses several examples. 38 references." } @Article{Knight-Urquhart84, Key = "Knight \& Urquhart", Author = "John C. Knight and John I. A. Urquhart", Title = "On the Implementation and Use of Ada on Fault-Tolerant Distributed Systems", Journal = "ACM Ada Letters", Volume = "IV", Number = 3, Month = Nov, Year = 1984, Pages = "53-64", Annote = "Problems with using Ada in an environment where processors can fail. Suggests extensions to semantics to deal with failures. 10 references." } @Article{Koo-Toueg87, Key = "Koo \& Toueg", Author = "Richard Koo and Sam Toueg", Title = "Checkpointing and Rollback-Recovery for Distributed Systems", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "23-31", Month = Jan, Year = 1987, Annote = "Distributed algorithms for taking consistent checkpoints and rollback recovery that tolerate failures. 18 references." } @Article{Korth83, Key = "Korth", Author = "Henry F. Korth", Title = "Locking Primitives in a Database System", Journal = JACM, Volume = 30, Number = 1, Month = Jan, Year = 1983, Pages = "55-79", Annote = "Extends the notion of intention modes from system R and treats generalized update modes. 11 references." } @Article{Kramer-Magee85, Key = "Kramer \& Magee", Author = "Jeff Kramer and Jeff Magee", Title = "Dynamic Configuration for Distributed Systems", Journal = IEEESE, Volume = "SE-11", Number = 4, Month = Apr, Year = 1985, Pages = "424-436", Annote = "The CONIC language." } @InProceedings{Kung-Kung85, Key = "Kung \& Kung", Author = "A. Kung and R. Kung", Title = "GALAXY: A Distributed Real-time Operating System Supporting High Availability", BookTitle = "Proceedings Real-time Systems Symposium, San Diego", Month = Dec, Year = 1985, Organization = IEEE } @Article{Kung-Robinson81, Key = "Kung \& Robinson", Author = "H. T. Kung and John T. Robinson", Title = "On Optimistic Methods for Concurrency Control", Journal = TODS, Volume = 6, Number = 2, Month = Jun, Year = 1981, Pages = "213-226", Annote = "Optimistic concurrency control protocols are introduced along with some detailed discussion of their implementations. 15 references." } @InProceedings{L89, author = "L L", title = "High-Level Distributed Objects in a Flexible Testbed for Distributed {AI} Research", booktitle = "Proceedings of the ACM SIGPLAN Workshop on Object-Based Concurrent Programming", pages = "108--110", month = Apr, year = 1989, keywords = "Object-Oriented Languages Parallel Programming", abstract = "Describes a multiagent computing environment for distributed AI research.", note = "Published as {\it ACM SIGPLAN Notices}, volume 24, number 4", } @TechReport{Ladin-Liskov-Shrira88, Key = "Ladin \& Liskov \& Shrira", Author = "Rivka Ladin and Barbara Liskov and Luiba Shrira", Title = "A Technique for Constructing Highly Available Services", Institution = MITLCS, Month = Jan, Year = 1988, Number = "TR-409", Annote = "Gossip scheme that exploits the semantics of applications to provide high availability. 20 references." } @Article{Ladin-Liskov-Shrira91, Key = "Ladin \& Liskov \& Shrira", Author = "Rivka Ladin, and Barbara Liskov and Liuba Shrira", Title = "Lazy Replication: Exploiting the Semantics of Distributed Services", Journal = SIGOPS, Year = 1991, Volume = 25, Number = 1, Month = Jan, Pages = "49-54", Annote = "18 references." } @Article{Ladin-etal92, Key = "Ladin, {\em, et al.}", Author = "Rivka Ladin and Barbara Liskov, and Liuba Shrira and Sanjay Ghemawat", Title = "Providing High Availability Using Lazy Replication", Journal = "ACM Transactions on Computer Systems", Volume = 10, Number = 4, Month = Nov, Year = 1992, Pages = "360-391", Annote = "36 references." } @Book{Lafferty-etal93, Key = "Lafferty, {em et al.}", Author = "Edward L. Lafferty and Marion C. Michaud and Myra Jean Prelle and Joann B. Goethert", Title = "Parellel Computing: An Introduction", Publisher = "Noyes Data Corporation", Year = 1993, Address = "Park Ridge, New Jersey, USA", Annote = "117 references." } @InCollection{Lamport-Lynch90, Key = "Lamport\& Lynch", Author = "Leslie Lamport and Nancy Lynch", Booktitle = "Handbook of Theoretical Computer Science", Title = "Distributed Computing: Models and Methods", Chapter = 19, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "1157-1199", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "81 references." } @TechReport{Lamport-Melliar-Smith82, Key = "Lamport \& Melliar-Smith", Author = "L. Lamport and P. M. Melliar-Smith", Title = "Synchronizing Clocks in the Presence of Faults", Month = Mar, Year = 1982, Number = 60, Institution = "SRI International, Computer Science Laboratory" } @Article{Lamport-Melliar-Smith86, Key = "Lamport \& Melliar-Smith", Author = "Leslie Lamport and P. M. Melliar-Smith", Title = "Byzantine Clock Synchronization", Journal = SIGOPS, Volume = 20, Number = 3, Month = Jul, Year = 1986, Pages = "10-16", Note = "Reprinted from the Third ACM Symposium on Principles of Distributed Computing, ACM, 1984", Annote = "11 references." } @Article{Lamport-Schneider84, Key = "Lamport \& Schneider", Author = "Leslie Lamport and Fred B. Schneider", Title = {The "Hoare Logic" of CSP and All That}, Month = Apr, Year = 1984, Volume = 6, Number = 2, Journal = TOPLAS, Pages = "281-296", Annote = "Formal logical system for deriving invariance properties of programs. 19 references." } @TechReport{Lamport-Schneider89, Key = "Lamport \& Schneider", Author = "Leslie Lamport and Fred B. Schneider", Title = "Pretending Atomicity", Month = May, Year = 1989, Institution = DECSRC, Number = 44, Annote = "Deriving properties of a concurrent program by reasoning about a courser-grained version. 10 references." } @Article{Lamport-Shostak-Pease82, Key = "Lamport \& Shostak \& Pease", Author = "L. Lamport and R. Shostak and M. Pease", Title = "The Byzantine Generals Problem", Journal = TOPLAS, Volume = 4, Number = 3, Month = Jul, Year = 1982, Pages = "382-401", Note = "Also SRI Inter., CSL, Tech. Rep. 54, March 1980" } @Article{Lamport74, Key = "Lamport", Author = "L. Lamport", Title = "A new solution of Dijkstra's concurrent programming problem", Journal = CACM, Volume = 17, Number = 8, Month = Aug, Year = 1974, Pages = "453-455", Annote = "The bakery algorithm, which solves the mutual exclusion problem" } @Article{Lamport78a, Key = "Lamport", Author = "L. Lamport", Title = "The Implementation of Reliable Distributed Multiprocess Systems", Journal = "Computer Networks", Volume = 2, Year = 1978, Pages = "95-114" } @Article{Lamport78b, Key = "Lamport", Author = "L. Lamport", Title = "Time, Clocks and the Ordering of Events in a Distributed System", Journal = CACM, Volume = 21, Number = 7, Month = Jul, Year = 1978, Pages = "558-565", Note = "Also Mass. Comput. Assoc., Inc. Tech. Rep., CA-7603-2911, March, 1976" } @TechReport{Lamport80a, Key = "Lamport", Author = "L. Lamport", Title = "The Weak Byzantine Generals Problem", Institution = "Computer Science Laboratory, SRI International", Number = 58, Year = 1980, Month = Nov, Note = "To appear in JACM" } @Article{Lamport80b, Key = "Lamport", Author = "Leslie Lamport", Title = {The "Hoare Logic" of Concurrent Programs}, Journal = "Acta Informatica", Year = 1980, Pages = "21-37", Volume = 14, Number = 1 } @Article{Lamport83, Key = "Lamport", Author = "Leslie Lamport", Title = "Specifying Concurrent Program Modules", Journal = TOPLAS, Month = Apr, Year = 1983, Pages = "190-222", Volume = 5, Number = 2, Annote = "Method for specifying program modules in a concurrent program. New kinds of temporal assertions. 11 references." } @Article{Lamport84a, Key = "Lamport", Author = "Leslie Lamport", Title = "Using Time Instead of Timeout for Fault-Tolerant Distributed Systems", Month = Apr, Year = 1984, Volume = 6, Number = 2, Journal = TOPLAS, Pages = "254-280", Annote = "Clock-driven algorithm for implementing distributed systems. 14 references." } @InProceedings{Lamport84b, Key = "Lamport", Author = "Leslie Lamport", Title = "Solved Problems, Unsolved Problems and Non-Problems in Concurrency", BookTitle = "Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing", Year = 1984, Organization = ACM, Pages = "?", Note = "Reprinted in SIGOPS Operating Systems Review, Vol. 19, Number 4, Oct. 1985, pages 34-44.", Annote = "Discusses why priority cannot be specified, among other things. 4 references." } @Article{Lamport85, Key = "Lamport", Author = "L. Lamport", Title = "The mutual exclusion problem --- Parts i and ii", Journal = JACM, Volume = 33, Number = 2, Month = Jan, Year = 1985, Pages = "313-348" } @Article{Lamport86, Key = "Lamport", Author = "L. Lamport", Title = "On interprocess communication", Journal = "Distributed Computing", Year = 1986, Volume = 1, Pages = "77-101", Annote = "Discussion of true concurrency." } @Article{Lamport89, Key = "Lamport", Author = "Leslie Lamport", Title = "A Simple Approach to Specifying Concurrent Systems", Journal = CACM, Volume = 32, Number = 1, Month = Jan, Year = 1989, Pages = "32-45", Annote = "The transition axiom method. 21 references." } @TechReport{Lamport93, Key = "Lamport", Author = "Leslie Lamport", Title = "How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor", Institution = DECSRC, Month = Feb, Year = 1993, Annote = "97 references." } @InCollection{Lampson-Sturgis81, Key = "Lampson", Author = "B. W. Lampson", Title = "Atomic Transactions", BookTitle = "Distributed Systems--Architecture and Implementation", Year = 1981, Publisher = SV, Series = LNCS, Volume = 105, Address = NY, Pages = "246-265", Note = "This is a revised version of Lampson and Sturgis's unpublished {\em Crash Recovery in a Distributed Data Storage System}.", Annote = "Discusses physical devices and their failure modes, how to build stable storage and transactions on top of them." } @Book{Lampson81, Key = "Lampson", Author = "B. W. Lampson (ed.)", Title = "Distributed Systems--Architecture and Implementation", Year = 1981, Publisher = SV, Series = LNCS, Volume = 105, Address = NY, Annote = "This volume contains several papers and a extensive bibliography" } @InProceedings{Lampson86, Key = "Lampson", Author = "Butler W. Lampson", Title = "Designing a Global Name Service", BookTitle = "Fifth ACM Symposium on Principles of Distributed Computing, Calgary, Alberta", Month = Aug, Year = 1986, Organization = ACM, Pages = "?" } @InProceedings{Lansky-Owicki83, Key = "Lansky \& Owicki", Author = "Amy L. Lansky and Susan S. Owicki", Title = "GEM: A Tool for Concurrency Specification and Verification", BookTitle = "ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal Quebec, Canada", Organization = ACM, Pages = "198-212", Month = Aug, Year = 1983, Annote = "Event-oriented model of concurrency and a specification/verification system based on it called GEM for Group Element Model. Specifications are restrictions over computations, described by elements and grouped in various ways. Can use temporal logic on histories. 29 references." } @TechReport{Lansky83, Key = "Lansky", Author = "Amy L. Lansky", Title = "Specification and Analysis of Concurrency", Institution = "Stanford University, Department of Computer Science", Number = "STAN-CS-83-993", Year = 1983, Month = Dec, Annote = "The author's Ph. D. thesis. Event-oriented model of concurrency and a specification/verification system based on it called GEM for Group Element Model. Specifications are restrictions over computations, described by elements and grouped in various ways. Can use temporal logic on histories. 95 references." } @InCollection{LeLann81, Key = "LeLann", Author = "Gerard LeLann", Title = "Motivations, Objectives and Characterization of Distributed Systems", Pages = "1-9", Editor = "B. W. Lampson", BookTitle = "Distributed Systems--Architecture and Implementation", Year = 1981, Publisher = SV, Series = LNCS, Volume = 105, Address = NY } @Book{Lea:00, author = "Doug Lea", title = "Concurrent Programming in {Java}: Second Edition", publisher = "Addison-Wesley", year = "2000" } @Book{Lea96, author = "Doug Lea", title = "Concurrent programming in {Java}: design principles and patterns", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA, USA", pages = "352", year = "1996", series = "The Java series", annote = "Some references" } @TechReport{Leavens86, Key = "Leavens", Author = "Gary T. Leavens", Title = "Using a Guardian to Make Progress in a Long Computation: The Search for Hailstone Peaks", Type = "DSG Note", Number = 142, Month = May, Year = 1986, Institution = MITLCS } @TechReport{Leavens87, Key = "Leavens", Author = "Gary T. Leavens", Title = "The Hailstone System", Type = "DSG Note", Number = 148, Month = Mar, Year = 1987, Institution = MITLCS } @TechReport{Leavens89b, Key = "Leavens", Author = "Gary T. Leavens", Title = "A Distributed Search Program for the $3x+1$ problem", Institution = "Iowa State University, Department of Computer Science", Year = 1989, Number = "89-22", Address = "Ames, Iowa", Month = Nov } @Article{Ledru98, key = {Ledru}, author = {Pascal Ledru}, title = {{JSpace}: Implementation of a Linda System in Java}, journal = SIGPLAN, year = 1998, volume = 33, number = 8, month = Aug, pages = {48-50}, annote = {6 references.} } @Article{Leivent-Watro, Key = "Leivent \& Watro", Author = "Jonathan I. Leivent and Ronald J. Watro", Title = "Mathematical foundations for Time Warp Systems", Journal = TOPLAS, Month = Nov, Year = 1993, Volume = 15, Number = 5, Pages = "771-794", Annote = "11 references" } @Book{Lewis94, key = "Lewis", author = "Ted G. Lewis", title = "Foundations of Parallel Programming: A Machine-Independent Approach", publisher = "IEEE Computer Society Press", year = 1994 } @TechReport{Lin-Ahamad89, Key = "Lin \& Ahamad", Author = "Luke Lin and Mustaque Ahamad", Title = "Checkpointing and Rollback-Recovery in Distributed Object Based Systems", Institution = "School of Information and Computer Science, Georgia Institute of Technology", Month = Nov, Year = 1989, Number = "GIT-ICS-89/43", Annote = "27 references." } @InProceedings{Lindsay81, Key = "Lindsay", Author = "Bruce Lindsay", Title = "Object Naming and Catalog Management for a Distributed Database Manager", BookTitle = "Proceedings of the 2nd International Conference on Distributed Computing Systems, Paris", Year = 1981, Pages = "31-40", Organization = IEEE, Annote = "The catalog architecture of system R*. A major consideration is site autonomy. 11 references." } @Article{Lipton75, author = {Richard J. Lipton}, title = {Reduction: a method of proving properties of parallel programs}, journal = {Communications of the ACM}, volume = 18, number = 12, year = 1975, pages = {717-721}, doi = {http://doi.acm.org/10.1145/361227.361234}, publisher = {ACM Press}, } @TechReport{Liskov-Day-Shrira93, Key = "Liskov \& Day \& Shrira", Author = "Barbara Liskov and Mark Day and Liuba Shrira", Title = "Distributed Object Management in THOR", Type = "Programming Methodology group memo", Number = 77, Institution = MITLCS, Month = Jun, Year = 1993, Annote = "To appear in Distributed Object Management. 50 references" } @TechReport{Liskov-Herlihy-Gilbert84, Key = "Liskov \& Herlihy \& Gilbert", Author = "Barbara Liskov and Maurice Herlihy and Lucy Gilbert", Title = "Limitations of Remote Procedure Call and Static Process Structure for Distributed Computing", Institution = MITLCS, Type = "Programming Methodology Group Memo", Number = 41, Month = Sep, Year = 1984, Annote = "Discussion of the expressive power limitations of languages that have modules with a fixed number of processes and that also use RPC. Discussion of Ada especially. 15 references." } @InProceedings{Liskov-Herlihy-Gilbert86, Key = "Liskov \& Herlihy \& Gilbert", Author = "Barbara Liskov and Maurice Herlihy and Lucy Gilbert", Title = "Limitations of Synchronous Communication with Static Process Structure in Languages for Distributed Computation", BookTitle = "Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Organization = ACM, Month = Jan, Year = 1986, Pages = "150-159", Annote = "Why synchronous communication does not work well with a static process structure. Ada made the wrong choice. 27 references." } @TechReport{Liskov-Herlihy83, Key = "Liskov \& Herlihy", Author = "Barbara Liskov and Maurice Herlihy", Title = "Issues in Process and Communication Structure for Distributed Programs", Institution = MITLCS, Type = "Programming Methodology Group Memo", Number = 38, Month = Jul, Year = 1983, Annote = "Discussion of the process structure and communication primitives chosen for Argus and a comparison with the alternatives. 26 references." } @Article{Liskov-Scheifler83, Key = "Liskov \& Scheifler", Author = "Barbara Liskov and Robert Scheifler", Title = "Guardians and Actions: Linguistic Support for Robust, Distributed Programs", Volume = 5, Number = 3, Journal = TOPLAS, Year = 1983, Pages = "381-404", Month = Jul, Annote = "Describes the main concepts in Argus. 30 references." } @TechReport{Liskov-Shrira-Wroclawski90, Key = "Liskov \& Shrira \& Wroclawski", Author = "Barbara Liskov and Liuba Shrira and John Wroclawski", Title = "Efficient At-Most-Once Messagees Based on Synchronized Clocks", Institution = MITLCS, Year = 1990, Number = 476, Address = "Cambridge, Mass", Month = Apr, Note = "Appears in ACM Transactions on Computer Systems, May 1991, Vol 9 Num 2" } @Article{Liskov-etal87b, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov, Dorothy Curtis, Paul Johnson, Robert Scheifler", Title = "Implementation of Argus", Journal = SIGOPS, Volume = 21, Number = 5, Month = Nov, Year = 1987, Pages = "111-122", Note = "Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, Austin, Texas." } @TechReport{Liskov-etal87c, Key = "Liskov {\em et al.}", Author = "Barbara Liskov and Robert Scheifler and Edward Walker and William Weihl", Title = "Orphan Detection", Institution = MITLCS, Year = 1987, Type = "Programming Methodology Group Memo", Number = 53, Address = "Cambridge, Mass, 02139", Month = Feb, Annote = "20 references." } @TechReport{Liskov-etal88, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov and Toby Bloom and David Gifford and Robert Scheifler and William Weihl", Title = "Communications in the MERCURY System", Institution = MITLCS, Type = "Programming Methodology Group Memo", Address = "Cambridge, Mass, 02319", Number = 59, Month = Ape, Year = 1988, Annote = "17 references." } @TechReport{Liskov-etal90a, Key = "Liskov {\em et al.}", Author = "Barbara Liskov and Robert Gruder and Paul Johnson and lluba Shrira", Title = "A Highly Availiable Object Repository for Use in a Heterogenous Distributed System", Institution = MITLCS, Year = 1990, Type = "Programming Methodology Group Memo ", Number = 70, Address = "Cambridge, Mass, 02139", Month = Aug, Annote = "30 references." } @TechRepot{Liskov-etal90b, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov, Robert Gruber, Paul Johnson, Liuba Shrira", Title = "A Replicated Unix File System", Institution = MITLCS, Year = 1990, Month = Oct, Number = 71, Annote = "12 references." } @Article{Liskov-etal91, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov, Robert Gruber, Paul Johnson, Liuba Shrira", Title = "A Replicated Unix File System", Journal = SIGOPS, Year = 1991, Volume = 25, Number = 1, Month = Jan, Pages = "60-64", Annote = "12 references." } @InCollection{Liskov-etal99, key = {Liskov, {\em et al.}}, author = {Barbara Liskov and Miguel Castro and Liuba Shrira and Atul Adya}, title = {Providing Persistent Objects in Distributed Systems}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {230-257}, annote = {The distributed obeject repository Thor. 61 references.} } @InProceedings{Liskov79, Key = "Liskov", Author = "Barbara Liskov", Title = "Primitives for Distributed Computing", BookTitle = "Proceedings of the Seventh Symposium on Operating Systems Principles", Organization = ACM, Pages = "33-42", Month = Dec, Year = 1979, Annote = "Proposes primitives for modularity and communication in distributed programs. Discusses the distributed environment. 22 references." } @InProceedings{Liskov81, Key = "Liskov", Author = "B. Liskov", Title = "On Linguistic Support for Distributed Programs", BookTitle = "Proceedings Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Month = Jul, Year = 1981, Pages = "53-60" } @TechReport{Liskov84, Key = "Liskov", Author = "Barbara Liskov", Title = "Overview of the Argus Language and System", Type = "Programming Methodology Group Memo", Number = 40, Institution = MITLCS, Month = Feb, Year = 1984, Annote = "45 references." } @TechReport{Liskov85, Key = "Liskov", Author = "Barbara Liskov", Title = "Implementing Optimistic Concurrency Control in Distributed Systems", Type = "DSG Note", Number = 127, Institution = MITLCS, Month = Mar, Year = 1985, Annote = "Concludes that the cost of constructing read and write sets and validating transactions may be as bad as running a pessimistic method. So optimistic methods may not be worthwhile." } @TechReport{Liskov92, Key = "Liskov", Author = "Barbara Liskov ", Title = "Preliminary Design of the THOR Object-Oriented Database System", Institution = MITLCS, Year = 1992, Type = "Programming Methodology Group Memo ", Number = 74, Address = "Cambridge, Mass, 02139", Month = Mar, Annote = "58 references." } @Article{Lomet77, Key = "Lomet", Author = "D. B. Lomet", Title = "Process Structuring, Synchronization and Recovery Using Atomic Actions", Journal = SIGPLAN, Volume = 12, Number = 3, Month = Mar, Year = 1977, Pages = "128-137", Annote = "Atomic actions, await statements, reset procedures. 11 references." } @Article{Loveman93, author = "D. B. Loveman", title = "High Performance Fortran", journal = "IEEE Parallel and Distributed Technology: Systems and Applications", volume = 1, number = 1, pages = "25--42", year = 1993 } @InProceedings{Lynch-Fischer-Fowler82, Key = "Lynch \& Fischer \& Fowler", Author = "N. A. Lynch and M. J. Fischer and R. Fowler", Title = "A Simple and Efficient Byzantine Generals Algorithm", BookTitle = "Proceedings Second Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Organization = IEEE, Month = Jul, Year = 1982, Pages = "46-52", Note = "Also published as Georgia Institute of Technology, School of Inf. and Comp. Sci. Tech. Rep. GIT-ICS-82/02, Feb. 1982" } @Article{Lynch-Fischer81, Key = "Lynch \& Fischer", Author = "Nancy A. Lynch and Michael J. Fischer", Title = "On Describing the Behavior and Implementation of Distributed Systems", Journal = "Theoretical Computer Science", Volume = 13, Number = 1, Month = Jan, Year = 1981, Pages = "17-43", Publisher = North-Holland, Address = NY, Annote = "Simple, primitive, general model of distributed/parallel systems based on processes and shared variables. Concentrates on complexity measurements for problems specified within the model defined. Treats specifications briefly. 15 references." } @Article{Lynch-Merritt88, Key = "Lynch \& Merritt", Author = "Nancy Lynch and Michael Merritt", Title = "Introduction to the Theory of Nested Transactions", Journal = TCS, Volume = 62, Pages = "123-185", Year = 1988, Annote = "28 references." } @TechReport{Lynch-Tuttle88, Key = "Lynch \& Tuttle", Author = "Nancy A. Lynch and Mark R. Tuttle", Title = "An Introduction to Input/Output Automata", Type = "Technical Memorandum", Number = "TM-373", Note = "TM-351 revised", Institution = MITLCS, Month = Nov, Year = 1988, Annote = "33 references." } @Article{Lynch-Vaandrager96, title = "Forward and Backward Simulations, {II}: Timing-Based Systems", key = "Lynch \& Vaandrager", author = "Nancy Lynch and Frits Vaandrager", pages = "1--25", journal = "Information and Computation", month = "10~" # jul, year = "1996", volume = "128", number = "1" } @InBook{Lynch-etal88, Key = "Lynch, {\em et al.}", Author = "Nancy Lynch and Michael Merritt and William Weihl and Alan Fekete", Title = "A Theory of Atomic Transactions", BookTitle = "ICDT '88, 2nd International Conference on Database Theory, Bruges, Belgium, August/September 1988", Editor = "M. Gyssens and J. Paredaens and D. Van Gucht", Series = LNCS, Volume = 326, Publisher = SV, Address = NY, Pages = "41-71", Year = 1988, Annote = "Correctness conditions for atomic transaction systems. I/O automata. Serializability theorem. 21 references." } @InProceedings{Lyons-Mehta89, key = "Lyons \& Mehta", author = "Damian Lyons and Sandeep Mehta", title = "A Distributed Computing Environment for the Multiple Robot Domain", booktitle = "Proceedings of the 4th International Conference on CAD/CAM Robotics and Factories of the Future", address = "New Delhi, India", year = "1989", } @InCollection{Makpangou-etal94, Key = "Makpangou, {\em et al.}", Author = "M. Makpangou and Y. Gourhant and J.-P. Le Narzul and M Shapiro", Title = "Fragmented Objects for Distributed Abstractions", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "170-186", Address = "Los Alamitos, California", Annote = "15 references." } @Article{Mao-Yeh80, Key = "Mao \& Yeh", Author = "T. William Mao and Raymond T. Yeh", Title = "Communication Port: A Language Concept for Concurrent Programming", Journal = IEEETSE, Volume = "SE-6", Number = 2, Month = Mar, Year = 1980, Pages = "194-204", Annote = "The communications port allows distributed programs to communicate with message passing. A variant of CSP. Discussion of implemenation. 24 references." } @InCollection{Martin-Pedersen-Bedford-Roberts94, Key = "Martin \& Pederson \& Bedford-Roberts", Author = "B.E. Martin and C.H. Pedersen and J. Bedford-Roberts", Title = "An Object-Based Taxonomy for Distributed Computing Systems", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "152-169", Address = "Los Alamitos, California", Annote = "10 references." } @InCollection{Martin93, Key = "Martin", Author = "Bruce Martin", Title = "The Separation of Interface and Implementation in C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "249-264", Address = "Cambridge, Mass.", Annote = "11 Rreferences." } @Article{McCann-Roman98, key = {McCann \& Roman}, author = {Peter J. McCann Gruia-Catalin Roman}, title = {Compositional Programming Abstractions for Mobile Computing}, journal = IEEETSE, year = 1998, volume = 24, number = 2, month = Feb, pages = {97-110}, annote = {Mobile UNITY notation and logic. 27 references.} } @InProceedings{McCloskey-etal06, title = "Autolocker: synchronization inference for atomic sections", key = "McCloskey, {\em et al.}", author = "Bill McCloskey and Feng Zhou and David Gay and Eric Brewer", year = "2006", booktitle = "Proceedings of the 33th {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages ({POPL} 06)", pages = "346-358", month = Jan, series = SIGPLAN, volume = "41, 1", publisher = "ACM Press", address = "New York", URL = "http://doi.acm.org/10.1145/1111037.1111068", } @TechReport{McCurley-Schneider89, Key = "McCurley \& Schneider", Author = "E. Robert McCurley and Fred B. Schneider", Title = "An Assertional Characterization of Serializability", Institution = "School of Information and Computer Science, Georgia Institute of Technology", Month = Nov, Year = 1989, Number = "GIT-ICS-89/45", Annote = "16 references." } @InCollection{Meseguer-Winkler91, Key = "Meseguer \& Winkler", Author = "Jose Meseguer and Timothy Winkler", Title = "Parallel Programming in Maude", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "253-293", Annote = "50 references" } @Article{Meseguer90, Key = "Meseguer", Author = "Jose Mesguer", Title = "A Logical Theory of Concurrent Objects", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "101-115", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "30 references." } @Article{Milne-Milner79, Key = "Milne \& Milner", Author = "G. Milne and R. Milner", Title = "Concurrent Processes and Their Syntax", Journal = JACM, Month = Apr, Year = 1979, Pages = "302-321" } @Article{Milner-Parrow-Walker92, Key = "Milner \& Parrow \& Walker", Author = "R. Milner and J. Parrow and D. Walker", Title = "A Calculus of Mobile Processes, ({P}arts {I} and {II})", Journal = "Information and Computation", Year = 1992, Volume = 100, Pages = "1-77" } @Book{Milner80, Key = "Milner", Author = "Robin Milner", Title = "A Calculus of Communicating Systems", Series = LNCS, Volume = 94, Publisher = SV, Address = NY, Year = 1980 } @InProceedings{Milner82, Key = "Milner", Author = "Robin Milner", Title = "Four Combinators for Concurrency", BookTitle = "ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Ottawa, Canada", Month = Aug, Year = 1982, Pages = "104-110", Organization = ACM, Annote = "Algebraic calculus of synchronous and asynchronous systems. 15 references." } @Book{Milner89, Key = "Milner", Author = "Robin Milner", Title = "Communication and Concurrency", Publisher = "Prentice Hall", Year = 1989, Series = "International Series in Computer Science", Address = NY, Annote = "Bisimulation and CCS. 46 references." } @InCollection{Milner90, Key = "Milner", Author = "Robin Milner", Booktitle = "Handbook of Theoretical Computer Science", Title = "Operational and Algebraic Semantics of Concurrent Processes", Chapter = 19, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "1201-1242", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "36 references." } @TechReport{Milner91, Key = "Milner", Author = "Robin Milner", Title = "The polyadic $\pi$-calculus: a tutorial", Institution = "LFCS", Month = Oct, Number = "ECS--LFCS--91--180", Year = 1991, Note = "{\em {P}roceedings of the {I}nternational {S}ummer {S}chool on {L}ogic and {A}lgebra of {S}pecification}, {M}arktoberdorf, {A}ugust 1991" } @Article{Minoura-Wiederhold82, Key = "Minoura \& Wiederhold", Author = "Toshimi Minoura and Gio Wiederhold", Title = "Resilient Extended True-Copy Token Scheme for a Distributed Database System", Journal = IEEESE, Volume = 8, Number = 3, Month = May, Year = 1982, Pages = "173-188", Annote = "29 references." } @InCollection{Mislove-Oles91, Key = "Mislove \& Oles", Author = "Michael W. Mislove and Frank J. Oles", Title = "A Simple Language Supporting Angelic Nondeterminism and Parallel Composition", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "77-101", Annote = "10 references." } @Article{Misra86, Key = "Misra", Author = "Jayadev Misra", Title = "Distributed Discrete-Event Simulation", Journal = ACMCS, Volume = 18, Number = 1, Month = Mar, Year = 1986, Annote = "Distributing simulation to provide better performance. Description of basic scheme using time encoding. Techniques for deadlock avoidance and detection. 26 references." } @InCollection{Misra91, Key = "Misra", Author = "Jayadev Misra", Title = "A Perspective on Parallel Program Design", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "2-5" } @InBook{Misra94, key = "Misra", author = "Jayadev Misra", booktitle = "A Classical Mind: Essays in Honour of C. A. R. Hoare", publisher = "Prentice Hall International", title = "Powerlist: {A} structure for parallel recursion", year = "1994", url = "ftp://ftp.cs.utexas.edu/pub/psp/powerlist/misra.1.ps.Z" } @InProceedings{Mohan-Lindsay83, Key = "Mohan \& Lindsay", Author = "C. Mohan and B. Lindsay", Title = "Efficient Commit Protocols for the Tree of Process Model of Distributed Transactions", BookTitle = "Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, Montreal, Canada", Month = Aug, Year = 1983, Pages = "?", Organization = ACM, Note = "Reprinted in {\em Operating Systems Review}, Volume19, Number 2, April 1985, pages 40-52.", Annote = "Review of the standard two phase commit protocol. The presumed abort and presumed commit protocols, which optimize various cases. 17 references" } @TechReport{Mok83, Key = "Mok", Author = "Aloysius Ka-Lau Mok", Title = "Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment", Institution = MITLCS, Month = May, Year = 1983, Number = 297, Annote = "General discussion of the hard real-time environment and CONSORT. Specific results on scheduling. 42 references." } @TechReport{Montgomery78, Key = "Montgomery", Author = "W. A. Montgomery", Title = "Robust Concurrency Control for a Distributed Information System", Institution = MITLCS, Year = 1978, Month = Sep, Number = 207 } @TechReport{Moss-Kohler86, Key = "Moss \& Kohler", Author = "J. Eliot B. Moss and Walter H. Kohler", Title = "Concurrency Features for the Trellis/Owl Programming Language", Institution = "Digital Equipment Corporation", Number = "DEC-TR-439", Month = Aug, Year = 1986, Annote = "Design and rationale. 10 references." } @TechReport{Moss81, Key = "Moss", Author = "J. E. B. Moss", Title = "Nested Transactions: an Approach to Reliable Distributed Computing", Institution = MITLCS, Month = Apr, Year = 1981, Number = 260, Note = "A slightly revised version of this has been published by the MIT Press, Cambridge, Mass, 1985." } @Book{Mullender89, Key = "Mullender", Author = "S. Mullender", Title = "Distributed Systems", Publisher = "ACM Press", Year = 1989 } @Book{Mullender93, Key = "Mullender", Title = "Distributed Systems", Editor = "Sape Mullender", Publisher = "Addison-Wesley", Address = NY, Year = 1993, Edition = "second", Annote = "Collection of Essays. Seperate References at the end of each chapter." } @Article{Needham-Schroeder78, Key = "Needham \& Schroeder", Author = "R. M. Needham and M. D. Schroeder", Title = "Using Encryption for Authentication in Large Networks of Computers", Journal = CACM, Volume = 21, Number = 12, Month = Dec, Year = 1978 } @Book{Nehmer88, Key = "Nehmer", Author = "J. Nehmer", Title = "Experiences with Distributed Systems", Publisher = "Springer Verlag", Year = 1988, Volume = 309, Series = LNCS } @InProceedings{Nielson-Nielson94, Key = {Nielson \& Nielson}, Author = {Hanne Riis Nielson and Flemming Nielson}, Title = "Higher-Order Concurrent Programs with Finite Communications Topology", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "84-97", Annote = "12 references." } @Manual{OMG92a, Key = "OMG", Title = "The Common Object Request Broker: Architecture and Specification", Organization = "Object Management Group, Inc.", Address = "492 Old Connecticut Path, Framingham, MA 01701", Edition = "1.1", Year = 1992 } @TechReport{OMG92b, Key = "OMG", Author = "Object Management Group", Title = "Object Management Architecture Guide", Institution = "Object management group", Year = 1992, Month = Sep, Type = "TC", Number = "document 92.11.1", Annote = "15 references." } @TechReport{OSF91, author = "{OSF}", title = "{OSF} Distributed Computing Environment, Release 1.0 developer's kit documentation set (preliminary)", institution = "Open Software Foundation", year = "1991", address = "11 Cambridge Center, Cambridge, MA", month = feb, } @Article{Offner98, key = {Offner}, author = {Carl Offner}, title = {Per Brinch Hansen's Concerns about {High Performance Fortran}}, journal = SIGPLAN, year = 1998, volume = 33, number = 8, month = Aug, pages = {34-39}, annote = {6 references.} } @InProceedings{Ohari93, Key = "Ohari", Author = "Atsushi Ohori", Title = "Semantics for Communication Primitives in a Polymorphic Language", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Annote = "30 references" } @Article{Oki-Liskov-Scheifler85, Key = "Oki \& Liskov \& Scheifler", Author = "Brian M. Oki and Barbara H. Liskov and Robert W. Scheifler", Title = "Reliable Object Storage to Support Atomic Actions", Journal = SIGOPS, Volume = 19, Number = 5, Month = Dec, Year = 1985, Pages = "147-159", Note = "Proceedings of the Tenth ACM Symposium on Operating Systems Principles, 1-4 December 1985, Orcas Island, Washington, U.S.A.", Annote = "Organization of information on stable storage devices, based on the hybrid log scheme. 12 references." } @Article{Owicki-Gries76, Key = "Owicki \& Gries", Author = "Susan Owicki and David Gries", Title = "Verifying Properties of Parallel Programs: An Axiomatic Approach", Journal = CACM, Volume = 19, Number = 5, Month = May, Year = 1976, Pages = "279-285", Annote = "9 references." } @Article{Owicki-Lamport82, Key = "Owicki \& Lamport", Author = "Susan Owicki and Leslie Lamport", Title = "Proving Liveness Properties of Concurrent Programs", Volume = 4, Number = 3, Journal = TOPLAS, Year = 1982, Pages = "455-495", Month = Jul, Annote = "Discusses linear-time temporal logic and proof lattices for proving liveness properties of concurrent programs. 18 references." } @Article{Panangaden-Shanbhogue92, key = "Panangaden \& Shanbhogue", author = "Prakash Panangaden and Vasant Shanbhogue", title = "The Expressive Power of Indeterminate Dataflow Primitives", journal = "Information and Computation", year = 1992, volume = 98, number = 1, pages = "99-131", annote = "34 references." } @Article{Pancake-Bergmark90, Key = "Pancake \& Bergmark", Author = "Cherri M. Pancake and Donna Bergmark", Title = "Do Parallel Languages Respond to the Needs of Scientific Programmers?", Journal = "Computer", Volume = 23, Number = 12, Month = Dec, Year = 1990, Pages = "13-23", Annote = "15 references." } @Article{Papelis-Casavant92, Key = "Papelis \& Casavant", Author = "Yiannis E. Papelis and Thomas L. Casavant", Title = "Specification and Analysis of Parallel/Distributed Software and Systems by using Petri Nets with Transition Enabling Functions", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 3, Month = Mar, Pages = "252-261", Annote = "23 references." } @Article{Pease-Shostak-Lamport80, Key = "Pease \& Shostak \& Lamport", Author = "M. Pease and R. Shostak and L. Lamport", Title = "Reaching Agreement in the Presence of Faults", Journal = JACM, Volume = 27, Number = 2, Month = Apr, Year = 1980, Pages = "228-234" } @Article{Peterson77, Key = "Peterson", Author = "J. L. Peterson", Title = "Petri Nets", Journal = ACMCS, Volume = 9, Number = 3, Month = Sep, Year = 1977, Pages = "221-252" } @Book{Peterson81, key = "Peterson", author = "J. L. Peterson", title = "Petri Net Theory and the Modeling of Systems", publisher = "Prentice Hall", address = "Englewood Cliffs, NJ", year = "1981" } @UnPublished{Pierce-Remy-Turner93, Key = "Pierce \& Remy \& Turner", Author = "Benjamin C. Pierce and Didier Remy and David N. Turner", Title = "A Typed Hihger-Order Programming Language Based on the Pi-Calculus", Year = 1993, Month = July, Note = "Obtained by anon ftp from ftp.dcs.ed.ac.uk pub/bcp/pilay.ps", Annote = "30 refernces" } @Article{Pratt86, Key = "Pratt", Author = "V. Pratt", Title = "Modeling Concurrency with Partial Orders", BookTitle = "International Journal of Parallel Programming", Volume = 15, Number = 1, Month = Feb, Year = 1986, Pages = "33-71", Annote = "Discussion of true concurrency." } @InProceedings{Pratt91, Key = "Pratt", Author = "Vaughan Pratt", Title = "Modeling Concurrency with Geometry", BookTitle = "Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando", Organization = ACM, Month = Jan, Year = 1991, Pages = "311-322", Annote = "Good discussion of true concurrency. 29 references." } @Article{Pu-Noe-Proudfoot88, Key = "Pu \& Noe \& Proudfoot", Author = "Calton Pu and Jerre D. Noe and Andrew Proudfoot", Title = "Regeneration of Replicated Objects: A Technique and Its Eden Implementation", Journal = IEEETSE, Volume = 14, Number = 7, Month = Jul, Year = 1988, Pages = "936-945", Annote = "Replicas are restored from surviving copies. 26 references." } @Article{Quinn-Hatcher90, Key = "Quinn \& Hatcher", Author = "Michael J. Quinn and Philip J. Hatcher", Title = "Data-Parallel Programming on Multicomputers", Journal = "IEEE Software", Volume = 7, Number = 5, Month = Sep, Year = 1990, Pages = "69-76", Annote = "7 references." } @Article{Rao94, Key = "Rao", Author = "Josyula R. Rao", Title = "Reasoning about Probabilistic Parallel Programs", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "798-842", Annote = "30 references." } @TechReport{Reed78, Key = "Reed", Author = "D. P. Reed", Title = "Naming and Synchronization in a Decentralized Computer System", Institution = MITLCS, Year = 1978, Number = 205 } @Article{Reed83, Key = "Reed", Author = "David P. Reed", Title = "Implementing Atomic Actions on Decentralized Data", Journal = TOCS, Volume = 1, Number = 1, Month = Feb, Year = 1983, Pages = "3-23", Annote = "Uses psuedo-time, object histories of versions, and grouping of tentative versions into possibility sets to facilitate backward error recovery. Discusses implementation issues as well as the general framework. 23 references." } @Article{Reppy91, Key = "Reppy", Author = "John H. Reppy", Title = "CML: A Higher-order Concurrent Language", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 6, Month = Jun, Pages = "293-305", Note = "Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation (Toronto, Canada)", Annote = "Concurrent ML. 42 references." } @TechReport{Reppy93, Key = "Reppey", Author = "John H. Reppey", Title = "Concurrent Programming with Events - The Concurrent ML Manual", Note = "Available by anonymous ftp from research.att.com", Institution = "AT\&T Bell Labs", Year = 1993, Month = Feb, Annote = "18 references. " } @InProceedings{Rinard-Lam92, Key = "Rinard \& Lam", Author = "Martin C. Rinard and Monica S. Lam", Title = "Semantic Foundations of Jade", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "105-118", Organization = ACM, Month = Jan, Annote = "Data-oriented language for coarse-grained parallelism. 12 references." } @Article{Rinard-Scales-Lam93, Key = "Rinard \& Scales \& Lam", Author = "Martin C. Rinard and Daniel J. Scales and Monica S. Lam", Title = "Jade: A High Level Machine Independent Language for Parallel Programming", Journal = "COMPUTER", Month = Jun, Year = 1993, Volume = 26, Number = 6, Pages = "28-38", Annote = "12 references." } @TechReport{Roberts-Vandevoorde89, Key = "Roberts \& Vandevoorde", Author = "Eric S. Roberts and Mark T. Vandevoorde", Title = "{WorkCrews}: An Abstraction for Controlling Parallelism", Month = Apr, Year = 1989, Institution = DECSRC, Number = 42, Annote = "15 references." } @Book{Rosenberry-Kenney-Fisher93, key = "Rosenberry \& Kenney \& Fisher", author = "W. Rosenberry and D. Kenney and G. Fisher", title = "{OSF} Distributed Computing Environment: Understanding {DCE}", Publisher = "O'Reilly and Associates, Inc", Address = "103 Morris Street, Suite A, Sebastopol, Ca 95472", year = "1993" } @Article{Rosenkrantz-Stearns-Lewis78, Key = "Rosenkrantz \& Stearns \& Lewis", Author = "D. J. Rosenkrantz and R. E. Stearns and P. M. Lewis", Title = "System Level Concurrency Control for Distributed Database Systems", Journal = "ACM Transactions on Database Systems", Volume = 3, Number = 2, Year = 1978, Pages = "178-198" } @Article{Saltzer-Reed-Clark84, Key = "Saltzer \& Reed \& Clark", Author = "J. H. Saltzer and D. P. Reed and D. D. Clark", Title = "End-To-End Arguments in System Design", Journal = TOCS, Month = Nov, Year = 1984, Volume = 2, Number = 4, Pages = "277-288", Note = "An earlier version appeared in the {\em 2nd International Conference on Distributed Systems}, (Paris, France, April 1981), pages 509--512.", Annote = "Design priciple to guide placement of functions in the modules of a distributed system. 17 references." } @InCollection{Sangiori93, Key = "Sangiori", Author = "D. Sangiori", Title = "Goldilocks and the Three Specifications", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "151-166", Annote = "20 references" } @TechReport{Sarin-Blaustein-Kaufman85, Key = "Sarin \& Blaustein \& Kaufman", Author = "Sunil K. Sarin and Barbara T. Blaustein and Charles W. Kaufman", Title = "System Architecture for Partition-Tolerant Distributed Databases", Institution = "Computer Corporation of America, Cambridge, Ma.", Month = Apr, Year = 1985, Note = "Draft?", Annote = "Overview of approach that sacrifices atomicity for availability in the face of partitions. The system gives its best effort but makes no guarantees. Compensation is often necessary. 13 references." } @Article{Sarin-Lynch87, Key = "Sarin \& Lynch", Author = "Sunil K. Sarin and Nancy A. Lynch", Title = "Discarding Obsolete Information in a Replicated Database System", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "39-47", Month = Jan, Year = 1987, Annote = "Protocol developed for CCA's SHARD that allows sites to agree on what updates can safely be discarded. 9 references." } @Article{Schlichting-Schneider83, Key = "Schlichting \& Schneider", Author = "R. D. Schlichting and F. B. Schneider", Title = "Fail-Stop processors: An Approach to Designing Fault-Tolerant Computing Systems", Journal = TOCS, Volume = 1, Number = 3, Month = Aug, Year = 1983, Pages = "222-238", Annote = "The notion of fail-stop processors and ways of programming with them. 26 references." } @Article{Schmidt-Kuhns00, author = {Douglas C. Schmidt and Fred Kuhns}, title = {An Overview of the Real-Time {CORBA} Specification}, journal = Computer, year = 2000, key = {Schmidt \& Kuhns}, volume = 33, number = 6, pages = {56-63}, month = {Jun}, annote = {9 references} } @InProceedings{Schneider83, Key = "Schneider", Author = "F. B. Schneider", Title = "Fail-Stop Processors", Organization = IEEE, BookTitle = "Digest of Papers Spring Compcon 83, San Francisco", Year = 1983, Month = Mar, Pages = "66-70" } @Article{Schneider93, Key = "Schneider", Author = "Marco Schneider", Title = "Self-Stabilization", Journal = ACMCS, Month = Mar, Year = 1993, Volume = 25, Number = 1, Pages = "45-65", Annote = "62 references. " } @Article{Schwarz-Spector84, Key = "Schwarz \& Spector", Author = "Peter M. Schwarz and Alfred Z. Spector", Title = "Synchronizing Shared Abstract Types", Journal = TOCS, Volume = 2, Number = 3, Month = Aug, Year = 1984, Pages = "223-250", Annote = "Confused. 29 references." } @TechReport{Scott84, Key = "Scott", Author = "Michael L. Scott", Title = "A Framework for the Evaluation of High-Level Languages for Distributed Computing", Institution = "Computer Sciences Department, University of Wisconsin-Madison", Number = 563, Month = Oct, Year = 1984, Annote = "A readable and well thought out survey of distributed programming languages. 83 references." } @TechReport{Scott85, Key = "Scott", Author = "Michael Lee Scott", Title = "Design and Implementation of A Distributed Systems Language", Institution = "Computer Sciences Department, University of Wisconsin-Madison", Number = 596, Month = May, Year = 1985, Annote = "The author's doctoral dissertation. Describes the LYNX language. 120 references." } @Article{Scott87, Key = "Scott", Author = "Michael L. Scott", Title = "Language Support for Loosely Coupled Distributed Programs", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "88-103", Month = Jan, Year = 1987, Annote = "Describes the language LYNX. LYNX has a virtual circuit abstraction, the link, and a coroutine mechanism. 48 references." } @Article{Segall83, Key = "Segall", Author = "A. Segall", Title = "Distributed Network Protocols", Journal = "IEEE Transactions on Information Theory", Volume = "IT-29", Number = 1, Month = Jan, Year = 1983, Pages = "23-35" } @PhDThesis{Shah93, Key = "Shah", Author = "Pinaki D. Shah", Title = "Transaction Management in Object Oriented DataBase Systems", School = "Iowa State University", Year = 1993, Month = Dec, Annote = "41 references" } @Article{Shah94, author = {Pinaki D. Shah}, title = {Transaction Management in an Object-Oriented Database System}, journal = {Journal of Systems and Software}, year = 1994, key = {Shah}, volume = 24, number = 2, month = Feb, pages = {115-124} } @Article{Shanker93, Key = "Shanker", Author = "A. Udaya Shanker", Title = "An Introduction to Assertioanl Reasoning for Concurrent Systems", Journal = ACMCS, Month = Sep, Year = 1993, Volume = 25, Number = 3, Pages = "225-262", Annote = "70 references" } @Article{Silverman91, Key = "Silverman", Author = "Robert D. Silverman", Title = "Massively Distributed Computing and Factoring Large Integers: A Pracnique", Journal = CACM, Year = 1991, Volume = 34, Number = 11, Month = Nov, Pages = "94-103", Annote = "6 references." } @Article{Singh98, key = {Singh}, author = {Munindar P. Singh}, title = {Agent Communication Languages: Rethinking the Principles}, journal = {Computer}, year = 1998, volume = 31, number = 12, month = Dec, pages = {40-47}, annote = {7 references.} } @InProceedings{Skeen-Stonebraker81, Key = "Skeen \& Stonebraker", Author = "D. Skeen and M. Stonebraker", Title = "A Formal Model of Crash Recovery in a Distributed Database system", Organization = "NTIS", BookTitle = "Proceedings of the 5th Berkeley Workshop on Distributed Data Management and Computer Networks", Month = Feb, Year = 1981, Pages = "129-142" } @PhDThesis{Skeen82a, Key = "Skeen", Author = "M. D. Skeen", Title = "Crash Recovery in a Distributed Database System", School = "University of California, Berkley", Year = 1982, Month = May, Note = "UCB/ERL M82/45, this thesis has an excellent bibliography" } @InProceedings{Skeen82b, Key = "Skeen", Author = "M. D. Skeen", Title = "A Decentralized Termination Protocol", BookTitle = "Proceedings Symposium on Reliability in Distributed Software and Database Systems, Pittsburgh", Year = 1982, Organization = IEEE, Pages = "27-32", Month = Jul } @InProceedings{Skeen82c, Key = "Skeen", Author = "M. D. Skeen", Title = "A Quorum-based Commit Protocol", BookTitle = "Proceedings of the 6th Berkeley Workshop on Distributed Data Management and Computer Networks", Month = May, Year = 1982, Pages = "69-80", Organization = "NTIS" } @Article{Skeen85, Key = "Skeen", Author = "Dale Skeen", Title = "Determining the Last Process to Fail", Journal = TOCS, Volume = 3, Number = 1, Month = Feb, Year = 1985, Pages = "15-30", Annote = "Efficient algorithms using realistic assumptions. 4 references." } @Book{Skillicorn-Talia95, author = {David B. Skillicorn and Domenico Talia}, title = {Programming Languages for Parallel Processing}, publisher = {IEEE Computer Society Press}, year = 1995, key = {Sillicorn \& Talia}, annote = {A collection of papers.} } @Article{Skillicorn-Talia98, author = {David B. Skillicorn and Domenico Talia}, title = {Models and Languages for Parallel Computation}, journal = ACMCS, year = 1998, key = {Sillicorn \& Talia}, volume = 30, number = 2, month = Jun, pages = {123-169}, annote = {Many references.} } @Book{Skillicorn95, author = "David B. Skillicorn", title = "Foundations of parallel programming", publisher = "Cambridge University Press", year = 1995, number = 6, series = "International series on parallel computation" } @Book{Snow92, Key = "Snow", Author = "C. R. Snow", Title = "Concurrent Programming", Publisher = "Cambridge University Press", Year = 1992, Volume = 26, Series = "Cambridge Computer Science Texts", Address = NY, Annote = "Undergraduate text. 35 references." } @Article{Spector82, Key = "Spector", Author = "Alfred Z. Spector", Title = "Performing Remote Operations Efficiently on a Local Computer Network", Journal = CACM, Volume = 25, Number = 4, Month = Apr, Year = 1982, Pages = "246-260", Annote = "Taxonomy of communication instructions, discussion of the issues arising when implementing a communication subsystem based on this model, example of communication subsystem built on Altos. 31 references." } @Article{Stallings84, Key = "Stallings", Author = "William Stallings", Title = "Local Networks", Journal = ACMCS, Pages = "3-41", Volume = 16, Number = 1, Month = Mar, Year = 1984, Annote = "Survey of local area network technology, both hardware and protocols. 68 references." } @Article{Stamos-Gifford90a, Key = "Stamos \& Gifford", Author = "James W. Stamos and David K. Gifford", Title = "Remote Evaluation", Journal = TOPLAS, Year = 1990, Volume = 12, Number = 4, Month = Oct, Pages = "537-565", Annote = "34 references." } @Article{Stamos-Gifford90b, Key = "Stamos \& Gifford", Author = "James W. Stamos and David K. Gifford", Title = "Implementing Remote Evaluation", Journal = IEEETSE, Year = 1990, Volume = 16, Number = 7, Month = Jul, Pages = "710-722" } @InCollection{Stankovic-vanDam79, Key = "Stankovic \& van Dam", Author = "John A. Stankovic and Andries van Dam", Title = "Research Direction in (Cooperative) Distributed Processing", BookTitle = "Research Directions in Software Technology", Editor = "Peter Wegner", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1979, Pages = "611-638", Annote = "General discussion of distributed processing systems. 69 references." } @Article{Staples-Nguyen85, key = "Staples \& Nguyen", author = "John Staples and V. L. Nguyen", title = "A Fixpoint Semantics for Nondeterministic Data Flow", journal = JACM, year = 1985, volume = 32, number = 2, pages = "411-444", month = Apr, annote = "9 references." } @PhDThesis{Stark84, Key = "Stark", Author = "Eugene William Stark", Title = "Foundations of a Theory of Specification for Distributed Systems", School = MIT, Year = 1984, Month = Aug, Note = "MIT/LCS Tech. Report 342", Annote = "Investigates the state-transition approach to distributed/concurrent behavior specification. 63 references." } @InCollection{Stark90, Key = "Stark", Author = "Eugene W. Stark", Title = "A Simple Generalization of Kahn's Principle to Indeterminate Dataflow Networks (Extended Abstract)", BookTitle = "Semantics for Concurrency, Leicester", Publisher = SV, Year = 1990, Editor = "M. Z. Kwiatkowska and M. W. Shields and R. M. Thomas", Series = "Workshops in Computing", Pages = "157-174", Address = NY, Annote = "34 references." } @Article{Strom-Yemini85, Key = "Strom \& Yemini", Author = "Rob Strom and Shaula Yemini", Title = "Optimistic Recovery in Distributed Systems", Journal = TOCS, Volume = 3, Number = 3, Month = Aug, Year = 1985, Pages = "204-226" } @InProceedings{Strong-Dolev83, Key = "Strong \& Dolev", Author = "H. R. Strong and D. Dolev", Title = "Byzantine Agreement", Pages = "72-81", BookTitle = "Digest of Papers Spring Compcon 83, San Francisco", Organization = IEEE, Month = Mar, Year = 1983 } @Article{Tanenbaum-Kaashoek-Bal92, Key = "Tanenbaum \& Kaashoek \& Bal", Author = "Andrew S. Tanenbaum and M. Frans Kaashoek and Henri E. Bal", Title = "Parallel Programming Using Shared Objects and Broadcasting", Journal = "Computer", Year = 1992, Volume = 25, Number = 8, Month = Aug, Pages = "10-19", Annote = "12 references." } @Article{Tanenbaum-etal90, Key = "Tanenbaum, {\em et al.}", Author = "Andrew S. Tanenbaum and Robert van Renesse and Hans van Staveren and Gregory J. Sharp and Sape J. Mullender and Jack Jansen and Guido van Rossum", Title = "Experience with the Amoeba Distributed Operating System", Journal = CACM, Volume = 33, Number = 12, Month = Dec, Year = 1990, Pages = "46-63", Annote = "34 references." } @Article{Tanenbaum-vanRenesse85, Key = "Tanenbaum \& van Renesse", Author = "Andrew S. Tanenbaum and Robert van Renesse", Title = "Distributed Operating Systems", Journal = ACMCS, Volume = 17, Number = 4, Month = Dec, Year = 1985, Pages = "419-470", Annote = "Introduction to distributed operating systems. Discusses the Cambridge Distributed Computing System, Amoeba, V, and Eden. 120 references." } @Article{Terry87, Key = "Terry", Author = "Douglas B. Terry", Title = "Caching Hints in Distributed Systems", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "48-54", Month = Jan, Year = 1987, Annote = "Advocates maintaining a minimum level of cache accuracy. 12 references." } @InCollection{Tomlinson-Scheevel89, Key = "Tomlinson \& Scheevel", Author = "Chris Tomlinson and Mark Scheevel", Title = "Concurrent Object-Oriented Programming Languages", Editor = "Won Kim and Farederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 5, Pages = "79-124", Annote = "44 references." } @Article{Turbek92, Key = "Turbek", Author = "John Turbek", Title = "The many faces of concensus in distributed systems", Journal = "Computer", Year = 1992, Volume = 25, Number = 6, Month = Jun, Pages = "8-17" } @InCollection{Turek-Shasha94, Key = "Turek \& Shasha", Author = "J. Turek and D. Shasha", Title = "The Many Faces of Consensus in Distributed Environment", BookTitle = "Readings in Distributed Computing Systems", Publisher = "IEEE Computer Society Press", Year = 1994, Editor = "Thoman L. Casavant and Mukesh Singhal", Pages = "83-99", Address = "Los Alamitos, California", Annote = "12 references." } @TechReport{Tuttle90, Key = "Tuttle", Author = "Mark Tuttle", Title = "Knowdedge and Distributed Computation", Institution = MITLCS, Year = 1990, Number = 477, Address = "Cambridge, Mass.", Month = May } @Book{Umar93, Key = "Umar", Author = "Amjad Umar", Title = "Distributed computing: A Practical Synthesis", Publisher = "Prentice Hall Inc", Address = "Englewood CLiffs, New Jersey", Annote = "Seperate refernces at the end of each chapter" } @Article{Vasconcelos99, key = {Vasconcelos}, author = {Vasco T. Vasconcelos}, title = {Processs, Functions, and Datatypes}, journal = TAPOS, year = 1999, volume = 5, number = 2, pages = {97-110}, annote = {Builds on a name-passing calculus. 29 references.} } @InCollection{Waldo99, key = {Waldo}, author = {Jim Waldo}, title = {Object-Oriented Programming on the Network}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {441-448}, annote = {Java and its Jini mechanism. 9 references.} } @Article{Waldo99b, key = {Waldo}, author = {Jim Waldo}, title = {The {Jini} Architecture for Network-centric Computing}, journal = CACM, year = 1999, volume = 42, number = 7, month = Jul, pages = {76-82}, annote = {12 references.} } @TechReport{Walker84, Key = "Walker", Author = "Edward Franklin Walker", Title = "Orphan Detection in the Argus System", Number = "TR-326", Institution = MITLCS, Month = Jun, Year = 1984, Annote = "Algorithm for detecting and eliminating orphans. Piggybacks orphan information on other messages. An improved version based on deadlining. 13 references." } @inproceedings{Wang-Stoller03, key="Wang and Stoller", author="Liqiang Wang and Scott D. Stoller", title="Run-Time Analysis for Atomicity", month=Jul, year=2003, booktitle="Proceedings of the Third Workshop on Runtime Verification (RV)", series="Electronic Notes in Theoretical Computer Science", publisher="Elsevier", volume="89(2)" } @Article{Weihl-Liskov83, Key = "Weihl \& Liskov", Author = "William Weihl and Barbara Liskov", Title = "Specification and Implementation of Resilient, Atomic Data Types", Journal = SIGPLAN, Month = Jun, Year = 1983, Volume = 18, Number = 6, Pages = "53-64", Note = "SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, San Francisco, CA", Annote = "Atomicity and resiliency. 29 references." } @Article{Weihl-Liskov85, Key = "Weihl \& Liskov", Author = "William Weihl and Barbara Liskov", Title = "Implementation of Resilient, Atomic Data Types", Journal = TOPLAS, Month = Apr, Year = 1985, Volume = 7, Number = 2, Pages = "244-269", Annote = "Atomicity and resiliency. Description of the Argus mechanism. 31 references." } @TechReport{Weihl84, Key = "Weihl", Author = "William Edward Weihl", Title = "Specification and Implementation of Atomic Data Types", Institution = MITLCS, Month = Mar, Year = 1984, Number = 314, Annote = "43 references." } @Article{Weihl87, Key = "Weihl", Author = "William E. Weihl", Title = "Distributed Version Management for Read-Only Actions", Journal = IEEETSE, Volume = "SE-13", Number = 1, Pages = "55-64", Month = Jan, Year = 1987, Annote = "Concurrency control protocols that eliminate interference between read-only actions and update actions. 27 references." } @Article{Weihl89, Key = "Weihl", Author = "William E. Weihl", Title = "Local Atomicity Properties: Modular Concurrency Control for Abstract Data Types", Journal = TOPLAS, Volume = 11, Number = 2, Month = Apr, Year = 1989, Pages = "249-282", Annote = "High levels of concurrency through algebraic properties of a type's operations. Three local atomicity properties. 46 references." } @Article{Weihl90, Key = "Weihl", Author = "William E. Weihl", Title = "Linguistic Support for Atomic Data Types", Journal = TOPLAS, Volume = 12, Number = 2, Month = Apr, Year = 1990, Pages = "178-202", Annote = "31 references." } @Article{Welsh81, Key = "Welsh", Author = "J. Welsh", Title = "A Comparative Study of Task Communication in ADA", Journal = SPandE, Volume = 11, Pages = "257-290", Year = 1981 } @Article{Wensley-etal78, Key = "Wensley, {\em et al.}", Author = "Wensley, J. H. and Lamport, L. and Goldberg, J. and Green, M. W. and Levitt, K. N. and Melliar-Smith, P. M. and Shostak, R. E. and Weinstock, C. B.", Title = "SIFT: Design and analysis of a fault-tolerant computer for aircraft control", Journal = "Proceedings of the IEEE", Volume = 66, Number = 10, Month = Oct, Year = 1978, Pages = "1240-1255" } @Book{Wulf-Levin-Harbison81, Key = "Wulf \& Levin \& Harbison", Author = "W. A. Wulf and R. Levin and S. P. Harbison", Title = "HYDRA/C.mmp: An Experimental Computer System", Publisher = McGraw-Hill, Address = NY, Year = 1981 } @Article{Wulf-etal74, Key = "Wulf, {\em et al.}", Author = "W. Wulf and E. Cohen and W. Corwin and A. Jones and R. Levin and C. Pierson and F. Pollack", Title = "HYDRA: The Kernel of a Multiprocessor Operating System", Journal = CACM, Year = 1974, Month = Jun, Volume = 17, Number = 6, Pages = "337-345", Annote = "9 references." } @Article{Wyatt-Kavi-Hufnagel92, Key = "Wyatt \& Kavi \& Hufnagel", Author = "Barbara B. Wyatt and Krishna Kavi and Steve Hufnagel", Title = "Parallelism in Object-Oriented Languages: A Survey", Journal = "IEEE Software", Volume = 9, Number = 6, Month = Nov, Year = 1992, Pages = "56-66", Annote = "21 references." } @Article{Yonezawa-Briot-Shibayama86, Key = "Yonezawa \& Briot \& Shibayama", Author = "Akinori Yonezawa and Jean-Pierre Briot and Etsuya Shibayama", Title = "Object-Oriented Concuttent Programming in ABCL/1", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "258-268", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Object-oriented computation model and a programming language, ABCL/1, that supports it. Object model is based on actors but incorporates additional assumptions about the order of message delivery; messages from O1 to O2 must be delivered in the order sent. Futures. Two modes of message sending allow some messages to have priority. Delegation is supported. 25 references." } @Book{Yonezawa-Tokoro87, Key = "Yonezawa \& Tokoro", Editor = "A. Yonezawa and M. Tokoro", Title = "Concurrent Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987 } @Book{Yonezawa90, Key = "Yonezawa", Editor = "Akinori Yonezawa", Title = "ABCL: an object-oriented concurrent system", Publisher = MITP, Year = 1990, Series = "Computer systems series", Address = "Cambridge, MA" } @Article{Zhang91, Key = "Zhang", Author = "Lixia Zhang", Title = "Virtual Clock: A New Traffic Control Algorithm for Packet Switching Networks", Journal = TOCS, Year = 1991, Volume = 9, Number = 2, Month = May, Pages = "101-124", Annote = "25 references." } % $Id: languages.bib,v 1.139 2006/08/21 16:31:19 leavens Exp $ % Programming language issues, semantics, implementation, except types % and distributed/parallel stuff. All language definitions here. @Manual{ANSI74, Key = "ANSI", Title = "American National Standard Programming Language COBOL", Organization = ANSI, Year = 1974, Address = NY, Note = "ANS X3.23-1974", Annote = "The official reference manual for COBOL." } @Manual{ANSI76, Key = "ANSI", Title = "American National Standard Programming Language PL/I", Organization = ANSI, Year = 1976, Address = NY, Note = "ANS X3.53-1976", Annote = "The official, but unreadable, reference manual for PL/I." } @Article{Abadi-Manna89, key = "Abadi \& Manna", author = "{M. Abadi} and {Z. Manna}", title = "Temporal Logic Programming", journal = "Journal of Symbolic Computation", year = 1989, volume = 8, pages = "277--295" } @Book{Abelson-Sussman-Sussman85, Key = "Abelson \& Sussman \& Sussman", Author = "Harold Abelson and Gerald Jay Sussman and Julie Sussman", Title = "Structure and Interpretation of Computer Programs", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1985, Annote = "Introductory programming text using the Scheme dialect of Lisp. 65 references." } @Book{Abelson-Sussman-Sussman96, Key = "Abelson \& Sussman \& Sussman", Author = "Harold Abelson and Gerald Jay Sussman and Julie Sussman", Title = "Structure and Interpretation of Computer Programs", Publisher = "McGraw Hill", Address = "Cambridge, Mass.", Year = 1996, Edition = "second", ISBN = "0-07-000484-6", Annote = "Introductory programming text using the Scheme dialect of Lisp. Many references." } @TechReport{Abelson-Sussman87, Key = "Abelson \& Sussman", Author = "Harold Abelson and Gerald Jay Sussman", Title = "Lisp: A Language for Stratified Design", Institution = MITAI, Month = Aug, Year = 1987, Type = "AI Memo", Number = 986, Annote = "Programs that show the power of Lisp and abstraction using procedures. 8 references." } @Article{Abelson-Sussman88, author = "Abelson and Sussman", title = "Lisp: A Language for Stratified Design", journal = "Byte Magazine", volume = "13", year = "1988", number = "2", pages = "207--218", month = feb } @InCollection{Abelson-etal88, Key = "Abelson, {\em et al.}", Author = "Harold Abelson and Matthew Halfant and Jacob Katzenelson and Gerald J. Sussman", Title = "The LISP Experience", BookTitle = "Annual Review of Computer Science", Volume = 3, Year = 1988, Editor = "J. Traub", Publisher = "Annual Reviews, Inc.", Address = "Palo Alto, Calif.", Pages = "167-195" } @InCollection{Aceto91, Key = "Aceto", Author = "Luca Aceto", Title = "On Relating Concurrency and Nondeterminism", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Volume = 598, Pages = "376-402", Address = NY, Annote = "28 references." } @TechReport{Ackerman-Dennis79, Key = "Ackerman \& Dennis", Author = "William B. Ackerman and Jack B. Dennis", Title = "VAL -- A Value-Oriented Algorithmic Language: Preliminary Reference Manual", Institution = MITLCS, Month = Jun, Year = 1979, Number = "TR-218", Annote = "Strongly typed data flow language for numeric computations on parallel machines. Error algebra." } @Article{Ackerman82, Key = "Ackerman", Author = "W. B. Ackerman", Title = "Data Flow Languages", Journal = "Computer", Volume = 15, Number = 2, Month = Feb, Year = 1982, Pages = "15-25" } @Manual{Ada83, Key = "Ada", Title = "Reference Manual for the Ada Programming Language", Organization = ANSI, Month = Feb, Year = 1983, Note = "ANSI/MIL-STD 1815A. Also published by Springer-Verlag as LNCS 155.", Annote = "The draft revised version was published in {\em AdaTec}, July, 1982. Packages and interesting numeric types." } @TechReport{Ada90, Key = "Ada", Author = "Ada 9X Project Office", Title = "Ada 9X Requirements", Institution = CMU, Year = 1990, Month = Dec } @TechReport{Ada91a, Key = "Ada", Author = "Ada 9X Project Office", Title = "Ada 9X Requirements Rationale", Institution = CMU, Year = 1991, Month = May } @TechReport{Ada91b, Key = "Anderson", Author = "Christine M. Anderson", Title = "Draft Ada 9X Project Report: Ada 9X Mapping Document Volume I, Mapping Rationale", Institution = "Intermetrics", Year = 1991, Month = Aug } @TechReport{Ada91c, Key = "Anderson", Author = "Christine M. Anderson", Title = "Draft Ada 9X Project Report: Ada 9X Mapping Document Volume II, Mapping Specification", Institution = "Intermetrics", Year = 1991, Month = Aug } @TechReport{Ada93a, Key = "Ada", Author = "Ada 9X Mapping Team", Title = "Ada 9X Rationale. The Language. The Standard Libraries", Month = Sep, Year = 1993, Publisher = "Ada 9X mapping/Revision Team. Itemetrics Inc", Address = "733 Concord Av, Cambridge, MA 02138" } @TechReport{Ada93b, Key = "Ada", Author = "Ada 9X Mapping Team", Title = "Ada 9X Reference Manual. The Language. The Standard Libraries", Month = Sep, Year = 1993, Publisher = "Ada 9X mapping/Revision Team. Itemetrics Inc", Address = "733 Concord Av, Cambridge, MA 02138", Annote = "Propsed ANSI/ISO Standard" } @TechReport{Ada95a, Key = "Ada", Author = "John Barnes and Ben Brosgol and others", Title = "Ada 95 Rationale. The Language. The Standard Libraries", Month = Jan, Year = 1995, Institution = "Intermetrics Inc.", Address = "733 Concord Av, Cambridge, MA 02138" } @Manual{Ada95b, Key = "Ada", Title = "Ada 95 Reference Manual. The Language. The Standard Libraries", Month = Jan, Year = 1995, Organization = "International Organization for Standardization", Note = "ANSI/ISO/IEC-8652:1995" } @Book{Agha90, Key = "Agha", Author = "Gul Agha", Title = "ACTORS : A model of Concurrent computations in Distributed Systems", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1990, Annote = "50 references." } @Book{Aho-Sethi-Ullman86, author = {A. V. Aho, R. Sethi and J. D. Ullman}, title = {Compilers. Principles, Techniques and Tools}, publisher = {Addison-Wesley}, year = 1986 } @TechReport{Aiello74, Key = "Aiello", Author = "J. M. Aiello", Title = "An Investigation of Current Language Support for the Data Requirements of Structured Programming", Institution = "MIT Project MAC", Number = 51, Year = 1974, Month = Sep, Type = "Technical Memorandum" } @Book{Akerley-Li-Parlavecchia99, author = {John Akerley and Nina Li and Antonello Parlavecchia}, title = {Programming with {VisualAge} for {Java} Version 2.0}, publisher = {Prentice Hall PTR}, year = 1999, key = {Akerley \& Li \& Parlavecchia}, annote = {Includes CD-ROMs.} } @Article{Al-Ahmad-Steegmans00, key = {Al-Ahmad \& Steegmans}, author = {W. Al-Ahmad and E. Steegmans}, title = {A Critical Comparison of Class Variables and Methods in Object-Oriented Languagaes}, journal = JOOP, year = 2000, volume = 13, number = 1, pages = {17-22,39}, month = {March/April}, annote = {20 references.} } @Article{Al-Ahmad-Steegmans99, key = {Al-Ahmad \& Steegmans}, author = {W. Al-Ahmad and E. Steegmans}, title = {Improving Support for Specialization Inheritance}, journal = JOOP, year = 1999, volume = 11, number = 8, month = Jan, pages = {29-36}, annote = {6 references.} } @Article{Al-Ahmad-Steegmans99b, key = {Al-Ahmad \& Steegmans}, author = {W. Al-Ahmad and E. Steegmans}, title = {A New Approach to Extension Inheritance}, journal = JOOP, year = 1999, volume = 12, number = 3, month = Jun, pages = {20-28}, annote = {The new construct, called a ``component'' is an abstract class with only one instance variable. 5 references.} } @Article{Al-Haddad-George-Samadzadeh91, Key = "Al-Haddad \& George \& Samadzadeh", Author = "H. M. Al-Haddad and K. M. George and M. H. Samadzadeh", Title = "Approaches to reusability in C++ and Eiffel", Journal = JOOP, Year = 1991, Volume = 4, Number = 5, Month = Sep, Pages = "34-45", Annote = "28 references." } @InProceedings{Allen74, Key = "Allen", Author = "F. E. Allen", Title = "Interprocedural data flow analysis", Booktitle = "Proc. IFIP Congress 74", Publisher = North-Holland, Address = NY, Year = 1974 } @Book{Allison86, Key = "Allison", Author = "Lloyd Allison", Title = "A Practical Introduction to Denotational Semantics", Publisher = "Cambridge University Press", Address = NY, Year = 1986, Annote = "66 references." } @Article{Allison90, Key = "Allison", Author = "L. Allison", Title = "Continuations Implement Generators and Streams", Journal = "The Computer Journal", Year = 1990, Volume = 33, Number = 5, Pages = "460-465", Annote = "16 references." } @inproceedings{Amadio-Bruce-Longo86, Key = "Amadio, {\it et al.}", Author = "Amadio, R. and K. Bruce and G. Longo", Title = "The finitary projection model for second order lambda calculus and solutions to higher order domain equations", BookTitle = "IEEE Symp. Logic in Computer Science", Year = "1986", Pages = "122-130" } @Article{Amant-etal00, Key = "Amant, {\it et al.}", author = "Robert St. Amant and Henry Lieberman and Richard Potter and Luke Zettlemoyer", title = "Programming by example: visual generalization in programming by example", journal = CACM, volume = 43, number = 3, pages = "107-114", month = Mar, year = 2000, annote = "10 references." } @Article{Ambler-Burnett-Zimmerman92, Key = "Ambler \& Burnett \& Zimmerman", Author = "Allen L. Ambler and Maragaret M. Burnett and Betsy A. Zimmerman", Title = "Operational Versus Definitional: A Perspective on Programming Paradigms", Journal = "Computer", Volume = 25, Number = 9, Month = Sep, Year = 1992, Pages = "28-43", Annote = "10 references." } @Article{Ambler-Burnett89, Key = "Ambler \& Burnett", Author = "Allen L. Ambler and Maragaret M. Burnett", Title = "Influence of Visual Technology on the Evolution of Language Environments", Journal = "Computer", Volume = 22, Number = 10, Month = Oct, Year = 1989, Pages = "9-22", Annote = "33 references." } @Article{Ambler-etal77, Key = "Ambler {\em et al.}", Author = "A. L. Ambler and D. I. Good and J. C. Browne and W. F. Burger and R. M. Choen and C. G. Hoch and R. E. Wells", Title = "Gypsy: a Language for Specification and Implementation of Verifiable Programs", Journal = SIGPLAN, Year = 1977, Month = Mar, Volume = 12, Number = 3, Pages = "1-10", Note = "Proceedings of the ACM Conference on Language Design for Reliable Software" } @InCollection{America-Rutten91, Key = "America \& Rutten", Author = "Pierre America and Jan Rutten", Title = "A Layered Semantics for a Parallel Object-Oriented Language", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "61-123", Address = NY, Annote = "Denotational semantics for POOL. 19 references." } @Article{America91b, Key = "America", Author = "Pierre America", Title = "POOL: Design and Experience", Journal = "OOPS Messenger", Year = 1991, Volume = 2, Number = 2, Month = Apr, Pages = "16-20", Annote = "11 references." } @InProceedings{Amiel-Gruber-Simon94, author = {Eric Amiel and Oliver Gruber and Eric Simon}, title = {Optimizing Multi-Method Dispatch Using Compressed Dispatch Tables}, booktitle = {OOPSLA '94 Conference Proceedings}, key = {Amiel \& Gruber \& Simon}, volume = 29, number = 10, series = {SIGPLAN Notices}, year = 1994, organization = ACM, month = {October}, pages = {244-258}, annote = {One dispatch table per generic function allows access in time of an $n$-dimenional array access. The bulk of the paper focuses on trading time for space savings in the table. The time overhead of this is small, as it uses two $n$-dimenional array accesses. 25 references.} } @Book{Ammeraal91, Key = "Ammeraal", Author = "Leendert Ammeraal", Title = "C++ for Programmers", Publisher = "John Wiley and Sons Ltd.", Address = "Chichester, UK", Year = 1991, Note = "ISBN 0-471-93011-3" } @InProceedings{Ancona-Lagorio-Zucca00, author = {Davide Ancona and Giovanni Lagorio and Elena Zucca}, key = {Ancona \& Lagorio \& Zucca}, title = {Jam - A Smooth Extension of {Java} with Mixins}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {154-178}, annote = {19 references.} } @Article{Anderson90, Key = "Anderson", Author = "Birger Anderson", Title = "Ellie Language Definition Report", Journal = SIGPLAN, Volume = 25, Number = 11, Month = Nov, Year = 1990, Pages = "45-64", Annote = "Parallel object-oriented language with a non-strict type system. 16 references." } @TechReport{Andrews-Olsson89, Key = "Andrews \& Olsson", Author = "Gregory R. Andrews and Ronald A. Olsson", Title = "Report on the {SR} Programming Language, Version 1.1", Institution = "Department of Computer Science, The University of Arizona", Address = "Tucson, Arizona", Number = "89-6", Month = May, Year = 1989, Annote = "10 references." } @Book{Andrews-Olsson93, Key = "Andrews \& Olsson", Author = "Gregory R. Andrews and Ronald A. Olsson", Title = "The SR Programming Language: Concurrency in Practice", Publisher = "The Benjamin/Cummings Publishing Company", Address = "Redwood City, CA", Year = 1993, Annote = "46 references." } @Article{Andrews81, Key = "Andrews", Author = "Gregory R. Andrews", Title = "Synchronizing Resources", Journal = TOPLAS, Volume = 3, Number = 4, Pages = "405-430", Month = Oct, Year = 1981, Annote = "Distributed programming language with a notion of resources. 37 references." } @TechReport{Andrews89, Key = "Andrews", Author = "James H. Andrews", Title = "Proof-Theoretic Characterisations of Logic Programming", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Address = "Edinburgh, EH9 3JZ", Number = "ECS-LFCS-89-77 (also CSR-295-89)", Month = Jun, Year = 1989, Annote = "11 references." } @Book{Andrews92, key = "Andrews", author = "Andrews", title = "Logic Programming: Operational Semantics and Proof Theory", publisher = "Cambridge University Press", year = "1992", address = "Cambridge, UK", annote = "76 references." } @InProceedings{Antoy-Echahed-Hanus94, Key = {Antoy \& Echahed \& Hanus}, Author = {Sergio Antoy and Rachid Echahed and Michael Hanus}, Title = "A Needed Narrowing Strategy", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "268-279", Annote = "49 references." } @TechReport{Antropova98, Key = "Antropova", Author = "Olga Antropova", Title = "{ACL} --- Eliminating Parameter Aliasing with Dynamic Dispatch", Year = 1998, Month = Jul, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "98-07", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-07/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu}" } @InCollection{Appel-MacQueen87, Key = "Appel, {\em et al.}", Author = "Andrew W. Appel and David B. MacQueen", Title = "A {Standard} {ML} Compiler", BookTitle = "Functional Programming Languages and Computer Architecture", Publisher = SV, Pages = "301-324", Year = "1987" } @Book{Appel92, Key = "Appel", Author = "Andrew W. Appel", Title = "Compiling with Continuations", Publisher = "Cambridge University Press", Year = 1992, Annote = "ISBN 0-521-41695-7. Design of Standard ML of New Jersey. Use of contiuation passing style. 98 references." } @Article{Appel93, Key = "Appel", Author = "Andrew W. Appel", Title = "A Critique of Standard ML", Journal = "Journal of Functional Programming", Year = 1993, Volume = 3, Number = 4, Month = Oct, Pages = "391-429", Annote = "49 references." } @Article{Appel98c, key = {Appel}, author = {Andrew W. Appel}, title = {{SSA} is Functional Programming}, journal = SIGPLAN, year = 1998, volume = 33, number = 4, month = Apr, pages = {17-20}, annote = {15 references.} } @Book{Appell02, key = "Appel", author = "Andrew W. Appel", title = "Modern Compiler Implementation in {Java}", publisher = "Cambridge University Press", address = "Cambridge, UK", annotate = "Many references.", edition = "Second Edition", year = "2002", } @Book{Appell98a, key = "Appel", author = "Andrew W. Appel", title = "Modern Compiler Implementation in {Java}", publisher = "Cambridge University Press", address = "Cambridge, UK", annotate = "Many references.", year = "1998", } @Book{Appell98b, key = "Appel", author = "Andrew W. Appel", title = "Modern Compiler Implementation in {ML}", publisher = "Cambridge University Press", address = "Cambridge, UK", annotate = "Many references.", year = "1998", } @Book{Appleby91, Key = "Appleby", Author = "Doris Appleby", Title = "Programming Languages Paradigm and Practice", Publisher = "McGraw-Hill", Year = 1991, Address = NY, Annote = "250 references." } @Article{Apt-Plotkin86, Key = "Apt \& Plotkin", Author = "K. R. Apt and G. D. Plotkin", Title = "Countable Nondeterminism and Random Assignment", Journal = JACM, Volume = 33, Number = 4, Month = Oct, Year = 1986, Pages = "724-767", Annote = "4 equivalent semantic definitions of a small programming language with bounded nondeterminism. Hoare-like proof system for total correctness. 35 references." } @InProceedings{Apt-Schaerf97, key = {Apt \& Schaerf}, author = {Krzysztof Apt and Andrea Schaerf}, title = {Search and Imperative Programming}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {67-79}, annote = {A step towards a typed constraint language that combines logic and imperative programming. 20 references.} } @Article{Apt-etal98, author = {Krzysztof Apt and Andrea Schaerf}, title = {{Alma-O}: An Imperative Language that Supports Declarative Programming}, journal = TOPLAS, year = 1998, key = {Apt, {\em et al.}}, volume = 20, number = 5, month = Sep, pages = {1014-1066}, annote = {41 references.} } @InCollection{Apt90, Key = "Apt", Author = "Krzysztof R. Apt", Booktitle = "Handbook of Theoretical Computer Science", Title = "Logic Programming", Chapter = 10, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "493-574", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "102 references." } @Book{Apt96, key = {Apt}, author = {Krzysztof R. Apt}, title = {From logic programming to Prolog}, publisher = {Prentice-Hall, Inc.}, year = 1996, address = {Upper Saddle River, NJ} } @Article{Arbab-Berry94, Key = "Arbab \& Berry", Author = "Bijan Arbab and Daniel Berry", Title = "Some Comments on 'A Denotational Semantics for Prolog'", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "605-606", Annote = "0 references." } @InProceedings{Ariola-Sabry98, key = {Ariola \& Sabry}, author = {Zena M. Ariola and Amr Sabry}, title = {Correctness of Monadic State: an Imperative Call-by-Need Calculus}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {62-73}, annote = {21 references.} } @InProceedings{Ariola-etal95, Key = {Ariola, {\em et al.}}, Author = {Zena M. Ariola and Matthias Felleisen and John Maraist and Martin Odersky and Philip Wadler}, Title = "A Call-By-Need Lambda Calculus", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "233-246", Annote = "31 references." } @Book{Armstrong-etal95, key = {Armstrong, {\em et al.}}, author = {J. L. Armstrong and M. C. Williams and C. Wikstr\"{o}m and S. R. Virding}, title = {Concurrent Programming in Erlang}, publisher = {Prentice Hall}, year = 1995, edition = {2nd edition} } @InProceedings{Armstrong97, key = {Armstrong}, author = {Joe Armstrong}, title = {The development of {Erlang}}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {196-203}, annote = {10 references.} } @Book{Arnold-Gosling-Holmes00, author = "Ken Arnold and James Gosling and David Holmes", key = "Arnold \& Gosling \& Holmes", title = "The {Java} Programming Language Third Edition", publisher = "Addison-Wesley", address = "Reading, MA", year = 2000, } @Book{Arnold-Gosling98, author = "Ken Arnold and James Gosling", key = "Arnold \& Gosling", title = "The {Java} Programming Language", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA", year = "1998", edition = "Second", series = "The Java Series", url = "http://www.aw.com/cp/javaseries.html" } @TechReport{Arvind-Gostelow-Plouffe78, Key = "Arvind \& Gostelow \& Plouffe", Author = "Arvind and Kim P. Gostelow and Wil Plouffe", Title = "An Asynchronous Programming Language and Computing Machine", Institution = "University of California, Irvine", Year = 1978, Number = "TR-114a", Month = Dec, Note = "Minor revisions June 1980", Annote = "Describes the Id data-flow language. This is a language for fine grained parallelism without type checking but with a primitive abstraction convention. 34 references." } @Unpublished{AspectJ02, Key = "AspectJ", Author = "{AspectJ Team}", Title = "The {AspectJ} Programming Guide", Institute = "Xerox Corporation", Month = Feb, Year = 2002, Note = "Available from \url{http://aspectj.org/doc/dist/progguide/index.html}" } @Unpublished{AspectJ03, Key = "AspectJ", Author = "{AspectJ Team}", Title = "The {AspectJ} Programming Guide", Institute = "Palo Alto Research Center, Inc.", Month = Oct, Year = 2003, Note = "Available from \url{http://eclipse.org/aspectj}" } @Unpublished{AspectJ04, Key = "AspectJ", Author = "{AspectJ Team}", Title = "The {AspectJ} Programming Guide", Institute = "Palo Alto Research Center, Inc.", Month = Oct, Year = 2004, Note = "Available from \url{http://eclipse.org/aspectj}" } @InCollection{Assenmacher-etal93, Key = "Assenmacher {\em etal}", Author = "Holger Assenmacher and Thomas Breitbach and Peter Buhler and Volker Hubsch and Reinhard Schwarz", Title = "PANDA - Supporting Distributed Programming in C++", Journal = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Note = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Pages = "361-383", Annote = "55 references" } @InCollection{Astesiano-Reggio-Wirsing89, Key = "Astesiano \& Reggio \& Wirsing", Author = "E. Astesiano and G. Reggio and M. Wirsing", Title = "Relational Specifications and Observational Semantics", BookTitle = "TAPSOFT'87, volume 1???", Publisher = SV, Year = 1991, Editor = "Hartmut Ehrig and others", Series = LNCS, Volume = "245?", Address = NY } @Article{Astesiano-Reggio87a, Key = "Astesiano \& Reggio", Author = "E. Astesiano and G. Reggio", Title = "Direct Semantics for Concurrent Languages in the SMoLCS Approach", Journal = IBMJRD, Year = 1987, Volume = 31, Number = 5, Pages = "512-534" } @InCollection{Astesiano-Reggio87b, Key = "Astesiano \& Reggio", Author = "E. Astesiano and G. Reggio", Title = "{SMoLCS} Driven Concurrent Calculi", BookTitle = "TAPSOFT'87, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Pisa, Italy, Volume 1", Publisher = SV, Year = 1991, Editor = "Hartmut Ehrig and others", Series = LNCS, Volume = 245, Address = NY } @Article{Astesiano-Zucca95, key = "Astesiano \& Zucca", author = "E. Astesiano and E. Zucca", title = "{D-oids}: a Model for Dynamic Data-Types", url = "ftp://ftp.disi.unige.it/person/ZuccaE/MSCS.ps.gz", journal = "Mathematical Structures in Computer Science", year = 1995, month = jun, volume = 5, number = 2, pages = "257--282" } @InCollection{Astesiano91, Key = "Astesiano", Author = "Edigio Astesiano", Title = "Inductive and Operational Semantics", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "51-136", Address = NY, Annote = "ISBN 0-387-53961-1. 20 references." } @Article{Augustsson-Johnsson89, Key = "Augustsson \& Johnsson", Author = "L. Augustsson and T. Johnsson", Title = "The Chalmers Lazy-ML Compiler", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 4 } @Book{Austern98, key = {Austern}, author = {Matthew H. Austern}, title = {Generic Programming and the STL: using and extending the C++ Standard Template Library}, publisher = {Addison-Wesley Longman Publ. Co.}, year = 1998, series = {Addison-Wesley professional computing series} } @inproceedings{Avdicausevic-etal02, Author = {Enis Avdi\v{c}au\v{s}evi\'{c} and Marjan Mernik and Mitja Leni\v{c} and Viljem \v{Z}umer}, Booktitle = {SAC 2002}, Keywords = {aspect-oriented programming, programming languages, separate compilation}, Title = {Experimental aspect-oriented language---{AspectCOOL}}, Year = {2002} } @Article{Axford-Joy96, key = "Axford \& Joy", author = "Tom Axford and Mike Joy", title = "{Aladin}: An abstract machine for integrating functional and procedural programming", journal = "Journal of Programming Languages", year = 1996, volume = 4, number = 2, pages = "63-76", month = Jun, annote = "19 references." } @inproceedings{Aydemier-etal05a, Author = {Aydemier, Brian E. and Bohannon, Aaron and Fairbairn, Matthew and Foster, J. Nathan and Pierce, Benjamin C. and Sewell, Peter and Vytiniotis, Dimitrios and Washburn, Geoffrey and Weirich, Stephanie and Zdancewic, Steve}, Title = {Mechanized Metatheory for the Masses: The {POPLmark} Challenge}, Booktitle = {Theorem Proving in Higher Order Logics: 18th International Conference}, Publisher = SV, Series = LNCS, Month = Jun, Year = {2005} } @InProceedings{Bachrach-Playford01, key = {Bachrach \& Playford}, author = {Jonthan Bachrach and Keith Playford}, title = {The Java syntactic extender ({JSE})}, booktitle = {Proceedings of the OOPSLA '01 conference on Object Oriented Programming Systems Languages and Applications}, volume = {36(11)}, series = {SIGPLAN Notices}, year = 2001, organization = ACM, month = Nov, pages = {31--42}, location = {Tampa Bay, FL, USA}, doi = {http://doi.acm.org/10.1145/504282.504285}, } @Article{Backus-Heising64, Key = "Backus \& Heising", Author = "J. W. Backus and W. P. Heising", Title = "{FORTRAN}", Journal = "IEEE Transactions on Electronic Computers", Year = 1964, Volume = "EC-13", Number = 4, Pages = "382-385" } @Article{Backus78, Key = "Backus", Author = "John Backus", Title = "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs", Journal = CACM, Volume = 21, Number = 8, Month = Aug, Pages = "613-641", Year = 1978, Annote = "ACM Turing Award lecture. Argues against big 'von Neumann' languages. Advocates a functional style based on powerful combining forms. FP and an associated algebra of programs. 23 references." } @Article{Backus78b, Key = "Backus", Author = "John Backus", Title = "The History of {FORTRAN I, II}, and {III}", Journal = SIGPLAN, Year = 1978, Volume = 13, Number = 8, Month = Aug, Pages = "165-180", Annote = "Many historical references." } @InProceedings{Bacon-Cheng-Rajan03, key = {Bacon \& Cheng \& Rajan}, author = "David F. Bacon and Perry Cheng and V. T. Rajan", title = "A real-time garbage collector with low overhead and consistent utilization", pages = "285--298", editor = "Cindy Norris and {Jr.} James B. Fenwick", booktitle = "Proceedings of the 30th {ACM} {SIGPLAN}-{SIGACT} symposium on Principles of programming languages ({POPL}-03)", month = jan # " ~15--17", series = "ACM SIGPLAN Notices", volume = "38, 1", publisher = "ACM Press", address = "New York", year = "2003", } @Book{Bailey90, Key = "Bailey", Author = "Roger Bailey", Title = "Functional Programming with {Hope}", Publisher = "Ellis Horwood", Year = 1990, Series = "Ellis Horwood series in Computers and their Applications", Address = "Chichester, UK", Annote = "ISBN 0-13-338237-0" } @InProceedings{Baker-Hsieh02, key = {Baker \& Hsieh}, author = {Jason Baker and Wilson C. Hsieh}, title = {{Maya}: Multiple-dispatch Syntax Extension in {Java}}, booktitle = {Proceeding of the ACM SIGPLAN 2002 Conference on Programming language design and implementation}, volume = {37(5)}, series = {SIGPLAN Notices}, year = 2002, organization = ACM, month = {May}, pages = {270--281}, location = {Berlin, Germany}, doi = {http://doi.acm.org/10.1145/512529.512562} } @Article{Baker91, Key = "Baker", Author = "Henry G. Baker", Title = "Shallow Binding Makes Functional Arrays Fast", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 8, Month = Aug, Pages = "145-147", Annote = "22 references. " } @Article{Baker92, Key = "Baker", Author = "Henry G. Baker", Title = "Lively Linear Lisp --- `Look {Ma}, No Garbage!'", Journal = SIGPLAN, Year = 1991, Volume = 27, Number = 8, Month = Aug, Pages = "89-98", Annote = "66 references. " } @Article{Baker93, Key = "Baker", Author = "Henry G. Baker", Title = "Equal rights for Functional Objects or, the more things change, the more they are the same", Journal = "OOPS Messenger", Year = 1993, Volume = 4, Number = 9, Month = Oct, Pages = "2-27", Annote = "100 references. " } @Article{Baker95, Key = "Baker", Author = "Henry G. Baker", Title = "`Use-Once' Variables and Linear Objects -- Storage Management, Reflection, and Multi-Threading", Journal = SIGPLAN, Year = 1995, Volume = 30, Number = 1, Month = Jan, Pages = "45-52", Annote = "68 references. " } @Article{Baker97a, key = {Baker}, author = {Henry G. Baker}, title = {I Have a Feeling We're Not in Emerald City Anymore}, journal = SIGPLAN, year = 1997, volume = 32, number = 4, month = Apr, pages = {22-26}, annote = {Satire about Ada. Note that this is the April issue. 6 references.} } @Article{Baker97b, key = {Baker}, author = {Henry G. Baker}, title = {{COMFY}---A Comfortable Set of Control Primitives for Machine Language Programming}, journal = SIGPLAN, year = 1997, volume = 32, number = 6, month = Jun, pages = {23-27}, annote = {3 references.} } @Article{Baker97c, key = {Baker}, author = {Henry G. Baker}, title = {When Bad Programs Happen to Good People}, journal = SIGPLAN, year = 1997, volume = 32, number = 3, month = Mar, pages = {27-31}, annote = {5 references.} } @Article{Ball99, author = {Ball}, title = {Paths between Imperative and Functional Programming}, journal = SIGPLAN, year = 1999, key = {Ball}, volume = 34, number = 2, month = Feb, pages = {21-25}, annote = {Comparing functional and imperative programming by what paths through a program can be executed. 6 references.} } @InCollection{Banarjee-Schmidt93, Key = "Banarjee \& Schmidt", Author = "Anindya Banarjee and David A. Schmidt", Title = "A Categorical Interpretation of Landin's Correspondence Principle", BookTitle = "Mathematical Foundations of Programming Semantics 9th International Conference, New Orleans, LA, USA, Proceedings", Publisher = SV, Year = 1993, Editor = "S. Brookes and M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 802, Pages = "587-602", Address = NY, Month = Apr, Annote = "27 references." } @InCollection{Banatre-LeMetayer91, Key = "Banatre \& Le Metayer", Author = "Jean-Pierre Banatre and Daniel Le Metayer", Title = "Introduction to Gamma", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "197-202", Annote = "6 references" } @book{Bancilhon-Delobel-Kanellakis92, Author = "Fran\c{c}ois Bancilhon and Claude Delobel and Paris Kanellakis (eds.)", Title = "Implementing an Object-Oriented database system: The story of {O}$_{2}$", Publisher = "Morgan Kaufmann ", Year = 1992 } @Article{Bantchev98, key = {Bantchev}, author = {Boyko B. Bantchev}, title = {Putting More Meaning in Expressions}, journal = SIGPLAN, year = 1998, volume = 33, number = 9, month = Sep, pages = {77-83}, annote = {Additional constructs for expression-based imperative languages. 10 references.} } @Book{Bar-David93, Key = "Bar-David", Author = "Tsvi Bar-David", Title = "Object-Oriented Design for C++", Publisher = Prentice-Hall, Address = "Englewood Cliffs, NJ", Year = 1993 } @Book{Barendregt84, Key = "Barendregt", Author = "H. P. Barendregt", Title = "The Lambda Calculus: Its Syntax and Semantics", Publisher = North-Holland, Address = NY, Year = 1984, Note = "Revised Edition", Annote = "The classic reference on lambda calculus. Hundreds of references." } @Unpublished{Barendregt90, Key = "Barendregt", Author = "H. P. Barendregt", Title = "Lambda Calculus: A Tutorial", Month = Jan, Year = 1990, Note = "Presented at POPL 1990" } @InCollection{Barendregt90b, Key = "Barendregt", Author = "H. P. Barendregt", Booktitle = "Handbook of Theoretical Computer Science", Title = "Functional Programming and Lambda Calculus", Chapter = 7, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "321-363", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "93 references." } @Article{Barnes80, Key = "Barnes", Author = "J. G. P. Barnes", Title = "An Overview of Ada", Journal = SPandE, Volume = 10, Pages = "851-887", Year = 1980 } @Book{Barnes91, Key = "Barnes", Author = "J. G. P. Barnes", Title = "Programming in Ada (third edition)", Publisher = "Addison-Wesley", Year = 1991, Address = "Wokkingham, England" } @Book{Barnes97, key = "Barnes", author = "J. Barnes", title = "High Integrity {Ada}: The {SPARK} Approach", publisher = "Addison Wesley Longman, Inc.", addr = "Reading", year = 1997 } @InProceedings{Barrett-etal96, author = {Kim Barrett and Bob Cassels and Paul Haahr and David A. Moon and Keith Playford and P. Tucker Withington}, title = {A Monotonic Superclass Linerization for Dylan}, booktitle = {Proceedings OOPSLA '96 Conference on Object-Oriented Programming Systems, Languages, and Applications}, key = {Barrett, {\em et al.}}, volume = 31, number = 10, series = {ACM SIGPLAN Notices}, year = 1996, organization = ACM, month = Oct, pages = {69-82} } @TechReport{Baumgartner-Jansche-Laeufer02, Key = {Baumgartner \& Jansche \& L\"{a}ufer}, Author = {Gerald Baumgartner and Martin Jansche and Konstantin L\"{a}ufer}, Title = "{Half \& Half}: Multiple Dispatch and Retroactive Abstraction for {Java}", Year = "2002", Month = Mar, Number = "OSU-CISRC-5/01-TR08", Institution = "Department of Computer Science, The Ohio State University ", Annote = "38 references." } @InProceedings{Baumgartner-Jansche-Peisert01, Key = {Baumgartner \& Jansche \& Peisert}, Author = {Gerald Baumgartner and Martin Jansche and Cristopher D. Peisert}, Title = {Support for Functional Programming in {Brew}}, BookTitle = {Proceedings of the Multiparadigm Programming with Object-Oriented Languages, 1st International Workshop (MPOOL '01)}, Editor = {Kei Davis and Yannis Smaragdakis and J\"{o}rg Striegnitz}, Series = {Publication Series of the John von Neumann Institute for Computing}, Publisher = {John von Neumann Institute for Computing}, address = {J\"{u}lich, Germany}, Volume = {7}, Month = Jun, Year = 2001, Pages = {111--125}, Annote = {24 references} } @TechReport{Baumgartner-Laeufer-Russo96, Key = {Baumgartner \& L\"{a}ufer \& Russo}, Author = {Gerald Baumgartner and Konstantin L\"{a}ufer and Vincent F. Russo}, Title = "On the Interaction of Object-Oriented Design Patterns and Programming Languages", Year = "1998", Month = Feb, Number = "CSD-TR-96-020", Institution = "Department of Computer Science, Purdue University ", Annote = "42 references." } @Article{Baumgartner-Russo95, author = {Gerald Baumgartner and Vincent F. Russo}, title = {Signatures: A Language Extension for Improving Type Abstraction and Subtype Polymorphism in {C++}}, journal = {Software--Practice \& Experience}, year = 1995, key = {Baumgartner \& Russo}, volume = 25, number = 8, month = {Aug}, pages = {863-889}, URL = {http://www.cis.ohio-state.edu/~gb/Papers/Signature-design.ps.gz} } @TechReport{Baumgartner-Russo95b, key = {Baumgartner \& Russo}, author = {Gerald Baumgartner and Vincent F. Russo}, title = {Signatures: A Language Extension for Improving Type Abstraction and Subtype Polymorphism in {C++}}, institution = {Dept. of Computer Sciences, Purdue University}, year = 1995, number = {CSD--TR--95--051}, month = Aug, URL = {http://www.cis.ohio-state.edu/~gb/Papers/Signature-design.ps.gz} } @InCollection{Beeri-Kornatzky90, Key = "Beeri \& Kornatzky", Author = "Catriel Beeri and Yoram Kornatzky", Title = "Algebraic Optimization of Object-Oriented Query Languages", BookTitle = "ICDT '90 Third International Conference on Database Theory Paris, France, December 1990", Publisher = SV, Year = 1990, Editor = "S. Abiteboul and P.C. Kanellakis", Series = LNCS, Volume = 470, Pages = "72-88", Address = NY, Annote = "31 references." } @Article{Benson99, key = {Benson}, author = {Brent W. {Benson, Jr.}}, title = {Closures for the Masses}, journal = SIGPLAN, year = 1999, volume = 34, number = 2, month = Feb, pages = {32-35}, annote = {Inner classes in Java. 2 references.} } @Article{Bentley86, Key = "Bentley", Author = "Jon Bentley", Title = "Programming Pearls: Little Languages", Journal = CACM, Year = 1986, Volume = 29, Number = 8, Month = Aug, Pages = "711-721", Annote = "Focuses on PIC and other small languages in Unix." } @InProceedings{Benton-Kennedy-Russell99, key = {Benton \& Kennedy \& Russell}, author = {Nick Benton and Andrew Kennedy and George Russell}, title = {Compiling {Standard ML} to {Java} Bytecodes}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {129-140}, annote = {26 references.} } @InProceedings{Benton-Kennedy-Russell99, key = {Benton \& Kennedy \& Russell}, author = {Nick Benton and Andrew Kennedy and George Russell}, title = {Compiling {Standard ML} to {Java} Bytecodes}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {129-140}, annote = {26 references.} } @Book{Bergin-Gibson96, editor = "T. J. Bergin and R. G. Gibson", title = "History of Programming Languages", booktitle = "History of Programming Languages", publisher = "Addison-Wesley", address = NY, year = "1996", ISBN = "0-201-89502-1", annote = "Edited papers from the HOPL-II conference. Includes: C++, C, CLU, Forth, Icon, Smalltalk, FORMAC, Prolog, Lisp, Ada, Concurrent Pascal, Algol 68." } @Article{Bergin97, key = {Bergin}, author = {Tim Bergin}, title = {{HOPL II} --- Closing Panel: The History of Programming: Does our Present Past Have a Future}, journal = SIGPLAN, year = 1997, volume = 32, number = 9, month = Sep, pages = {15-37}, annote = {Transcript of the closing panel.} } @Article{Bergmans-Aksits01, Key = "Bergmans \& Aksits", Author = "Lodewijk Bergmans and Mehmet Aksits", Title = "Composing crosscutting concerns using composition filters", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "51--57", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Book{Bergstra-Heering-Klint89, Key = "Bergstra \& Heering \& Klint", Author = "J. A. Bergstra and J. Heering and P. Klint", Title = "Algebraic Specification", Publisher = "ACM Press and Addison-Wesley", Year = 1989, Annote = "Uses ASF and SDF to specify programming languages. 107 references." } @Article{Bergstra-Heering-Klint90, Key = "Bergstra \& Heering \& Klint", Author = "J. A. Bergstra and J. Heering and P. Klint", Title = "Module Algebra", Journal = JACM, Month = Apr, Year = 1990, Volume = 37, Number = 2 } @Article{Bergstra-etal97, author = {J. A. Bergstra and T. B. Dinesh and J. Field and J. Heering}, title = {Toward a Complete Transformational Toolkit for Compilers}, journal = TOPLAS, year = 1997, key = {Bergstra, {\em et al.}}, volume = 19, number = 5, month = Sep, pages = {639-684}, annote = {PIM is an equational logic that is designed for building programming tools. 51 references.} } @Article{Berlin-Weise90, Key = "Berlin \& Weise", Author = "Andrew Berlin and Daniel Weise", Title = "Compiling Scientific Code Using Partial Evaluation", Journal = "Computer", Volume = 23, Number = 12, Month = Dec, Year = 1990, Pages = "25-37", Annote = "7 references." } @Book{Best96, author = {Eike Best}, title = {Semantics of Sequential and Parallel Programs}, publisher = {Prentice Hall}, year = 1996, address = NY, annote = {272 references.} } @Article{Bhargava-Sridhar-Herrick98, key = {Bhargava \& Sridhar \& Herrick}, author = {Hemant K. Bhargava and Suresh Sridhar and Craig Herrick}, title = {Beyond Spreadsheets: Tools for Building Decision Support Systems}, journal = {Computer}, year = 1999, volume = 32, number = 3, month = Mar, pages = {31-39}, annote = {8 references.} } @Book{Bird-Wadler88, Key = "Bird \& Wadler", Author = "Richard J. Bird and Philip Wadler", Title = "Introduction to Functional Programming", Publisher = "Prentice-Hall", Series = "International Series in Computer Science", Address = NY, Year = 1988 } @InCollection{Bird95, key = "Bird", author = "R. S. Bird", title = "Functional Algorithm Design", booktitle = "Mathematics of Program Construction: Third International Conference MPC '95", publisher = SV, year = 1995, editor = {Bernhard M\"oller}, volume = 947, series = LNCS, pages = "2-17", address = NY, annote = "24 references." } @Book{Bird98, Key = "Bird", Author = "Richard J. Bird", Title = "Introduction to Functional Programming using Haskell", Edition = "second", Publisher = "Prentice-Hall Europe", Series = "Prentice-Hall Series in Computer Science", Address = "London, UK", Year = 1998, Annote = "99 references." } @Book{Birtwistle-etal73, Key = "Birtwistle, {\em et al.}", Title = "SIMULA Begin", Author = "Graham M. Birtwistle and Ole-Johan Dahl and Bjorn Myhrhaug and Kristen Nygaard", Publisher = "Auerbach Publishers", Address = "Philadelphia, Penn.", Year = 1973, Annote = "Complete definition of SIMULA, exercises, and examples. 22 references." } @Article{Blaschek-Froehlich98, key = {Blaschek \& Fr\"{o}hlich}, author = {G\"{u}nther Blaschek and Joachim Hans Fr\"{o}hlich}, title = {Recursion in Object-Oriented Programs}, journal = JOOP, year = 1998, volume = 11, number = 7, month = Nov, pages = {28-35}, annote = {7 references.} } @Book{Blaschek94, Key = "Blaschek", Author = {G\"{u}nther Blaschek}, Title = "Object-Oriented Programming with Prototypes", Publisher = SV, Year = 1994, Address = NY, Annote = "The programming language Omega. 67 references." } @inproceedings{Blelloch-Cheng99, key = {Guy E. Blelloch and Perry Cheng}, author = {Guy E. Blelloch and Perry Cheng}, title = {On bounding time and space for multiprocessor garbage collection}, booktitle = {Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation}, year = {1999}, pages = {104--117}, location = {Atlanta, Georgia, United States}, URL = {http://doi.acm.org/10.1145/301618.301648}, publisher = {ACM Press} } @Book{Bloch01, key = "Bloch", author = "Joshua Bloch", title = "Effective {Java}: Programming Language Guide", publisher = "Addison-Wesley", address = "Boston", year = "2001", ISBN = "0-201-31005-8", series = "Java series", annote = "38 references." } @InCollection{Bloom-Kwiatkowska91, Key = "Bloom \& Kwiatkowska", Author = "Bard Bloom and Marta Kwiatkowska", Title = "Trade-Offs in True Concurrency: Pomsets and Mazurkiewicz Traces", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Volume = 598, Pages = "350-375", Address = NY, Annote = "25 references." } @Article{Bobrow-Raphael75, Key = "Bobrow \& Raphael", Author = "D. G. Bobrow and B. Raphael", Title = "New programming languages for artificial intelligence", Journal = ACMCS, Year = 1974, Month = Sep, Volume = 6, Number = 3, Pages = "155-174" } @TechReport{Bobrow-Stefik81, Key = "Bobrow \& Stefik", Author = "D. G. Bobrow and M. Stefik", Title = "The Loops Manual", Institution = "Xerox Palo Alto Research Center, Knowledge Systems Area", Year = 1981, Number = "KB-VLSI-81-13" } @Article{Bobrow-etal88, Key = "Bobrow, {\em et al.}", Author = "D. G. Bobrow and L. G. DeMichiel and R. P. Gabriel and S. E. Keene and G. Kiczales and D. A. Moon", Title = "Common Lisp Object System Specification", Journal = SIGPLAN, Volume = 23, Number = "Special Issue", Month = Sep, Year = 1988, Note = "ANSI X3J13 committee Document 88-002R", Annote = "An object-oriented extension to Common Lisp" } @inproceedings{Bockisch-etal04a, Key = {Bockisch, {\em et al.}}, Author = {Christoph Bockisch and Michael Haupt and Mira Mezini and Klaus Ostermann}, Title = {Virtual machine support for dynamic join points}, Booktitle = {Proc. of the 3rd international conference on Aspect-oriented software development}, Organization = {ACM}, Pages = {83-92}, Year = 2004 } @InProceedings{Boehm-etal86, Key = "Boehm \& etal", Author = "Hans-J. Boehm and Robert Cartwright and Mark Riggle and Michael J. O'Donnell", Title = "Exact Real Arithmetic: A Case Study in Higher Order Programming", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "162-173", Organization = ACM, Month = Aug, Annote = "24 references." } @Article{Boehm96, key = {Boehm}, author = {Hans-J. Boehm}, title = {Simple Garbage-Collector-Safety}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {89-98}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {24 references.} } @Article{Bohrer-etal98, key = {Bohrer, {\em et al.}}, author = {Kathy Bohrer and Verlyn Johnson and Anders Nilsson and Bradley Rubin}, title = {Business Process Components for Distributed Object Applications}, journal = CACM, year = 1998, volume = 41, number = 6, month = Jun, pages = {43-48}, annote = {The San Francisco framework in Java.} } @Book{Bollella-etal00, key = "Bollella, et al.", author = "Gregory Bollella and James Gosling and Benjamin Brosgol and James Gosling and Peter Dibble and Steve Furr and Mark Turnbull and T. J. Bergin and R. G. Gibson", title = "The Real-Time Specification for Java", publisher = "Addison-Wesley", address = NY, year = "2000" } @unpublished{Boner-Vasseur04, key = {Bon\'{e}r \& Vasseur}, Author = {Jonas Bon\'{e}r and Alexandre Vasseur}, Title = {{AspectWerkz}}, note = {\url{http://aspectwerkz.codehaus.org/index.html}}, month = Feb, year = 2004, } @Misc{Bonniot-Keller03, key = {Bonniot \& Keller}, title = {The {Nice} User's Manual}, author = {Daniel Bonniot and Bryn Keller}, year = {2003}, howpublished = "\url{http://nice.sourceforge.net}", } @Article{Booch82, Key = "Booch", Author = "Grady Booch", Title = "Naming Subprograms with Clarity", Journal = SIGPLAN, Volume = 17, Number = 1, Month = Jan, Pages = "18-22", Year = 1982, Annote = "Putting parameters within the procedure name." } @InCollection{Borning-OShea87, Key = "Borning \& O'Shea", Author = "Alan Borning and Tim O'Shea", Title = "Deltatalk: An Empirically and Aesthetically Motivated Simplification of the Smalltalk-80 Language", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "1-10", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "17 references." } @Article{Bosch98, key = {Bosch}, author = {Jan Bosch}, title = {Design Patterns as Language Constructs}, journal = JOOP, year = 1998, volume = 11, number = 2, month = May, pages = {18-32}, annote = {The Layered Object Model (LayOM) language. 17 references.} } @article{Boute05, key = {Boute}, author = {Raymond Boute}, title = {Functional declarative language design and predicate calculus: a practical approach}, journal = TOPLAS, volume = 27, number = 5, year = 2005, pages = {988-1047}, doi = {http://doi.acm.org/10.1145/1086642.1086647}, publisher = ACM, address = NY } @article{Boute06, author = {Raymond T. Boute}, title = {Calculational semantics: Deriving programming theories from equations by functional predicate calculus}, journal = TOPLAS, volume = 28, number = 4, year = 2006, pages = {747-793}, doi = {http://doi.acm.org/10.1145/1146809.1146814}, publisher = ACM, address = NY, annote = "47 references." } @Article{Boute92, Key = "Boute", Author = "Raymond T. Boute", Title = "The {Euclidean} Definition of the Functions div and mod", Journal = TOPLAS, Year = 1992, Volume = 14, Number = 2, Month = Apr, Pages = "127-144", Annote = "20 references." } @InProceedings{Bove-Arbilla92, Key = "Bove \& Arbilla", Author = "Ana Bove and Laura Arbilla", Title = "A Confluent Calculus of Macro Expansion and Evaluation", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "278-287", Organization = ACM, Month = Jun, Annote = "20 references" } @inproceedings{Boyapati-etal03, key = {Boyapati, et al.}, author = {Chandrasekhar Boyapati and Alexandru Salcianu and {Beebee, Jr.}, William and Martin Rinard}, title = {Ownership Types for Safe Region-Based Memory Management in {R}eal-{T}ime {J}ava}, booktitle = "Proceedings of {SIGPLAN 2003} Conference on Programming Languages Design and Implementation", address = {San Diago, CA}, month = jun, year = 2003, publisher = ACM, series = SIGPLAN } @InProceedings{Bracha-Cook90, Key = "Bracha \& Cook", Author = "Gilad Bracha and William Cook", Title = "Mixin-Based Inheritance", Booktitle = {OOPSLA/ECOOP '90: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications}, Editor = "N. Meyrowitz", Series = SIGPLAN, Year = 1990, Volume = "25(10)", Month = Oct, Pages = "303-311", Publisher = ACM, Address = NY, Annote = "19 references." } @Article{Brad-etal89, Key = "Brad, {et al}", Author = "P. Brad and S. Haridi and D.H.D. Warren", Title = "Andrew Prolog- The Language and Applications in Distributed Computing", Journal = "New Generation Computing", Year = 1989, Month = Mar, Volume = 7, Number = 2, Pages = "109-125" } @InCollection{Bradley88, Key = "Bradley", Author = "Laurette Bradley", Title = "A Treatment of Languages with Stages of Evaluation", BookTitle = "Mathematical Foundations of Programming Language Semantics, 3rd Workshop, Tulane University, New Orleans, Lousiana, USA, April 1987", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Publisher = SV, Address = NY, Year = 1988, Pages = "415-443", Series = LNCS, Volume = 298, Annote = "15 references." } @Article{Brand-Haridi-Warren89, Key = "Brand \& Haridi \& Warren", Author = "P. Brand and S. Haridi and D.H.D. Warren", Title = "Andorra Prolog", Journal = "New Generation Computing", Year = 1989, Volume = 7, Number = "2-3", Pages = "109-129" } @Article{Branquart-etal71, Key = "Branquart, {\em et al.}", Author = "P. Branquart and J. Lewi and M. Sintzoff and P. L. Wodon", Title = "The Composition of Semantics in Algol 68", Journal = CACM, Year = 1971, Month = Nov, Volume = 14, Number = 11, Pages = "697-708" } @Article{Bravenboer-etal05, author = {M. Bravenboer and A. van Dam and K. Olmos and and E. Visser}, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, journal = {Fundamenta Informaticae}, year = 2005, key = {Bravenboer, {\em et al.}}, volume = 69, number = {1-2}, pages = {1-56}, month = {Winter}, } @Article{Breazu-Tannen-Gallier91, Key = "Breazu-Tannen \& Gallier", Author = "Val Breazu-Tannen and Jean Gallier", Title = "Polymorphic Rewriting Conserves Algebraic Strong Normalization", Journal = TCS, Volume = 83, Number = 1, Pages = "3-28", Month = Jun, Year = 1991 } @TechReport{Breazu-Tannen-Gunter-Scedrov89a, Key = "Breazu-Tannen \& Gunter \& Scedrov", Author = "V. Breazu-Tannen and C. A. Gunter and A. Scedrov", Title = "Computing with Coercions", Number = "MS-CIS-89-62/Logic \& Computation 11", Institution = "Department of Computer and Information Science, University of Pennsylvania", Year = 1989, Type = "Research Report", Note = "Also in ACM Symposium on Lisp and Functional Programming, 1990.", Annote = "9 references" } @TechReport{Breazu-Tannen-Gunter-Scedrov89b, Key = "Breazu-Tannen \& Gunter \& Scedrov", Author = "V. Breazu-Tannen and C. A. Gunter and A. Scedrov", Title = "Denotational Semantics for Subtyping between Recursive Types", Number = "MS-CIS-89-63/Logic \& Computation 12", Institution = "Department of Computer and Information Science, University of Pennsylvania", Year = 1989, Type = "Research Report", Annote = "18 references" } @InProceedings{Breazu-Tannen-Gunter-Scedrov90, Key = "Breazu-Tannen \& Gunter \& Scedrov", Author = "V. Breazu-Tannen and C. A. Gunter and A. Scedrov", Title = "Computing with Coercions", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = Jun, Year = 1990, Pages = "44-60", Annote = "9 references" } @InCollection{Breazu-Tannen-Meyer85, Key = "Breazu-Tannen \& Meyer", Author = "Val Breazu-Tannen and Albert R. Meyer", Title = "Lambda Calculus with Constrained Types", BookTitle = "Logics of Programs, Brooklyn", Editor = "Rohit Parikh", Publisher = SV, Month = Jun, Year = 1985, Series = LNCS, Volume = 193, Pages = "23-40" } @InProceedings{Breazu-Tannen-Subrahmanyam91, Key = "Breazu-Tannen \& Subrahmanyam", Author = "Val Breazu-Tannen and Ramesh Subrahmanyam", Title = "On Adding Algebraic Theories with Induction to Typed Lambda Calculi", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "221-225", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = "May", Annote = "6 references." } @InProceedings{Breazu-Tannen-Subrahmanyam92, Key = "Breazu-Tannen \& Subrahmanyam", Author = "Val Breazu-Tannen and Ramesh Subrahmanyam", Title = "On Extending Computational Adequacy by Data Abstraction", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "161-169", Organization = ACM, Month = Jun, Annote = "16 references" } @InProceedings{Breazu-Tannen-etal89, Key = "Breazu-Tannen {\em et al.}", Author = "V. Breazu-Tannen and T. Coquand and C. A. Gunter and A. Scedrov", Title = "Inheritance and Explicit Coercion (Preliminary Report)", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "112-129", Note = "Revised version to appear in {\em Information and Computation}. Also appears as University of Pennsylvania, Department of Computer and Information Science, Logic and Computation 1, MS-CIS-89-01", Annote = "Semantic interpretation of languages with inheritance, specifically an extension of Cardelli and Wegner's Fun that has recursive type defs. The semantics are given by translating the language into a target language where each type coercion needed to handle inheritance is made explicit. Type coercions are determined by proofs of inheritance judgements. Coherence theorem shows that different ways of deriving these judgements do not pose problems. 33 references." } @Article{Breazu-Tannen-etal91, key = "Breazu-Tannen {\em et al.}", author = "V. Breazu-Tannen and T. Coquand and C. A. Gunter and A. Scedrov", title = "Inheritance as implicit coercion", journal = "Information and Computation", year = 1991, volume = 93, number = 1, pages = "172-221", month = Jul } @Article{BrinchHansen78, Key = "Brinch Hansen", Author = "Per {Brinch Hansen}", Title = "Distributed Processes: A Concurrent Programming Concept", Journal = CACM, Volume = 21, Number = 11, Pages = "934-941", Month = Nov, Year = 1978 } @Article{BrinchHansen81, Key = "Brinch Hansen", Author = "Per {Brinch Hansen}", Title = "Edison--A Multiprocessor Language. The Design of Edison. Edison Programs", Journal = SPandE, Year = 1981, Volume = 11, Pages = "325-414", Note = "3 separate articles in the same issue.", Annote = "Edison is a multiprogramming language. An effort was made to make syntax errors easily detected, especially in type declarations. 22 references." } @TechReport{BrinchHansen86a, Key = "Brinch Hansen", Author = "Per {Brinch Hansen}", Title = "A Joyce Implementation", Institution = "Computer Science Department, University of Copenhagen", Year = 1986, Month = Oct, Number = "86/9", Annote = "Single processor implementation on an IBM PC. 3 references." } @TechReport{BrinchHansen86b, Key = "Brinch Hansen", Author = "Per {Brinch Hansen}", Title = "The Joyce Language Report", Institution = "Computer Science Department, University of Copenhagen", Year = 1986, Month = Oct, Number = "86/10", Annote = "A semantic variant of CSP. 3 references." } @InCollection{Brock-Ackerman81, Author = "J. Dean Brock and William B. Ackerman", Title = "Scenarios: A Model of Non-determinate Computation", Booktitle = "Formalization of Programming Concepts", Series = "Lecture Notes in Computer Science", Volume = 107, Editor = "J. Diaz and I. Ramos", Publisher = SV, Address = "Berlin", Year = 1981, Pages = "252-259" } @Book{Brodie84, Key = "Brodie", Author = "Leo Brodie", Title = "Thinking Forth", Year = 1984, Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Annote = "Discussion of design using Forth." } @TechReport{Brookes-Geva89, Key = "Brookes \& Geva", Author = "Stephen Brookes and Shai Geva", Title = "Parallel Exponentiation of Concrete Data Structures", Institution = CMU, Number = "CMU-CS-=89-206", Month = Dec, Year = 1989, Annote = "Semantic model of parallel computation. 10 references." } @Article{Brown-Crowder91, Key = "Brown \& Crowder", Author = "J. A. Brown and H. P. Crowder", Title = "{APL2}: Getting Started", Journal = "IBM Systems Journal", Year = 1991, Volume = 30, Number = 4, Pages = "433-445" } @Article{Brown78, Key = "Brown", Author = "W. Brown", Title = "Modular Programming in PL/M", Journal = "Computer", Volume = 11, Number = 3, Pages = "40-46", Month = Mar, Year = 1978, Annote = "Modules in PL/M and their use. 11 references." } @Book{Brown88a, Key = "Brown", Author = "James A. Brown", Title = "{APL2} at a glance", Publisher = "Prentice Hall", Year = 1988, Address = "Englewood Cliffs, N.J." } @Article{Broy-Wirsing-Pepper87, Key = "Broy \& Wirsing \& Pepper", Author = "Manfred Broy and Martin Wirsing and Petter Pepper", Title = "On the Algebraic Definition of Programming Languages", Journal = TOPLAS, Month = Jan, Year = 1987, Volume = 9, Number = 1, Pages = "54-99", Annote = "Discussion of the algebraic specification of the semantics of programming languages. Emphasis on least fixed-points, which are defined via classes minimally-defined partial algebras. Transformational semantics as a complementary technique. Partial algebras, hierarchical types. 37 references." } @Article{Bruce-Meyer-Mitchell90, Key = "Bruce \& Meyer \& Mitchell", Author = "Kim B. Bruce and Albert Meyer and John C. Mitchell", Title = "The Semantics of the Second-Order Lambda Calculus", Journal = "Information and Computation", Volume = 85, Number = 1, Month = Mar, Year = 1990, Pages = "76 ff." } @InCollection{Bruce91, Key = "Bruce", Author = "Kim B. Bruce", Title = "The Equivalence of Two Semantic Definitions for Inheritance in Object-Oriented Languages", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "102-124", Annote = "16 references." } @Article{Bruggeman-Waddell-Dybvig99, key = {Bruggeman \& Waddell \& Dybvig}, author = {Carl Bruggeman and Oscar Waddell and R. Kent Dybvig}, title = {Representing Control in the Presence of One-Shot Continuations}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {99-107}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {23 references.} } @InProceedings{Bruns-etal04, title = "{$\mu$}{ABC}: {A} Minimal Aspect Calculus", author = "Glenn Bruns and Radha Jagadeesan and Alan Jeffrey and James Riely", year = "2004", editor = "Philippa Gardner and Nobuko Yoshida", booktitle = "{CONCUR 2004---Concurrency Theory: 15th International Conference, London, UK, August 31--September 3, 2004, Proceedings}", pages = "209-224", volume = "3170", series = LNCS, publisher = SV, URL = "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3170&spage=209", } @InCollection{Brus-etal87, key = "Brus, {\em et al.}", author = "T. H. Brus and M. C. J. D. van Eekelen and M. O. van Leer and M. J. Plasmeijer", editor = "G. Kahn", title = "Clean: A Language for Functional Graph Rewriting", booktitle = "Functional Programming Languages and Computer Architecture", pages = "364--384", publisher = SV, address = "Berlin", series = LNCS, volume = 274, year = 1987, ISBN = "3-540-18317-5", abstract = "Clean is based on an extension of Term Rewriting Systems (TRS) in which the terms are replaced by graphs. Such a Graph Rewriting System (GRS) consists of a, possibly cyclic, directed graph, called the data graph and graph rewrite rules which specify how this graph may be rewritten." } @Article{Brutzman98, key = {Brutzman}, author = {Don Brutzman}, title = {The {Virtual Reality Modeling Language} and {Java}}, journal = CACM, year = 1998, volume = 41, number = 6, month = Jun, pages = {57-64}, annote = {12 references.} } @InCollection{Bry90, Key = "Bry", Author = "F. Bry", Title = "Negation in Logic Programming: A Formalization in Constructive Logic", BookTitle = "Information Systems and Artificial Intelligence: Integration Aspects, First Workshop, Ulm, FRG", Publisher = Springer-Verlag, Year = 1990, Editor = "D. Karagiannis", Series = LNCS, Volume = 474, Pages = "30-46", Address = NY, Month = Mar } @Book{Bryan-Mendal90, Key = "Bryan \& Mendal", Author = "Douglas L. Bryan", Title = "Exploring Ada, Volume 1", Year = 1990, Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Annote = "Covers types, statements, expressions, subprograms, packages. 14 references." } @Unpublished{Budd, Key = "Budd", Author = "Tim Budd", Title = "{Little Smalltalk} Users Manual --- Version Three", Note = "Available with the Little Smalltalk system" } @Book{Budd87, Key = "Budd", Author = "Timothy Budd", Title = "A Little Smalltalk", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1987, Annote = "Describes non-graphical version of Smalltalk. 41 references." } @Article{Budd91a, Key = "Budd", Author = "Timothy Budd", Title = "Blending Imperative and Relational Programming", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 1, Month = Jan, Pages = "58-65", Annote = "9 references." } @Book{Budd91c, Key = "Budd", Author = "Timothy Budd", Title = "Object-Oriented Programming", Publisher = "Addison-Wesley", Year = 1991, Address = NY, Annote = "many references." } @Book{Budd94, Key = "Budd", Author = "Timothy A. Bud", Title = "Classic Data Structures in C++", Publisher = "Addison-Wesley", Year = 1994, Address = NY, Annote = "77 references; ISBN 0-201-50889-3" } @Book{Budd95, key = "Budd", author = "Timothy A. Budd", title = "Multiparadigm Programming in {LEDA}", publisher = "Addison-Wesley", year = 1995, address = NY, annote = "Many references." } @Book{Budd97, Key = "Budd", Author = "Timothy Budd", Title = "An Introduction to Object-Oriented Programming", Publisher = "Addison-Wesley", Edition = "Second", Year = 1997, Address = NY, Annote = "many references." } @Article{Budd98, key = {Budd}, author = {Timothy A. Budd}, title = {Functional Programming and the Fragile Base Class Problem}, journal = SIGPLAN, year = 1998, volume = 33, number = 12, month = Dec, pages = {66-71}, annote = {4 references.} } @TechReport{Burke-Carrette-Eliot84, Key = "Burke \& Carrette \& Eliot", Author = "Glenn S. Burke and George J. Carrette and Christopher R. Eliot", Title = "NIL Reference Manual", Institution = MITLCS, Number = "MIT/LCS/TR-311", Month = Jan, Year = 1984, Annote = "Has a simplified implementation of flavors. 13 references." } @Article{Burke-Fisher87, Key = "Burke \& Fisher", Author = "Michael G. Burke and Gerald A. Fisher", Title = "A Practical Method for LR and LL Syntactic Error Diagnosis", Journal = "TOPLAS", Volume = 9, Number = 2, Month = Apr, Year = 1987, Pages = "164-197", Annote = "Parse action deferral method. 17 references." } @unpublished{Burke-etal04, key = {Burke, \emph{et al.}}, Author = {Bill Burke and Austin Chau and Marc Fleury and Adrian Brock and Andy Godwin and Harald Gliebe}, Title = {{JBoss} Aspect Oriented Programming}, note = {\url{http://www.jboss.org/index.html?module=html&op=userdisplay&id=developers/projects/jboss/aop}}, month = Feb, year = 2004, } @Book{Burn91, Key = "Burn", Author = "Geoffrey Burn", Title = "Lazy Functional Languages: Abstract Interpretation and Compilation", Publisher = "Pitman", Year = 1991, Series = "Research Monographs in Parallel and Distributed Computing", Address = "London", Annote = "Foundational material, including discussions of abstract interpretation. Other implementation techniques. 138 references." } @Book{Burns-Wellings90, Key = "Burns \& Wellings", Author = "Alan Burns and Andy Wellings", Title = "Real-time systems and their programming languages", Publisher = "Addison-Wesley", Year = 1990, Series = "International computer science series", Address = "Reading, MA" } @InProceedings{Burstall-MacQueen-Sannella80, Key = "Burstall \& MacQueen \& Sannella", Author = "R. M. Burstall and D. B. MacQueen and D. T. Sannella", Title = "HOPE: an Experimental Applicative Language", Booktitle = "Proceedings 1980 LISP Conference, Stanford, Calif.", Organization = "The LISP Conference", Pages = "136-143", Month = Aug, Year = 1980, Note = "Also Edinburgh CSR-62-80.", Annote = "28 references." } @TechReport{Bush88, Key = "Bush", Author = "V. J. Bush n\'{e}e Wright", Title = "Recursion Transformations for Run-Time Control of Parallel Computations", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-88-8-1", Month = Aug, Year = 1988, Note = "The author's Ph.D. dissertation.", Annote = "Algebraic reasoning for data-flow. Operational semantics for dynamic dataflow model and its relation to algebraic semantics for a functional language. Transformations. About a hundred references." } @Misc{CSharp-ECMA05, key = {CSharp-ECMA}, title = {C\# Language Specification}, howpublished = {ECMA Standard 334}, month = Jun, year = 2005 } @Book{Cameron-Dixon92, Key = "Cameron \& Dixon", Author = "Robert D. Cameron and Anthony H. Dixon", Title = "Symbolic Computing with LISP", Publisher = "Prentice-Hall", Year = 1992, Annote = "37 references." } @Book{Campione-Walrath98, key = "Campione \& Walrath", author = "Mary Campione and Kathy Walrath", title = "The Java Tutorial Second Edition: Object-Oriented Programming for the Internet", publisher = "Addison-Wesley", address = "Reading, MA", series = "The Java Series", year = 1998, edition = "Second", url = "http://java.sun.com/docs/books/tutorial/2e/book.html" } @TechReport{Cardelli-etal88, Key = "Cardelli, {\em et al.}", Author = "Luca Cardelli and James Donahue and Lucille Glassman and Mick Jordan and Bill Kalsow and Greg Nelson", Title = "Modula-3 Report", Institution = "Olivetti Research Center", Number = "ORC-1", Year = 1988, Annote = "Includes objects as in Oberon, subtyping. 13 references." } @Article{Cardelli-etal89b, Key = "Cardelli, {\em et al.}", Author = "Luca Cardelli and James Donahue and Lucille Glassman and Mick Jordan and Bill Kalsow and Greg Nelson", Title = "Modula-3 Report (revised)", Journal = SIGPLAN, Volume = 27, NUmber = 8, Month = Aug, Year = 1992, Pages = "15-42", Annote = "Includes objects as in Oberon, subtyping. 10 references." } @Article{Cardelli-etal92, Key = "Cardelli, {\em et al.}", Author = "Luca Cardelli and James Donahue and Lucille Glassman and Mick Jordan and Bill Kalsow and Greg Nelson", Title = "Modula-3 Language Definition", Institution = DECSRC, Number = 52, Year = 1989, Note = "Order from src-report@src.dec.com", Annote = "Includes objects as in Oberon, subtyping. 10 references." } @Book{Cargill92, Key = "Cargill", Author = "Tom Cargill", Title = "C++ Programming Style", Publisher = Addison-Wesley, Address = "Reading, Massachusetts", Year = 1992, Annote = "Addison-Wesley Professional Computing Series" } @Article{Carroll96, key = {Carroll}, author = {Martin D. Carroll}, title = {Metaprogramming in {C++}}, journal = {Journal of Programming Languages}, year = 1996, volume = 4, number = 1, month = Mar, pages = {1-20}, annote = {13 references.} } @Article{Carter-Baker97, key = {Carter \& Baker}, author = {Debbie K. Carter and Albert D. Baker}, title = {Considerations in Developing a Formally-Based Visual Programming Language Reference Manual: A Case Study on the SLAM II Language}, journal = SIGPLAN, year = 1997, volume = 32, number = 6, month = Jun, pages = {34-39}, annote = {15 references.} } @InProceedings{Cartwright-Donahue82, Key = "Cartwright \& Donahue", Author = "Robert Cartwright and James Donahue", Title = "The Semantics of Lazy (and Industrious) Evaluation", BookTitle = "Conference Record of the 1982 ACM Symposium On Lisp and Functional Programming, Pittsburgh, Pennsylvania", Organization = ACM, Month = Aug, Year = 1982, Pages = "253-264", Annote = "19 references." } @InCollection{Cartwright-Felleisen94, Key = "Cartwright \& Felleisen", Author = "Robert Cartwright and Matthias Felleisen", Title = "Extensible Denotational Language Specifications", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "244-272", Month = Apr, Annote = "41 references." } @Article{Casimir89, Key = "Casimir", Author = "Rommert J. Casimir", Title = "Fourth Generation Problems", Journal = SIGPLAN, Volume = 24, Number = 5, Month = May, Year = 1989, Pages = "83-86", Annote = "Fourth generation programming languages (4GLs) work because they only solve a restrictive class of problems. They only deal with files or databases; i.e., files are used for I/O and all data structures. No way to control efficiency of solution. 8 references." } @Book{Chailloux-Manoury-Pagano00, author = {Emmanuel Chailloux and Pascal Manoury and Bruno Pagano}, title = {D\'{e}veloppement d'applications avec {Objective Caml}}, publisher = {O'Reilly}, year = 2000, key = {Chailloux \& Manoury \& Pagano}, annote = {Several references.} } @TechReport{Chambers-Leavens94b, Key = "Chambers \& Leavens", Author = "Craig Chambers and Gary T. Leavens", Title = "Towards Safe Modular Extensible Objects", Institution = "Department of Computer Science, Iowa State University", Year = 1994, Number = "94-17a", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Sep, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-17/TR.ps.Z", Note = "Appears in {\it OOPSLA '94 Workshop Proceedings: Subjectivity in Object-Oriented Systems}", Annote = "" } @inproceedings{Chambers-Ungar91b, author = {Craig Chambers and David Ungar}, title = {Making Pure Object-Oriented Languages Practical}, booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, pages = {1-15}, month = Nov, year = {1991}, keywords = {olit-oopl self oopsla91}, note = {Published as Proceedings OOPSLA '91, ACM SIGPLAN Notices, volume 26, number 11} } @inproceedings{Chambers92, Key = "Chambers", Author = "Craig Chambers", Title = "Object-Oriented Multi-Methods in {Cecil}", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "33-56", Annote = "40 references" } @TechReport{Chambers93a, Key = "Chambers", Author = "Craig Chambers", Title = "The {Cecil} Language", Number = "93-03-05", Institute = "Department of Computer Science and Engineering, University of Washington", Month = Mar, Year = 1993 } @InCollection{Chambers93b, Key = "Chambers", Author = "Craig Chambers", Title = "Predicate Classes", Journal = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Note = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Pages = "268-296", Annote = "35 references" } @Unpublished{Chambers95, Key = "Chambers", Author = "Craig Chambers", Title = "The {Cecil} Language Specification and Rationale: Version 2.0", Institute = "Department of Computer Science and Engineering, University of Washington", Month = Dec, Year = 1995, Note = "Available from \url{http://www.cs.washington.edu/research/projects/cecil/www/Papers/cecil-spec.html}" } % Note the space in the URL prevent BiBTeX from inserting a "%\n" which is % typeset as a % character by the url package. @Unpublished{Chambers97, Author = "Craig Chambers", Title = "The {Cecil} Language Specification and Rationale: Version 2.1", Institute = "Department of Computer Science and Engineering, University of Washington", Month = mar, Year = "1997", Note = "Available from \url{http://www.cs.washington.edu/research/projects/cecil/ www/pubs/cecil-spec.html}", } @Unpublished{Chambers98, Key = "Chambers", Author = "Craig Chambers", Title = "Towards {Diesel}, a Next-Generation {OO} Language after {Cecil}", Month = Jan, Year = 1998, Note = "Invited talk, the {\em Fifth Workshop of Foundations of Object-Oriented Languages}, San Diego, California" } @Book{Chan-Lee97, author = "Patrick Chan and Rosanna Lee", title = "The {Java} Class Libraries: An Annotated Reference", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA, USA", year = "1996", ISBN = "0-201-63458-9", LCCN = "QA76.73.J38C47 1997" } @Article{Cheatham69, Key = "Cheatham", Author = "T. E. Cheatham", Title = "Motivation for Extensible Languages", Journal = SIGPLAN, Year = 1969, Month = Aug, Volume = 8, Number = 8, Pages = "18-29" } @InProceedings{Cheatham71, Key = "Cheatham", Author = "T. E. Cheatham", Title = "The Recent Evolution of Programming Languages", Booktitle = "1971 IFIP Congress", Organization = IFIP, Year = 1971, Pages = "298-313" } @InProceedings{Chen-Hudak97, key = {Chen \& Hudak}, author = "Chih-Ping Chen and Paul Hudak", title = "Rolling Your Own Mutable {ADT} --- A Connection Between Linear Types and Monads ---", booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = "54--66", annote = {21 references.} } @Article{Chen-Sun-Tang97, key = {Chen \& Sun \& Tang}, author = {Wen-Ke Chen and Jia-Su Sun and Zhi-Min Tang}, title = {Consumating Virtuality to Support More Polymorphism in {C++}}, journal = SIGPLAN, year = 1997, volume = 32, number = 6, month = Jun, pages = {61-68}, annote = {16 references.} } @InProceedings{Chen-Turau-Klas94, author = {Weimin Chen and Volker Turau and Wolfgang Klas}, title = {Efficient Dynamic Look-up Strategy for Multi-Methods}, booktitle = {ECOOP '94, European Conference on Object-Oriented Programming, Bologna, Italy}, key = {Chen \& Turau \& Klas}, editor = {Mario Tokoro and Remo Pareschi}, volume = 821, series = LNCS, year = 1994, publisher = SV, address = NY, month = {Jul}, pages = {408-431}, annote = {Focuses on space savings in algorithm. Theoretical results as well as experiments. 17 references.} } @Article{Chen-Turau95, key = {Chen \& Turau}, author = {Weimin Chen and Volker Turau}, title = {Multiple-Dispatching Based on Automata}, journal = TAPOS, year = 1995, volume = 1, number = 1, pages = {41-59}, annote = {19 references.} } @Book{Chen03, author = {Yinong Chen}, title = {Introduction to Programming Languages: Principles, C, C++, Scheme, and Prolog}, publisher = {Kendall/Hunt Publishing Co.}, year = 2003, key = {Chen}, annote = {Sophmore level text. 23 references} } @TechReport{Chen98, author = {Jianbing Chen}, title = {Dynamic Semantics and Type-checking of Tuple}, institution = {Iowa State University, Department of Computer Science}, year = 1998, key = {Chen}, number = {98-10}, month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-10/TR.ps.gz" } @InProceedings{Claessen-Vullinghs-Meijer97, key = {Claessen \& Vullinghs \& Meijer}, author = {Koen Claessen and Ton Vullinghs and Erik Meijer}, title = {Structuring Graphical Paradigms in {TkGofer}}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {251-262}, annote = {18 references.} } @Article{Clark-Gregory86, Key = "Clark \& Gregory", Author = "Keith Clark and Steve Gregory", Title = "PARLOG: Parallel Programming in Logic", Journal = TOPLAS, Volume = 8, Number = 1, Month = Jan, Year = 1986, Pages = "1-49", Annote = "Tutorial presentation of PARLOG, a logic programming language with facilities for explicit and- and or-parallelism. 55 references." } @Book{Cleaveland-Uzgalis77, Key = "Cleaveland \& Uzgalis", Author = "J. Craig Cleaveland and Robert C. Uzgalis", Title = "Grammars for Programming Languages", Year = "1977", Publisher = "Elsevier", Annote = "Good discussion of van Wijngaarden Grammars." } @InProceedings{Clement-etal86, Key = "Clement {\em et al.}", Author = "Dominique Clement and Joelle Despeyroux and Thierry Despeyroux and Gilles Kahn", Title = "A Simple Applicative Language: Mini-ML", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "13-27", Organization = ACM, Month = Aug, Annote = "Complete formal description, static semantics, dynamic semantics, and translation to abstract machine. 15 references." } @TechReport{Clifton-Leavens-Wand03, Key = {Clifton \& Leavens \& Wand}, Author = {Curtis Clifton and Gary T. Leavens and Mitchell Wand}, Title = {Formal Definition of the Parameterized Aspect Calculus}, institution = {Iowa State University, Department of Computer Science}, year = 2003, number = {03-12b}, month = Nov, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR03-12/TR.pdf" } @TechReport{Clifton-Leavens-Wand03a, Key = {Clifton \& Leavens \& Wand}, Author = {Curtis Clifton and Gary T. Leavens and Mitchell Wand}, Title = {Parameterized Aspect Calculus: A Core Calculus for the Direct Study of Aspect-Oriented Languages}, institution = {Iowa State University, Department of Computer Science}, year = 2003, number = {03-13}, month = Oct, note = "Submitted for publication", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR03-13/TR.pdf" } @TechReport{Clifton-Leavens02b, Key = {Clifton \& Leavens}, Author = {Curtis Clifton and Gary T. Leavens}, Title = {Spectators and Assistants: Enabling Modular Aspect-Oriented Reasoning}, institution = {Iowa State University, Department of Computer Science}, year = 2002, number = {02-10}, month = Oct, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-10/TR.pdf", Annote = "29 references." } @InProceedings{Clifton-Leavens05, author = {Curtis Clifton and Gary T. Leavens}, title = {MiniMAO: Investigating the Semantics of Proceed}, key = {Clifton \& Leavens}, booktitle = {FOAL 2005 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2005, Chicago, IL}, pages = {57-67}, year = 2005, editor = {Curtis Clifton and Ralf L\"{a}mmel and and Gary T. Leavens}, number = {05-05}, series = {TR}, address = {Ames, IA, 50011}, month = Mar, organization = {Dept. of Computer Science, Iowa State University}, URL = "\url{http://www.cs.iastate.edu/~leavens/FOAL/papers-2005/proceedings.pdf}", annote = {18 references.} } @TechReport{Clifton-Leavens05a, key = {Clifton \& Leavens}, author = {Curtis Clifton and Gary T. Leavens}, title = {MiniMAO$_1$: Investigating the Semantics of Proceed}, year = 2005, number = {05-01}, address = {Ames, IA, 50011}, month = Jan, institution = {Dept. of Computer Science, Iowa State University}, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR05-01/TR.pdf", annote = {17 references.} } @InProceedings{Clifton-etal00, Key = {Clifton, {\em et al.}}, Author = {Curtis Clifton and Gary T. Leavens and Craig Chambers and Todd Millstein}, Title = {{MultiJava}: Modular Open Classes and Symmetric Multiple Dispatch for {Java}}, booktitle = {OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Publisher = ACM, Address = NY, Volume = "35(10)", Month = Oct, Year = 2000, Pages = "130-145", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-06/TR.ps.gz", Annote = "32 references." } @TechReport{Clifton-etal00a, author = {Curtis Clifton and Gary T. Leavens and Craig Chambers and Todd Millstein}, title = {{MultiJava}: Modular Open Classes and Symmetric Multiple Dispatch for {Java}}, institution = {Iowa State University, Department of Computer Science}, year = 2000, key = {Clifton, {\em et al.}}, number = {00-06a}, month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-06/TR.ps.gz", Note = "Appears in OOPSLA 2000 Conference Proceedings, pp. 130-145.", Annote = "32 references." } @TechReport{Clifton-etal04, key = {Clifton, {\em et al.}}, author = {Curtis Clifton and Todd Millstein and Gary T. Leavens and Craig Chambers}, title = {{MultiJava}: Design Rationale, Compiler Implementation, and Applications}, institution = {Iowa State University, Dept. of Computer Science}, year = {2004}, number = {04-01b}, month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR04-01/TR.pdf", note = "Accepted for publication, pending revision", annote = {many references} } @Article{Clifton-etal06, key = {Clifton, {\em et al.}}, author = {Curtis Clifton and Todd Millstein and Gary T. Leavens and Craig Chambers}, title = {{MultiJava}: Design Rationale, Compiler Implementation, and Applications}, journal = TOPLAS, volume = 28, number = 3, month = May, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR04-01/TR.pdf}, year = {2006}, annote = {80 references} } @TechReport{Clifton01, author = {Curtis Clifton}, title = {{MultiJava}: Design, implementation, and evaluation of a {Java-compatible} language supporting modular open classes and symmetric multiple dispatch}, institution = {Department of Computer Science, Iowa State University}, year = 2001, key = {Clifton}, number = {01-10}, address = {Ames, Iowa, 50011}, month = Nov, note = {The author's masters thesis}, URL = {ftp://ftp.cs.iastate.edu/pub/techreprts/TR01-10/TR.pdf} } @Article{Clifton95, author = "Mitchell H. Clifton", title = "Self-Assessment Procedure {XXIII}: Programming Languages", journal = CACM, volume = 38, number = 5, pages = "89--96", month = may, year = "1995", annote = "12 references." } @TechReport{Clinger-Rees90a, Key = "Clinger \& Rees", editor = "William Clinger and Jonathan Rees (Editors)", Title = "Revised$^{3.99}$ Report on the Algorithmic Language {Scheme}", Institution = "Department of Computer and Information Science, University of Oregon", Year = 1990, Number = "CIS-TR 90-02", Month = Aug, Annote = "56 references." } @TechReport{Clinger-Rees90b, Key = "Clinger \& Rees", Author = "William Clinger and Jonathan Rees", Title = "Macros that Work", Institution = "Department of Computer and Information Science, University of Oregon", Year = 1990, Number = "CIS-TR 90-17", Note = "To appear in POPL '91", Annote = "11 references." } @Unpublished{Clinger-Rees91, Key = "Clinger \& Rees", Author = "William Clinger and Jonathan Rees (Editors)", Title = "Revised$^{4}$ Report on the Algorithmic Language {Scheme}", Year = 1991, Month = Nov, Note = "Available from \url{ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/standards/r4rs.ps.gz}.", Annote = "101 references." } @Article{Clinger98, key = {Clinger}, author = {William D. Clinger}, title = {Proper Tail Recursion and Space Efficiency}, journal = SIGPLAN, year = 1998, volume = 33, number = 5, month = May, pages = {174-185}, note = {Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {40 references.} } @Book{Clocksin-Mellish81, Key = "Clocksin \& Mellish", Title = "Programming in Prolog", Author = "W. F. Clocksin and C. S. Mellish", Publisher = SV, Year = 1981, Address = NY, Annote = "Complete tutorial and description of the logic programming language Prolog. Discussion of various dialects." } @Book{Cockshott90, Key = "Cockshott", Author = "W. P. Cockshott", Title = "PS_ALGOL implementations: applications in persistent object-oriented programming", Publisher = "Ellis Horwood", Year = 1990, Series = "Ellis Horwood series in computers and applications", Address = "Chichester, UK" } @Article{Cohen85, Key = "Cohen", Author = "Jacques Cohen", Title = "Describing Prolog by Its Interpretation and Compilation", Journal = CACM, Volume = 28, Number = 12, Month = Dec, Year = 1985, Pages = "1311-1324", Annote = "Overview of Prolog. Good bibliography. 47 references." } @Article{Cohen90b, Key = "Cohen", Author = "Jacques Cohen", Title = "Constraint Logic Programming Languages", Journal = CACM, Volume = 33, Number = 7, Month = Jul, Year = 1990, Pages = "52-68", Annote = "Replacing unification with constraint satisfaction. 47 references." } @Article{Colmerauer90, Key = "Colmerauer", Author = "Alain Colmerauer", Title = "An Introduction to Prolog III", Journal = CACM, Volume = 33, Number = 7, Month = Jul, Year = 1990, Pages = "69-90", Annote = "25 references." } @Book{Colyer-etal05, key = {Colyer, {\em et al.}}, author = {Adrian Colyer and Andy Clement and George Harley and Matthew Webster}, title = {eclipse AspectJ}, publisher = {Addison-Wesley}, year = 2005, series = {the eclipse series}, address = {Upper Saddle River, NJ} } @InProceedings{Consel-Danvy93a, Key = "Consel \& Danvy", Author = "Charles Consel and Olivier Danvy", Title = "Tutorial Notes on Partial Evaluation", BookTitle = "Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Year = 1993, Organization = ACM, Month = Jan, Pages = "493-501", Annote = "109 references" } @Unpublished{Consel-Danvy93b, Key = "Consel \& Danvy", Author = "Charles Consel and Olivier Danvy", Title = "Partial Evaluation: Principles and Perspectives", Note = " A previous version of this tutorial appeared in the proceedings of the 20th Annual ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages, Jan 1993, South Carolina", Pages = "493-501", Year = 1993, Month = Jan, Annote = "111 references" } @Article{Cook-Palsberg89, Key = "Cook \& Palsberg", Author = "William Cook and Jens Palsberg", Title = "A Denotational Semantics of Inheritance and its Correctness", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "433-443", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "19 references." } @Article{Cook80, Key = "Cook", Author = "Robert P. Cook", Title = "*Mod--A Language for Distributed Programming", Journal = IEEESE, Volume = "SE-6", Number = 11, Month = Nov, Year = 1980, Pages = "563-571", Annote = "Definition of and a few examples in the distributed programming language *Mod, which is also called starmod. It is based on Modula. 37 references." } @TechReport{Cook89, Key = "Cook", Author = "William R. Cook", Title = "A Denotational Semantics of Inheritance", Number = "CS-89-33", Institution = "Department of Computer Science, Brown University", Address = "Providence, Rhode Island", Month = May, Year = 1989, Annote = "Discusses Smalltalk, Beta, Simula, and Flavors. 32 references" } @Book{Cooper-Torczon04, author = {Keith D. Cooper and Linda Torczon}, title = {Engineering a Compiler}, publisher = {Morgan Kaufmann}, year = 2004, address = {San Francisco}, key = {Cooper \& Torczon}, annote = {324 references.} } @Book{Cooper90, Key = "Cooper", Author = "Doug Cooper", Title = "Oh My! Modula-2", Publisher = "W. W. Norton \& Co.", Address = NY, Year = 1990, Annote = "Introductory text" } @Book{Coplien92, Key = "Coplien", Author = "James O. Coplien", Title = "Advanced {C++} Programming Styles and Idioms", Publisher = "Addison-Welsey", Year = 1992, Address = NY, Annote = "Several references spread among the chapters." } @Article{Cornelius88, Key = "Cornelius", Author = "B. J. Cornelius", Title = "Problems with the Language {M}odula-2", Journal = SPE, Volume = 18, Number = 6, Month = Jun, Year = 1988, Pages = "529-544" } @InProceedings{Cousineau-Curien-Mauny85, Key = "Cousineau \& Curien \& Mauny", Author = "G. Cousineau and P. L. Curien and M. Mauny", Title = "The Categorical Abstract Machine", BookTitle = "IFIP Conference on Functional Programming Languages and Computer Architecture, Nancy, France", Year = 1985, Organization = "IFIP", Month = Sep } @Book{Cousineau-Mauny98, key = "Cousineau \& Mauny", author = "Guy Cousineau and Michel Mauny", title = "{The Functional Approach to Programming}", publisher = "Cambridge University Press", year = "1998", annote = "Uses Caml. 44 references." } @InProceedings{Cousot-Cousot92, Key = "Cousot \& Cousot", Author = "Patrick Cousot and Radhia Cousot", Title = "Inductive Definitions, Semantics and Abstract Interpretation", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "83-94", Organization = ACM, Month = Jan, Annote = "31 references." } @InCollection{Cousot81, key = {Cousot}, author = {Patrick Cousot}, title = {Semantic foundations of program analysis}, booktitle = {Program Flow Analysis: Theory and Applications}, year = 1997, publisher = {Prentice-Hall}, chapter = 10, pages = {303-342}, } @Article{Coyle-Grogono, Key = "Coyle \& Grogono", Author = "Christopher Coyle and Peter Grogono", Title = "Building Abstract Iterators Using Continuations.", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 2, Month = Feb, Pages = "17-24", Annote = "5 references." } @Book{Craig00, author = "Ian Craig", title = "The Interpretation of Object-Oriented Programming Languages", year = 2000, publisher = SV, address = "London", annote = "Semantics of OO languages. Deals with prototype-based languages also. 98 references." } @inproceedings{Crank-Felleisen91, author = "Erik Crank and Matthias Felleisen", title = "Parameter-Passing and the Lambda Calculus", booktitle = "Conference Record of the Eighteenth Annual {ACM} Symposium on Principles of Programming Languages", address = "Orlando, Florida", pages = "233--244", year = "1991", url = "citeseer.nj.nec.com/85570.html" } @Article{Cui-Gannon92, Key = "Cui \& Gannon", Author = "Qian Cui and John Gannon", Title = "Data-Oriented Exception Handling", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 5, Month = May, Pages = "393-401", Annote = "11 references." } @Unpublished{Curien-Ghelli89, Key = "Curien \& Ghelli", Author = "Pierre-Louis Curien and Giorgio Ghelli", Title = "Coherence of Subsumption", Month = Feb, Year = 1989, Note = "To appear", Annote = "12 references." } @Book{Curry-Feys-Craig58, Key = "Curry-Feys-Craig", Author = "Haskell B. Curry and Robert Feys and William Craig", Title = "Combinatory Logic", Publisher = "North-Holland Pub. Co.", Year = 1958, Series = "Studies in logic and the foundations of mathematics", Address = "Amsterdam" } @Article{Curry30, Key = "Curry", Author = "H. B. Curry", Title = "Grundlagen der kombinatorischen Logik", Journal = "Amer. J. Math.", Year = 1930, Volume = 52, Pages = "509-536, 789-834" } @InProceedings{Curtis-Rauen90, Key = "Curtis \& Rauen", Author = "Pavel Curtis and James Rauen", Title = "A Module System for Scheme", BookTitle = "Proceedings of the 1990 ACM Conference on LISP and Functional Programming, Nice, France", Organization = ACM, Month = Jun, Year = 1990, Pages = "13-19", Annote = "16 references." } @Book{Czarnecki-Eisenecker00, author = "Krzysztof Czarnecki and Ulrich W. Eisenecker", title = "Generative Programming: Methods, Tools, and Applications", publisher = "Addison-Wesley", year = "2000" } @TechReport{Dahl-Myhraug-Nygaard70, Key = "Dahl \& Myhraug \& Nygaard", Author = "Ole-Johan Dahl and B. Myhraug and K. Nygaard", Title = "The Simula 67 common base language", Type = "Publication", Number = "S-22", Institution = "Norwegian Computing Center", Address = "Oslo, Norway", Year = 1970 } @InCollection{Dami93, Key = "Dami", Author = "Laurent Dami", Title = "The HOP Calculus", BookTitle = "Visual Objects", Publisher = "University of Geneva", Year = 1993, Editor = "D. Tsichritzis", Pages = "149-210", Annote = "57 references" } @Article{Danvy-Gluck-Thiemann98, author = {Olivier Danvy and Robert Gl\"{u}ck and Peter Thiemann}, title = {1998 Symposium on Partial Evaluation}, journal = ACMCS, year = 1998, key = {Danvy \& Gluck \& Thiemann}, volume = 30, number = 3, month = Sep, pages = {285-289}, annote = {43 references.} } @InCollection{Danvy92a, Key = "Danvy", Author = "Olivier Danvy", Title = "Back to Direct Style", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "130-150", Annote = "37 references" } @InProceedings{Danvy92b, Key = "Danvy", Author = "Olivier Danvy", Title = "Back to Direct Style II: First-Class Continuations", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "299-310", Organization = ACM, Month = Jun, Annote = "33 references." } @InProceedings{Das-Lerner-Seigle02, key = "Das \& Lerner \& Seigle", author = "Manuvir Das and Sorin Lerner and Mark Seigle", title = "{ESP}: Path-Sensitive Program Verification in Polynomial Time", year = "2002", pages = "57-68", booktitle = "Proceedings of the {ACM} {SIGPLAN} 2002 Conference on Programming Language Design and Implementation ({PLDI}'02)", month = jun # " ~17--19", series = "SIGPLAN", volume = "37, 5", publisher = "ACM Press", address = "New York", year = 2002, URL = "http://doi.acm.org/10.1145/512529.512538" } @Book{Davie92, Key = "Davie", Author = "Anthony J. T. Davie", Title = "An Introduction to Functional Programming Systems Using {Haskell}", Publisher = "Cambridge University Press", Year = 1992, Series = "Cambridge Computer Science Texts", Address = NY, Annote = "More than 150 references." } @Article{Davis85, key = "Davis", author = "Ruth E. Davis", title = "Logic Programming and Prolog: {A} Tutorial", journal = "IEEE Software", volume = "2", number = "5", pages = "53--62", month = Sep, year = 1985 } @Article{Davis92, Key = "Davis", Author = "Stephen R. Davis", Title = "C++ Objects That Change Their Types", Journal = JOOP, Year = 1992, Volume = 5, Number = 4, Month = "Jul/Aug", Pages = "27-32", Annote = "13 references." } @Article{Dawson-Ramakrishnan-Warren96, key = {Dawson \& Ramakrishnan \& Warren}, author = {Steven Dawson and C. R. Ramakrishnan and David S. Warren}, title = {Practical Program Analysis Using General Purpose Logic Programming Systems---A Case Study}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {117-126}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {The logic language XSB used in the case study. 41 references.} } @Article{DeMan90, Key = "DeMan", Author = "Jozef {De Man}", Title = "Making Languages More Powerful by Removing Limitations", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "18-24", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "20 references." } @InCollection{DeMichiel-Gabriel87, Key = "DeMichiel \& Gabriel", Author = "Linda G. DeMichiel and Richard P. Gabriel", Title = "The {Common Lisp Object System}: An Overview", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "151-170", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "Good overview of CLOS. 5 references." } @InProceedings{Dean-etal96, author = {Jeffrey Dean and Greg DeFouw and David Grove and Vassily Litvinov and Craig Chambers}, title = {{VORTEX}: An Optimizing Compiler for Object-Oriented Languages}, booktitle = {Proceedings OOPSLA '96 Conference on Object-Oriented Programming Systems, Languages, and Applications}, key = {Dean, {\em et al.}}, volume = 31, number = 10, series = {ACM SIGPLAN Notices}, year = 1996, organization = ACM, month = Oct, pages = {83-100}, annote = {43 references.} } @Book{Debaere-Campenhout90, Key = "Debaere \& Campenhout", Author = "Eddy H. Debaere and Jan M. Campenhout", Title = "Interpretation and Instruction Path Coprocessing", Publisher = MITP, Year = 1990, Series = "Computer Systems Series", Address = "Cambridge, Mass." } @Article{Debray-Warren90, Key = "Debray \& Warren", Author = "S. K. Debray and D. S. Warren", Title = "Towards Banishing the Cut from Prolog", Journal = IEEETSE, Year = 1990, Month = Mar, Volume = 16, Number = 3, Pages = "335-349", Annote = "22 references." } @Book{Deitel-Deitel94, Key = "Deitel \& Deitel", Author = "H. M. Deitel and P. J. Deitel", Title = "C++ How To Program", Publisher = "Prentice Hall", Year = 1994, Address = "Englewood Cliffs, New Jersey 07632", Annote = "183 references" } @InCollection{Dennert93, Key = "Dennert", Author = "E. Dennert", Title = "Software Engineering in Business and Academia: How Wide is hte Gap?", Journal = LNCS, Number = 717, Editor = "Ian SommrVille and Manfred Paul", Publisher = SV, Address = NY, Year = 1993, Note = "Software Engineering= ESEC '93. 4th European Software Engineering Conference, Germany, Sep 93. Proceedings", Page = "37-47", Annote = "Report. No references" } @Article{Dennis-VanHorn66, Key = "Dennis \& VanHorn", Author = "J. B. Dennis and E. C. VanHorn", Title = "Programming Semantics for Multiprogrammed Computations", Journal = CACM, Year = 1966, Month = Mar, Volume = 9, Number = 3, Pages = "143-155" } @Book{Deranasrt-Jourdan-Lorho89, Key = "Deranasrt \& Jourdan \& Lorho", Author = "Pierre Deransart and Martin Jourdan and Bernard Lorho", Title = "Attribute Grammars: Definitions, Systems and Bibliography", Publisher = SV, Address = NY, Series = LNCS, Volume = 323, Year = 1989 } @Book{Dershem-Jipping90, Key = "Dershem \& Jipping", Author = "Herbert L. Dershem and Michael J. Jipping", Title = "Programming Languages: Structures and Models", Publisher = "Wadsworth Publishing Co.", Address = "Belmont, Calif.", Year = 1990, Annote = "Undergraduate text. 30 references." } @Book{Deugo98, author = {Dwight Deugo}, title = {Java Gems}, publisher = {Cambridge University Press}, year = 1998, key = {Deugo}, series = {SIGS Reference Library}, annote = {A colection of articles from the Java report.} } @Unpublished{Deursen-etal, Key = "Deursen, {\em et al}", Author = "A. Van Deursen and P. Klint and F. Tip", Title = "Origin Tracking", Note = "Obtained from authors", Annote = "22 references." } @InProceedings{Deutsch89, Key = "Deutsch", Author = "L. Peter Deutsch", Title = "The Past, Present, and Future of Smalltalk", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "73-87", Annote = "10 references." } @Article{Dewar-etal79, Key = "Dewar, {\em et al.}", Author = "Robert K. Dewar and Arthur Grand and Say-Cheng Liu and Jacob T. Schwartz and Edmund Schoenberg", Title = "Programming by Refinement as Exemplified by the SETL Representation Language", Journal = TOPLAS, Month = Jul, Volume = 1, Number = 1, Year = 1979, Annote = "The very high level language SETL is mapped by the compiler or the user down to the representation sublanguage. 12 references." } @Book{Dewhurst-Stark89, Key = "Dewhurst \& Stark", Author = "Stephen C. Dewhurst and Kathy T. Stark", Title = "Programming in C++", Publisher = "Prentice Hall", Year = 1989, Series = "Software Series", Address = "Englewood Cliffs, NJ" } @InCollection{Dezani-Ciancaglini-deLiguoro-Piperno94, Key = "Dezani-Ciancaglini \& deLiguoro \& Piperno", Author = "Mariangiola Dezani-Ciancaglini and Ugo deLiguoro and Adolfo Piperno", Title = "Fully Abstract Semantics for Concurrent $\lamba$-calculus", BookTitle = "Theoretical Aspects of Computer Software", Publisher = SV, Year = 1994, Editor = "Masami Hagiya and John C. Mitchell", Series = LNCS, Volume = 789, Pages = "16-35", Month = Apr, Annote = "21 references." } @Book{Dibble02, author = {Peter C. Dibble}, title = {Real-Time Java Platform Programming}, publisher = {Prentice-Hall PTR}, year = 2002, key = {Dibble}, series = {Java Series} } @TechReport{Dietzen-Pike-Rogers90, Key = "Dietzen \& Pike \& Rogers", Author = "Scott Dietzen and Mary Ann Pike and Anne Rogers", Title = "A Guide to the ERGO Syntactic Processor", Institution = "School of Computer Science, Carnegie Mellon University", Year = 1990, Number = "ERGO-90-035", Month = Jan, Annote = "9 references." } @Book{Dijkstra-Scholten90, Key = "Dijkstra \& Scholten", Author = "Edsger W. Dijkstra and Carel S. Scholten", Title = "Predicate Calculus and program semantics", Publisher = SV, Year = 1990, Address = "NY" } @Book{Diller88, Key = "Diller", Author = "Antoni Diller", Title = "Compiling Functional Languages", Publisher = Wiley, Address = NY, Year = 1988, Annote = "Annotated bibliography with hundreds of references." } @Article{DoD77, Key = "Department of Defense", Author = "Department of Defense", Title = "Requirements for High Order Computer Programming Languages (Revised ``IRONMAN'')", Journal = SIGPLAN, Volume = 12, Number = 12, Month = Dec, Year = 1977, Pages = "39-54" } @inproceedings{Dobson-etal00, key = {Dobson, {\em et al.}}, author = {Simon A. Dobson and Paddy Nixon and Vincent P. Wade and Sotirios Terzis and John Fuller}, title = {Vanilla: An Open Language Framework}, booktitle = {GCSE '99: Proceedings of the First International Symposium on Generative and Component-Based Software Engineering}, year = {2000}, pages = {91-104}, publisher = SV, address = {London, UK} } @Book{Doets94, key = "Doets", author = "Kees Doets", title = "From Logic to Logic Programming", publisher = MITP, year = 1994, series = "Foundations of Computing Series", address = "Cambridge, Mass.", annote = "46 references." } @Article{Dominus98, key = {Dominus}, author = {Mark-Jason Dominus}, title = {Perl: Not Just for Web Programming}, journal = {IEEE Software}, year = 1998, volume = 15, number = 1, month = Jan, pages = {69-74}, annote = {3 references.} } @Article{Dony-Malenfant-Cointe92, Key = "Dony \& Malenfant \& Cointe", Author = "Christophe Dony and Jacques Malenfant and Pierre Cointe", Title = "Prototype-Based Languages: From a Taxonomy to Constructive Proposals and Their Validation", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "201-217", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "18 references." } @InCollection{Dony88, Key = "Dony", Author = "Christophe Dony", Title = "An Object-Oriented Exception Handling System for an Object-oriented Language", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "146-161", Series = LNCS, Volume = 322, Annote = "28 references." } @Article{Dony90, Key = "Dony", Author = "Christophe Dony", Title = "Exception Handling and Object-Oriented Programming: towards a synthesis", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "322-330", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "26 references." } @InProceedings{Douence-Motelet-Sudholt01, key = "Douence \& Motelet \& Sudholt", author = "Remi Douence and Olivier Motelet and Mario Sudholt", title = "A formal definition of crosscuts", booktitle = "Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)", volume = "2192", series = "Lecture Notes in Computer Science", year = "2001", publisher = SV, address = "Berlin, Heidelberg, and New York", month = Sep, pages = "170-186" } @Book{Drake98, key = {Drake}, author = {Caleb Drake}, title = {Object-oriented programming with C++ and Smalltalk}, publisher = {Prentice-Hall, Inc.}, year = 1998, address = {Upper Saddle River, NJ}, annote = {Mostly about language design.} } @Article{Ducournau-etal92, Key = "Ducournau, {\em et al.}", Author = "R. Ducournau and M. Habib and M. Huchard and M.L. Mugnier", Title = "Monotonic Conflict Resolution Mechanisms for Inheritance", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "16-24", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "22 references." } @InProceedings{Duggan00, author = {Dominic Duggan}, key = {Duggan}, title = {A Mixin-Based, Semantics-Based Approach to Reusing Domain-Specific Programming Languages}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {179-200}, annote = {43 references.} } @TechReport{Duke-etal91, Key = "Duke, {\em et al.}", Author = "Roger Duke and Paul King and Gordon Rose and Graeme Smith", Title = "The Object-Z Specification Language - Version 1", Institution = "Software Verification Research Centre; The University of Queensland", Year = 1991, Number = "91-1", Address = "Queensland 4072", Month = May, Annote = "25 references." } @Book{Durham92, Key = "Durham", Title = "Applications of Categories in Computer Science", BookTitle = "Applications of Categories in Computer Science", Editor = "M. P. Fourman and P. T. Johnstone and A. M. Pitts", Year = "1992", Publisher = "Cambridge University Press", Series = "London Mathematical Society Lecture Note Series", Volume = "177", Address = "Cambridge, England" } @InProceedings{Dutchyn-etal01, Key = "Dutchyn, {\em et al.}", Author = "Christopher Dutchyn and Duane Szafron and Steven Bromling and Wade Holst", Title = "Multi-Dispatch in the {Java} Virtual Machine: Design and Implementation", BookTitle = "Sixth Conference on Object-Oriented Technologies and Systems (COOTS)", Year = 2001, Publisher = "USENIX", Address = "Berkeley, CA" } @InProceedings{Dybvig-Friedman-Haynes86, Key = "Dybvig \& Friedman \& Haynes", Author = "R. Kent Dybvig and Daniel P. Friedman and Christopher T. Haynes", Title = "Expansion-Passing Style: Beyond Conventional Macros", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "143-150", Organization = ACM, Month = Aug, Annote = "Better expressive power and modularity for macros. 7 references." } @TechReport{Dybvig-Friedman-Haynes86a, Key = "Dybvig \& Friedman \& Haynes", Author = "R. K. Dybvig and D. P. Friedman and C. T. Haynes", Title = "Expansion-Passing Style: Beyond Conventional Macros", Institution = "Computer Science Department, Indiana University", Number = 195, Month = May, Year = 1986, Note = "Also in Proceedings of the 1986 ACM Symposium on LISP and Functional Programming.", Annote = "Better expressive power and modularity for macros. 7 references." } @Book{Dybvig03, Author = {R. Kent Dybvig}, Title = {The Scheme Programming Language}, Edition = {Third}, Year = 2003, Publisher = MITP, Address = {Cambridge, Mass.}, Annote = {24 references.} } @Book{Dybvig87, Author = {R. Kent Dybvig}, Title = {The Scheme Programming Language}, Year = 1987, Publisher = {Prentice-Hall, Inc.}, Address = {Englewood Cliffs, New Jersey} } @Article{Earley71, Key = "Earley", Title = "Toward an Understanding of Data Structures", Author = "J. Earley", Journal = CACM, Year = 1971, Month = Oct, Volume = 14, Number = 10, Pages = "617-627" } @Article{Earley73, Key = "Earley", Title = "Relational Level Data Structures for Programming Languages", Author = "J. Earley", Journal = "Acta Informatica", Year = 1973, Volume = 1, Pages = "293-309" } @Article{Earley75, Key = "Earley", Author = "Earley, J.", Title = "High Level Iterators and a Method for Automatically Designing Data Structure Representation", Journal = "Journal of Computer Languages", Year = 1975, Volume = 1, Pages = "321-342" } @Article{Eckart87, Key = "Eckart", Author = "J. Dana Eckart", Title = "Iteration and Abstract Data Types", Journal = SIGPLAN, Volume = 22, Number = 4, Month = Apr, Year = 1987, Pages = "103-110", Annote = "Discusses iteration in Ada and CLU. 7 references." } @Book{Eckel00, key = "Eckel", author = "Bruce Eckel", title = "Thinking in {Java}", publisher = "Prentice-Hall", address = "Englewood Cliffs, NJ 07632, USA", year = "1998", edition = "2nd edition", annote = "20 references and some suggested readings." } @Book{Eckel98, key = "Eckel", author = "Bruce Eckel", title = "Thinking in {Java}", publisher = "Prentice-Hall", address = "Englewood Cliffs, NJ 07632, USA", year = "1998", annote = "20 references and some suggested readings." } @Misc{Eiffel-ECMA05, key = {Eiffel-ECMA}, title = {Eiffel Analysis, Design and Programming Language}, howpublished = {ECMA Standard 367}, month = Jun, year = 2005 } @Book{Eisenberg88, Key = "Eisenberg", Author = "Michael Eisenberg", Title = "Programming in Scheme", Year = 1988, Publisher = MITP, Address = "Cambridge, Mass.", Note = "Edited by Harold Abelson", Annote = "Examples in PC Scheme. 27 references." } @PhdThesis{Ekman06, author = {Torbj\"{o}rn Ekman}, title = {Extensible Compiler Construction}, school = {Lund University}, year = 2006, key = {Ekman}, address = {Dept. of Computer Science, Lund, Sweden}, note = {Dissertation 25}, annote = {A collection of papers, all co-authored by G\"{o}rel Hedin.} } @InProceedings{Elliott-Hudak97, key = {Elliott \& Hudak}, author = {Conal Elliott and Paul Hudak}, title = {Functional Reactive Animation}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {263-273}, annote = {23 references.} } @Article{Elliott99, author = {Conal Elliott}, title = {An Embedded Modeling Language Approach to Interactive {3D} and Multimedia Animation}, journal = IEEETSE, year = 1999, key = {Elliott}, volume = 25, number = 3, month = May, pages = {291-308}, annote = {35 references.} } @TechReport{Ellis-Detlefs93, Key = "Detlefs \& Ellis", Author = "David L. Detlefs and John R. Ellis", Title = "Safe, Efficient Garbage Collection for {C++}", Institution = DECSRC, Year = 1993, Number = 102, Address = "Palo Alto, CA", Month = Jun, Note = "Order from src-report@src.dec.com", Annote = "30 references." } @Book{Ellis-Stroustrup90, Key = "Ellis \& Stroustrup", Author = "Margaret A. Ellis and Bjarne Stroustrup", Title = "The Annotated {C}++ Reference Manual", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1990, Annote = "Base document for the ANSI Standard. 2 references." } @Article{Elrad-Filman-Bader01, Key = "Elrad \& Filman \& Bader", Author = "Tzilla Elrad and Robert E. Filman and Atef Bader", Title = "Aspect-oriented programming: Introduction", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "29--32", Annote = "An introduction to the CACM special issue on AOP", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Article{Elrad-etal01, Key = "Elrad, {\em et al.}", Author = "Tzilla Elrad and Mehmet Aksits and Gregor Kiczales and Karl Lieberherr and Harold Ossher", Title = "Discussing aspects of AOP", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "33--38", Annote = "A panel discussion interview on AOP" } @Article{Elrad-etal01, Key = "Elrad, {\em et al.}", Author = "Tzilla Elrad and Mehmet Aksits and Gregor Kiczales and Karl Lieberherr and Harold Ossher", Title = "Discussing aspects of AOP", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "33--38", Annote = "A panel discussion interview on AOP", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Article{Engelstad-etal, Key = "Engelstad, {\em et al.}", Author = "Steve Engelstad and Keith Falck and Warren Montgomery and Joe Neumann and others", Title = "A Dynamic C-Based Onject-Oriented System for Unix", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 3, Month = May, Pages = "73-85", Annote = "10 references." } @InProceedings{Ernst-Kaplan-Chambers98, key = {Ernst \& Kaplan \& Chambers}, author = {Michael D. Ernst and Crag Kaplan and Craig Chambers}, title = {Predicate Dispatching: A Unified Theory of Dispatch}, year = 1998, booktitle = {ECOOP '98---Object-Oriented Programming, 12th European Conference, Brussels, Belgium, Proceedings}, editor = {Eric Jul}, series = LNCS, volume = 1445, pages = {186-211}, publisher = SV, address = NY, URL = {http://www.cs.washington.edu/research/projects/cecil/www/Papers/gud.html} } @inproceedings{Ernst-Lorenz03, key = "Ernst \& Lorenz", Author = {Erik Ernst and David H. Lorenz}, Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {http://doi.acm.org/10.1145/643603.643619}, Isbn = {1-58113-660-9}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p150-ernst.pdf}, Location = {Boston, Massachusetts}, Pages = {150--157}, Publisher = {ACM Press}, Title = {Aspects and polymorphism in {AspectJ}}, Year = {2003} } @InProceedings{Erwig97, key = {Erwig}, author = {Martin Erwig}, title = {Functional Programming with Graphs}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {52-65}, annote = {24 references.} } @Article{Eyre-Todd93, Key = "Eyre-Todd", Author = "Richard A. Eyre-Todd", Title = "The Detection of Dangling References in C++ Programs", Journal = "ACM Letters on Programming Languages and Systems", Year = 1993, Volume = 2, Number = "1-4", Month = "March-December", Pages = "127-134", Annote = "11 references." } @Proceedings{FOAL02, Key = "FOAL", Editor = "Gary T. Leavens and Ron Cytron", Title = "{FOAL} 2002 Proceedings: Foundations of Aspect-Oriented Langauges Workshop at {AOSD} 2002", Year = 2002, Month = Apr, Address = "Enschede, The Netherlands", URL = "http://www.cs.iastate.edu/~leavens/FOAL/papers-2002/TR.pdf", Note = "Available as Technical Report 02-06, Department of Computer Science, Iowa State University. \url{http://www.cs.iastate.edu/~leavens/FOAL/papers-2002/TR.pdf}" } @Proceedings{FOAL03, Key = "FOAL", Editor = "Gary T. Leavens and Curtis Clifton", Title = "{FOAL} 2003 Proceedings: Foundations of Aspect-Oriented Langauges Workshop at {AOSD} 2003", Year = 2003, Month = Mar, Address = "Boston, MA", URL = "http://www.cs.iastate.edu/~leavens/FOAL/papers-2003/proceedings.pdf", Note = "Available as Technical Report 03-05, Department of Computer Science, Iowa State University. \url{http://www.cs.iastate.edu/~leavens/FOAL/papers-2003/proceedings.pdf}" } @Proceedings{FOAL04, Key = "FOAL", Editor = {Curtis Clifton and Ralf L\"{a}mmel and Gary T. Leavens}, Title = "{FOAL} 2004 Proceedings: Foundations of Aspect-Oriented Langauges Workshop at {AOSD} 2004", Year = 2004, Month = Mar, Address = "Lancaster, UK", URL = "http://www.cs.iastate.edu/~leavens/FOAL/papers-2004/proceedings.pdf", Note = "Available as Technical Report 04-04, Department of Computer Science, Iowa State University. \url{http://www.cs.iastate.edu/~leavens/FOAL/papers-2004/proceedings.pdf}" } @Proceedings{FOAL05, key = {Clifton \& L\"{a}mmel \& Leavens}, editor = {Curtis Clifton and Ralf L\"{a}mmel and and Gary T. Leavens}, title = {{FOAL} 2005 Proceedings: Foundations of Aspect-Oriented Languages Workshop at {AOSD} 2005}, year = 2005, address = {Chicago, IL}, month = Mar, URL = "\url{http://www.cs.iastate.edu/~leavens/FOAL/papers-2005/proceedings.pdf}", Note = "Available as Technical Report 05-05, Department of Computer Science, Iowa State University. \url{http://www.cs.iastate.edu/~leavens/FOAL/papers-2005/proceedings.pdf}" } @Article{Fabry74, Key = "Fabry", Author = "R. Fabry", Title = "Capability-Based Addressing", Journal = CACM, Year = 1974, Month = Jul, Volume = 17, Number = 7, Pages = "403-412" } @InProceedings{Faehndrich-Boyland97, key = {F\"{a}hndrich \& Boyland}, author = {Manuel F\"{a}hndrich and John Boyland}, title = {Statically Checkable Pattern Abstractions}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {75-84}, annote = {14 references.} } @article{Fateman82, key = {Fateman}, author = {Richard J. Fateman}, title = {High-Level Language Implications of the Proposed {IEEE} Floating-Point Standard}, journal = TOPLAS, volume = 4, number = 2, year = {1982}, pages = {239-257}, URL = {http://doi.acm.org/10.1145/357162.357168}, publisher = ACM, address = {New York, NY, USA}, annote = {10 references.} } @InCollection{Feich93, Key = "Feich", Author = "Adrian Feich", Title = "Category of Delta-Functors", BookTitle = "Mathematical Foundations of Programming Semantics 9th International Conference, New Orleans, LA, USA, Proceedings", Publisher = SV, Year = 1993, Editor = "S. Brookes and M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 802, Pages = "567-586", Address = NY, Month = Apr, Annote = "12 references." } @Book{Feinberg-etal97, author = "Neal Feinberg and Sonya E. Keene and Robert O. Mathews and P. Tucker Withington.", title = "The Dylan Programming Book", publisher = "Addison-Wesley Longman", year = 1997, key = "Feinberg, {\em et al.}", address = "Reading, Mass." } @Article{Feldman79, Key = "Feldman", Author = "Jerome A. Feldman", Title = "High Level Programming for Distributed Computing", Journal = CACM, Volume = 22, Number = 6, Month = Jun, Year = 1979, Pages = "353-367", Annote = "Describes the PLITS project, a language for distributed programming that has everything under the sky in it. 32 references." } @TechReport{Felleisen-Friedman86, Key = "Felleisen \& Friedman", Author = "Matthias Felleisen and Daniel P. Friedman", Title = "Control Operators, the SECD-Machine, and the $\lambda$-Calculus", Institution = "Computer Science Department, Indiana University", Number = 197, Month = Jun, Year = 1986, Annote = "18 references." } @TechReport{Felleisen-Friedman87, Key = "Felleisen \& Friedman", Author = "Matthias Felleisen and Daniel P. Friedman", Title = "A Syntactic Theory of Sequential State", Institution = "Computer Science Department, Indiana University", Number = 230, Month = Oct, Year = 1987, Annote = "31 references." } @Article{Felleisen-Friedman89, author = "Matthias Felleisen and Daniel P. Friedman", title = "A Syntactic Theory of Sequential State", journal = "Theoretical Computer Science", year = 1989, volume = 69, pages = "243-287", annote = "Extends call-by-value lambda-calculus with assignments and proves properties of the resulting calculus. Superseded by \cite{Felleisen-Hieb92}." } @Book{Felleisen-Friedman97, key = {Felleisen \& Friedman}, Author = {Matthias Felleisen and Daniel P. Friedman}, Title = {The Little MLer}, Year = 1996, Publisher = "MIT Press" } @TechReport{Felleisen-Hieb89, Key = "Felleisen \& Hieb", Author = "Matthias Felleisen and Robert Hieb", Title = "The Revised Report on the Syntactic Theories of Sequential Control and State", Institution = "Department of Computer Science, Rice University", Number = "COMP TR89-100", Month = Dec, Year = 1989, Annote = "20 references." } @Article{Felleisen-Hieb92, author = "Matthias Felleisen and Robert Hieb", title = "The Revised Report on the Syntactic Theories of Sequential Control and State", journal = "Theoretical Computer Science", year = "1992", volume = "103", pages = "235--271", annote = "Presents call-by-value lambda-calculi extended with assignment and control constructs. Proves conservative-extension theorems. Improves on Felleisen's earlier calculi by reducing the need for rewrite rules that apply only at the root of terms.", } @Article{Felleisen-etal87a, Key = "Felleisen, {\em et al.}", Author = "Matthias Felleisen and Daniel P. Friedman and Eugene Kohlbecker and Bruce Duba", Title = "A Syntactic Theory of Sequential Control", Institution = "Computer Science Department, Indiana University", Journal = "Theoretical Computer Science", Volume = "52", Pages = "205-237", Year = "1987", Annote = "Algebraic extension of lambda calculus that deals with continuations." } @TechReport{Felleisen-etal87b, Key = "Felleisen, {\em et al.}", Author = "Matthias Felleisen and Daniel P. Friedman and Bruce Duba and John Merrill", Title = "Beyond Continuations", Institution = "Computer Science Department, Indiana University", Number = 216, Month = Feb, Year = 1987, Annote = "New control construct and its denotational definition. 12 references." } @Article{Felleisen-etal98, key = {Felleisen, {\em et al.}}, author = {M. Felleisen and R. B. Findler and M. Flatt and S. Krisnamurthi}, title = {The {DrScheme} Project: An Overview}, journal = SIGPLAN, year = 1998, volume = 33, number = 6, month = Jun, pages = {17-23}, annote = {12 references.} } @InCollection{Felleisen90, Key = "Felleisen", Author = "Matthias Felleisen", Title = "On the Expressive Power of Programming Languages", BookTitle = "ESOP '90 3rd European Symposium on Programming, Copenhagen, Denmark", Month = May, Year = 1990, Pages = "134-151", Editor = "N. Jones", Publisher = SV, Address = NY, Series = LNCS, Volume = 432 } @Article{Felleisen91, Key = "Felleisen", Author = "Matthias Felleisen", Title = "On the Expressive Power of Programming Languages", Journal = "Science of Computer Programming", Month = Dec, Year = 1991, Pages = "35-75", Publisher = "Elsevier", Volume = 17, Number = "1-3" } @TechReport{Felty-Miller88, Key = "Felty \& Miller", Author = "Amy Felty and Dale Miller", Title = "Specifying Theorem Provers in a Higher-Order Logic Programming Language", Institution = "Department of Computer and Information Science, University of Philadelphia", Number = "MS-CIS-88-12 and LINC LAB 99", Month = Feb, Year = 1988, Note = "See {\em Proceedings of the Ninth Conference on Automated Deduction}, Argonne, Illinois, May, 1988, Spring-Verlag LNCS 310, pages 61-80.", Annote = "21 references." } @Book{Ferguson-Martin-Kaufman91, Key = "Ferguson \& Martin \& Kaufman", Author = "Iain Ferguson and Edward Martin and Burt Kaufman", Title = "The SCHEMER'S Guide", Publisher = "Schemers Inc.", Year = 1990, Address = "Fort Lauderdale, FL", Annote = "6 references." } @Book{Field-Harrison88, Key = "Field \& Harrison", Author = "Anthony J. Field and Peter G. Harrison", Title = "Functional Programming", Publisher = Addison-Wesley, Address = "Reading Mass.", Year = 1988, Annote = "Sections on functional programming with Hope, implementation techniques, and optimization. Description of Hope in appendix. About 70 references." } @InProceedings{Filinski94, Key = {Filinski}, Author = {Andrzej Filinski}, Title = "Representing Monads", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "446-457", Annote = "34 references." } @InProceedings{Filinski99, key = {Filinski}, author = {Andrzej Filinski}, title = {Representing Layered Monads}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {175-188}, annote = {32 references.} } @InProceedings{Filman-Friedman00, key = "Filman \& Friedman", author = "Robert E. Filman and Daniel P. Friedman", title = "Aspect-Oriented Programming is Quantification and Obliviousness", booktitle = "OOPSLA 2000 Workshop on Advanced Separation of Concerns", address = "Minneapolis, MN", month = Oct, year = 2000, note = "Available from \url{http://ic.arc.nasa.gov/~filman/text/oif/aop-is.pdf}" } @InCollection{Filman-Friedman04, key = {Filman \& Friedman}, author = {Robert E. Filman and Daniel P. Friedman}, title = {Aspect-Oriented Programming is Quantification and Obliviousness}, booktitle = {Aspect-Oriented Software Development}, year = {2004}, editor = {Mehmet Ak{\c s}it and Siobhan Clarke and Tzilla Elrad and Robert E. Filman}, publisher = {Addison-Wesley}, address = {Reading, MA}, note = "to appear", } @InProceedings{Filman01, key = "Filman", author = "Robert E. Filman", title = {What Is Aspect-Oriented Programming, Revisited}, booktitle = {Workshop on Advanced Separation of Concerns (ECOOP 2001)}, address = {Budapest, Hungary}, month = Jun, year = 2001, note = "Available from \url{http://trese.cs.utwente.nl/Workshops/ecoop01asoc/papers/Filman.pdf}" } @InProceedings{Findler-Flatt99, key = {Findler \& Flatt}, author = {Robert Bruce Findler and Matthew Flatt}, title = {Modular Object-Oriented Programming with Units and Mixins}, BookTitle = {ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programming}, Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, publisher = ACM, address = NY, pages = {94--104}, annote = {45 references.} } @InProceedings{Finne-etal99, key = {Finne, {\em et al.}}, author = {Sigbjorn Finne and Daan Leijen and Erik Meijer and Simon Peyton Jones}, title = {{\em H/Direct}: A Binary Foreign Language Interface for Haskell}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {153-162}, annote = {13 references.} } @Book{Fischer-Grodzinsky93, Key = "Fischer \& Grodzinsky", Author = "Alice E. Fischer and Frances S. Grodzinsky", Title = "The Anatomy of Programming Languages", Publisher = "Prentice Hall", Year = 1993, Address = "Englewood Cliffs, NJ", Annote = "61 references." } @Book{Fischer-LeBlanc91, Key = "Fischer-LeBlanc", Author = "Charles N. Fischer and Richard J. LeBlanc, Jr.", Title = "Crafting a Compiler with C", Publisher = "Benjamin/Cummings", Address = NY, Year = 1991, Annote = "About 150 references." } @Article{Flanagan-Felleisen99, author = "Flanagan \& Felleisen", author = "Cormac Flanagan and Matthias Felleisen", title = "Componential set-based analysis", journal = "ACM Transactions on Programming Languages and Systems", volume = 21, number = 2, pages = "370-416", month = mar, year = 1999, annote = "Set-based analysis." } @Article{Flanagan-etal96, key = {Flanagan, {\em et al.}}, author = {Cormac Flanagan and Matthew Flatt and Shriram Krishnamurthi and Stephanie Weirich and Matthias Felleisen}, title = {Catching Bugs in the Web of Program Invariants}, journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {23-32}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {28 references.} } @Book{Flanagan97, author = "David Flanagan", key = "Flanagan", title = "Java in a Nutshell: a desktop quick reference", publisher = "O'Reilly \& {Associates, Inc.}", address = "981 Chestnut Street, Newton, MA 02164", year = 1997, edition = "Second", series = "A Nutshell handbook", url = "http://www.ora.com/info/java", annote = "Covers Java 1.1.", keywords = "Java (Computer program language); World Wide Web servers.; Object-oriented programming (Computer science)" } @InCollection{Flatt-Krishnamurthi-Felleisen99, author = {Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen}, title = {A programmer’s reduction semantics for classes and mixins}, booktitle = {Formal Syntax and Semantics of Java}, key = {Flatt \& Krishnamurthi \& Felleisen}, pages = {241-269}, publisher = SV, year = 1999, chapter = 7, URL = {http://citeseer.ist.psu.edu/flatt99programmers.html} } @Article{Flon75, Key = "Flon", Author = "Lawrence Flon", Title = "On Research in Structured Programming", Journal = SIGPLAN, Volume = 10, Number = 10, Month = Oct, Year = 1975, Pages = "16-17", Annote = "Presents the following axiom: There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs." } @Article{Floyd79, Key = "Floyd", Author = "Robert W. Floyd", Title = "The Paradigms of Programming", Journal = CACM, Month = Aug, Year = 1979, Volume = 22, Number = 8, Pages = "455-460", Annote = "Discusses the importance of paradigms of programming, that is ways or techniques of programming. Their use in evaluating the expressiveness of a language. 29 references" } @Book{Forman-Danforth99, key = {Forman-Danforth}, author = {Ira R. Forman and Scott H. Danforth}, title = {Putting metaclasses to work: a new dimension in object-oriented programming}, publisher = {Addison-Wesley Longman Publishing Co., Inc.}, year = 1999, address = {Redwood City, CA} } @InCollection{Freeman-Benson-Borning92, Key = "Freeman-Benson \& Borning", Author = "Bjorn N. Freeman-Benson and Alan Borning", Title = "Integrating Constraints with an Object-Oriented Language", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "268-286", Annote = "39 references" } @Article{Freeman-Benson90, Key = "Freeman-Benson", Author = "Bjorn N. Freeman-Benson", Title = "Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "77-88", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "31 references." } @Article{Frenger97, key = {Frenger}, author = {Paul Frenger}, title = {Part One: A Review of Robotics Languages}, journal = SIGPLAN, year = 1997, volume = 32, number = 4, month = Apr, pages = {27-31}, annote = {22 references.} } @Book{Fiedman-Byrd-Kiselyov05, key = {Friedman \& Byrd \& Kiselyov}, author = {Daniel P. Friedman and William E. Byrd and Oleg Kiselyov}, title = {The Reasoned Schemer}, publisher = MITP, year = 2005 } @Book{Friedman-Felleisen87, Author = {Daniel P. Friedman and Matthias Felleisen}, Title = {The Little LISPer}, Year = 1987, Publisher = MITP, Edition = "Trade" } @Book{Friedman-Felleisen96, key = {Friedman \& Felleisen}, Author = {Daniel P. Friedman and Matthias Felleisen}, Title = {The Little Schemer}, Year = 1996, Publisher = "MIT Press", Edition = "Fourth", ISBN = "0-0262-56099-2" } @Book{Friedman-Felleisen96b, key = {Friedman \& Felleisen}, Author = {Daniel P. Friedman and Matthias Felleisen}, Title = {The Seasoned Schemer}, Year = 1996, Publisher = "MIT Press" } @Book{Friedman-Wand-Haynes01, Key = "Friedman \& Wand \& Haynes", Author = "Daniel P. Friedman and Mitchell Wand and Christopher T. Haynes", Title = "Essentials of Programming Languages", Publisher = MITP, Year = 2001, Edition = "Second", Address = NY, Annote = "Text on programming languages, concentrating on semantics of imperative languages using interpreters. Also some disucssion of compilation. 59 references." } @Book{Friedman-Wand-Haynes92, Key = "Friedman \& Wand \& Haynes", Author = "Daniel P. Friedman and Mitchell Wand and Christopher T. Haynes", Title = "Essentials of Programming Languages", Publisher = McGraw-Hill, Year = 1992, Address = NY, Annote = "Graduate text on programming languages, concentrating on semantics of imperative languages using interpreters. Also some disucssion of compilation. 59 references." } @InProceedings{Friedman-Wise80, Key = "Friedman \& Wise", Author = "Daniel P. Friedman and David S. Wise", Title = "An Indeterminate Constructor for Applicative Programming", Pages = "245-250", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = Jan, Year = 1980, Annote = "Putting contention in data structures instead of control. The frons constructor which makes a sequence whose order is not determined until probed. 11 references." } @InCollection{Friedman75, Key = "Friedman", Author = "H. Friedman", Title = "Equality between Functionals.", BookTitle = "Logic Colloquium, Symposium on Logic Held at Boston, 1972-73", Editor = "R. Parikh", Series = "Lecture Notes in Mathematics", Volume = 453, Publisher = SV, Address = NY, Year = 1975, Pages = "22-37" } @Book{Friedman91, Key = "Friedman", Author = "Linda Weiser Friedman", Title = "Comparative Programming Languages, Generalizing The Programming Function", Publisher = "Prentice-Hall", Year = 1991, Address = "Englewood Cliffs, NJ 07632", Annote = "Catagorized Bibliography" } @inproceedings{ Friendly95, Key = "Friendly", author = "Lisa Friendly", title = "The Design of Distributed Hyperlinked Programming Documentation", booktitle = "Proceedings of the International Workshop on Hypermedia Design ({IWHD}'95), Montpellier, France, 1--2 June 1995", publisher = "Springer", editor = {S. Fra\"{i}ss\`{e} and F. Garzotto and T. Isakowitz and J. Nanard and M. Nanard}, pages = "151--173", year = "1995", url = "citeseer.nj.nec.com/friendly95design.html" } @Article{Frisbie-Hendrickson-Metcalf97, key = {Frisbie \& Hendrickson \& Metcalf}, author = {Ralph Frisbie and Richard Hendrickson and Michael Metcalf}, title = {The {F} Programming Language}, journal = SIGPLAN, year = 1997, volume = 32, number = 6, month = Jun, pages = {69-74}, annote = {2 references.} } @Article{Frost90, Key = "Frost", Author = "Richard A. Frost", Title = "Constructing Programs in a Calculus of Lazy Interpreters", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "30-41", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "11 references." } @Article{Fuchi-etal93, Key = "Fuchi, {\em et al}", Author = "Kazuhiro Fuchi and Robert Kowalski and Koichi Furukawa and Kazunori Ueda and Ken Kahn and Takashi Chikayama and Evan Tick", Title = "The Fifth Generation Project: Launching the New Era", Journal = CACM, Year = 1993, Month = Mar, Volume = 36, Number = 3, Pages = "49-99" } @Article{Fukunaga-Hirose86, Key = "Fukunaga \& Hirose", Author = "Koichi Fukunaga and Shin-ichi Hirose", Title = "An Experience with a Prolog-based Object-Oriented Language", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "224-231", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Describes experience with SPOOL, an object-oriented language based on Prolog. Higher-order control, anonymous message passing. Both procedural and declarative knowledge is represented in the same formalizm in SPOOL. 15 references." } @InCollection{Gabbrrielli-levi-Martelli93, Key = "Gabbrielli \& Levi \& Martelli", Author = "M. Gabbrielli and G. Levi and M. Martelli", Title = "New Semantic Tools for Logic Programming", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publsiher = SV, Address = NY, Year = 1993, Note = "Semantics: Foundations and Applications REX Workshop, The NetherLands, june 1992. Proceedings", Page = "204-235", Annote = "80 references" } @Article{Gabriel-White-Bobrow91, Key = "Gabriel \& White \&Bobrow", Author = "Richard P. Gabriel and Jon L. White and Daniel G. Bobrow", Title = "CLOS: Integrating Object-Oriented and Functional Programming", Journal = CACM, Year = 1991, Volume = 34, Number = 9, Month = Sep, Pages = "28-38", Annote = "15 references." } @Article{Gabriel93, Key = "Gabriel", Author = "Richard P. Gabriel", Title = "The end of history and the last programming language", Journal = JOOP, Year = 1993, Volume = 6, Number = 4, Month = Jul, Pages = "90-94", Annote = "1 reference." } @InProceedings{Gagnon-Hendren98, Author = "Etienne Gagnon and Laurie J. Hendren", Title = "{SableCC}, an Object-Oriented Compiler Framework", BookTitle = {International Conference on Technology of Object-Oriented Languages and Systems (TOOLS '98), Santa Barbara, California}, Publisher = {IEEE Computer Society Press}, address = {Los Alamitos, California}, Year = 1998, } @TechReport{Galley-Pfister79, Key = "Galley \& Pfister", Author = "S. W. Galley and Greg Pfister", Title = "The MDL Programming Language", Institution = MITLCS, Year = 1979, Month = May, Annote = "Reference Manual for MDL." } @Article{Ganapathi-Mendal89, Key = "Ganapathi \& Mendal", Author = "Mahadevan Ganapathi and Geoffrey O. Mendal", Title = "Issues in Ada Compiler Technology", Journal = "Computer", Year = 1988, Month = Feb, Volume = 22, Number = 2, Pages = "52-60", Annote = "12 references." } @Article{Gannon75, Key = "GannonHorning", Author = "J. D. Gannon and J. J. Horning", Title = "The Impact of Language Design on Reliable Software", Note = "Proceedings of the 1975 International Conference on Reliable Software", Journal = SIGPLAN, Year = 1975, Month = Jun, Volume = 10, Number = 6, Pages = "10-22" } @Article{Garg88, Key = "Garg", Author = "Pankaj K. Garg", Title = "Abstraction Mechanisms in Hypertext", Journal = CACM, Month = Jul, Year = 1988, Volume = 31, Number = 7, Pages = "862-870", Annote = "16 references" } @InProceedings{Garrigue-Ait-Kaci94, Key = {Garrigue \& A\"{i}t Kaci}, Author = {Jacques Garrigue and Hassan A\"{i}t Kaci}, Title = "The Typed Polymorphic Label-Selective $\lambda$-calculus", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "34-47", Annote = "22 references." } @Book{Gehani85, Key = "Gehani", Author = "Narain Gehani", Title = "Advanced C : food for the educated palate", Publisher = "Computer Science Press", Year = 1985, Address = "Rockville, Md." } @InProceedings{Gelernter-Jagannathan-London87, Key = "Gelernter \& Jagannathan \& London", Author = "David Gelernter and Suresh Jagannathan and Thomas London", Title = "Environments as First Class Objects", BookTitle = "Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich", Organization = ACM, Month = Jan, Year = 1987, Pages = "98-110", Annote = "27 references." } @Book{Gelernter-Jagannathan90, Key = "Gelernter \& Jagannathan", Author = "David Gelernter and Suresh Jagannathan", Title = "Programming Linguistics", Publisher = MITP, Year = 1990, Address = "Cambridge, Mass.", Annote = "137 references." } @InProceedings{Genius-Trapp-Zimmermann98, key = "Genius \& Trapp \& Zimmermann", author = "D. Genius and M. Trapp and W. Zimmermann", title = "An Approach to Improve Locality Using Sandwich Types", BookTitle = "Proceedings of the 2nd Types in Compilation Workshop, Kyoto, Japan", series = LNCS, volume = 1473, pages = "194ff", year = 1998, month = Mar, publisher = SV } @Article{Geschke-Mitchell75, Key = "GeschkeMitchell", Title = "On the Problem of Uniform Referents to Data Structures", Author = "C. M. Geschke and J. G. Mitchell", Journal = IEEESE, Year = 1975, Month = Jun, Pages = "207-219", Annote = "Modules with fixed interfaces and modifiable representations; also in 1975 Reliable Software Conference." } @Book{Geurts-Meertens-Pemberton90, Key = "Geurts \& Meertens \& Pemberton", Author = "Leo Geurts and Lambert Meertens and Steven Pemberton", Title = "ABC Programmer's Handbook", Publisher = "Prentice-Hall", Year = 1990, Address = "London", Note = "ISBN 0-13-000027-2" } @Book{Ghezzi-Jazayeri87, Key = "Ghezzi \& Jazayeri", Author = "Carlo Ghezzi and Mehdi Jazayeri", Title = "Programming Language Concepts 2/E", Publisher = Wiley, Address = NY, Year = 1987, Annote = "Hundreds of references." } @InProceedings{Gibbons-Jones99, key = {Gibbons \& Jones}, author = {Jeremy Gibbons and Geraint Jones}, title = {The Under-Appreciated Unfold}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {273-279}, annote = {Code in Haskell. 26 references.} } @TechReport{Gifford-etal87, Key = "Gifford", Author = "David K. Gifford and Pierre Jouvelot and John M. Lucassen and Mark A. Sheldon", Title = "FX-87 Reference Manual", Institution = MITLCS, Month = Sept, Year = 1987, Number = "TR-407", Annote = "Support for parallel applications. Mix of functional and imperative programming. Type and effect checking and inference." } @Article{Gilmore-Tsiknis93, Key = "Gilmore \& Tsiknis", Author = "Paul C. Gilmore and George K. Tsiknis", Title = "Logical Foundations for Programming Semantics", Journal = "Theoretical Computer Science", Year = 1993, Volume = 111, Number = "1-2", Month = Apr, Pages = "253-290" } @Book{Gittleman03, author = {Art Gittleman}, title = {Computing with {C\#} and the {.NET} Framework}, publisher = {Jones and Bartlett}, year = 2003, key = {Gittleman}, address = {Sudbury, Mass.}, annote = {CS-1 course text.} } @Book{Glaser-Hankin-Till84, Key = "Glaser \& Hankin \& Till", Author = "Hugh Glaser and Chris Hankin and David Till", Title = "Principles of functional programming", Publisher = "Prentice-Hall", Year = 1984, Address = "Englewood Cliffs, NJ", Note = "Call Number QA76.6 .G558 1984", Annote = "Includes index - Bibliography: p. 229-231" } @InCollection{Goguen-Meseguer86, Key = "Goguen-Meseguer", Author = "Joseph A. Goguen and Jos\'{e} Meseguer", Title = "Eqlog: Equality, Types, and Generic Modules for Logic Programming", BookTitle = "Functional and Logic Programming", Editor = "Douglas DeGroot and Gary Lindstrom", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = "1986", Pages = "295-363", Note = "An earlier version appeared in the {\em Journal of Logic Programming}, 1984, Volume 1, Number 2, Pages 179-209.", Annote = "Logic programming language with both Horn clause relational programming and functional programming. 91 references." } @InCollection{Goguen-Meseguer87a, Key = "Goguen-Meseguer", Author = "Joseph A. Goguen and Jos\'{e} Meseguer", Title = "Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics", Editor = "Bruce Shriver and Peter Wegner", BookTitle = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Pages = "417-477", Annote = "57 references." } @TechReport{Goguen-Winkler88, Key = "Goguen \& Winkler", Author = "Joseph A. Goguen and Timothy Winkler", Title = "Introducing OBJ3", Organization = "Computer Science Laboratory, SRI International", Number = "SRI-CSL-88-9", Month = Aug, Year = "1988" } @TechReport{Goguen88, Key = "Goguen", Author = "Joseph A. Goguen", Title = "Higher Order Functions Consideered Unnecessary for Higher Order Programming", Organization = "Computer Science Laboratory, SRI International", Number = "SRI-CSL-88-1", Month = Jan, Year = "1988", Annote = "Higher order programs and logic should be avoided when possible in favor of parameterized programming. Long discussion of OBJ. 83 references." } @Book{Goldberg84, Key = "Goldberg", Author = "Adele Goldberg", Title = "Smalltalk-80: The Interactive Programming Environment", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1984, Annote = "The Smalltalk-80 programming environment." } @Article{Gomard92, Key = "Gomard", Author = "Carsten K. Gomard", Title = "A Self-Applicable Partial Evaluator for the Lambda Calculus: Correctness and Pragmatics", Journal = TOPLAS, Year = 1992, Volume = 14, Number = 2, Month = Apr, Pages = "157-172", Annote = "25 references." } @Article{Gonzalez-Carvajal-Mora98, key = {Gonz\'{a}lez-Carvajal \& Mora}, author = {Yania Crespo Gonz\'{a}lez-Carvajal and Miguel Katrib Mora}, title = {More About System-Level Validity in Eiffel}, journal = JOOP, year = 1998, volume = 11, number = 4, month = Jul, pages = {40-49}, annote = {Two more problems with type safety in Eiffel. 11 references.} } @Article{Goodenough75, Key = "Goodenough", Author = "J. B. Goodenough", Title = "Exception Handling: Issues and a Proposed Notation", Journal = CACM, Year = 1975, Month = Dec, Volume = 18, Number = 12, Pages = "683-696" } @Book{Gordon-etal79, Key = "Gordon, {\em et al.}", Title = "Edinburgh LCF", Author = "Michael J. Gordon and Robin Milner and Christopher P. Wadsworth", Publisher = SV, Address = NY, Series = LNCS, Volume = 78, Year = 1979, Pages = "13-56", Note = "The second author is listed on the cover as Arthur J. Milner, which is clearly a mistake.", Annote = "ML is part of the proof system called LCF. ML has type inference, data abstraction and signals. 48 references." } @Book{Gordon79, Key = "Gordon", Author = "Michael J. C. Gordon", Title = "The Denotational Description of Programming Languages", Publisher = SV, Address = NY, Year = 1979, Annote = "26 references" } @Book{Gordon88, Key = "Gordon", Author = "Michael J. C. Gordon", Title = "Programming Language Theory and its Implementation", Publisher = Prentice-Hall, Address = NY, Series = "Prentice Hall International Series in Computer Science", Year = 1988, Annote = "Program specification, verification, theorem proving, lambda calculus, combinators, LISP, and mechanized versions of these. 74 references." } @Book{Gosling-Joy-Steele96, author = "James Gosling and Bill Joy and Guy Steele", key = "Gosling \& Joy \& Steele", title = "The {Java} Language Specification", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA", year = 1996, ISBN = "0-201-63451-1", LCCN = "QA76.73.J38G68 1996", series = "The Java Series", url = "http://www.aw.com/cp/javaseries.html", keywords = "computers and computer technology; Java (Computer program language); Java (computer program language); programming languages (electronic computers); technology --" } @TechReport{Gosling-McGilton96, key = "Gosling \& McGilton", author = "James Gosling and Henry {McGilton}", title = "The {Java} Language Environment: A White Paper", year = "1996", month = Jun, institution = "Sun Microsystems", url = "http://java.sun.com/docs/white/langenv/" } @Book{Gosling-etal00, key = "Gosling, {\em et al.}", author = "James Gosling and Bill Joy and Guy Steele and Gilad Bracha", title = "The {Java} Language Specification Second Edition", publisher = "Addison-Wesley", address = "Boston, Mass.", year = 2000, ISBN = "0-201-31008-2", series = "The Java Series", url = "http://www.aw.com/cp/javaseries.html" } @book{Gosling-etal05a, key = "Gosling, {\em et al.}", author = "James Gosling and Bill Joy and Guy Steele and Gilad Bracha", Address = {Boston, Mass.}, Title = {The {Java} Language Specification, Third Edition}, Publisher = {Addison-Wesley}, Series = {The Java Series}, Year = {2005} } @Article{Govindrajan, Key = "Govindrajan", Author = "Govindrajan", Title = "Exception Handlers in Functional Programming languages", Journal = IEEETSE, Year = 1993, Month = Aug, Volume = 19, Number = 8, Pages = "826-834", Annote = "11 references." } @Book{Graham94, Key = "Graham", Author = "Paul Graham", Title = "On Lisp: Advanced Techniques for Common Lisp", Publisher = "Prentice-Hall", Year = 1994, Address = "Englewood Cliffs, NJ" } @Article{Gray-etal92, Key = "Gray, {\em et al.}", Author = "Robert W. Gray and Vincent P. Heuring and Steven P. Levi and Anthony M. Sloane and William M. Waite", Title = "Eli: A Complete, Flexible Compiler Construction System", Journal = CACM, Year = 1992, Volume = 35, Number = 2, Month = Feb, Pages = "121-131", Annote = "20 references" } @Article{Gray-etal98, key = {Gray, {\em et al.}}, author = {David N. Gray and John Hotchkiss and Seth LaForge and Andrew Shalit and Toby Weinberg}, title = {Modern Languages and {Microsoft's} Component Object Model}, journal = CACM, year = 1998, volume = 41, number = 5, month = May, pages = {55-65}, annote = {Especially how to adapt Dylan to COM. 6 references.} } @InProceedings{Grimm06, key = {Grimm}, author = {Robert Grimm}, title = {Better Extensibility through Modular Syntax}, booktitle = {Proceedsings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)}, pages = {38-51}, year = 2006, volume = 41, number = 6, series = SIGPLAN, month = Jun, organization = ACM, annote = {42 references.} } @Book{Griswold-Griswold83, Key = "Griswold \& Griswold", Author = "Ralph E. Griswold and Madge T. Griswold", Title = "The Icon Programming Language", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1983, Annote = "Coroutines and extensive string facilities. 16 references." } @Book{Griswold-Poage-Polonsky71, Key = "Griswold \& Poage \& Polonsky", Author = "R. E. Griswold and J. F. Poage and I. P. Polonsky", Title = "The SNOBOL4 Programming Language (second edition)", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1971, Annote = "String facilities without equal." } @Article{Griswold85, Key = "Griswold", Author = "Ralph E. Griswold", Title = "Rebus--A SNOBOL4/Icon Hybrid", Journal = SIGPLAN, Volume = 20, Number = 2, Month = Feb, Year = 1985, Pages = "7-20", Annote = "Discusses the pattern matching facilities of SNOBOL4 and why they still seem to be missing even in Icon. Rebus is a thought design to see how the pattern matching language of SNOBOL4 can be brought into a more structured framework. Several examples. 18 references." } @Techreport{Grogno92, Key = "Grogno", Author = "Peter Grogno", Title = "The Dee Report", Institution = "Department of Computer Science, Concordia University", Month = Dec, Year = 1992, Address = "Montreal, Quebec, Canada", Number = "OOP-91-2", Annote = "0 references." } @Article{Grogono-Gargul94, Key = "Grogono \& Gargul", Author = "Peter Grogono and Mark Gargul", Title = "A Graph Model for Object Oriented Programming", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 7, Month = Jul, Pages = "21-28", Annote = "11 references." } @InProceedings{Grogono-Sakkinen00, author = {Peter Grogono and Markku Sakkinen}, key = {Grogono \& Sakkinen}, title = {Copying and Comparing: Problems and Solutions}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {226-250}, annote = {21 references.} } @Article{Grogono90, Key = "Grogono", Author = "Peter Grogono", Title = "Issues in the Design of an Object Oriented Programming Language", Journal = "Structured Programming", Month = Jan, Year = 1991, Volume = 12, Number = 1, Pages = "1-15", Annote = "34 references." } @InProceedings{Grothoff03, author = {Christian Grothoff}, title = {Walkabout revisited: The {Runabout}}, booktitle = {ECOOP 2003---Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, Proceedings}, editor = {Luca Cardelli}, series = LNCS, volume = 2743, publisher = SV, address = NY, month = {July}, year = 2003, pages = {103--125} } @Article{Guerraoui98, key = "Guerraoui", author = "Rachid Guerraoui and others", title = "Strategic Directions in Object-Oriented Programming", journal = ACMCS, volume = 28, number = 4, pages = "691-700", month = Dec, year = 1996, annote = "29 references." } @Article{Gunter-Mitchell-Notkin96, key = "Gunter \& Mitchell \& Notkin", author = "Carl Gunter and John Mitchell and David Notkin", title = "Strategic Directions in Software Engineering and Programming Languages", journal = ACMCS, volume = 28, number = 4, pages = "727-737", month = dec, year = 1996, annote = "20 references." } @InCollection{Gunter-Scott90, Key = "Gunter \& Scott", Author = "C. A. Gunter and D. S. Scott", Title = "Semantic Domains", BookTitle = "Handbook of Theoretical Computer Science", Chapter = 8, Pages = "633-674", Volume = "B: Formal Models and Semantics", Editor = "J. van Leeuwen", Publisher = "North-Holland", Address = NY, Year = 1990, Annote = "24 references." } @TechReport{Gunter90, Key = "Gunter", Author = "Carl A. Gunter", Title = "Structures and Techniques for the Semantics of Programming Languages", Month = Sep, Year = 1990, Institution = "Department of Computer and Information Science, University of Pennsylvania", Annote = "28 references." } @book{Gunter92, Key = "Gunter", Author = "C. A. Gunter", Title = "Semantics of Programming Languages: Structures and Techniques", Publisher = MITP, Address = "Cambridge, Mass.", Series = "Foundations of Computing", Year = "1992", Annote = "274 references." } @InCollection{Gurevich-Huggins92, Key = "Gurevich \& Huggins", Author = "Yuri Gurevich and James K. Huggins", Title = "The Semantics of the C Programming Language", BookTitle = "Computer Science Logic, Proceedings, 1992", Publisher = SV, Year = 1992, Editor = {E. B\"{o}rger and others}, Pages = "274-308", Series = LNCS, Volume = 702, Address = NY, Note = "Errata to appear in the 1993 Computer Science Logic proceedings. Corrected copy obtained from the authors." } @Article{Gurevich91, Key = "Gurevich", Author = "Yuri Gurevich", Title = "Evolving Algebras: A Tutorial Introduction", Journal = "Bulletin of the EATCS", Year = 1991, Volume = 43, Month = Feb, Pages = "264-284", Annote = "24 references." } @InCollection{Gurevich93, Key = "Gurevich", Author = "Yuri Gurevich", Title = "Evolving Algebras: An Attempt to Discover Semantics", BookTitle = "Current Trends in Theoretical Computer Science", Publisher = "World Scientific", Year = 1993, Editor = "G. Rozenberg and A. Salomaa", Pages = "266-292" } @TechReport{Gyssens-Gucht87, Key = "Gyssens \& Gucht", Author = "Marc Gyssens and Dirk Van Gucht", Title = "The Powerset Operator as an Algebraic Tool for Understanding Least Fixpoint Semantics in the Context of Nested Relations", Institution = "Computer Science Department, Indiana University", Number = 233, Month = Oct, Year = 1987, Annote = "24 references." } @Article{Habermann73, Key = "Habermann", Author = "A. N. Habermann", Title = "Critical Comments on the Programming Language Pascal", Journal = "Acta Informatica", Year = 1973, Volume = 3, Number = 1, Pages = "47-57", Annote = "Complaints about the report's shortcomings, and the confusion of ranges, types, and structures. Also complains about gotos. 9 references." } @InCollection{Hagimont94, Key = "Hagimont", Author = "Daniel Hagimont", Title = "Protection in the Guide Object-Oriented Distributed System", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "280-298", Address = NY, Month = Jul, Annote = "18 references." } @Article{Hailpern-Ossher90, Key = "Hailpern \& Ossher", Author = "Brent Hailpern and Harold Ossher", Title = "Extending Objects to Support Multiple Interfaces and Access Control", Journal = IEEETSE, Volume = 16, Number = 11, Month = Nov, Year = 1990, Pages = "1247-1257", Note = "Also technical report RC 14016 (\#69273), IBM Research Division, T. J. Watson Research Center, March, 1990", Annote = "27 references." } @Article{Halstead85, Key = "Halstead", Author = "Robert H. Halstead, Jr.", Title = "Multilisp: A Language for Concurrent Symbolic Computation", Journal = TOPLAS, Volume = 7, Number = 4, Month = Oct, Year = 1985, Annote = "Version of the Lisp dialect Scheme with constructs for parallel execution. The key extension is futures, but also supports abstract data types. Discussion of appropriate style. Discussion of the implementation and performance. 56 references." } @InProceedings{Hankin-Le-Metayer94, Key = {Hankin \& Le M\'{e}tayer}, Author = {Chris Hankin and Daniel Le M\'{e}tayer}, Title = "Deriving algorithms from type inference systems: Application to strictness analysis", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "202-212", Annote = "26 references." } @Article{Hankin-Nielson-Palsberg96, key = "Hankin \& Nielson \& Palsberg", author = "Chris Hankin and Hanne Riis Nielson and Jens Palsberg and others", title = "Strategic Directions in Research on Programming Languages", journal = ACMCS, volume = 28, number = 4, pages = "644-652", month = Dec, year = 1996, annote = "Many references." } @Article{Hankin-Nielson-Palsberg97, key = "Hankin \& Nielson \& Palsberg", author = "Chris Hankin and Hanne Riis Nielson and Jens Palsberg", title = "Position Statements on Strategic Directions in Research on Programming Languages", journal = SIGPLAN, year = 1997, volume = 32, number = 1, month = Jan, pages = {58-65}, annote = {1 reference.} } @Article{Hankin-Nielson96, key = "Hankin \& Nielson", author = "Chris Hankin and Hanne R. Nielson", title = "Symposium on Models of Programming Languages and Computation", journal = ACMCS, volume = 28, number = 2, pages = "293-294", month = Jun, year = 1996, annote = "Introduction to special section." } @Unpublished{Hannan-Miller88, Key = "Hannan \& Miller", Author = "John Hanna and Dale Miller", Title = "Enriching A Meta-Language With Higher-Order Features", Note = "This is a revised version of a paper submitted to the Workshop on Meta-Programming in Logic Programming", Annote = "29 references.", Month = Jun, Year = 1988 } @Article{Hanson-Griswold78, Key = "Hanson \& Griswold", Author = "David R. Hanson and Ralph E. Griswold", Title = "The SL5 Procedure Mechanism", Journal = CACM, Volume = 21, Number = 5, Month = May, Year = 1978, Pages = "392-400", Annote = "28 references." } @Article{Hanson81, Key = "Hanson", Author = "David R. Hanson", Title = "Is Block Structure Necessary?", Journal = SPandE, Volume = 11, Year = 1981, Pages = "853-866", Annote = "Arguments against block structure and in favor of modules. The prime argument is the inefficiency of the display mechanism when up-level addressing is permitted. 38 references" } @Book{Harbison-Steele87, Key = "Harbison \& Steele", Author = "Samuel P. Harbison and Guy Steele", Title = "C, A Reference Manual", Publisher = Prentice-Hall, Address = NY, Year = 1987, Annote = "Includes draft proposed ANSI C standards." } @Book{Harbison92, Key = "Harbison", Author = "Samuel P. Harbison", Title = "Modula-3", Publisher = "Prentice-Hall", Year = 1992, Address = "Englewood-Cliffs, NJ", Annote = "Complete Guide to writing Modula-3 programs." } @Book{Harland86, Key = "Harland", Author = "David M. Harland", Title = "Concurrency and Programming Languages", Publisher = "Halsted Press", Address = NY, Year = 1986 } @TechReport{Harnett91, Key = "Harnett", Author = "Sheila A. Harnett", Title = "A Denotational Definition of a Dynamic Object-Oriented Programming Language", Institution = "The Center for Advanced Computer Studies, University of Southwestern Louisiana", Address = "Lafayette, LA", Number = "TR-91-5-6", Month = Dec, Year = 1991, Annote = "10 references" } @InProceedings{Harrison-Kamin98, author = {William L. Harrison and Samuel N. Kamin}, title = {Modular Compilers Based on Monad Transformers}, booktitle = {IEEE Computer Society International Conference on Computer Languages 1998, Loyola University, Chicago}, key = {Harrison \& Kamin}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = {May}, pages = {122-131}, annote = {20 references.} } @InProceedings{Harrison-Ossher02, Key = {Harrison \& Ossher}, Author = {William Harrison \& Harold Ossher}, Title = {Member-Group Relationships Among Objects}, Pages = "9-16", BookTitle = {FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002}, year = 2002, Editor = {Gary T. Leavens and Ron Cytron}, Organization = {Department of Computer Science, Iowa State University}, Series = {Technical Report}, number = {02-06}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-06/TR.pdf" } @Book{Harrison93, Key = "Harrison", Author = "Rachel Harrison", Title = "Abstract Data Types in Standard ML", Publisher = "John Wiley & Sons", Year = 1993, Address = NY, Annote = "114 references; ISBN 0-471-93844-0" } @Book{Harvey-Wright94, Key = "Harvey \& Wright", Author = "Brian Harvey and Matthew Wright", Title = "Simply Scheme: Introducing Computer Science", Publisher = "MIT Press", Year = 1994, Address = "Cambridge, Mass." } @Book{Harvey86, Key = "Harvey", Author = "Brian Harvey", Title = "Projects, Styles, and Techniques", Publisher = MITP, Year = 1986, Volume = 2, Series = "Computer Science Logo Style", Address = "Cambridge, Mass.", Annote = "ISBN 0-262-58080-2" } @InProceedings{Hatcliff-Danvy94, Key = {Hatcliff \& Danvy}, Author = {John Hatcliff and Olivier Danvy}, Title = "A Generic Account of Continuation-Passing Styles", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "458-471", Annote = "44 references." } @article{Hauser96, key = {Hauser}, author = {John R. Hauser}, title = {Handling floating-point exceptions in numeric programs}, journal = TOPLAS, volume = 18, number = 2, year = {1996}, pages = {139-174}, URL = {http://doi.acm.org/10.1145/227699.227701}, publisher = {ACM Press}, address = {New York, NY, USA}, annote = {59 references.} } @Article{Haynes-Friedman87, Key = "Haynes \& Friedman", Author = "Christopher T. Haynes and Daniel P. Friedman", Title = "Embedding continuations in Procedural Objects", Journal = TOPLAS, Volume = 9, Number = 4, Month = Oct, Year = 1987, Pages = "582-598", Annote = "18 references." } @Article{Heering-Klint-Rekers94, Key = "Heering \& Klint \& Rekers", Author = "J. Heering and P. Klint and J. Rekers", Title = "Lazy and Incremental Program Generation", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "1010-1023", Annote = "22 references." } @Article{Heering-etal89, Key = "Heering, {\em et al.}", Author = "J. Heering and P.R.H. Hendriks and P. Klint and J. Rekers", Title = "The Syntax Definition Formalism SDF Reference Manual", Journal = SIGPLAN, Volume = 24, Number = 11, Month = Nov, Year = 1989, Pages = "43-75", Annote = "35 references." } @Book{Henderson80, Key = "Henderson", Author = "Peter Henderson", Title = "Functional Programming: Application and Implementation", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Address = "Englewood Cliffs, N.J.", Year = 1980, Annote = "Functional programming style based on Landin's ISWIM. 34 references." } @Book{Hennessy90, Key = "Hennessy", Author = "Matthew Hennessy", Title = "The Semantics of Programming Languages: an Elementary Introduction using Structural Operational Semantics", Publisher = Wiley, Year = 1990, Address = NY } @InCollection{Hense91, key = "Hense", author = {Andreas V. Hense}, title = {Wrapper Semantics of an Object-Oriented Programming Language with State}, booktitle = "TACS: International Conference on Theoretical Aspects of Computer Software", pages = {548--568}, year = 1991, publisher = SV, editor = "P. Enjalbert and E. W. Mayr and K. W. Wagner", volume = 526, series = LNCS, address = NY } @Book{Henson87, Key = "Henson", Author = "Martin C. Henson", Title = "Elements of Functional Languages", Publisher = "Blackwell Scientific Publications", Address = "Oxford, England", Year = 1987, Annote = "Chapter 3 describes programming and verification." } @Article{Hentenryck-Saraswat96, key = "Hentenryck \& Saraswat", author = "Pascal van Hentenryck and Vijay Saraswat and others", title = "Strategic Directions in Object-Oriented Programming", journal = ACMCS, volume = 28, number = 4, pages = "701-726", month = Dec, year = 1996, annote = "Many references." } @InCollection{Henz-Smolka-Wurtz95, author = "M. Henz and G. Smolka and J. Wurtz", editor = "Vijay Saraswat and Pascal van Hentenryck", title = "Object-oriented concurrent constraint programming in Oz.", booktitle = "Principles and Practice of Constraint Programming.", pages = "27--48", publisher = "MIT Press", year = "1995", keywords = "Oz, computer programming language, constraint, OO, OOP, logic, LP, dfki, vanHentenryck", chapter = 2 } @InProceedings{Hewitt-Bishop-Steiger73, Key = "Hewitt \& Bishop \& Steiger", Author = "C. Hewitt and P. Bishop and R. Steiger", Title = "A Universal Modular Actor Formalism for Artificial Intelligence", Booktitle = "1973 International Joint Conference on Artificial Intelligence", Publisher = "IJCAI", Year = 1973, Pages = "235-245" } @Manual{HewlettPackard89, Key = "HewlettPackard", Title = "Exploring HP SoftBench: A Beginner's Guide", Author = "Hewlett Packard", Address = "3404 East Harmony Road, Fort Collins, CO", Year = 1989, Annote = "0 references." } @InProceedings{Hicks-etal99, key = {Hicks, {\em et al.}}, author = {Michael Hicks and Pankaj Kakkar and Jonathan T. Moore and Carl A. Gunter and Scott Nettles}, title = {{PLAN}: A Packet Language for Active Networks}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {86-93}, annote = {30 references.} } @TechReport{Hilfinger-etal78, Key = "Hilfinger, {\em et al.}", Author = "Paul Hilfinger and Gary Feldman and Robert Fitzgerald, Izumi Kimura and Ralph L. London and K. V. S. Prasad and V. R. Prasad and Jonathan Rosenberg and Mary Shaw and William A. Wulf (editor).", Title = "(Preliminary) An Informal Definition of {Alphard}", Institution = CMU, Year = 1978, Number = "CMU-CS-78-105", Annote = "There seems to be no later version." } @Book{Hill-Lloyd94, Key = "Hill \& Lloyd", Author = "Patricia Hill and John Lloyd", Title = {The G\"{o}del Programming Language}, Publisher = MITP, Year = 1994, Address = "Cambridge, Mass.", Annote = "A logic programming language with types and modules. 21 references." } @InProceedings{Hind01, key = "Hind", author = "Michael Hind", title = "Pointer Analysis: Haven't We Solved This Problem Yet?", editor = "{ACM}", booktitle = "{ACM} {SIGPLAN} -- {SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering: {PASTE}'01", publisher = "ACM Press", address = NY, pages = "54-61", year = "2001", annote = "110 references." } @Article{Hirvisalo-etal89, Key = "Hirvisalo, {\em et al.}", Author = "Vesa Hirvisalo and Jari Arkko and Juha Kuusela and Esko Nuutila and Markku Tamminen", Title = "{XE} Design Rationale: {CLU} Revisited", Journal = SIGPLAN, Volume = 24, Number = 9, Month = Sep, Year = 1989, Pages = "72-79", Annote = "Addition of rule abstraction, paramaeterization for record-like types, renaming, routine inclusion that allows fewer signals, inheritance from the representation type, and a more powerful iteration facility. 7 references." } @Article{Hoare-Lauer73, Key = "Hoare \& Lauer", Author = "C. A. R. Hoare and P. E. Lauer", Title = "Consistent and Complementary Formal Theories of the Semantics of Programming Languages", Journal = "Acta Informatica", Year = 1974, Volume = 3, Pages = "135-153", Annote = "30 references." } @Article{Hoare-Wirth73, Key = "Hoare \& Wirth", Author = "C. A. R. Hoare and N. Wirth", Title = "An Axiomatic Definition of the Programming Language {Pascal}", Journal = "Acta Informatica", Volume = 2, Number = 4, Year = 1973, Pages = "335-355", Annote = "8 references." } @Article{Hoare78a, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Communicating Sequential Processes", Journal = CACM, Volume = 21, Number = 8, Pages = "666-677", Month = Aug, Year = 1978 } @InCollection{Hoare80, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Hints on Programming Language Design", BookTitle = "Tutorial Programming Language Design", Month = Oct, Year = 1980, Publisher = IEEE, Editor = "Anthony I. Wasserman", Pages = "43-52", Annote = "8 references." } @Book{HoareFest, Key = "Roscoe", Title = "A Classical Mind, Essays in Honour of {C. A. R. Hoare}", BookTitle = "A Classical Mind, Essays in Honour of {C. A. R. Hoare}", Editor = "A. W. Roscoe", Year = "1994", Publisher = "Prentice-Hall International" } @Article{Hodas-Miller94, Author = "Joshua Hodas and Dale Miller", Title = "Logic Programming in a Fragment of Intuitionistic Linear Logic", Journal = "Information and Computation", Year = "1994", Volume = 110, number = 2, pages = {327-365} } @InCollection{Hofmann-Pierce94, key = "Hofmann \& Pierce", author = "Martin Hofmann and Benjamin Pierce", title = "A Unifying Type-Theoretic Framework for Objects", booktitle = "STACS 94 11th Annual Symposium on Theoretical Aspects of Computer Science, Caen, France, Proceedings", publisher = SV, year = 1994, editor = "P. Enjalbert and E. W. Mayr and K. W. Wagner", volume = 775, series = LNCS, pages = "251-262", address = NY, annote = "27 references." } @Manual{Holloway-etal74, Key = "Holloway, {\em et al.}", Author = "G. Holloway and J. Townley and J. Spitzen and B. Wegbreit", Title = "ECL Programmer's manual", Institution = "Harvard University", Year = 1974 } @Article{Holt-Cordy88, Key = "Holt", Author = "R. C. Holt and J. R. Cordy", Title = "The Turing Programming Language", Journal = CACM, Volume = 31, Number = 12, Month = Dec, Year = 1988, Pages = "1410-1423", Annote = "Introduction to Turing and Turing Plus. 29 references." } @Book{Holt-etal78, Key = "Holt, {\em et al.}", Author = "R. L. Holt and G. S. Graham and E. D. Lazowski and M. A. Scott", Title = "Structured Concurrent Programming with Operating Systems Applications", Publisher = Addison-Wesley, Year = 1978, Address = "Reading, Mass.", Annote = "The PL/I based language CSP/k is described with its use in operating system contexts. CSP/k has monitors and is defined in several layers. 30 references." } @TechReport{Holt86a, Key = "Holt", Author = "Richard C. Holt", Title = "Features of the Turing Language", Institution = "Computer Systems Research Institute, University of Toronto", Year = 1986, Month = Aug, Number = "CSRI-186", Annote = "A super Pascal with no-frills syntax. 51 references." } @TechReport{Holt86b, Key = "Holt", Author = "Richard C. Holt", Title = "Design Goals for the Turing Programming Language", Institution = "Computer Systems Research Institute, University of Toronto", Year = 1986, Month = Aug, Number = "CSRI-187", Annote = "51 references." } @Book{Holub90, Key = "Holub", Author = "Allen I. Holub", Title = "Compiler Design in C", Publisher = "Prentice-Hall", Year = 1990, Address = "Englewood Cliffs, NJ", Annote = "37 references." } @Book{Holyer, Key = "Holyer", Author = "Ian Holyer", Title = "Functional Programming with Miranda", Publisher = "Pitman Publishing", Address = "London, UK", Year = 1991, Annote = "ISBN 0-273-03453-7" } @InProceedings{Holzle93, author = {Urs H\"{o}lzle}, title = "Integrating Independently-Developed Components in Object-Oriented Languages", key = {H\"{o}lzle}, volume = 707, series = LNCS, publisher = SV, address = NY, pages = "36-56", booktitle = "Object-Oriented Programming 7th European Conference ECOOP '93 Kaiserslautern, Germany, Proceedings", year = 1993 } @Book{Holzner98, author = {Steven Holzner}, title = {{XML} Complete}, publisher = {McGraw Hill}, year = 1998, key = {Holzner}, address = NY, annote = {Includes CD-ROM.} } @Article{Honsell-Pravato-Della-Rocca98, author = {Furio Honsell and Alberto Pravato and Simona Ronchi Della Rocca}, title = {Structured Operational Semantics of a fragment of the language {Scheme}}, journal = {Journal of Functional Programming}, year = 1998, key = {Honsell \& Pravato \& Della Rocca}, volume = 8, number = 4, month = Jul, pages = {335-365}, annote = {Big-step semantics of Scheme. 11 references.} } @InCollection{Hoogendijk93, Key = "Hoogendijk", Author = "Paul F. Hoogendijk", Title = "(Relational) Programming Laws in the Boom Hierarchy of Types", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "163-190", Address = NY, Month = "June/July", Annote = "24 references." } @Book{Horowitz83, Key = "Horowitz", Author = "Ellis Horowitz", Title = "Programming Languages: A Grand Tour", Publisher = "Computer Science Press", Address = "Rockville, Maryland", Year = 1983, Edition = "First", Annote = "Many articles on various languages or aspects." } @Book{Horowitz84, Key = "Horowitz", Author = "Ellis Horowitz", Title = "Fundamentals of Programming Languages (Second Edition)", Publisher = "Computer Science Press", Address = "Rockville, Maryland", Year = 1984, Annote = "Textbook for undergraduate course in programming languages. 324 references." } @Book{Horowitz87, Key = "Horowitz", Author = "Ellis Horowitz", Title = "Programming Languages: A Grand Tour (Third Edition)", Publisher = "Computer Science Press", Address = "Rockville, Maryland", Year = 1987, Annote = "Many articles on various languages or aspects." } @Book{Horstmann91, Key = "Horstmann", Author = "Cay S. Horstmann", Title = "Mastering {C++}", Publisher = Wiley, Year = 1991, Address = NY, Annote = "9 references in Bibliography." } @Book{Horstmann95, Key = "Horstmann", Author = "Cay S. Horstmann", Title = "Mastering Object-Oriented Design in {C++}", Publisher = Wiley, Year = 1995, Address = NY, Annote = "41 references." } @Article{Hudak-Fasel92, Key = "Hudak \& Fasel", Author = "Paul Hudak and Joseph H. Fasel", Title = "A Gentle Introduction to {Haskell}", Journal = SIGPLAN, Year = 1992, Volume = 27, Number = 5, Month = May, Annote = "7 references." } @Article{Hudak-etal92, Key = "Hudak {\em et al.}", Author = "Paul Hudak and Simon Peyton Jones and Philip Wadler and others", Title = "Report on the Programming Language {Haskell}: A Non-strict, Purely Functional Language, version 1.2", Journal = SIGPLAN, Year = 1992, Volume = 27, Number = 5, Month = May, Annote = "21 references." } @Article{Hudak-etal96, author = {Paul Hudak and Tom Makucevich and Syam Gadde and Bo Whong}, title = {Haskore music notation--An Algebra of Music}, journal = {Journal of Functional Programming}, year = 1996, key = {Hudak, {\em et al.}}, volume = 6, number = 3, month = May, pages = {465-483}, annote = {19 references.} } @Book{Hudak00, key = "Hudak", author = "Paul Hudak", title = "The {Haskell} School of Expression: Learning Functional Programming through Multimedia", publisher = "Cambridge University Press", address = NY, year = 2000, annote = "49 references." } @Article{Hudak89, Key = "Hudak", Author = "Paul Hudak", Title = "Conception, Evolution, and Application of Functional Programming Languages", Journal = ACMCS, Volume = 21, Number = 3, Month = Sep, Year = 1989, Pages = "359-411", Annote = "142 references." } @Book{Huddleston96, author = {Huddleston}, title = {Fortran 90}, publisher = {Exchange Publishing Division}, year = 1996, key = {Huddleston}, address = {Buffalo, NY} } @article{Hughes89, AUTHOR = {J. Hughes}, TITLE = {Why Functional Programming Matters}, JOURNAL = {Computer Journal}, VOLUME = {32}, NUMBER = {2}, PAGES = {98--107}, YEAR = {1989} } @Unpublished{Hughes90, Key = "Hughes", Author = "John Hughes", Title = "Abstract Interpretation Tutorial", Month = Jan, Year = 1990, Note = "Presented at POPL 1990" } @Article{Humel-Hendren-Nicolau92, Key = "Humel \& Hendren \& Nicolau", Author = "Joseph Hummel and Laurie J. hendren and Alexandru Nicolau", Title = "Abstract Description of Pointer Data structures: An approach for implroving the Analysis and optimization of Imperative Programs", Journal = TOPLAS, Year = 1992, Volume = 1, Number = 3, Month = Sept, Pages = "243-260", Annote = "49 references." } @Article{Huntbach-Ringwood95, author = {Matthew M. Huntbach and Graem A. Ringwood}, title = {Programming in Concurrent Logic Languages}, journal = {IEEE Software}, year = 1995, key = {Huntbach \& Ringwood}, volume = 12, number = 6, month = {Nov}, pages = {71-82}, annote = {11 references.} } @Article{Hutton-Meijer98, author = {Graham Hutton and Erik Meijer}, title = {Monadic parsing in Haskell}, journal = {Journal of Functional Programming}, year = 1998, key = {Hutton \& Meijer}, volume = 8, number = 4, month = Jul, pages = {437-444}, annote = {12 references.} } @Article{Hutton1992d, key = {Hutton}, author = "Graham Hutton", title = "Higher-order functions for parsing", journal = "Journal of Functional Programming", number = "3", volume = "2", pages = "323--343", month = "July", year = "1992", URL = "http://www.cs.nott.ac.uk/Department/Staff/gmh/parsing.ps", keywords = "parsing, combinators, higher-order functions" } @InProceedings{Hutton99, key = {Hutton}, author = {Graham Hutton}, title = {Fold and Unfold for Program Semantics}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {280-288}, annote = {Shows how fold and unfold can be used to structure and reason about semantics in Haskell. 21 references.} } @Article{Hyman91, Key = "Hyman", Author = "Marco S. Hyman", Title = "Literate C++", Journal = "Computer Language", Year = 1990, Month = Jul, Pages = "67-79", Annote = "2 references." } @Manual{IBMAIX3, title = {AIX Version 3 for RS/6000: Optimization and Tuning Guide for Fortran, C and C++}, organization = {IBM Corporation}, note = {SC09-1705} } @Manual{IBMCSet, title = {IBM C Set ++ for AIX/6000 User's Guide Version 2.1}, organization = {IBM Corporation}, note = {SC09-1605} } @Book{IEEEScheme91, Key = "IEEE", Author = "{IEEE Std 1178-1990}", Title = "IEEE Standard for the Scheme Programming Language", Publisher = IEEE, Address = NY, Year = 1991 } @Manual{ISOC, title = {Programming Language -- C}, organization = {International Organization for Standardization}, note = {ISO/IEC 9899} } @Book{Ichbiah-etal91, Key = "Ichbiah, {\em et al.}", Author = "J. Ichbiah and J. Barnes and R. Firth and M. Woodger", Title = "Rationale for the Design of the Ada Programming Language", Publisher = "Cambridge University Press", Address = NY, Year = 1991, Note = "ISBN 0-521-39267-5" } @InProceedings{Ichbiah71, Key = "Ichbiah", Author = "J. D. Ichbiah", Title = "Extensibility in Simula 67", Booktitle = "Proceedings of the International Symposium on Extensible Languages", Editor = "S. A. Schuman", Publisher = "SIGPLAN", Year = 1971, Pages = "84-86" } @InCollection{Ichbiah83, Key = "Ichbiah", Author = "Jean Ichbiah", Title = "On the Design of Ada", BookTitle = "Information Processing '83", Publisher = "IFIP, North-Holland", Year = 1983, Editor = "R. E. A. Mason", Pages = "1-10", Month = Sep } @InCollection{Ichisugi-Tanaka02, key = {Ichisugi \& Tanaka}, author = {Yuugi Ichisugi and Akira Tanaka}, title = {Difference-Based Modules: A Class-Independent Module Mechanism}, booktitle = {ECOOP '02 --- Object-Oriented Programming 16th European Conference, M\'{a}laga, Spain}, publisher = SV, year = 2002, editor = {Boris Magnusson}, volume = {2374}, series = LNCS, address = NY, month = Jun, pages = {62--88}, annote = {31 references.} } @InProceedings{Igarashi-Pierce-Wadler99, key = "Igarashi \& Pierce \& Wadler", author = "Atshushi Igarashi and Benjamin Pierce and Philip Wadler", title = "{Featherweight Java}: {A} Minimal Core Calculus for {Java} and {GJ}", pages = "132-146", editor = "Loren Meissner", booktitle = "Proceedings of the 1999 {ACM} {SIGPLAN} Conference on Object-Oriented Programming, Systems, Languages {\&} Applications ({OOPSLA}`99)", month = Nov, series = SIGPLAN, volume = "34(10)", organization = ACM, address = "N. Y.", year = "1999" } @InProceedings{Igarashi-Pierce00, author = {Atsushi Igarashi and Benjamin C. Pierce}, key = {Igarashi \& Pierce}, title = {On Inner Classes}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {129-153}, annote = {19 references.} } @InProceedings{Ingalls-etal97, key = {Ingalls, {\em et al.}}, author = {Dan Ingalls and Ted Kaehler and John Maloney and Scott Wallace and Alan Kay}, title = {Back to the Future: The Story of Squeak, A Practical Smalltalk Written in Itself}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {318-326}, annote = {22 references.} } @Article{Ingalls81, Key = "Ingalls", Author = "D. H. H. Ingalls", Title = "Design Principles Behind Smalltalk", Journal = "BYTE", Year = 1981, Month = Aug, Volume = 6, Number = 8, Pages = "286-298" } @Article{Ishikawa-Tokoro86, Key = "Ishikawa \& Tokoro", Author = "Yutaka Ishikawa and Mario Tokoro", Title = "A Concurrent Object-Oriented Knowledge Representation Language Orient84/K: Its Features and Implementation", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "232-241", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Overview of Orient84/K and the design of its interpreter. Mutual exclusion and access control are a feature. 14 references." } @Book{Iverson62, Key = "Iverson", Title = "A Programming Language", Author = "K. Iverson", Publisher = Wiley, Address = NY, Year = 1962, Annote = "The APL language which has array features without equal and generic operators." } @Article{Iverson79, Key = "Iverson", Author = "Kenneth E. Iverson", Title = "Operators", Journal = TOPLAS, Year = 1979, Volume = 1, Number = 2, Month = Oct, Pages = "161-176", Annote = "9 references." } @Article{Iverson91, Key = "Iverson", Author = "Kenneth E. Iverson", Title = "A Personal view of {APL}", Journal = "IBM Systems Journal", Year = 1991, Volume = 30, Number = 4, Pages = "582-593" } @unpublished{JAC04, key = {{ObjectWeb Consortium}}, Author = {{ObjectWeb Consortium}}, Title = {Java Aspect Components}, note = {\url{http://jac.objectweb.org/}}, month = Feb, year = 2004, } @Book{Jackson-McClellan96, key = "Jackson \& McClellan", author = "Jerry R. Jackson and Alan L. McClellan", title = "{Java} by Example", publisher = "SunSoft Press", address = "2550 Garcia Avenue, Mountain View, CA 94043-1100, USA", year = 1996, series = "Java series", url = "http://www.sun.com/smi/ssoftpress/books/Jackson/Jackson.html", keywords = "Java (computer program language); technology -- computers and computer technology", } @Article{Jacobson86, Key = "Jacobson", Author = "Ivar Jacobson", Title = "Language Support for Changeable Large Real Time Systems", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "377-384", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "The programming language FDL is described, which has both signals and message passing communication. A service encloses several objects and communicates with the outside world and other services via signals. Actions performed by a service are indivisible and serializable. Blocks model autonomous subsystems and contain services. 20 references." } @Article{Jaffar-etal92, Key = "Jaffar, {\em et al.}", Author = "Joxan Jaffar and Spiro Michaylov and Peter J. Stuckey and Roland H. C. Yap", Title = "The CLP($\cal R$) Language and System", Journal = TOPLAS, Year = 1992, Volume = 14, Number = 3, Pages = "339-395", Month = Jul, Annote = "43 references." } @InCollection{Jagadeesan-Jeffrey-Riely03, Key = "Jagadeesan \& Jeffrey \& Riely", Author = "Radha Jagadeesan and Alan Jeffrey and James Riely", Title = "A Calculus of Untyped Aspect-Oriented Programs", BookTitle = "ECOOP 2003, European Conference on Object-Oriented Programming, Darmstadt, Germany", Publisher = SV, Year = 2003, Editor = "Luca Cardelli", Series = LNCS, Address = NY, Volume = 2743, Pages = "54--73", Annote = "21 references" } @Unpublished{Jagadeesan-Jeffrey-Riely04, Key = "Jagadeesan \& Jeffrey \& Riely", author = {Radha Jagadeesan and Alan Jeffrey and James Riely}, title = {A typed calculus for aspect oriented programs }, note = {Available from \url{ftp://fpl.cs.depaul.edu/pub/rjagadeesan/typedABL.pdf}}, month = Feb, year = 2004, } @Article{Jagadeesan-Pingali-Panangaden91, Key = "Jagadeesan \& Pingali \& Panangaden", Author = "Radha Jagadeesan and Keshav Pingali and Prakash Panangaden", Title = "A Fully Abstract Semantics for a First-Order Functional Language with Logic Variables", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 4, Month = Oct, Pages = "577-625", Annote = "Structural and denotational semantics of a first-order functional language with logic variables. The language Id Nouveau. 37 references." } @InCollection{Jagannathan-Agha92, Key = "Jagannathan \& Agha", Author = "Suresh Jagannathan and Gul Agha", Title = "A Reflective Model of Inheritance", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "350-371", Annote = "34 references" } @InProceedings{Jagannathan-Philbin92, Key = "Jagannathan \& Philbin", Author = "Suresh Jagannathan and Jim Philbin", Title = "A Foundation for an Efficient Multi-Threaded Scheme System", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "345-357", Organization = ACM, Month = Jun, Annote = "28 references." } @TechReport{Jagannathan89, Key = "Jagannathan", Author = "Suresh Jagannathan", Title = "A Programming Language Supporting First-Class Parallel Environments", Institution = MITLCS, Number = "TR-434", Month = Jan, Year = 1989 } @Article{Jagannathan94, Key = "Jagannathan", Author = "Suresh Jagannathan", Title = "Metalevel Building Blocks for Modular Systems", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "456-492", Annote = "45 references." } @Article{Jansson-Jeuring98, key = {Jansson \& Jeuring}, author = {Patrik Jansson and Johan Jeuring}, title = {Polytypic Unification}, journal = {Journal of Functional Programming}, year = 1998, volume = 8, number = 5, month = Jul, pages = {527-536}, annote = {8 references.} } @Article{Jayaraman-Gupta89, Key = "Jayaraman \& Gupta", Author = "Bharat Jayaraman and Gopal Gupta", Title = "{EqL}: The Language and Its Implementation", Journal = IEEETSE, Volume = 15, Number = 6, Month = Jun, Year = 1989, Pages = "771-779", Annote = "The language EqL supports functional and logic programming, based on equations (term rewriting). 31 references." } @Book{Jensen-Wirth74, Key = "Jensen \& Wirth", Author = "Kathleen Jensen and Niklaus Wirth", Title = "PASCAL User Manual and Report (second edition)", Year = 1974, Publisher = SV, Address = NY, Annote = "Subranges, enumerated types, variant records. 8 references." } @Book{Jensen-Wirth85, Key = "Jensen \& Wirth", Author = "Kathleen Jensen and Niklaus Wirth", Title = "PASCAL User Manual and Report (third edition)", Year = 1985, Publisher = SV, Address = NY, Note = "Revised to the ISO Standard by Andrew B. Mickel and James F. Miner", Annote = "Subranges, enumerated types, variant records. 8 references." } @Book{Jia00, author = {Xiaoping Jia}, title = {Object-Oriented Software Development Using Java: Principles, Patterns, and Frameworks}, publisher = {Addison-Wesley}, year = 2000, key = {Jia}, address = {Reading, MA}, annote = {32 references.} } @TechReport{JonesCliff93b, Key = "Jones", Author = "C. B. Jones", Title = "Process-Algebraic Foundations for an Object-Based Design Notation", Year = 1993, Month = Oct, Institution = "Computer Science Department, University of Manchester", Address = "Oxford Rd., Manchester, U.K.", Number = "UMCS-93-10-1", Annote = "55 references" } @TechReport{JonesMark93b, Key = "Jones", Author = "Mark P. Jones", Title = "GOFER", Year = 1993, Month = Mar, Note = "Availiable by anonymous ftp from \url{nebula.cs.yale.edu}", Annote = "No references. " } @Article{JonesNeil96, author = {Neil D. Jones}, title = {An Introduction to Partial Evaluation}, journal = ACMCS, year = 1996, key = {Jones}, volume = 28, number = 3, month = Sep, pages = {480-503}, annote = {64 references.} } @Article{Jonsson87, Key = "Jonsson", Author = "Dan Jonsson", Title = "Pancode and Boxcharts: Structured Programming Revisited", Journal = SIGPLAN, Volume = 22, Number = 8, Month = Aug, Year = 1987, Pages = "89-98", Annote = "An {\bf also} form which is a kind of dual to {\bf else}. 12 references." } @Article{Jordan90, Key = "Jordan", Author = "David Jordan", Title = "Implementation Benefits of C++ Language Mechanisms", Journal = CACM, Year = 1990, Volume = 33, Number = 9, Month = Sep, Pages = "61-64" } @Article{Jouvelot-Dehbonei89, Key = "Jouvelot \& Dehbonei", Author = "Pierre Jouvelot and Babak Dehbonei", Title = "Recursive Pattern Matching on Concrete Data Types", Journal = SIGPLAN, Volume = 24, Number = 11, Month = Nov, Year = 1989, Pages = "43-75", Annote = "Includes CommonLisp code. 9 references." } @InProceedings{Kadayif-etal01, key = "Kadayif, {\em et al.}", author = "I. Kadayif and T. Chinoda and M. Kandemir and N. Vijaykrishnan and M. J. Irwin and A. Sivasubramanian", title = "vEC: Virtual Energy Counters", editor = "{ACM}", booktitle = "{ACM} {SIGPLAN} -- {SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering: {PASTE}'01", publisher = "ACM Press", address = NY, pages = "28-31", year = "2001", annote = "9 references." } @Article{Kaehler86, Key = "Kaehler", Author = "Ted Kaehler", Title = "Virtual Memory on a Narrow Machine for an Object-Oriented Language", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "87-106", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Design of the LOOM virtual memory, which uses an object table and swaps objects as necessary. 14 references." } @Article{Kafura-Lee89, Key = "Kafura \& Lee", Author = "D. G. Kafura and K. H. Lee", Title = "Inheritance in Actor Based Concurrent Object-Oriented Languages", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 4, Month = Aug, Pages = "297-304" } @InProceedings{Kagawa97, key = {Kagawa}, author = {Koji Kagawa}, title = {Compositional References for Stateful Functional Programming}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {217-226}, annote = {16 references.} } @Article{Kahn-etal86, Key = "Kahn, {\em et al.}", Author = "Kenneth Kahn and Eric Dean Tribble and Mark S. Miller and Daniel G. Bobrow", Title = "Objects in Concurrent Logic Programming Languages", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "242-257", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Deficiencies in Concurrent Prolog's support for the abstraction of objects as in object-oriented programming. A preprocessor called Vulcan is defined that formalizes some of the cliches used for object-oriented programming. 25 references." } @InProceedings{Kahn74, Key = "Kahn", Author = "Gilles Kahn", Title = "The Semantics of a Simple Language for Parallel Programming", BookTitle = "Information Processing 74: Proceedings of the IFIP Congress 74", Editor = "Jack L. Rosenfeld", Organization = IFIP, Publisher = North-Holland, Month = Aug, Year = 1974, Pages = "471-475", Annote = "14 references." } @InCollection{Kahn87, Key = "Kahn", Author = "G. Kahn", Title = "Natural Semantics", BookTitle = "Proceedings of the Symposium on Theoretical Aspects of Computer Science", Publisher = SV, Year = 1987, Series = LNCS, Volume = 247, Pages = "22-39" } @TechReport{Kahn89, Key = "Kahn", Author = "Kenneth M. Kahn", Title = "Objects -- A Fresh Look", Organization = "System Sciences Laboratory, Xerox Palo Alto Research Center", Number = "P89-00027", Year = 1989, Annote = "Looks at object-oriented programming from the prespective of concurrent logic programming. 20 references." } @Article{Kai-McKim98, key = {Kai-McKim}, author = {Joyce M. Kai and James C. {McKim, Jr.}}, title = {Object-Oriented Capabilities of {Visual Basic}}, journal = JOOP, year = 1998, volume = 11, number = 6, month = Oct, pages = {46-57,92}, annote = {3 references.} } @Article{Kaiser-Garlan87, Key = "Kaiser \& Garlan", Author = "Gail E. Kaiser and David Garlan", Title = "Melding Software Systems from Reusable Building Blocks", Journal = "IEEE Software", Volume = 4, Number = 4, Month = Jul, Year = 1987, Pages = "17-24", Annote = "Meld is an object-oriented language with constraints or action equations. 10 references." } @Book{Kaisler86, Key = "Kaisler", Author = "Stephen H. Kaisler", Title = "INTERLISP: The Language and its Usage", Publisher = "Wiley-Interscience", Address = "New York, N.Y.", Year = 1986 } @InProceedings{Kamin88, Key = "Kamin", Author = "Samuel Kamin", Title = "Inheritance in Smalltalk-80: A Denotational Definition", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = Jan, Year = 1988, Pages = "80-87", Annote = "22 references." } @Book{Kamin90, Key = "Kamin", Author = "Samuel N. Kamin", Title = "Programming Languages: An Interpreter-Based Approach", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = "1990" } @InCollection{Kannenganti-Cartwright-Felleisen93, Key = "Kannenganti \& Cartwright \& Felleisen", Author = "R. Kannenganti and R. Cartwright M. Felleisen", Title = "SPCF: Its Model, Calculus, and Computational Power", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publsiher = SV, Address = NY, Year = 1993, Note = "Semantics: Foundations and Applications REX Workshop, The NetherLands, june 1992. Proceedings", Page = "318-347", Annote = "33 references" } @InProceedings{Karczmarczuk99, key = {Karczmarczuk}, author = {Jerzy Karczmarczuk}, title = {Functional Differentiation of Computer Programs}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {195-203}, annote = {Numerical techniques for differentiation, with code in Haskell. 16 references.} } @Book{Keene89, Key = "Keene", Author = "Sonya E. Keene", Title = "Object-Oriented Programming in Common Lisp", Publisher = "Addison Wesley", Address = "Reading, Mass.", Year = 1989, Annote = "Guide to the CLOS object-oriented extension. 11 references." } @InProceedings{Keller-Hoelzle98, key = "Keller \& Hoelzle", author = {Ralph Keller and Urs H\"{o}lzle}, title = {Binary Component Adapatation}, year = 1998, booktitle = {ECOOP '98---Object-Oriented Programming, 12th European Conference, Brussels, Belgium, Proceedings}, editor = {Eric Jul}, series = LNCS, volume = 1445, pages = {307--329}, publisher = SV, address = NY } @Book{Kelley-Pohl90, Key = "Kelley \& Pohl", Author = "Al Kelley and Ira Pohl", Title = "A Book on {C} (Second Edition)", Publisher = "Benjamin Cummings", Address = NY, Year = 1990, Annote = "Uses ANSI C." } @Book{Kelley-Pohl92, Key = "Kelley \& Pohl", Author = "Al Kelley and Ira Pohl", Title = "C by Dissection: The Essentials of C Programming (Second Edition)", Publisher = "Benjamin Cummings", Address = NY, Year = 1992, Annote = "Uses ANSI C." } @Article{Kelsey-Clinger-Rees98, key = {Kelsey \& Clinger \& Rees}, author = {Richard Kelsey and William Clinger and Jonathan Rees (Editors)}, title = {Revised$^{5}$ Report on the Algorithmic Language {Scheme}}, journal = SIGPLAN, year = 1998, volume = 33, number = 9, month = Sep, pages = {26-76}, URL = "ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/standards/r5rs-html.tar.gz", annote = {31 references.} } @Article{Kennaway-Sleep88, Key = "Kennaway \& Sleep", Author = "Richard Kennaway and Ronan Sleep", Title = "Director Strings as Combinators", Journal = TOPLAS, Volume = 10, Number = 4, Month = Oct, Year = 1988, Pages = "602-626" } @Article{Kergommeaux-Codognet94, author = "Jacques Chassin de Kergommeaux and Philippe Codognet", title = "Parallel Logic Programming Systems", journal = "ACMCS", volume = "26", number = "3", pages = "295--336", month = sep, year = "1994", annote = "Many references." } @Book{Kernighan-Ritchie78, Key = "Kernighan \& Ritchie", Author = "Brian W. Kernighan and Dennis M. Ritchie", Title = "The C Programming Language", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1978, Annote = "A user-optimized language which is used for systems programming. Type declarations resemble their usage in C." } @InProceedings{Kersten-Murphy99, author = {Mik A. Kersten and Gale C. Murphy}, title = {Atlas: A case-study in building a Web-based learning environment using aspect-oriented programming}, booktitle = {Proceedings of the 1999 ACM Conference on Object-Oriented Programming Languages, Systems, and Applications (OOPSLA '99)}, pages = {340--352}, year = 1999, volume = {34(10)}, series = {ACM SIGPLAN Notices}, address = {Denver, CO}, month = {November}, publisher = {ACM}, url = "" } @Book{Kiczales-Rivieres-Bobrow91, Key = "Kiczales & des Rivieres & Bobrow", Author = "Gregor Kiczales and Jim des Rivieres and Daniel G. Bobrow", Title = "The Art of the Metaobject Protocol", Publisher = MITP, Year = 1991, Address = "Cambridge, Mass.", Annote = "21 references" } @InCollection{Kiczales-Rodriguez93, author = {Gregor Kiczales and Luis H. Rodriguez Jr.}, title = {Efficient Method Dispatch in {PCL}}, booktitle = {Object-Oriented Programming: the CLOS Perspective}, key = {Kiczales \& Rodriguez}, publisher = {MIT Press}, year = 1993, editor = {Andreas Paepcke}, chapter = 14, address = {Cambridge, Mass.}, pages = {335-348}, note = {An earlier version appeared in the ACM Confreence on Lisp and Functional Programming, 1990.}, annote = {An implementation of multiple dispatch that has performance on the order of 2-6 times that of a non-OO function call. 3 references.} } @InCollection{Kiczales-etal01, author = {Gregor Kiczales and Erik Hilsdale and Jim Hugunin and Mik Kersten and Jeffrey Palm and William G. Griswold}, title = {An Overview of {AspectJ}}, booktitle = {ECOOP 2001 --- Object-Oriented Programming 15th European Conference, Budapest Hungary}, publisher = SV, year = 2001, editor = {J. Lindskov Knudsen}, volume = 2072, series = LNCS, Address = "Berlin", month = Jun, pages = {327-353}, url = "http://aspectj.org/documentation/papersAndSlides/ECOOP2001-Overview.pdf" } @Article{Kiczales-etal01b, key = {Kiczales, {\em et al.}}, Author = "Gregor Kiczales and Erik Hilsdale and Jim Hugunin and Mik Kersten and Jeffrey Palm and William Griswold", Title = "Getting started with {AspectJ}", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "59--65", Annote = "", url = "http://doi.acm.org/10.1145/383845.383858" } @InCollection{Kiczales-etal97, key = {Kiczales, {\em et al.}}, author = {Gregor Kiczales and John Lamping and Anurag Menhdhekar and Chris Maeda and Cristina Lopes and Jean-Marc Loingtier and John Irwin}, title = {Aspect-Oriented Programming}, booktitle = {ECOOP '97---Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland, Proceedings}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {220--242}, annote = {38 references.} } @TechReport{Kieburtz-Nordstrom82, Key = "Kieburtz \& Nordstrom", Author = {Richard B. Kieburtz and Bengt Nordstr\"om}, Title = "The Design of a Language for Modular Programming", Institution = "Oregon Graduate Center", Address = "Beaverton, Oregon", Number = "CS/E-82-01", Month = Mar, Year = 1982, Annote = "The design of the functional language Apple, which features environments, functional abstraction, and data abstraction. 21 references." } @TechReport{Kieburtz87, Key = "Kieburtz", Author = "Richard B. Kieburtz", Title = "Function + Logic in Theory and Practice", Institution = "Oregon Graduate Center", Address = "Beaverton, Oregon", Number = "CS/E-87-006", Month = Apr, Year = 1987, Annote = "The language F+L, a logical language with interpreted equality. 18 references." } @Article{Kim98, key = {Kim}, author = {Myung Ho Kim}, title = {A Functional Approach to Type Constraints of Generic Definitions}, journal = SIGPLAN, year = 1997, volume = 32, number = 6, month = Jun, pages = {45-52}, annote = {12 references.} } @InProceedings{King-Launchbury95, Key = {King \& Launchbury}, Author = {David J. King and John Launchbury}, Title = "Structuring Depth-First Search Algorithms in Haskell", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "344-354", Annote = "20 references." } @Book{Kiselev03, key = {Kiselev}, author = {Ivan Kiselev}, title = {Aspect-Oriented Programming with {AspectJ}}, publisher = {Sams Publishing}, year = 2003, address = {Indianapolis}, annote = {7 references.} } @Article{Kitchen98, key = {Kitchen}, author = {Andrew Kitchen}, title = {A Formal Approach to the Teaching of Programming Language Concepts}, journal = SIGPLAN, year = 1998, volume = 33, number = 2, month = Feb, pages = {48-55}, annote = {6 references.} } @Article{Klint93, Key = "Klint", Author = "Paul Klint", Title = "A Meta-Environment for Generating Programming Environments", Journal = "ACM Transactions on Software Engineering and Methodology", Volume = 2, Number = 2, Month = Apr, Year = 1993, Pages = "176-201", Annote = "33 references." } @InCollection{Knudsen-Madsen88, Key = "Knudsen \& Madsen", Author = "J{\o}rgen Lindskov Knudsen and Ole Lehrmann Madsen", Title = "Teaching Object-Oriented Programming is more than teaching Object-Oriented Programming Languages", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "21-40", Series = LNCS, Volume = 322, Annote = "44 references." } @InCollection{Knudsen88, Key = "Knudsen", Author = "J{\o}rgen Lindskov Knudsen", Title = "Name Collision in Multiple Classification Hierarchies", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "93-109", Series = LNCS, Volume = 322, Annote = "Attribute collisions resolved by specialization and attribute properties. 13 references." } @Article{Knuth67, Key = "Knuth", Author = "Donald E. Knuth", Title = "The Remaining Trouble Spots in Algol 60", Journal = CACM, Volume = 10, Number = 1, Month = Oct, Year = 1967, Pages = "611-617", Annote = "13 references." } @Article{Knuth84, Key = "Knuth", Author = "Donald E. Knuth", Title = "Literate Programming", Journal = "Computer Journal", Year = 1984, Volume = 27, Number = 2, Month = May, Pages = "97-111", Annote = "22 references." } @Book{Knuth92, Key = "Knuth", Author = "Donald E. Knuth", Title = "Literate Programming", Publisher = "Center for the Study of Language and Information", Year = 1992, Volume = 27, Series = "CSLI Lecture Notes", Address = "Stanford University", Annote = "116 references." } @Article{Koelling99, key = {K\"{o}lling}, author = {Michael K\"{o}lling}, title = {The {Blue} Language}, journal = JOOP, year = 1999, volume = 12, number = 1, month = Mar, pages = {10-17}, annote = {An OO language for teaching. 11 references.} } @InProceedings{Koenig-Stroustrup90, Key = "Koenig \& Stroustrup", Author = "Andrew Koenig and Bjarne Stroustrup", Title = "Exception Handling for C++", BookTitle = "USENIX C++", Year = 1990, Pages = "149-176", Organization = "AT\&T Bell Labs", Month = Apr, Annote = "16 references." } @InCollection{Koenig-Stroustrup93, Key = "Koenig \& Stroupstrup", Author = "Andrew Koenig and Bjarne Stroustup", Title = "Execption Handling for C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "137-171", Address = "Cambridge, Mass.", Annote = "20 references." } @Article{Koenig-Stroustrup95, title = "Foundations for Native {C++} Styles", author = "Andrew Koenig and Bjarne Stroustrup", journal = "Software---Practice and Experience", pages = "45--86", month = dec, year = "1995", volume = "25", number = "S4", } @Article{Koenig92, Key = "Koenig", Author = "Andrew Koenig", Title = "C++ Virtual Function Return Types", Journal = JOOP, Year = 1992, Volume = 5, Number = 3, Pages = "73-76", Month = Jun, Annote = "1 reference." } @TechReport{Kohlbecker-Wand86, Key = "Kohlbecker \& Wand", Author = "Eugene E. Kohlbecker and Mitchell Wand", Title = "Macro-by-Example: Deriving Syntactic Transformations from their Specifications", Institution = "Computer Science Department, Indiana University", Number = 206, Month = Nov, Year = 1986, Note = "Also in Conference Record of the 1987 ACM Symposium on Principles of Programming Languages", Annote = "12 references." } @InProceedings{Kohlbecker-etal86, Key = "Kohlbecker {\em et al.}", Author = "Eugene Kohlbecker and Daniel P. Friedman and Matthias Felleisen and Bruce Duba", Title = "Hygienic Macro Expansion", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "151-161", Organization = ACM, Month = Aug, Annote = "Macro expansion that respects static scoping. 7 references." } @Book{Koschmann90, Key = "Koschmann", Author = "Timothy Koschmann", Title = "The Common LISP Companion", Publisher = Wiley, Address = NY, Year = 1990, Annote = "68 references." } @Article{Kotula98, key = {Kotula}, author = {Jeffrey Kotula}, title = {Using Patterns To Create Component Documentation}, journal = {IEEE Software}, year = 1998, volume = 15, number = 2, month = Mar, pages = {84-92}, annote = {Includes a list of 39 patterns. 11 references.} } @Article{Kowalski79, Key = "Kowalski", Author = "Robert Kowalski", Title = "Algorithm = Logic + Control", Journal = CACM, Volume = 22, Number = 7, Month = Jul, Year = 1979, Pages = "424-435", Annote = "Horn clauses and different interpretations of them. Logic programming. Separating algorithms into logic and control. 39 references." } @InCollection{Krall-Vitek-Horspooll97, key = {Krall \& Vitek \& Horspool}, author = {Andreas Krall and Jan Vitek and R. Nigel Horspool}, title = {Near Optimal Hierarchical Encoding of Types}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {128-145}, annote = {13 references.} } @Book{Krasner83, Key = "Krasner", Editor = "G. Krasner", Title = "Smalltalk-80: Bits of History, Words of Advice", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1983 } @Book{Kreutzer-McKenzie91, Key = "Kreutzer \& McKenzie", Author = "Wolfgang Kreutzer and Bruce McKenzie", Title = "Programming for Artificial Intelligence", Publisher = "Addison Wesley", Year = 1991, Series = "International Computer Science Series", Address = "Sydney", Annote = "Scheme, Prolog, and Smalltalk. Hundreds of references." } @Book{Kreutzer86, Key = "Kreutzer", Author = "Wolfgang Kreutzer", Title = "System Simulation Programming Styles and Languages", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1986 } @InCollection{Kristensen-etal87a, Key = "Kristensen, {\em et al.}", Author = "Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger Moller-Pedersen and Kristen Nygaard", Title = "The BETA Programming Language", BookTitle = "Research Directions in Object-Oriented Programming", Editor = "Bruce Shriver and Peter Wegner", Publisher = MITP, Address = "Cambridge, Mass", Year = 1987, Pages = "7-48", Annote = "29 references." } @Article{Kuhne94, Key = "Kuhne", Author = "Thomas Kuhne", Title = "Higher Order Objects in pure Object-Oriented Languages", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 7, Month = Jul, Pages = "15-20", Annote = "9 references." } @Book{Kumar-Agrawal92, Key = "Kumar\& Agrawal", Author = "Ram Kumar and Rakesh Agrawal", Title = "Programming in ANSI C", Publisher = "West", Year = 1992, Address = "St. Paul", Annote = "Introductory text. 10 references" } @InProceedings{Kuo-Mishra87, Key = "Kuo \& Mishra", Author = "Tsung-Min Kuo and Prateek Mishra", Title = "On Strictness and its Analysis", BookTitle = "Conference Record of Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, West Germany", Publisher = ACM, Month = Jan, Year = 1987, Pages = "144-155", Annote = "22 references." } @Book{LaLonde-Pugh90, Key = "LaLonde \& Pugh", Author = "Wilf R. LaLonde and John R. Pugh", Title = "Inside Smalltalk: Volume I", Publisher = "Prentice Hall", Address = "Englewood Cliffs, NJ", Year = 1990, Annote = "Details on how to program and internals of Smalltalk. 3 references." } @Book{LaLonde-Pugh91, Key = "LaLonde \& Pugh", Author = "Wilf R. LaLonde and John R. Pugh", Title = "Inside Smalltalk: Volume II", Publisher = "Prentice Hall", Address = "Englewood Cliffs, NJ", Year = 1990, Annote = "Details on windows, model-view-controller, user interfaces. 3 references." } @Book{LaLonde94, Key = "LaLonde", Author = "Wilf R. LaLonde", Title = "Discovering Smalltalk", Publisher = "The Benjamin/Cummings Publishing Company, Inc", Address = "Redwood City, California, 94065", Year = 1994 } @Book{Laddad03, author = {Ramanivas Laddad}, title = {AspectJ in Action}, publisher = {Manning Publications Co.}, year = 2003, key = {Laddad}, address = {Grennwich, Conn.}, annote = {Several references.} } @inproceedings{Laemmel02, key = {L\"{a}mmel}, title = {A Semantical Approach to Method-call Interception}, author = {Ralf L\"{a}mmel}, pages = {41-55}, booktitle = {Proc. 1st Int' Conf. on Aspect-Oriented Software Development {(AOSD-2002)}}, editor = {Gregor Kiczales}, publisher = {ACM Press}, year = 2002, month = apr, location = {Enschede, The Netherlands} } @TechReport{Laenens-Vermeir88, Key = "Laenens \& Vermeir", Author = "Els Laenens and Dirk Vermeir", Title = "An Overview of {OOPS+}, an Object-Oriented Database Programming Language", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "350-373", Series = LNCS, Volume = 322, Annote = "11 references." } @InProceedings{Lafferty-Cahill03, author = {Donal Lafferty and Vinny Cahill}, title = {Language-independent aspect-oriented programming}, booktitle = {Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications}, year = {2003}, pages = {1--12}, publisher = {ACM Press}, address = {Anaheim, California, USA}, annote = {http://doi.acm.org/10.1145/949305.949307 1-58113-712-5 file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p1-lafferty.pdf}, keywords = {to be read} } @Book{Lalement93, Key = "Lalement", Author = "Rene Lalement", Title = "Computation as Logic", Publisher = "Prentice-Hall", Year = 1993, Series = "International Series in Computer Science", Address = "Hemel Henpstead, UK", Annote = "Discussion of reduction, studied through lambda calculus and term rewriting, and resolution. Examples use Standard ML and NU-Prolog. 159 references." } @Article{Lampson-Redell80, Key = "Lampson \& Redell", Author = "Butler W. Lampson and David D. Redell", Title = "Experiences with Processes and Monitors in Mesa", Journal = CACM, Volume = 23, Number = 2, Pages = "105-117", Month = Feb, Year = 1980, Annote = "The design of monitors and concurrency in Mesa. Discussion of the nested monitor problem and the semantics of monitors. 21 references." } @TechReport{Lancaster83, Key = "Lancaster", Author = "Julia Nan Lancaster", Title = "Naming in a Programming Support Environment", Month = Aug, Year = 1983, Number = "TR-312", Institution = MITLCS, Annote = "Discussion of the CLU library, criteria and proposals for naming (describing) implementations, proposals for query lanugage to select implementations satisfying various criteria. 37 references." } @Article{Landi92, Key = "Landi", Author = "William Landi", Title = "Undecidability of Static Analysis", Journal = "ACM letters on Programming Languages and Systems", Volume = 1, Number = 4, Year = 1992, Month = Dec, Pages = "323-337", Annote = "12 references" } @Article{Landin64, Key = "Landin", Author = "P. J. Landin", Title = "The Mechanical Evaluation of Expressions", Journal = "Computer Journal", Volume = 6, Year = 1964, Pages = "308-320", Note = "See also Landin's paper ``A Lambda-Calculus Approach'' in {\em Advances in Programming and Non-Numerical Computation}, L. Fox (ed.), Pergamon Press, Oxford, 1966." } @Article{Landin65, Key = "Landin", Author = "P. J. Landin", Title = "A Correspondence Algol 60 and Church's Lambda Notation", Journal = CACM, Volume = 8, Year = 1965, Pages = "89-101, 158-165" } @Article{Landin66, Key = "Landin", Title = "The Next 700 Programming Languages", Author = "P. J. Landin", Journal = CACM, Year = 1966, Volume = 9, Number = 3, Month = Mar, Pages = "157-166", Annote = "Separation of Mechanisms and built-in features. Non-imperative subset. Families of languages. 4 references." } @InProceedings{Lang-Lescanne-Liquori99, author = "Fr{\'e}d{\'e}ric Lang and Pierre Lescanne and Luigi Liquori", title = "A Framework for Defining Object-Calculi", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "963-982", annote = "Small step operational semantics of object-based languages, including side effects. 24 references.", } @Book{Lans89, Key = "Lans", Author = "Rick F. van der Lans", Title = "The SQL Standard: A complete reference", Publisher = "Prentice Hall", Address = "Englewood Cliffs, NJ", Year = 1989, Note = "Translated by Andrea Gray", Annote = "The standard relational database query language, as found in DB2 and Oracle. 6 references." } @InProceedings{Launchberry93, Key = "Launchberry", Author = "John Launchberry", Title = "A natural semantics for Lazy Evaluation", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "144-154", Annote = "15 references" } @Proceedings{Launchbury-Meijer-Sheard96, editor = "John Launchbury and Erik Meijer and T. (Tim) Sheard", booktitle = "Advanced functional programming: second international school, Olympia, {WA}, {USA}, August 26--30, 1996: tutorial text", title = "Advanced functional programming: second international school, Olympia, {WA}, {USA}, August 26--30, 1996: tutorial text", volume = "1129", publisher = "Springer-Verlag Inc.", address = "New York, NY, USA", year = "1996", ISBN = "3-540-61628-4", ISSN = "0302-9743", LCCN = "QA76.62 .A38 1996", series = "Lecture Notes in Computer Science", keywords = "Functional programming (Computer science) --- Congresses." } @Book{Lawless-Molly91, Key = "Lawless \& Molly", Author = "Jo A. Lawless and M. Molly", Title = "Understanding CLOS: the Common LISP object system", Publisher = "Digital Press", Address = "Nashua, NH", Year = 1991, Annote = " ISBN 1-55558-064-5" } @TechReport{Leavens-Antropova99, Key = "Leavens \& Antropova", Author = "Gary T. Leavens and Olga Antropova", Title = "{ACL} --- Eliminating Parameter Aliasing with Dynamic Dispatch", Year = 1999, Month = Feb, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "98-08a", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-08/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu" } @InProceedings{Leavens-Millstein98, Key = "Leavens \& Millstein", Author = "Gary T. Leavens and Todd D. Millstein", Title = "Multiple Dispatch as Dispatch on Tuples", booktitle = {OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, editor = {A. Michael Berman}, Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, Pages = "374--387", Annote = "36 references.", publisher = ACM, address = NY, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-03/TR.ps.gz" } @TechReport{Leavens-Millstein98b, Key = "Leavens \& Millstein", Author = "Gary T. Leavens and Todd D. Millstein", Title = "Multiple Dispatch as Dispatch on Tuples", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "98-03b", Year = 1998, Month = July, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-03/TR.ps.gz", Note = "Appears in OOPSLA '98, pp. 374-387. Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu", Annote = "37 references." } @TechReport{Leavens-Pigozzi98, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "Class-Based and Algebraic Models of Objects", Institution = "Department of Computer Science, Iowa State University", Year = 1998, Number = "98-02", Address = "Ames, Iowa, 50011", Month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-02/TR.ps.gz", Annote = "52 references." } @InProceedings{Leavens-Pigozzi99, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "Class-Based and Algebraic Models of Objects", Editor = "Rance Cleaveland and Michael Mislove and Philip Mulry", BookTitle = "US---Brazil Joint Workshops on the Formal Foundations of Software Systems", Year = 1999, Series = "Electronic Notes in Theoretical Computer Science", Publisher = "Elsevier", Volume = 14, Note = "http://www.sciencedirect.com/science/journal/15710661", Annote = "52 references." } @TechReport{Leavens94c, Key = "Leavens", Author = "Gary T. Leavens", Title = "Introduction to the Literature on Semantics", Institution = "Iowa State University, Department of Computer Science", Year = 1994, Number = "94-15", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-15/TR.ps.Z", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "Many references." } @TechReport{Leavens99b, Key = "Leavens", Author = "Gary T. Leavens", Title = "Introduction to the Literature On Programming Language Design", Institution = "Iowa State University, Department of Computer Science", Year = 1999, Number = "93-01c", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-01/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "Many references." } @Article{Lecarme-Desjardins74, Key = "Lecarme \& Desjardins", Author = "O. Lecarme and P. Desjardins", Title = "Reply to a paper by A. N. Habermann on the Programming Language Pascal", Journal = "Acta Informatica", Volume = 4, Number = 3, Year = 1975, Pages = "231-243", Note = "An earlier version appeared in ACM SIGPLAN Notices, October, 1974.", Annote = "30 references." } @Article{Ledgard80, Key = "Ledgard", Title = "A Human Engineered Variant of {BNF}", Author = "Henry. F. Ledgard", Journal = SIGPLAN, Year = 1980, Month = Oct, Volume = 15, Number = 10, Pages = "57-62", Annote = "Reasonable style for BNF. 5 references." } @Book{Ledgard84, Key = "Ledgard", Author = "Henry Ledgard", Title = "The American Pascal Standard: with Annotations", Year = 1984, Publisher = SV, Address = NY, Note = "Contains ANSI/IEEE 770X3.97-1983", Annote = "The annotations to the American standard are mostly illustrative. This can simply be considered a more easily obtainable version of the standard." } @InProceedings{Lee-Friedman96, key = {Lee \& Friedman}, author = {Shinn-Der Lee and Daniel P. Friedman}, title = {Enriching the Lambda Calculus with Contexts: Toward a Theory of Incremental Program Construction}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {239-250}, annote = {21 references.} } @inproceedings{Lee-LaMarca-Chambers03, author = "Keunwoo Lee and Anthony LaMarca and Craig Chambers", title = "{HydroJ}: Object-Oriented Pattern Matching for Evolvable Distributed Systems", booktitle = {OOPSLA '03: Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, series = SIGPLAN, volume = "38(11)", month = Nov, year = 2003, pages = "205--223", Location = {Anaheim, CA}, Address = NY, publisher = ACM, } @InProceedings{Lee-Pleban86, Key = "Lee \& Pleban", Author = "Peter Lee and Uwe Pleban", Title = "On the Use of LISP in Implementing Denotational Semantics", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "233-248", Organization = ACM, Month = Aug, Annote = "19 references." } @InProceedings{Lee-Pleban87, Key = "Lee \& Pleban", Author = "Peter Lee and Uwe Pleban", Title = "A Realistic Compiler Generator Based on High-Level Semantics: Another Progress Report", BookTitle = "Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich", Organization = ACM, Month = Jan, Year = 1987, Pages = "284-295", Annote = "Contains a critique of traditional denotational semantics. 35 references." } @Book{Leler88, Key = "Leler", Author = "Wm Leler", Title = "Constraint Programming Languages: Their Specification and Generation", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1988, Annote = "General discussion of contraint languages and the language Bertrand. Bertrand is based on augmented term rewriting. 80 references." } @InProceedings{Leroy93, Key = "Leroy", Author = "Xavier Leroy", Title = "Polymorphism by Name for References and Continuations", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "220-231", Annote = "21 references" } @InProceedings{Lescanne94, Key = {Lescanne}, Author = {Pierre Lescanne}, Title = "From $\lambda\sigma$ to ${\lambda}v$ a Journey Through Calculi of Explicit Substitutions", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "60-69", Annote = "15 references." } @InProceedings{Lev-Ami-Sagiv00, key = "Lev-Ami \& Sagiv", author = "Tal Lev-Ami and Shmuel Sagiv", title = "{TVLA}: A System for Implementing Static Analyses", year = 2000, booktitle = {Static Analysis, 7th International Symposium, SAS 2000, Proceedings}, location = {Santa Barbara, CA}, editor = {Jens Palsberg}, pages = "280-301", publisher = {Springer}, series = LNCS, volume = 1824 } @Book{Levine-etal92, Key = "Levine, {\em et al}", Author = "John Levine and Tony Mason and Doug Brown", Title = "Lex and Yacc", Publisher = "O'Reilly and Associates, Inc", Address = "103 Morris Street, Suite A, Sebastopol, Ca 95472", Year = 1992, Annote = "10 references." } @Book{Levine00, author = {Levine}, title = {Linkers and Loaders}, publisher = {Morgan Kaufmann}, year = 2000, key = {Levine}, address = {San Francisco}, annote = {28 references} } @Book{Lewis-Rosenkrantz-Stearns76, Key = "Lewis \& Rosenkrantz \& Stearns", Author = "Philip M. Lewis II and Daniel J. Rosenkrantz and Richard E. Stearns", Title = "Compiler Design Theory", Publisher = "Addison-Wesley", Year = 1976, Series = "Systems Programming Series", Address = "Reading, Mass.", Annote = "Hundreds of references." } @InProceedings{Liang-Bracha98, author = {Sheng Liang and Gilad Bracha}, title = "Dynamic class loading in the {Java} virtual machine", booktitle = {OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, key = {Liang \& Bracha}, organization = ACM, publisher = ACM, address = NY, pages = {36-44}, annote = {3 references.} } @InProceedings{Liang-Hudak-Jones95, key = "Liang \& Hudak \& Jones", author = "Sheng Liang and Paul Hudak and Mark Jones", title = "Monad Transformers and Modular Interpreters", pages = "333--343", booktitle = "Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California", organization = ACM, year = 1995, month = Jan, annote = "23 references." } @Book{Liang03, key = "Liang", author = "Y. Daniel Liang", title = "Introduction to {Java} programming with {Sun One Studio 4}", publisher = "Pren{\-}tice-Hall", address = "Englewood Cliffs, NJ", year = "2003", ISBN = "0-13-009258-4", annote = "Includes CD-ROM." } @Article{Lieberherr-Orleans-Ovlinger01, Key = "Lieberherr \& Orleans \& Ovlinger", Author = "Karl Lieberherr and Doug Orleans and Johan Ovlinger", Title = "Aspect-oriented programming with adaptive methods", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "39--41", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Article{Lieberman00, key = "Lieberman", author = "Henry Lieberman", title = "Programming by Example", journal = CACM, volume = 43, number = 3, pages = "72-74", month = Mar, year = 2000 } @InCollection{Lieberman87, Key = "Lieberman", Author = "Henry Lieberman", Title = "Reversible Object-Oriented Interpreters", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "11-19", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "9 references." } @Book{Lindholm-Yellin00, author = "Tim Lindholm and Frank Yellin", key = "Lindholm \& Yellin", title = "The {Java} Virtual Machine Specification", edition = "Second", publisher = Addison-Wesley, address = "Reading, MA", year = 2000 } @Book{Lindholm-Yellin97, author = "Tim Lindholm and Frank Yellin", key = "Lindholm \& Yellin", title = "The {Java} Virtual Machine Specification", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA", year = 1997, ISBN = "0-201-63452-X", LCCN = "QA76.73.J38L56 1997", series = "The Java Series", url = "http://www.aw.com/cp/javaseries.html", keywords = "Internet (Computer network); Java (Computer program language); Java (computer program language); programming languages (electronic computers); systems; virtual computer; Virtual computer systems", } @Book{Lindsey-vanderMeulen77, Key = "Lindsey \& van der Meulen", Author = "C. H. Lindsey and S. G. van der Meulen", Title = "Informal Introduction to ALGOL 68 (revised edition)", Year = 1977, Publisher = North-Holland, Address = NY, Annote = "A good tutorial introduction to ALGOL 68. 2 references." } @Article{Lindstrom-Liskov-MacQueen89, Key = "Lindstrom \& Liskov \& MacQueen", Author = "Gary Lindstrom and Barbara Liskov and David MacQueen", Title = "Critical Research Directions in Programming Languages", Journal = SIGPLAN, Volume = 24, Number = 11, Month = Nov, Year = 1989, Pages = "10-25", Annote = "Report on a workshop sponsored by the office of naval research." } @Book{Lippman-Lajoie98, Key = "Lippman \& Lajoie", Author = {Stanley B. Lippman and Jos\'{e}e Lajoie}, Title = "{C++} Primer: 3rd Edition", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1991 } @Book{Lippman02, Key = "Lippman", Author = "Stanley B. Lippman", Title = "{C}# Primer: A Practical Approach", Publisher = Addison-Wesley, Address = "Boston", Year = 2002, Annote = "20 references." } @Book{Lippman89, Key = "Lippman", Author = "Stanley B. Lippman", Title = "{C}++ Primer", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Annote = "20 references." } @Book{Lippman91, Key = "Lippman", Author = "Stanley B. Lippman", Title = "{C}++ Primer: 2nd Edition", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1991 } @Article{Liskov-Snyder79, Key = "Liskov \& Snyder", Author = "Barbara H. Liskov and Alan Snyder", Title = "Exception Handling in {CLU}", Journal = "IEEE Transactions on Software Engineering", Year = 1979, Volume = "SE-5", Number = 6, Month = Nov, Pages = "546-558", Annote = "Describes the exception handling mechanism in CLU. Gives rationale for the termination model and an implementation. 9 references." } @TechReport{Liskov-Zilles73, Key = "Liskov \& Zilles", Author = "Barbara Liskov and Stephen Zilles", Title = "An Approach to Abstraction", Institution = "Massachusetts Institute of Technology, Project MAC", Type = "Computation Structures Group Memo", Number = 88, Month = Sep, Year = 1973, Annote = "Preliminary version of a structured programming language that allows the set of built-in abstractions to be augmented with user-defined abstract data types. 10 references." } @TechReport{Liskov-etal83, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov and Maurice Herlihy and Paul Johnson and Gary Leavens and Robert Scheifler and William Weihl", Title = "Preliminary Argus Reference Manual", Type = "Programming Methodology Group Memo", Number = 39, Month = Oct, Institution = MITLCS, Year = 1983, Annote = "Describes only the differences from CLU. 3 references." } @TechReport{Liskov-etal87, Key = "Liskov, {\em et al.}", Author = "Barbara Liskov and Mark Day and Maurice Herlihy and Paul Johnson and Gary Leavens and Robert Scheifler and William Weihl", Title = "Argus Reference Manual", Number = 400, Month = Oct, Institution = MITLCS, Year = 1987, Note = "An earlier version appeared as Programming Methodology Group Memo 54 in March 1987." } @InProceedings{Liskov75b, Key = "Liskov", Author = "B. H. Liskov", Title = "Data Types and Program Correctness", Booktitle = "1975 National Computer Conference", Organization = AFIPS, Year = 1975, Pages = "285-286", Annote = "12 references." } @Article{Litecky90, Key = "Litecky", Author = "Litecky", Title = "Spreadsheet Macro Programming: A Critique with Emphasis on Lotus 1-2-3", Journal = "Journal of Systems and Software", Year = 1990, Volume = 13, Number = 3, Month = Nov, Pages = "197-200" } @InProceedings{Litman-Patel-Schneider-Mishra97, key = {Litman \& Patel-Schneider \& Mishra}, author = {Diane Litman and Peter F. Patel-Schneider and Anil Mishra}, title = {Modeling Dynamic Collections of Interdependent Objects using Path-Based Rules}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {77-92}, annote = {31 references.} } @TechReport{London-Shaw-Wulf76, Key = "London \& Shaw \& Wulf", Author = "R. L. London and M. Shaw and W. A. Wulf", Title = "Abstraction and Verification in {Alphard}: a Symbol Table Example", Institution = "Information Sciences Institute, USC", Year = 1976, Month = Dec } @Article{London-etal78, Key = "London, {\em et al.}", Author = "R. L. London and J. V. Guttag and J. J. Horning and B. W. Lampson and J. G. Mitchell and G. J. Popek", Title = "Proof Rules for the Programming Language {Euclid}", Journal = "Acta Informatica", Year = 1978, Volume = 10, Number = 1, Pages = "1-26" } @InCollection{Lopez-Freeman-Benson-Borning94, Key = "Lopez \& Freeman-Benson \& Borning", Author = "Gus Lopez and Bjorn Freeman-Benson and Alan Borning", Title = "Constraints and Object Identity", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "260-279", Address = NY, Month = Jul, Annote = "25 references." } @Book{Louden03, Key = "Louden", Author = "Kenneth C. Louden", Title = "Programming Languages: Principles and Practice", Edition = "Second edition", Publisher = "Thomson", Address = "Pacific Grove", Year = 2003, Annote = "Many references." } @Book{Louden93, Key = "Louden", Author = "Kenneth C. Louden", Title = "Programming Languages -- Principles and Practice", Publisher = "PWS-Kent", Address = "Boston, Massachusetts", Year = 1993, Annote = "241 references." } @Article{Lowry92, Key = "Lowry", Author = "Andy Lowry", Title = "The Hermes Language in Outline Form", Journal = SIGPLAN, Year = 1992, Volume = 27, Number = 8, Month = Aug, Pages = "51-70", Annote = "1 reference." } @InCollection{Lukkien93, Key = "Lukkien", Author = "Johan J. Lukkien", Title = "An Operational Semantics for the Guarded Command Language", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "233-249", Address = NY, Month = "June/July", Annote = "12 references." } @Book{Lutz96, author = "Mark Lutz", title = "Programming Python", publisher = "O'Reilly \& Associates, Inc.", address = "Sebastapol, CA, USA", year = "1996", annote = "25 references." } @InCollection{Ma-Reynolds91, Key = "Ma \& Reynolds", Author = "QingMing Ma and John C. Reynolds", Title = "Types, Abstraction, and Parametric Polymorphism, Part 2", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "1-40", Annote = "45 references." } @Book{Maasini-etal91, key = "Masini, {\em et al.}", author = "G\'erald Masini and Amedeo Napoli and Dominique Colnet and Daniel L\'eonard and Karl Tombre", title = "Object-Oriented Languages", publisher = "Academic Press", year = 1991, volume = 34, series = "A.P.I.C. Series", address = "London", note = "Translated by P. Hoggan and G. Masini.", annote = "Survey of various languages. Hundreds of references." } @Article{MacLennan82, Key = "MacLennan", Author = "B. J. MacLennan", Title = "Values and Objects in Programming Languages", Journal = SIGPLAN, Volume = 17, Number = 12, Month = Dec, Pages = "70-79", Year = 1982, Annote = "Distinguishes 'value-oriented' from 'object-oriented'. Argues the need for both in separate parts of a language. 7 references" } @Book{MacLennan87, Key = "MacLennan", Author = "Bruce J. MacLennan", Title = "Principles of Programming Languages", Publisher = "Holt, Rinehart and Winston", Year = "1987", Edition = "Second", Address = NY, Annote = "Principles are abstraction, automation, defense in depth, information hiding, labeling, localized cost, manifest interface, orthogonality, portabilit, preservation of information, regularity, security, simplicity, structure, syntactic consistency, zero-one-infinity. 24 references." } @Book{MacLennan90, Key = "MacLennan", Author = "Bruce J. MacLennan", Title = "Functional Programming: practice and theory", Publisher = "Addison-Wesley", Year = 1990, Address = "Reading, MA" } @Article{MacLennan97, key = {MacLennan}, author = {Bruce J. MacLennan}, title = {``Who Cares About Elegance?'' The Role of Aesthetics in Programming Language Design}, journal = SIGPLAN, year = 1997, volume = 32, number = 3, month = Mar, pages = {33-37}, annote = {2 references.} } @Book{MacLennan99, Key = "MacLennan", Author = "Bruce J. MacLennan", Title = "Principles of Programming Languages", Publisher = "Oxford University Press", Year = "1999", Edition = "Third", Address = NY, Annote = "Principles are abstraction, automation, defense in depth, elegance, impossible error, information hiding, labeling, localized cost, manifest interface, orthogonality, portabilit, preservation of information, regularity, responsible design, security, simplicity, structure, syntactic consistency, zero-one-infinity. 24 references." } @Article{Mackie93, key = "Mackie", author = "Ian Mackie", title = "{Lilac} --- A Functional Programming Language Based on Linear Logic", journal = "Journal of Functional Programming", volume = 4, number = 4, pages = "395-433", year = "1993", publisher = "Cambridge University Press", urldvi = "file://theory.doc.ic.ac.uk/theory/papers/Mackie/fplboll.dvi.gz", } @Book{Madsen-Moller-Pedersen-Nygaard93, Key = "Madsen \& M{\o}ller-Pedersen \& Nygaard", Author = "Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard", Title = "Object-Oriented Programming in the {BETA} programming Language", Publisher = "Addison-Wesley Inc", Year = 1993, Annote = "120 references" } @InCollection{Madsen-Moller-Pederson88, Key = "Madsen \& M{\o}ller-Pederson", Author = "Ole Lehrmann Madsen and Birger M{\o}ller-Pederson", Title = "What object-oriented programming may be --- and what it does not have to be", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "1-20", Series = LNCS, Volume = 322, Annote = "Introduction to OOP. 21 references." } @InProceedings{Madsen00, author = {Ole Lehrmann Madsen}, key = {Madsen}, title = {Towards a Unified Programming Language}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {1-26}, annote = {Discusses Beta. 53 references.} } @Book{Main-etal90, Key = "Main, {\em et al.}", Editor = "M. Main and A. Melton and M. Mislove and D Schmidt", Title = "Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University, New Orleans, USA, March/April, 1989", Publisher = SV, Year = "1990", Volume = 442, Series = LNCS, Address = NY } @Article{Malhotra-etal89, Key = "Malhotra, {\em et al.}", Author = "Ashok Malhotra and Harry M. Markowitz and Yakov Tsalalikhin and Donald P Pazel and Luanne M. Burns", Title = "An Entity-Relationship Programming Language", Journal = IEEETSE, Volume = 15, Number = 9, Month = Sep, Year = 1989, Pages = "1120-1130", Annote = "28 references." } @Book{Manes-Arbib86, Key = "Manes \& Arbib", Author = "Ernest G. Manes and Michael A. Arbib", Title = "Algebraic Approaches to Program Semantics", Publisher = SV, Address = NY, Year = 1986 } @Article{Mansouri-Higgins97, key = {Mansouri \& Higgins}, author = {F Z Mansouri and C A Higgins}, title = {Prolog: An annotated bibliography}, journal = SIGPLAN, year = 1997, volume = 32, number = 9, month = Sep, pages = {47-53}, annote = {Many references.} } @Article{Maraist-Odersky-Wadler98, author = "John Maraist and Martin Odersky and Philip Wadler", title = "The call-by-need lambda calculus", journal = "Journal of Functional Programming", publisher = "Cambridge University Press", year = 1998, key = {Maraist \& Odersky \& Wadler}, volume = 8, number = 3, month = May, pages = {275-317}, annote = {40 references.} } @Book{Marriott-Stuckey98, author = {Kim Marriott and Peter J. Stuckey}, title = {Programming with Constraints: An Introduction}, publisher = MITP, year = 1998, key = {Marriott \& Stuckey}, annote = {146 references.} } @Article{Martin98, key = {Martin}, author = {Peter Martin}, title = {Java, the good, the bad and the ugly}, journal = SIGPLAN, year = 1998, volume = 33, number = 4, month = Apr, pages = {34-39}, annote = {5 references.} } @Article{Mason-Talcott91, Key = "Mason \& Talcott", Author = "Ian Mason and Carolyn Talcott", Title = "Equivalence in Functional Languages with Effects", Journal = "Journal of Functional Programming", Year = 1991, Volume = 1, Number = 3, Month = Jul, Pages = "287-328", Annote = "Adds objects with memory to a call-by-value lambda calculus. 43 references." } @InProceedings{Mason-Talcott92, Key = "Mason \& Talcott", Author = "Ian A. Mason and Carolyn L. Talcott", Year = 1992, Title = "References, Local Variables and Operational Reasoning", BookTitle = "Seventh Annual Symposium on logic in computer science", Publisher = "IEEE", Annote = "35 references." } @Article{Mason-Talcott93, Key = "Mason \& Talcott", Author = "I. A. Mason and C. L. Talcott", Year = 1993, Title = "Inferring the Equivalence of Functional Programs That Mutate Data", Journal = "Theoretical Computer Science", Volume = "to appear 1993", Annote = "extended version of mason-talcott-89lics" } @PhDThesis{Mason86, Author = "I. A. Mason", Year = 1986, Title = "The Semantics of Destructive {L}isp", School = "Stanford University", Note = "Also available as CSLI Lecture Notes No. 5, Center for the Study of Language and Information, Stanford University", Annote = "78 references." } @Article{Masotti91, Key = "Masotti", Author = "Glauco Masotti", Title = "EC++: Extended C++", Journal = JOOP, Year = 1991, Volume = 4, Number = 5, Month = Sep, Pages = "10-20", Annote = "6 references." } @InProceedings{Masuhara-Kiczales-Dutchyn02, Key = {Masuhara \& Kiczales \& Dutchyn}, Author = {Kidehiko Masuhara and Gregor Kiczales and Chris Dutchyn}, Title = {Compilation Semantics of Aspect-Oriented Programs}, Pages = "17-26", BookTitle = {FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002}, year = 2002, Editor = {Gary T. Leavens and Ron Cytron}, Organization = {Department of Computer Science, Iowa State University}, Series = {Technical Report}, number = {02-06}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-06/TR.pdf" } @InProceedings{Masuhara-Kiczales03, key = {Masuhara \& Kiczales}, author = {Hidehiko Masuhara and Gregor Kiczales}, title = {Modeling Crosscutting in Aspect-Oriented Mechanisms}, crossref = {ecoop03}, pages = {2--28}, annote = {28 references} } @Article{Matos-Jalics89, Key = "Matos \& Jalics", Author = "Victor M. Matos and Paul J. Jalics", Title = "An Experimental Analysis of the Performance of Fourth Generation Tools on PCs", Journal = CACM, Volume = 32, Number = 11, Month = Nov, Year = 1989, Pages = "1340-1351", Annote = "4GLs are not much slower than COBOL, and easier to program. 25 references." } @TechReport{Matsushima-Wiederhold90, Key = "Matsushima and Wiederhold", Author = "Toshiyuki Matsushima and Gio Wiederhold", Title = "A Model of Object-Identities and Values", Institution = "Department of Computer Science, Stanford University", Number = "STAN-CS-90-1304", Month = Feb, Year = 1990, Annote = "19 references." } @InProceedings{Mauny-Suarez86, Key = "Mauny \& Suarez", Author = "Michel Mauny and Ascander Suarez", Title = "Implementing Functional Languages in the Categorical Abstract Machine", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "13-27", Organization = ACM, Month = Aug, Annote = "13 references." } @Book{McCabe92, Key = "McCabe", Author = "Francis G. McCabe", Title = "Logic and Objects", Year = 1992, Address = "Englewood Cliffs, NJ", Publisher = "Prentice-Hall, Inc.", Annote = "ISBN 0-13-536079-X" } @Book{McCarthy-etal65, Key = "McCarthy, {\em et al.}", Author = "John McCarthy and Paul W. Abrahams and Daniel J. Edwards and Timothy P. Hart and Michael I. Levin", Title = "LISP 1.5 Programmer's Manual", Year = 1965, Address = "Cambridge, Mass.", Publisher = MITP, Annote = "Original LISP. 1 reference." } @Article{McCarthy60, Key = "McCarthy", Author = "John McCarthy", Title = "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I", Journal = CACM, Year = 1960, Volume = 3, Number = 4, Month = Apr, Pages = "184-195", Annote = "LISP and meta-circular interpreters. 5 references." } @TechReport{McDermott-Sussman74, Key = "McDermott \& Sussman", Author = "Drew V. McDermott and Gerald Jay Sussman", Title = "The CONNIVER Reference Manual", Institution = MITAI, Type = "AI Memo", Number = "295a", Month = Jan, Year = 1974 } @Article{McDermott80, Key = "McDermott", Author = "Drew McDermott", Title = "The Prolog Phenomenon", Journal = SIGART, Month = Jul, Year = 1980, Pages = "16-20", Note = "Number 72", Annote = "A description and evaluation of Prolog. 16 references." } @InProceedings{McDirmid-Flatt-Hsieh01, key = "McDirmid \& Flatt \& Hsieh", author = "Sean McDirmid and Matthew Flatt and Wilson Hsieh", title = "Jiazzi: New-Age Components for Old-Fashioned {Java}", booktitle = {OOPSLA '01: Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, volume = "36(11)", series = {SIGPLAN Notices}, year = 2001, publisher = ACM, address = NY, month = Nov, pages = {211--222}, annote = "29 references." } @InProceedings{McDirmid-Hsieh03, key = "McDirmid \& Hsieh", author = "Sean McDirmid and Wilson Hsieh", title = "Aspect Oriented Programming with {Jiazzi}", booktitle = {Proc. 2nd Int' Conf. on Aspect-Oriented Software Development {(AOSD 2003)}}, editor = {Mehmet Ak\c{s}it}, year = 2003, publisher = ACM, address = NY, month = Apr, pages = {70--79}, location = {Boston, MA}, annote = "23 references." } @Article{McDonald-Allison89, Key = "McDonald \& Allison", Author = "C. McDonald and L. Allison", Title = "Denotational Semantics of a Command Interpreter and their Implementation in Standard ML", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 5, Month = Oct, Pages = "422-431", Annote = "Implementation of the denotational semantics of the Unix Shell in Standard ML. 16 references." } @Book{McGraw-Felten96, key = "McGraw \& Felten", author = "Gary McGraw and Edward W. Felten", title = "{Java} Security: Hostile Applets, Holes and Antidotes", publisher = "Wiley", address = NY, year = "1996", ISBN = "0-471-17842-X (paperback)", LCCN = "QA76.73.J38M354 1996", series = "Wiley Computer Publishing", keywords = "Computer security; Java (Computer program language); Java (computer program language); technology -- computers and computer technology", annote = "27 references." } @Article{McGraw-Felton97, author = "Gary McGraw and Edward Felton", title = "{Java} Security and Type Safety --- {Java}'s sophisticated security mechanism performs run-time safety checks before it allows a downloaded applet to execute", journal = "BYTE Magazine", volume = "22", number = "1", pages = "63--64", month = Jan, year = 1997, ISSN = "0360-5280" } @Book{McKeeman-Horning-Wortman70, Key = "McKeeman \& Horning \& Wortman", Author = "William M. McKeeman and James J. Horning and David B. Wortman", Title = "A Compiler Generator", Publisher = "Prentice-Hall", Year = 1970, Address = "Englewood Cliffs, NJ", Annote = "44 refrences." } @Book{McKinley04, editor = {Kathryn S. McKinley}, title = {20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation 1979-1999 A Selection}, publisher = {ACM Press}, year = 2004, key = {McKinley}, volume = 39, number = 4, series = {SIGPLAN}, address = {NY}, month = {Apr} } @Article{Meertens-Pemberton85, Key = "Meertens \& Pemberton", Author = "Lambert Meertens and Steven Pemberton", Title = "Description of B", Journal = SIGPLAN, Volume = 20, Number = 2, Month = Feb, Year = 1985, Pages = "58-76", Annote = "Informal description of the programming language B. This is a slightly revised version of the language. B is intended for beginners but has many advanced features such as type inference. 3 references." } @InCollection{Mellender-Riegel-Straw89, Key = "Mellender \& Riegel \& Straw", Author = "Fred Mellender and Steve Riegel and Andrew Straw", Title = "Optimizing Smalltalk Message Performance", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 17, Pages = "423-450", Annote = "12 references" } @Book{Menon93, Key = "Menon", Author = "Sathis Menon", Title = "The C Workbook", Publisher = "McGraw-Hill", Year = 1993, Annote = "0 references." } @Article{Merks-Dyck-Cameron92, Key = "Merks \& Dyck \& Cameron", Author = "Eduardus A. T. Merks and J. Michael Dyck and Robert D. Cameron", Title = "Language Design for Program Manipulation", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 1, Month = Jan, Pages = "19-32", Annote = "43 references." } @Book{Metcalf-Reid96, key = {Metcalf \& Reid}, author = {Metcalf-Reid}, title = {The {F} Programming Language}, publisher = {Oxford University Press}, year = 1996 } @Book{Meulen, Key = "Meulen", Author = "Emma A. van der Meulen", Title = "Incremental Rewriting", Publisher = "Copy Print 2000", Address = "Enschede, The Netherlands", Annote = "40 references" } @InProceedings{Meyer-Halpern80, Key = "Meyer \& Halpern", Author = "Albert Meyer and Joseph Y. Halpern", Title = "Axiomatic Definitions of programming Languages A Theoretical Assessment (Preliminary Report)", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = Jan, Year = 1980, Pages = "203-212", Annote = "Shows that programming languages can be specified axiomatically using pre-post assertions or predicate transformers. 18 references." } @InProceedings{Meyer-Sieber88, Key = "Meyel \& Sieber", Author = "Albert R. Meyer and Kurt Sieber", Title = "Towards Fully Abstract Semantics for Local Variables: Preliminary Report", BookTitle = "Proc.\ $15^{th}$ Annual {ACM} Symp. on Principles of Programming Languages, San Diego", Year = "1988", Pages = "191--203", Publisher = ACM } @Article{Meyer87, Key = "Meyer", Author = "Bertrand Meyer", Title = "Reusability: The Case for Object-Oriented Design", Journal = "IEEE Software", Month = Mar, Year = 1987, Volume = 4, Number = 2, Pages = "50-64", Annote = "Arguments for object-oriented languages with inheritance from the point of reusability. Some examples in the Eiffel. 23 references." } @Book{Meyer88, Key = "Meyer", Author = "Bertrand Meyer", Title = "Object-oriented Software Construction", Publisher = "Prentice Hall", Address = NY, Year = 1988, Annote = "The programming language Eiffel. 120 References." } @Article{Meyer88b, Key = "Meyer", Author = "Bertrand Meyer", Title = "Eiffel: A Language and Environment for Software Engineering", Journal = "The Journal of Systems and Software", Volume = 8, Number = 3, Month = Jun, Year = 1988, Pages = "199-246" } @Article{Meyer89, Key = "Meyer", Author = "Bertrand Meyer", Title = "From Structured Programming to Object-Oriented Design: The Road to Eiffel", Journal = "Structured Programming", Year = 1989, Volume = 10, Number = 1, Pages = "19-39", Annote = "44 references." } @Book{Meyer90, Key = "Meyer", Author = "Bertrand Meyer", Title = "Introduction to the Theory of Programming Languages", Publisher = "Prentice Hall", Series = "International Series in Computer Science", Address = NY, Year = 1990, Annote = "115 references." } @Book{Meyer92b, Key = "Meyer", Author = "Bertrand Meyer", Title = "Eiffel: The Language", Publisher = "Prentice Hall", Series = "Object-Oriented Series", Address = NY, Year = 1992, Annote = "Definition of Eiffel with supporting material on methodology and examples integrated in a unique way. More than 35 references." } @Book{Meyer97, Key = "Meyer", Author = "Bertrand Meyer", Title = "Object-oriented Software Construction", Publisher = "Prentice Hall", Edition = "second", Address = NY, Year = 1997, Annote = "The programming language Eiffel." } @Book{Meyers-Clack-Poon93, Key = "Meyers-Clack-Poon", Author = "Colin Meyers and Chris Clack and Ellen Poon", Title = "Programming with Standard ML", Publisher = "Prentice Hall", Year = 1993, Annote = "ISBN 0-13-722075-8" } @Article{Meyers90, Key = "Meyers", Author = "Brad A. Meyers", Title = "A New Model for Handling Input", Journal = TOOIS, Year = 1990, Volume = 8, Number = 3, Month = Jul, Pages = "280-320", Note = "Design of interactors for the Garret project. Interactors hide details of underlying Window System events." } @Book{Meyers92, Key = "Meyers", Author = "Scott Meyers", Title = "Effective C++: 50 Specific Ways to Improve Your Programs and Designs", Publisher = Addison-Wesley, Address = "Reading, Massachusetts", Year = 1992, Annote = "Addison-Wesley Professional Computing Series" } @Book{Miller-Quilici93, Key = "Miller \& Quilici", Author = "Lawrence H. Miller and Alexander E. Quilici", Title = "The Joy of C", Publisher = "John Wiley & Sons, Inc.", Address = NY, Year = 1993, Edition = 2, Annote = "0 references." } @InCollection{Miller-Tripathi97, key = {Miller \& Tripathi}, author = {Robert Miller and Anand Tripathi}, title = {Issues with Exception Handling in Object-Oriented Systems}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {85-103}, annote = {23 references.} } @TechReport{Miller-etal89, Key = "Miller", Author = "Dale Miller and Gopalan Nadathur and Frank Pfenning and Andre Scedrov", Title = "Uniform Proofs as a Foundation for Logic Programming", Institution = "Department of Computer and Information Science, University of Philadelphia", Number = "MS-CIS-89-36 and LINC LAB 154", Month = Jun, Year = 1989, Note = "To appear in {\em Annals of Pure and Applied Logic}", Annote = "33 references." } @Article{Miller-etal91, Key = "Miller, {\em et al.}", Author = "D. Miller and G. Nadathur and F. Pfenning and A. Scedrov", Title = "Uniform Proofs as a Foundation for Logic Programming", Journal = "Annals of Pure and Applied Logic", Year = 1991, Volume = 51, Number = "1-2", Month = Mar, Pages = "125-157" } @TechReport{Miller89, Key = "Miller", Author = "Dale Miller", Title = "Abstractions in Logic Programs", Institution = "Department of Computer and Information Science, University of Philadelphia", Number = "MS-CIS-89-30 and LINC LAB 152", Month = May, Year = 1989, Note = "To appear in the volume {\em Logic and Computer Science }, edited by P. Odifreddi and published by Academic Press", Annote = "36 references." } @InCollection{Miller90, Key = "Miller", Author = "Dale Miller", Title = "A Logic Programming Language with Lambda-Abstraction Function Variables, and Simple Unification", BookTitle = "Extensions of Logic Programming, International Workshop, Tubingen, FRG, December, 1989", Publisher = SV, Year = 1990, Editor = "Peter Schroeder-Heister", Series = LNCS, Volume = 475, Pages = "253-282", Address = NY, Annote = "24 references." } @InCollection{Miller90b, Key = "Miller", Author = "Dale Miller", Title = "Abstractions in Logic Programs", BookTitle = "Logic and Computer Science", Editor = "P. Odifreddi", Pages = "329-359", Publisher = "Academic Press", Year = 1989, Annote = "36 references." } @Article{Miller91, key = "Miller", author = "Dale Miller", title = "A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification", journal = "Journal of Logic and Computation", volume = 1, number = 4, pages = "497--536", year = 1991, urldvi = "file://ftp.cis.upenn.edu/pub/papers/miller/jlc91.dvi.Z", keywords = "lambda-Prolog, unification", } @Proceedings{Miller92, Key = "Miller", Editor = "Dale Miller", Title = "Proceedings of the Workshop on the Lambda Prolog Programming Language", Month = Aug, Year = 1992, Organization = "Institute for Research in Cognitive Science, UPenn", Address = "University of Pennsylvania, Philadelphia, PA" } @UnPublished{Miller93, Key = "Miller", Author = "Dale Miller", Title = "A Multiple-Conclusion Meta-Logic: An Extended Abstract", Institution = "Computer Science Department, University of Pennsylvania", Address = "Philadelphia, PA 19104-6389", Year = 1993, Month = Dec, Note = "This Extended abstract has been submitted to LICS'94", Annote = "25 references." } @Article{Miller96, Author = "Dale Miller", Title = "Forum: A Multiple-Conclusion Specification Language", Journal = "Theoretical Computer Science", Year = "1996", pages = {201--232}, month = sep, volume = 165, number = 1 } @InProceedings{Millstein-Bleckner-Chambers02, key = {Millstein \& Bleckner \& Chambers}, author = {Todd Millstein and Colin Bleckner and Craig Chambers}, title = {Modular Typechecking for Hierarchically Extensible Datatypes and Functions}, BookTitle = {ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programming}, Series = SIGPLAN, Volume = "37(9)", Month = Sep, Year = 2002, publisher = ACM, address = NY, pages = {110--122}, annote = {30 references. Introduces Extensible ML (EML).} } @inproceedings{Millstein-Reay-Chambers03, author = "Todd Millstein and Mark Reay and Craig Chambers", title = "{Relaxed MultiJava}: Balancing Extensibility and Modular Typechecking", booktitle = {OOPSLA '03: Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, location = {Anaheim, CA}, address = NY, publisher = ACM, month = Nov, series = SIGPLAN, volume = "38(11)", Pages = {224--240}, year = 2003, } @InProceedings{Millstein04, key = {Millstein}, author = {Todd Millstein}, title = {Practical Predicate Dispatch}, booktitle = {OOPSLA '04: Proceedings of the 19th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, year = 2004, publisher = ACM, address = NY, month = Oct, series = SIGPLAN, volume = "39(11)", pages = {345--364}, location = {Vancouver, BC}, } @Book{Milne-Strachey76, Key = "Milne \& Strachey", Author = "R. E. Milne and C. Strachey", Title = "A Theory of Programming Language Semantics (part a, part b)", Publisher = "Chapman \& Hall", Year = 1976, Address = "London" } @Book{Milner-Tofte-Harper90, Key = "Milner \& Tofte \& Harper", Author = "Robin Milner and Mads Tofte and Robert Harper", Title = "The Definition of Standard {ML}", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1990, Annote = "A formal definition. 33 references." } @Book{Milner-Tofte91, Key = "Milner \& Tofte", Author = "Robin Milner and Mads Tofte", Title = "Commentary on Standard {ML}", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1991, Annote = "1 reference." } @TechReport{Mitchell-Maybury-Sweet79, Key = "Mitchell \& Maybury \& Sweet", Author = "J. G. Mitchell and W. Maybury and R. Sweet", Title = "Mesa Language Manual, version 5.0", Institution = "Xerox Palo Alto Research Center", Number = "CSL-79-3", Month = Apr, Year = 1979 } @Article{Mitchell-Moggi91, Key = "Mitchell \& Moggi", Author = "J. C. Mitchell and E. Moggi", Title = "Kripke-style models for typed lambda calculus", Journal = "Annals of Pure and Applied Logic", Year = 1991, Volume = 51, Number = "1-2", Month = Mar, Pages = "99-124" } @Book{Mitchell03, author = {John C. Mitchell}, title = {Concepts in Programming Languages}, publisher = {Cambridge University Press}, year = 2003, key = {Mitchell}, address = NY } @InProceedings{Mitchell91, Key = "Mitchell", Author = "John C. Mitchell", Title = "On abstraction and the expressive power of programming languages", BookTitle = "Conference on Theoretical Aspects of Computer Software, Sendi Japan", Year = 1991, Month = Sep, Annote = "19 references." } @Article{Mitchell93, Key = "Mitchell", Author = "John C. Mitchell", Title = "On abstraction and the expressive power of programming languages", Journal = "Science of Computer Programming", Year = 1993, Volume = 21, Number = 2, Pages = "141-163", Month = Oct } @Book{Mitchell96, author = {John C. Mitchell}, title = {Foundations for Programming Languages}, publisher = MITP, year = 1996, key = {Mitchell}, address = {Cambridge, Mass.}, annote = {Graduate text, many references.} } @Article{Mobasher-Pigozzi-Slutzki97, author = {B. Mobasher and D. Pigozzi and G. Slutzki}, title = {Multi-valued logic programming semantics: an algebraic approach}, journal = TCS, year = 1997, key = {Mobasher \& Pigozzi \& Slutzki}, volume = 171, pages = {77-109}, annote = {30 references.} } @Article{Mobasher-etal00, key = {Mobasher, {\em et al.}}, author = {Bamshad Mobasher and Don Pigozzi and Giora Slutzki and George Voutsadakis}, title = {A Duality Theory for Bilattices}, journal = {Algebra Universalis}, year = 2000, volume = 43, pages = "109-125" } @Unpublished{Mobasher-etal93, Key = "Mobasher, {\em etal}", Author = "Bamshad Mobasher and Jacek Leszczylwski and Don Pigozzi and Giora Slutzki", Title = "Negation as Partial Failure", Year = 1993, Month = May, Note = "Obtained from the authors", Annote = "27 references." } @PhdThesis{Mobasher94, Key = "Mobasher", Author = "Bamshad Mobasher", Title = "Generalized Knowledge-based semantics for multi-valued logic programs", School = "Iowa State Universiity", Year = 1994, Address = "Ames, IA", Annote = "57 references." } @Article{Mody91, Key = "Mody", Author = "R. P. Mody", Title = "C in Education and Software Engineering", Journal = "SIGCSE Bulletin", Year = 1991, Volume = 23, Number = 3, Month = Sept, Pages = "45-56", Annote = "Why C is a bad first language. 27 references." } @Article{Moessenboeck-Wirth91, Key = "Moessenboeck-Wirth", Author = {H. M\"{o}ssenb\"{o}ck and Niklaus Wirth}, Title = "The Programming Language {Oberon-2}", Journal = "Structured Programming", Year = 1991, Volume = 12, Number = 4 } @TechReport{Moggi90, Key = "Moggi", Author = "Eugenio Moggi", Title = "An abstract view of programming languages", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Address = "Edinburgh, EH9 3JZ", Number = "ECS-LFCS-90-113", Year = 1990 } @Book{Mojena92, Key = "Mojena", Author = "Richard Mojena", Title = "Turbo Pascal", Publisher = "Wadsworth", Year = 1992, Address = "Belmont, Calif.", Annote = "First course in Programming using Turbo Pascal" } @Proceedings{Montanari-Rossi95, key = "Montanari \& Rossi", title = "Principles and Practice of Constraint Programming", year = 1995, editor = "Ugo Montanari and Francesca Rossi", volume = 976, series = LNCS, publisher = SV, address = NY } @Book{Moon-Stallman-Weinreb83, Key = "Moon \& Stallman \& Weinreb", Author = "David Moon and Richard M. Stallman and Daniel Weinreb", Title = "Lisp Machine Manual (fifth edition)", Publisher = MITAI, Year = 1983, Address = "Cambridge, Mass.", Month = Jan, Annote = "The ZetaLisp language which includes Flavors is described. Flavors is a message based, object oriented style of programming, with a multiple inheritance mechanism." } @InCollection{Moon89, Key = "Moon", Author = "David A. Moon", Title = "The Common Lisp Object-Oriented Programming Language Standard", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 4, Pages = "49-78", Annote = "9 references" } @InProceedings{Moran-Sands99, key = {Moran \& Sands}, author = {Andrew Moran and David Sands}, title = {Improvement in a Lazy Context: An Operational Theory for Call-By-Need}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {43-56}, annote = {Operational theory for reasoning about optimization of lazy programs. 42 references.} } @TechReport{Morris81, Key = "Morris", Author = "James H. Morris", Title = "Real Programming in Functional Languages", Institution = "Xerox Palo Alto Research Center", Month = Jul, Year = 81, Number = "CSL-81-11", Annote = "21 references." } @InCollection{Morris82, author = {James H. Morris}, title = {Real Programming in Functional Languages}, booktitle = {Functional Programming and Its Applications}, key = "Morris", year = 1982, editor = "John Darlington, Peter Henderson, and David A. Turner" } @InProceedings{Morrisett-etal98, key = {Morrisett, {\em et al.}}, author = {Greg Morrisett and David Walker and Karl Crary and Neal Glew}, title = {From System {F} to Typed Assembly Language}, booktitle = {Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1998, organization = ACM, address = NY, month = Jan, pages = {85-97}, annote = {96 references.} } @article{Morrisett-etal99, key = {Morrisett, {\em et al.}}, author = {Greg Morrisett and David Walker and Karl Crary and Neal Glew}, title = {From System {F} to Typed Assembly Language}, journal = TOPLAS, volume = 21, number = 3, pages = "527-568", month = May, year= 1999 } @Article{Morrison-etal90, Key = "Morrison, {\em et al}", Author = "R. Morrison and M. P. Atkinson and A. L. Brown and A. Dearle", Title = "On the classification of binding mechanisms", Journal = IPL, Volume = 34, Number = 1, Month = Feb, Year = 1990, Pages = "51-56" } @Book{Moss94, key = "Moss", author = "Chris Moss", title = "{Prolog++}: The Power of Object-Oriented and Logic Programming", publisher = "Addison-Wesley", year = 1994, address = NY, annote = "Many references." } @InCollection{Mosses-Watt87, Key = "Mosses \& Watt", Author = "P. D. Mosses and D. A. Watt", Title = "The use of action semantics", BookTitle = "Proc. IFIP TC2 Working Conference on Formal Description of Programming Concepts III", Publisher = "North-Holland", Year = 1987, Pages = "135-163", Address = "Amsterdam" } @InProceedings{Mosses89a, Key = "Mosses", Author = "Peter D. Mosses", Title = "Unified Algebras and Institutions", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "304-312", Annote = "Generalization of order-sorted algebras that allows operations to be applied to sorts as well as elements. 30 references." } @InCollection{Mosses89b, Key = "Mosses", Author = "Peter D. Mosses", Title = "Unified Algebras and Action Semantics", BookTitle = "6th Annual Symposium on Theoretical Aspects of Computer Science", Publisher = SV, Series = LNCS, Volume = 349, Year = 1989, Pages = "17-35" } @InCollection{Mosses90, Key = "Mosses", Author = "Peter D. Mosses", Booktitle = "Handbook of Theoretical Computer Science", Title = "Denotational Semantics", Chapter = 11, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "577-631", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "60 references." } @Book{Mosses92, Key = "Mosses", Author = "Peter D. Mosses", Title = "Action Semantics", Publisher = "Cambridge University Press", Year = 1992, Volume = 26, Series = "Cambridge Tracts in Theoretical Computer Science", Address = NY, Annote = "About 85 references." } @InCollection{Mosses93, Key = "Mosses", Author = "P.D. Mosses", Title = "On the Action Semantics of Concurrent Programming Languages", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publsiher = SV, Address = NY, Year = 1993, Note = "Semantics: Foundations and Applications REX Workshop, The NetherLands, june 1992. Proceedings", Page = "398-424", Annote = "14 references" } @Book{Muchnick00, key = {Muchnick}, author = {Steven S. Muchnick}, title = {Advanced Compiler Design and Implementation}, publisher = {Morgan Kaufmann}, year = 2000, address = {San Francisco}, annote = {Many references.} } @Book{Mueller-Page88, Key = "Mueller \& Page", Author = "Robert A. Mueller and Rex L. Page", Title = "Symbolic Computing with Lisp and Prolog", Publisher = Wiley, Address = NY, Year = 1988, Annote = "Features a comparison of LISP and Prolog. Many references in each chapter." } @TechReport{Muller89a, Key = "Muller", Author = "Robert Muller", Title = "{MetaLISP}: A Representation Independent Dialect of {LISP} with Reduction Semantics (Extended Abstract)", Institution = "Computer Science Department, Boston University", Number = "BU-CS TR 89-01", Month = Feb, Year = 1989, Annote = "20 references." } @TechReport{Muller89b, Key = "Muller", Author = "Robert Muller", Title = "Eval and Call by Representation in {MetaLISP}: A Representation Independent Dialect of {LISP} with Reduction Semantics", Institution = "Computer Science Department, Boston University", Number = "BU-CS TR 89-002", Month = Mar, Year = 1989, Annote = "12 references." } @Book{Mulmuley87, Key = "Mulmuley", Author = "Ketan Mulmuley", Title = "Full Abstraction and Semantic Equivalence", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Annote = "Relationships between denotational and operational descriptions of programming languages. Inclusive Predicate Logic (IPL). 21 references." } @Article{Murphy-etal01, key = {Murphy, {\em et al.}}, Author = "Gail C. Murphy and Robert J. Walker and Elisa L. A. Baniassad and Martin P. Robillard and Albert Lai and Mik A. Kersten", Title = "Does aspect-oriented programming work?", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "75--77", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Book{Murray93, Key = "Murray", Author = "Robert B. Murray", Title = "C++ Strategies and Tactics", Publisher = "Addison-Wesley", Year = 1993, Editor = "Brian W. Kernighan", Series = "Addison-Wesley Professional Computing Series", Address = NY, Annote = "ISBN 0-201-56382-7; 0 references" } @InCollection{Murray93a, Key = "Murray", Author = "R. B. Murray", Title = "Building Well-Behaved Type Relationships in C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "87-97", Address = "Cambridge, Mass.", Annote = "3 references." } @Book{Musser-Saini96, author = "David R. Musser and Atul Saini", title = "{STL} Tutorial and Reference Guide", publisher = "Addison-Wesley", address = "Reading, Mass.", year = "1996", } @Book{Myers-Clack-Poon93, Key = "Myers \& Clack \& Poon", Author = "Colin Myers and Chris Clack and Ellen Poon", Title = "Programming with Standard ML", Publisher = "Prentice Hall", Year = 1993, Address = NY, Annote = "48 references; ISBN 0-13-722075-8" } @Article{Myers-Giuse-Vander-Zanden92, Key = "Myers \& Giuse \& Vander Zanden", Author = "Brad A. Myers and Dario A. Giuse and Vander Zanden, Brad", Title = "Declarative Programming in a Prototype-Instance System: Object-Oriented Programming Without Writing Methods", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "184-200", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "25 references." } @TechReport{Myers88, Key = "Myers", Author = "Brad A. Myers", Title = "The State of the Art in Visual Programming and Program Visualization", Institution = CMU, Address = "Pittsburgh, Penn.", Year = 1988, Month = Jun, Number = "CMU-CS-88-114", Annote = "80 references." } @TechReport{Nadathur-Miller88a, Key = "Nadathur \& Miller", Author = "Gopalan Nadathur and Dale Miller", Title = "An Overview of $\lambda$Prolog", Institution = "Department of Computer and Information Science, University of Pennsylvania", Year = 1988, Number = "ERGO-90-093", Month = Aug, Note = "Appears in Fifth International Conference Symposium on Logic Programming", Annote = "32 references." } @Article{Nadathur-Miller90, Key = "Nadathur \& Miller", Author = "G. Nadathur and D. Miller", Title = "Higher-Order {Horn} Clauses", Journal = JACM, Year = 1990, Volume = 37, Number = 4, Month = Oct, Pages = "777-814" } @InProceedings{Nadathur88, Key = "Nadathur \& Miller", author = "Gopalan Nadathur and Dale Miller", title = "An Overview of {$\lambda$Prolog}", booktitle = "Logic Programming: Proceedings of the Fifth International Conference and Symposium, Volume 1", publisher = "MIT Press", month = Aug, year = "1988", editor = "Robert A. Kowalski and Kenneth A. Bowen", address = "Cambridge, Massachusetts", pages = "810--827" } @InCollection{Naher, Key = "Naher", Author = "S. Naher", Title = "LEDA - a library of efficient data types and algorithms", Journal = LNCS, Number = 665, Editor = "P. Enjalbert and A. Finkel and K. W. Wagner", Publsiher = SV, Address = NY, Year = 1993, Note = "STACS 93, 10th Annual Symposium on the Theoretical Aspects of Computer Science, Germany, Feb 25-27, 1993. Proceedings", Page = "710-711", Annote = " 3 references" } @Article{Naixiao-Hongjun-Zongyan97, key = {Naixiao \& Hongjun \& Zongyan}, author = {Zhang Naixiao and Zheng Hongjun and Qiu Zongyan}, title = {Garment: A Mechanism for Abstraction and Encapsulation of Languages}, journal = SIGPLAN, year = 1997, volume = 32, number = 6, month = Jun, pages = {53-60}, annote = {Connecting domain-specific and interface languages. 16 references.} } @unpublished{Nanning04, key = {Nanning}, Author = {{Nanning Project}}, Title = {Nanning {Java} Aspects {AOP} Framework}, note = {\url{http://nanning.snipsnap.org/space/start}}, month = Feb, year = 2004, } @Article{Naur-etal63, Key = "Naur {\em et al.}", Author = "Peter Naur and J. W. Backus and F. L. Bauer and J. Green and C. Katz and J. McCarthy and A. J. Perlis and H. Rutishauser and K. Samelson and B. Vauquois and J. H. Wegstein and A. van Wijngaarden and M. Woodger", Title = "Revised Report on the Algorithmic Language ALGOL 60", Journal = CACM, Month = Jan, Year = 1963, Volume = 1, Number = 17 } @InCollection{Nayeri-Hurwitz-Manola94, Key = "Nayeri \& Hurwitz \& Manola", Author = "Farshad Hayeri and Ben Hurwitz and Frank Manola", Title = "Protection in the Guide Object-Oriented Distributed System", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "450-473", Address = NY, Month = Jul, Annote = "27 references." } @InProceedings{Necula97, key = {Necula}, author = {George C. Necula}, title = {Proof-Carrying Code}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {106-119}, annote = {16 references.} } @Book{Neilson-Neilson92, Key = "Neilson \& Neilson", Author = "F. Nielson and H.R. Neilson", Title = "Semantics with Applications - A Formal Introduction", Publisher = Wiley, Address = NY, Year = 1992, Annote = "17 references." } @Book{Neilson-Neilson92a, Key = "Neilson \& Neilson", Author = "F. Nielson and H.R. Neilson", Title = "Two-Level Functional Languages", Publisher = "Cambridge University Press", Address = "Cambridge, Mass.", Year = 1992, Annote = "ISBN 0 521 40384 7 hardback 107 references." } @Article{Neilson89, Key = "Neilson", Author = "F. Neilson", Title = "Semantics of Programming Languages", Journal = "Theoretical Computer Science", Year = 1989, Volume = 69, Number = 2, Month = Dec, Pages = "117-242" } @Book{Nelson91, Key = "Nelson", Author = "Greg Nelson", Title = "Systems Programming with Modula-3", Publisher = "Prentice-Hall", Year = 1991, Annote = "30 references." } @Article{Ng-Ma-Shatin86, Key = "Ng \& Ma \& Shatin", Author = "K. W. Ng and W. Y. Ma and Shatin N. T.", Title = "Pitfalls in PROLOG Programming", Journal = SIGPLAN, Volume = 21, Number = 4, Month = Apr, Year = 1986, Pages = "75-79", Annote = "The pitfalls illustrate ways in which PROLOG is not just logic programming. 1 reference." } @InProceedings{Ng84, Key = "Ng", Author = "Kam-Wing Ng", Title = "GDPL--A Generalized Distributed Programming Language", BookTitle = "Fourth International Conference on Distributed Computing Systems", Pages = "69-78", Month = May, Year = 1984, Organization = "?" } @Article{Nicholson-Foo89, Key = "Nicholson \& Foo", Author = "Tim Nicholson and Norman Foo", Title = "A Denotational Semantics for Prolog", Journal = TOPLAS, Volume = 11, Number = 4, Month = Oct, Year = 1989, Pages = "650-665", Annote = "8 references." } @Book{Nielson-Nielson-Hankin05, key = "Nielson \& Nielson \& Hankin", author = "Flemming Nielson and Hanne Riis Nielson and Chris Hankin", title = "Principles of Program Analysis", publisher = SV, year = "2005", edition = "Second printing", annote = "185 references.", URL = "http://www.daimi.au.dk/~hrn/PPA/ppa.html", } @Book{Nielson-Nielson-Hankin99, key = "Nielson \& Nielson \& Hankin", author = "Flemming Nielson and Hanne Riis Nielson and Chris Hankin", title = "Principles of Program Analysis", publisher = SV, year = "1999", annote = "181 references.", URL = "http://www.daimi.au.dk/~hrn/PPA/ppa.html", } @InCollection{Nikhil90, Key = "Nikhil", Author = "R. S. Nikhil", Title = "The Semantics of Update in a Functional Database Programming Language", BookTitle = "Advances in Database Programming Languages", Editor = "Francois Ban\c{c}ilhon and Peter Buneman", Year = 1990, Publisher = "Addison-Wesley", Address = "Reading, Mass.", Pages = "403-422", Annote = "Includes variations on array-like mappings." } @TechReport{Nilsen88a, Key = "Nilsen", Author = "Kelvin Nilsen", Title = "The Design and Implementation of High-Level Programming Language Features for Pattern Matching in Real Time", Institution = "Department of Computer Science, University of Arizona", Month = Jul, Year = 1988, Number = "88-30", Annote = "44 references." } @Article{Nilsen88b, Key = "Nilsen", Author = "Kelvin Nilsen", Title = "Garbage Collection of Strings and Linked Data Structures in Real Time", Journal = "Software, Practice, and Experience", Volume = 18, Number = 7, Month = Jul, Year = 1988, Pages = "613-640" } @InProceedings{Nilsen93, key = "Nilsen", author = "Kelvin Nilsen", title = "Reliable real-Time garbage Collection of {C++}", booktitle = "Workshop on Garbage Collection", month = sep, year = "1993", URL = "ftp://ftp.cs.utexas.edu/pub/garbage/GC93/nilsen.ps" } @Article{Nilsen94, key = "Nilsen", author = "Kelvin D. Nilsen", title = "Reliable Real-Time Garbage Collection of {C++}", journal = "Computing Systems", year = "1994", volume = "7", number = "4", pages = "467--504", month = "Fall", year = "1994", } @Article{Nilsen96, title = "Issues in the Design and Implementation of Real-Time {J}ava", author = "Kelvin Nilsen", journal = "Java Developer's Journal", month = jun, year = 1996, volume = 1, number = 1, pages = 44 } @Article{Nilsen98, key = {Nilsen}, author = {Kelvin Nilsen}, title = {Adding Real-Time Capabilities to {Java}}, journal = CACM, year = 1998, volume = 41, number = 6, month = Jun, pages = {49-56}, annote = {10 references.} } @TechReport{Nord89, Key = "Nord", Author = "Robert L. Nord", Title = "The Ergo Analysis Facility: User Guide", Institution = "School of Computer Science, Carnegie Mellon University", Year = 1989, Number = "ERGO-89-083", Month = Sep, Annote = "0 references." } @TechReport{Normark90, Key = "Normark", Author = "Kurt N{\o}rmark", Title = "Simulation of Object-Oriented Concepts and Mechanisms in Scheme", Institution = "Institute for Electronic Systems, Department of Mathematics and Computer Science, The University of Aalborg", Number = "R 90-01", Month = Jan, Year = 1990, Annote = "11 references." } @InProceedings{Novak82, Key = "Novak", Author = "G. Novak", Title = "Glisp: a High-Level Language for AI Programming", Booktitle = "AAAI 82", Organization = "American Association for Artificial Intelligence", Year = 1982, Pages = "238-241" } @Manual{Novak83a, Key = "Novak", Title = "Glisp User's Manual", Author = "G. Novak", Institution = "Stanford University Heuristic Programming Project", Year = 1983 } @Article{Novak83b, Key = "Novak", Author = "G. Novak", Title = "Glisp", Journal = "AI Magazine", Year = 1983, Month = "Fall", Volume = 4, Number = 3, Pages = "37 ff." } @inproceedings{Nystrom-Clarkson-Myers03, author = "Nathaniel Nystrom and Michael R. Clarkson and Andrew C. Myers", title = "Polyglot: An Extensible Compiler Framework for Java", pages = {138--152}, booktitle = "Compiler Construction: 12'th International Conference, CC 2003", month = apr, year = 2003, publisher = SV, volume = 2622, Address = NY, } @TechReport{OBrien85, Key = "O'Brien", Author = "Patrick O'Brien", Title = "Trellis Object-Based Environment: Language Tutorial", Institution = "Eastern Research Lab, Digital Equipment Corp., Hudson, Mass.", Year = 1985, Number = "DEC-TR-373", Month = Nov, Annote = "Language tutorial and partial rationale for Owl. This is a statically type checked, object-oriented language with inheritance. 1 reference." } @InCollection{OHearn-Tennent92, Key = "O'Hearn \& Tennent", Author = "P. W. O'Hearn and R. D. Tennent", Title = "Semantics of Local Variables", Pages = "217-238", Booktitle = "Applications of Categories in Computer Science", Editor = "M. P. Fourman and P. T. Johnstone and A. M. Pitts", Year = 1992, Publisher = "Cambridge University Press", Series = "London Mathematical Society Lecture Note Series", Volume = "177", Address = "Cambridge, England" } @InProceedings{OHearn-Tennent93, Key = "O'Hearn \& Tennent", Author = "Peter W. O'Hearn and Robert D. Tennent", Title = "Relational Parametricity and Local Variables", BookTitle = "Proc. $20^{th}$ Annual {ACM} Symposium on Principles of Programming Languages", Pages = "171-184", Year = 1993 } @Article{OHearn-Tennent95, Key = "O'Hearn \& Tennent", Author = "Peter W. O'Hearn and Robert D. Tennent", Title = "Parametricity and Local Variables", Journal = JACM, Volume = 42, Number = 3, Year = 1995 } @TechReport{ObjPascal95, Author = "Tesler, Larry", Title = "Object {Pascal} Report", Number = 1, Institution = "Apple Computer", Year = 1985 } @TechReport{Odersky-etal04, key = "Odersky, {\em et al.}", author = "Martin Odersky and Philippe Altherr and Vincent Cremet and Burak Emir and Sebastian Maneth and St\'ephane Micheloud and Nikolay Mihaylov and Michel Schinz and Erik Stenman and Matthias Zenger", title = "An Overview of the {Scala} Programming Language", institution = "\'Ecole Polytechnique F\'ed\'erale de Lausanne", type = "Technical Report", number = "IC/2004/64", address = "1015 Lausanne, Switzerland", year = "2004", annote = "49 references.", note = "Revised June 3, 2005.", URL = "http://scala.epfl.ch/docu/files/ScalaOverview.pdf" } @Unpublished{Odersky-etal05, key = "Odersky, {\em et al.}", author = "Martin Odersky and Philippe Altherr and Vincent Cremet and Burak Emir and St\'ephane Micheloud and Nikolay Mihaylov and Michel Schinz and Erik Stenman and Matthias Zenger", title = "The {Scala} Language Specification Version 1.0", note = {\url{http://scala.epfl.ch/docu/files/ScalaReference.pdf}}, month = Oct, year = 2005, annote = "6 references.", URL = {http://scala.epfl.ch/docu/files/ScalaReference.pdf}, } @Unpublished{Odersky-etal05a, key = "Odersky, {\em et al.}", author = "Martin Odersky and Philippe Altherr and Vincent Cremet and Burak Emir and St\'ephane Micheloud and Nikolay Mihaylov and Michel Schinz and Erik Stenman and Matthias Zenger", title = "An Introduction to {Scala}", note = {\url{http://scala.epfl.ch/docu/files/ScalaIntro.pdf}}, month = Aug, year = 2005, annote = "No references.", URL = {http://scala.epfl.ch/docu/files/ScalaIntro.pdf}, } @Unpublished{Odersky05, key = "Odersky", author = "Martin Odersky", title = "{Scala} By Example", note = {\url{http://scala.epfl.ch/docu/files/ScalaByExample.pdf}}, month = Oct, year = 2005, annote = "3 references.", URL = {http://scala.epfl.ch/docu/files/ScalaByExample.pdf}, } @InProceedings{Odersky-Rabin-Hudak93, Key = "Odersky \& Rabin \& Hudak", Author = "Martin Odersky and Dan Rabin and Paul Hudak", Title = "Call by Name, Assignment, and the lambda Calculus", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "43-56", Annote = "22 references" } @InProceedings{Odersky94, Key = {Odersky}, Author = {Martin Odersky}, Title = "A Functional Theory of Local Names", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "48-59", Annote = "23 references." } @InProceedings{Odersky99, key = {Odersky}, author = {Martin Odersky}, title = {Programming with Variable Functions}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {105-116}, annote = {46 references.} } @InCollection{Ohori90, Key = "Ohori", Author = "A. Ohori", Title = "Representing Object Identity in a Pure Functional Language", BookTitle = "ICDT '90, Third International Conference on Database Theory, Paris, France", Publisher = Springer-Verlag, Year = 1990, Editor = "S. Abiteboul and P. C. Kanellakis", Series = LNCS, Volume = 470, Pages = "41-55", Address = NY, Month = Dec } @InProceedings{Okasaki96, key = {Okasaki}, author = {Chris Okasaki}, title = {The Role of Lazy Evaluation in Amortized Data Structures}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {62-72}, annote = {25 references.} } @InProceedings{Okasaki97, key = {Okasaki}, author = {Chris Okasaki}, title = {Catenable Double-Ended Queues}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97)", Series = SIGPLAN, Volume = "32(8)", Month = Aug, Year = 1997, organization = ACM, pages = {66-74}, annote = {22 references.} } @Book{Okasaki98, key = {Okasaki}, author = {Chris Okasaki}, title = {Purely Functional Data Structures}, publisher = {Cambridge University Press}, year = 1998, address = {Cambridge, UK}, annote = {Data structures and efficiency analysis for functional programming. Code in ML and Haskell. Many references.} } @Article{Okasaki98b, key = {Okasaki}, author = {Chris Okasaki}, title = {Even higher-order functions for parsing or Why would anyone ever want to use a sixth-order function?}, journal = {Journal of Functional Programming}, year = 1998, volume = 8, number = 2, month = Mar, pages = {195-199}, annote = {Parsing combinators for ML. 6 references.} } @InProceedings{Oles87a, Key = "Oles", Author = "Frank J. Oles", Title = "Semantics for Concurrency without Powerdomains", BookTitle = "Conference Record of Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, West Germany", Publisher = ACM, Month = Jan, Year = 1987, Note = "A slightly corrected version appears as IBM Research Report RC 13195 (\#54922)" } @inproceedings{Orleans02, key = {Orleans}, title = {Incremental Programming with Extensible Decisions}, author = {Doug Orleans}, pages = {56-64}, booktitle = {Proc. 1st Int' Conf. on Aspect-Oriented Software Development {(AOSD-2002)}}, editor = {Gregor Kiczales}, publisher = {ACM Press}, year = 2002, month = apr, location = {Enschede, The Netherlands} } @Article{Ossher-Harrison92, Key = "Ossher \& Harrison", Author = "Harold Ossher and William Harrison", Title = "Combination of Inheritance Hierarchies", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "25-40", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "34 references." } @Article{Ossher-Tarr01, Key = "Ossher \& Tarr", Author = "Harold Ossher and Peri Tarr", Title = "Using multidimensional separation of concerns to (re)shape evolving software", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "43--50", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Book{Oualline95, author = "Steve Oualline", title = "Practical {C++} Programming", publisher = "O'Reilly \& {Associates, Inc.}", address = "Sebastapol, CA", year = 1995 } @Book{Ousterhout94, key = {Ousterhout}, author = {J. Ousterhout}, title = {Tcl and the Tk Toolkit}, publisher = {Addison-Wesley}, year = 1994, address = {Reading, Mass.} } @Article{Ousterhout98, key = {Ousterhout}, author = {John K. Ousterhout}, title = {Scripting: Higher-Level Programming for the 21st Century}, journal = {Computer}, year = 1998, volume = 31, number = 3, month = Mar, pages = {23-30}, annote = {Scripting languaes like Perl, Python, Rexx, Tcl, Visual Basic, and the Unix shells. 8 references.} } @Book{Paepcke93, Key = "Paepcke", Author = "Andreas Paepcke", Title = "Object-Oriented Programming: The {CLOS} Perspective", Publisher = MITP, Address = "Boston, Mass.", Year = 1993, Annote = "An edited collection of articles." } @Book{Pagan81, key = "Pagan", author = "Frank G. Pagan", title = "Formal Specification of Programming Languages", publisher = "Prentice-Hall, Inc.", year = 1981, address = "Englewood Cliffs, NJ 07632", annote = "Many references." } @Book{Pagan91, Key = "Pagan", Author = "Frank G. Pagan", Title = "Partial Computation and the Construction of Language Processors", Publisher = "Prentice-Hall, Inc.", Year = 1991, Series = "Prentice-Hall Software Series", Address = "Englewood Cliffs, NJ 07632" } @InProceedings{Palacz-etal03, key = "Palacz, et al.", author = "K. Palacz and J. Baker and C. Flack and C. Grothoff and H. Yamauchi and J. Vitek", title = "Engineering a customizable intermediate representation", booktitle = "Proceedings of the Workshop on Interpreters, Virtual Machines, and Emulators (IVME'03), San Diego, California", year = "2003", url = "http://www.ovmj.org/ovmir.ps" } @InProceedings{Palsberg-Jay98a, key = "Palsberg", Author = "Jens Palsberg and C. Barry Jay", Title = "The Essence of the Visitor Pattern", BookTitle = "Proc. 22nd IEEE Int. Computer Software and Applications Conf., COMPSAC", Year = 1998, Month = aug, Pages = "9-15", Address = "Vienna, Austria", Publisher = "IEEE", } @InProceedings{Palsberg01, key = "Palsberg", author = "Jens Palsberg", title = "Type-based analysis and applications", editor = "{ACM}", booktitle = "{ACM} {SIGPLAN} -- {SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering: {PASTE}'01", publisher = "ACM Press", address = NY, pages = "20-27", year = "2001", annote = "27 references" } @Article{Pancake-Bergmark90, Key = "Pancake \& Bergmark", Author = "Cherri M. Pancake and Donna Bergmark", Title = "Do Parallel Languages Respond to the Needs of Scientific Programmers?", Journal = "Computer", Volume = 23, Number = 12, Month = Dec, Year = 1990, Pages = "25-37", Annote = "7 references." } @InCollection{Pang-etal99, key = {Pang, {\em et al.}}, author = {Candy Pang and Wade Holst and Yuri Leontiev and Duane Szaforon}, title = {Muiti-method Dispatch Using Multiple Row Displacement}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {304-328}, annote = {20 references.} } @Book{Parker93, Key = "Parker", Author = "Richard O. Parker", Title = "Easy Object Programming (for the Macintosh Using AppMaker and THINK C)", Publisher = "Prentice Hall", Address = "Englewood Cliffs, NJ 07632", Year = 1993, Annote = "No references included." } @Article{Pascoe86, Key = "Pascoe", Author = "Geoffrey A. Pascoe", Title = "Encapsulators: A New Software Paradigm in Smalltalk-80", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "341-346", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "An encapsulator surrounds an instance of some object; when a message is sent to that object a pre-action is performed, then the object's method, then a post-action. Monitors are an example. An ``atomic'' encapsulator ensures totality. The implementation redefines the doesNotUnderstand method for encapsulators to send the messages along to the encapsulated object (inefficient). 6 references." } @TechReport{Patterson02, key = {Patterson}, author = {Jeremiah S. Patterson}, title = {An Object-Oriented Event Calculus}, institution = "Department of Computer Science, Iowa State University", year = 2001, number = "02-08", address = "226 Atanasoff Hall, Ames, Iowa 50011", month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-08/TR.pdf", Note = "Available from \url{archives.cs.iastate.edu}.", Annote = "Implicit invocation and events in a calculus and a core language named Eventua. 27 references." } @Book{Paulson91, Key = "Paulson", Author = "Laurence C. Paulson", Title = "{ML} for the Working Programmer", Publisher = "Cambridge University Press", Year = 1991, Address = NY, Annote = "0 references." } @Book{Paulson96, Key = "Paulson", Author = "Laurence C. Paulson", Title = "{ML} for the Working Programmer", Publisher = "Cambridge University Press", Year = 1996, Address = NY, Edition = "second", Annote = "Many references." } @Book{Pearce98, author = {Pearce}, title = {Programming and Meta-Programming in Scheme}, publisher = SV, year = 1998, key = {Pearce}, series = {Undergraduate Texts in Computer Science}, address = {NY}, annote = {15 references.} } @InProceedings{Pedro-Pena-Nunez96, key = {Pedro \& Pe\~{n}a \& N\'{u}\~{n}ez}, author = {Palao Gostanza Pedro and Ricardo Pe\~{n}a and Manuel N\'{u}\~{n}ez}, title = {A New Look at Pattern Matching in Abstract Data Types}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {110-121}, annote = {23 references.} } @Article{Pemberton87, Key = "Pemberton", Author = "Steven Pemberton", Title = "An Alternative Simple Language and Environment for PCs", Journal = "IEEE Software", Month = Jan, Year = 1987, Volume = 4, Number = 1, Pages = "56-64", Annote = "Descriptive overview of the ABC language, which is a successor of B. The language is intended for naive users. It features interaction, type checking without declarations, and tables. 10 references." } @Article{Pemberton91, Key = "Pemberton", Author = "Steven Pemberton", Title = "A Short Introduction to the ABC Language", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 2, Month = Feb, Pages = "11-16" } @Article{Peralta-Botella-Serras98, key = {Peralta \& Botella \& Serras}, author = {Alonso J. Peralta and Pere Botella and Joan Serras}, title = {It's Time for Full Life-Cycle Languages}, journal = JOOP, year = 1998, volume = 10, number = 9, month = Feb, pages = {19-28}, annote = {Adding more analysis concepts directly to Eiffel. 20 references.} } @Article{Perrott-Zarea-Aliabadi86, Key = "Perrott \& Zarea-Aliabadi", Author = "R. H. Perrott and A. Zarea-Aliabadi", Title = "Supercomputer Languages", Journal = ACMCS, Volume = 18, Number = 1, Month = Mar, Year = 1986, Pages = "5-22", Annote = "Survey of high-level languages for supercomputers. The language Actus, which facilitates direct expression of parallelism and allows the compiler to generate optimized code. 19 references and a bibliography of 39 citations." } @Article{Peterson99, key = {Peterson}, author = {John Peterson}, title = {Microsoft and {Yale} Conclude Agreement to License Technology for {Haskell}}, journal = SIGPLAN, year = 1999, volume = 34, number = 4, month = Apr, pages = {35-36}, annote = {Spoof for April Fools Day. 6 references.} } @Article{Pettorossi-Proietti96, key = {Pettorossi \& Proietti}, author = {Alberto Pettorossi and Maurizio Proietti}, title = "Rules and Strategies for Transforming Functional and Logic Programs", journal = ACMCS, volume = 28, number = 2, pages = "360-414", month = Jun, year = 1996, annote = "Many references." } @Book{Peyton-Jones-Lester92, Key = "Peyton Jones \& Lester", Author = "S. L. {Peyton Jones} and David Lester", Title = "Implementing Functional Languages: A Tutorial", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, N.J.", Year = 1992, Annote = "35 references." } @InProceedings{Peyton-Jones-Wadler93, Key = "Peyton-jones \& Wadler", Author = "Simon l. Peyton Jones and Philip Wadler", Title = "Imperative Functional Programming", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "71-84", Annote = "30 references" } @Article{Peyton-Jones-etal99, key = {Peyton-Jones, {\em et al.}}, author = {Simon {Peyton Jones} and Alastair Reid and Tony Hoare and Simon Marlow and Fergus Henderson}, title = {A semantics for imprecise exceptions}, journal = SIGPLAN, year = 1999, volume = 34, number = 5, month = May, pages = {25-36}, note = {Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, annote = {A design for incorporating exceptions into Haskell. 16 references.} } @Book{Peyton-Jones87, Key = "Peyton Jones", Author = "S. L. {Peyton Jones}", Title = "The Implementation of Functional Programming Languages", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, N.J.", Year = 1987, Annote = "Includes an introduction to Miranda. Many references." } @Article{Pfenning-Elliott88, Key = "Pfenning \& Elliott", Author = "Frank Pfenning and Conal Elliott", Title = "Higher-Order Abstract Syntax", Journal = "SIGPLAN", Year = 1988, Volume = 23, Number = 7, Month = Jul, Pages = "199-208", Note = "Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, Atlanta, Georgia", Annote = "20 references." } @inproceedings{Pfenning-Schurmann99a, Key = {Pfenning \& Sch{\"u}rmann}, Author = {Frank Pfenning and Carsten Sch{\"u}rmann}, Address = NY, Booktitle = {Proc. of the 16th Intl. Conf. on Automated Deduction (CADE-16)}, Editor = {H. Ganzinger}, Location = {Trento, Italy}, Month = Jul, Pages = {202-206}, Publisher = SV, Series = LNCS, Title = {System description: {Twelf}---a meta-logical framework for deductive systems}, Volume = 1632, Year = 1999 } @InProceedings{Pfenning91, key = "Pfenning", author = "Frank Pfenning", title = "Logic Programming in the {LF} Logical Framework", booktitle = "Logical Frameworks", editor = "G\'{e}rard Huet and Gordon Plotkin", publisher = "Cambridge University Press", pages = "149--181", year = "1991", urldvi = "http://www.cs.cmu.edu/~fp/papers/lfproc91.dvi.gz", urlps = "http://www.cs.cmu.edu/~fp/papers/lfproc91.ps.gz", keywords = "LF, Elf", } @Unpublished{Pigozzi-Salibra92, Key = "Pigozzi \& Salibra", Author = "Don Pigozzi and Antonino Salibra", Title = "An Introduction to Lambda Abstraction Algebras", Month = Sep, Year = 1992, Note = "Obtained from authors", Annote = "15 references." } @Article{Pigozzi-Salibra95, author = {D. Pigozzi and A. Salibra}, title = {Lambda abstraction algebras: representation theorems}, journal = TCS, year = 1995, volume = 140, pages = "4-52", key = {Pigozzi \& Salibra} } @Article{Pigozzi-Salibra97, author = {D. Pigozzi and A. Salibra}, title = {Lambda abstraction algebras: coordinating models of lambda calculus}, journal = {Fund. Informaticae}, year = 1997, key = {Pigozzi \& Salibra}, note = {To appear.} } @TechReport{Pitman83, Key = "Pitman", Title = "The Revised MacLisp Manual", Author = "Kent M. Pitman", Institution = MITLCS, Year = 1983, Number = "TR-295", Month = May, Annote = "Reference manual for the Maclisp dialect of LISP." } @Book{Pitts-Dybjer97, editor = "A. M. Pitts and P. Dybjer", title = "Semantics and Logics of Computation", booktitle = "Semantics and Logics of Computation", publisher = "Cambridge University Press", address = "Cambridge", year = "1997", ISBN = "0-521-58057-9", annote = "Based on the summer school on Semantics and Logics of Computation. Some references." } @Book{Plauger92, Key = "Plauger", Author = "P. J. Plauger", Title = "The Standard {C} Library", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, NJ", Year = 1992, Note = "ISBN 0-13-131508-9 (softcover), 0-13-838011-0 (hardcover)" } @Book{Plauger94, Key = "Plauger", Author = "P. J. Plauger", Title = "The Draft Standard {C++} Library", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, NJ", Year = 1994, Note = "ISBN 0-13-117003-1 (softcover)." } @Article{Plotkin75, author = "G. D. Plotkin", title = "Call-by-Name, Call-by-Value and the {$\lambda$}-Calculus", journal = "Theoretical Computer Science", year = 1975, volume = 1, pages = "125--159", } @Article{Plotkin77, Key = "Plotkin", Author = "G. D. Plotkin", Title = "{LCF} Considered as a Programming Language", Journal = TCS, Volume = 5, Pages = "223-255", Year = 1977, Annote = "The language PCF, its structural operational semantics, its denotational semantics, full abstraction. 12 references." } @InCollection{Plotkin80, Key = "Plotkin", Author = "G. D. Plotkin", Title = "Dijkstra's Predicate Transformers and Smyth's Powerdomains", BookTitle = "Abstract Software Specifications: 1979 Copenhagen Winter School Proceedings", Editor = "D. Bjorner", Publisher = SV, Address = NY, Year = 1980, Series = LNCS, Volume = 86, Pages = "527-553", Annote = "24 references." } @TechReport{Plotkin81, Key = "Plotkin", Author = "Gordon Plotkin", Title = "A Structural Approach to Operational Semantics", Institution = "Aarhus University", Number = "DAIMI FN-19", Month = Sep, Year = 1981 } @Unpublished{Plotkin83, Key = "Plotkin", Author = "Plotkin", Title = "Domains", Note = "1992 TeXed edition of course notes prepared by Yugo Kashiwagi and Hidetaka Kondoh from notes by Tatsuya Hagino.", Year = 1983 } @Proceedings{Podelski94, key = "Podelski", title = "Constraint Programming: Basics and Trends: 1994 Chatillon Spring School , Chatillon-sur-Seine, France", year = 1994, editor = "Andreas Podelski", volume = 910, series = LNCS, publisher = SV, month = "May", annote = "Includes some overview material on constraint logic programming." } @Book{Pohl03, Key = "Pohl", Key = "Pohl", Author = "Ira Pohl", Title = "{C}# by Dissection", Publisher = "Addison-Wesley", Address = "Boston", Year = 2003, Annote = "Textbook that includes CD-ROM." } @Book{Pohl89, Key = "Pohl", Author = "Ira Pohl", Title = "{C}++ for {C} Programmers", Publisher = "Benjamin Cummings", Address = NY, Year = 1989 } @Book{Pohl91, Key = "Pohl", Author = "Ira Pohl", Title = "{C}++ for {P}ascal Programmers", Publisher = "Benjamin Cummings", Address = NY, Year = 1991 } @Book{Pohl93, Key = "Pohl", Author = "Ira Pohl", Title = "{C}++ for {C} Programmers", Publisher = "Benjamin Cummings", Address = NY, Year = 1993, Note = "Second Edition" } @inproceedings{Popovici-Alonso-Gross03, key = "Popovici \& Alonso \& Gross", Author = {Andrei Popovici and Gustavo Alonso and Thomas Gross}, Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {http://doi.acm.org/10.1145/643603.643614}, Isbn = {1-58113-660-9}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p100-popovici.pdf}, Location = {Boston, Massachusetts}, Pages = {100--109}, Publisher = {ACM Press}, Title = {Just-in-time aspects: efficient dynamic weaving for Java}, Year = {2003} } @InProceedings{Prasad-Giacalone-Mishra90, author = "S. Prasad and A. Giacalone and P. Mishra", title = "Operational and algebraic semantics of Facile: {A} symmetric integration of concurrent and functional programming.", booktitle = "Proceedings of the 17th International Colloquium on Automata, Languages and Programming (ICALP'90)", series = LNCS, volume = "443", pages = "765--780", publisher = SV, month = Jul, year = "1990", keywords = "functional programming language, FP, ML, SML, parallel, concurrent, Facile, ICALP, ICALP90, ICALP17" } @inproceedings{Praun-Gross03, key = {Praun \& Gross}, author = {Christoph von Praun and Thomas R. Gross}, title = {Static conflict analysis for multi-threaded object-oriented programs}, booktitle = PLDI, month = Jun, year = 2003, pages = {115-128}, publisher = ACM } @Article{Prather90, Key = "Prather", Author = "Ronald E. Prather", Title = "Proposal for a Categorical Programming Language", Journal = SIGPLAN, Volume = 25, Number = 4, Month = Apr, Year = 1990, Pages = "43-50", Annote = "15 references." } @Article{Prather98, key = {Prather}, author = {Ronald E. Prather}, title = {A Modular Mathematical Programming Language}, journal = SIGPLAN, year = 1998, volume = 33, number = 3, month = Mar, pages = {38-56}, annote = {Language with semantics given by category theory. 23 references.} } @Book{Pratt-Zelkowitz96, key = "Pratt", author = "Terrence W. Pratt and Marvin V. Zelkowitz", title = "Programming Languages: Design and Implementation", publisher = "Prentice-Hall", year = 1996, address = "Englewood Cliffs, NJ", edition = "Third edition", annote = "Over 100 references." } @Book{Pratt84, key = "Pratt", author = "Terrence W. Pratt", title = "Programming Languages: Design and Implementation", publisher = "Prentice-Hall", year = 1984, address = "Englewood Cliffs, NJ", edition = "Second edition", annote = "Over 100 references." } @Book{Pratt90, Key = "Pratt", Author = "Terrence W. Pratt", Title = "Pascal: A New Introduction to Computer Science", Publisher = Prentice-Hall, Address = "Englewood Cliffs, NJ", Year = 1990 } @InCollection{Prehofer97, key = {Prehofer}, author = {Christian Prehofer}, title = {Feature-Oriented Programming: A Fresh Look at Objects}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {419-443}, annote = {21 references.} } @InProceedings{Qian94, Key = {Qian}, Author = {Zhenyu Qian}, Title = "Higher-Order Equational Logic Programming", BookTitle = "Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", Month = Jan, Year = 1994, Organization = ACM, Address = NY, Pages = "254-267", Annote = "39 references." } @InProceedings{Queinnec-DeRoure96, key = {Queinnec \& De Roure}, author = {Christian Queinnec David De Roure}, title = {Sharing Code through First-class Environments}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {251-261}, annote = {19 references.} } @Article{Raj-etal91, Key = "Raj, {\em et al.}", Author = "R. K. Raj and E. Tempero and H. M. Levy and A. P. Black and N. C. Hutchinson and E. Jul", Title = "Emerald: A General-Purpose Programming Language", Journal = SPandE, Year = 1991, Volume = 21, Number = 1, Month = Jan, Pages = "91 ff." } @InProceedings{Ramalingam-Reps93, Key = "Ramalingam \& Reps", Author = "G. Ramalingam and Thomas Reps", Title = "A Categorized Bibliography on Incremental Computation", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "502-510", Annote = "Hundreds of references." } @Article{Ramalingam94, key = "Ramalingam", author = "G. Ramalingam", title = "The Undecidability of Aliasing", journal = TOPLAS, year = 1994, volume = 16, number = 5, pages = "1467-1471", month = Sep } @article{Ramsdell92, author = {John D. Ramsdell}, title = {An Operational Semantics for Scheme}, year = 1992, month = apr, journal = {Lisp Pointers}, volume = {V}, number = 2, publisher = ACM } @Article{Ramsey94, author = "Norman Ramsey", title = "Literate programming simplified", key = "Ramsey", journal = "IEEE Software", year = 1994, volume = 11, number = 5, pages = "97-105", annote = "The noweb system. 9 references." } @Article{Rangarajan-Eswar98, key = {Rangarajan \& Eswar}, author = {K. Rangarajan and P. Eswar}, title = {Understanding Class Evolution Through Atomic Changes}, journal = SIGPLAN, year = 1998, volume = 33, number = 6, month = Jun, pages = {48-53}, annote = {9 references.} } @Article{Rapin97, key = {Rapin}, author = {Charles Rapin}, title = {Block Structured Object Programming}, journal = SIGPLAN, year = 1997, volume = 32, number = 4, month = Apr, pages = {47-54}, annote = {The Newton language. 13 references.} } @Book{Reade89, Key = "Reade", Author = "Chris Reade", Title = "Elements of Functional Programming", Publisher = "Addison-Wesley", Year = 1989, Series = "International Computer Science Series", Address = "Wokingham, England" } @InProceedings{Reddy88, Key = "Reddy", Author = "Uday S. Reddy", Title = "Objects as closures: Abstract Semantics of Object-Oriented Languages", BookTitle = "Proceedings of the 1988 ACM Symposium on LISP and Functional Programming", Year = 1988, Pages = "289-297", Organization = ACM } @InProceedings{Reddy94, Key = "Reddy", Author = "Uday S. Reddy", Title = "Passivity and Independence", BookTitle = "Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science, Paris, France", Month = Jul, Year = 1994, Pages = "342-352", Organization = IEEE, Annote = "33 references." } @Article{Reddy96, key = "Reddy", author = "Uday S. Reddy", title = "Global State Considered Unnecessary: an introduction to object-based semantics", Journal = "Journal of LISP and Symbolic Computation", Volume = 9, Pages = "7-76", Year = 1996 } @Article{Reddy96b, Key = "Reddy", Author = "U. S. Reddy", title = "Imperative Functional Programming", journal = ACMCS, volume = 28, number = 2, pages = "312-314", month = Jun, year = 1996, annote = "12 references." } @Article{Rees-Clinger-etal86, Key = "Rees \& Clinger, {\em et al.}", Author = "Jonathan Rees and William Clinger and H. Abelson and N. I. Adams IV and D. H. Bartley and G. Brooks and R. K. Dybvig and D. P. Friedman and R. Halstead and C. Hanson and C. T. Haynes and E. Kohlbecker and D. Oxley and K. M. Pitman and G. J. Rozas and G. J. Sussman and M. Wand", Title = "Revised$^3$ Report on the Algorithmic Language Scheme", Journal = SIGPLAN, Month = Dec, Year = 1986, Volume = 21, Number = 12, Pages = "37-79", Annote = "53 references" } @Article{Reichel95, author = {H. Reichel}, title = {An approach to object semantics based on terminal co-algebras}, journal = {Mathematical Structures in Computer Science}, year = 1995, key = {Reichel}, volume = 5, pages = {129-152} } @Book{Reiser91, Key = "Reiser", Author = "Martin Reiser", Title = "The Oberon System: user guide and programmer's manual", Publisher = "ACM Press", Year = 1991, Address = NY } @InProceedings{Remy-Vouillon97, key = {Remy \& Vouillon}, author = {Didier R\'{e}my and J\'{e}r\^{o}me Vouillon}, title = {{Objective ML}: A Simple Object-Oriented Extension of {ML}}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {40-53}, annote = {26 references.} } @Article{Remy-Vouillon98, key = {Remy \& Vouillon}, author = {Didier R\'{e}my and J\'{e}r\^{o}me Vouillon}, title = {{Objective ML}: An Effective Object-Oriented Extension of {ML}}, journal = TAPOS, year = 1998, volume = 4, number = 1, pages = {27-52}, annote = {35 references.} } @InProceedings{Remy92, Key = "Remy", Author = "Didier R\'{e}my", Title = "Projective {ML}", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "66-75", Organization = ACM, Month = Jun, Annote = "25 references." } @Article{Rentsch82, Key = "Rentsch", Author = "Tim Rentsch", Title = "Object-oriented Programming", Journal = SIGPLAN, Year = 1982, Month = Sep, Volume = 17, Number = 9, Pages = "51-57" } @PhdThesis{Reuhr92, author = "Karl Fritz Ruehr", title = "Analytical and Structural Polymorphism Expressed Using Patterns Over Types", type = "Ph.D. thesis", school = "EECS Dept., Univ.\ of Michigan, Ann Arbour, MI", year = "1992", } @Book{Revesz88, author = {G. E. Revesz}, title = {Lambda-Calculus Combinators and Functional Programming}, publisher = {Cmabridge University Press}, year = 1988, key = {Revesz}, volume = 4, series = {Cambridge Tracts in Theoretical Computer Science}, address = {Cambridge}, annote = {Many references.} } @InCollection{Reynolds81, Key = "Reynolds", Author = "John C. Reynolds", Title = "The Essence of ALGOL", BookTitle = "Algorithmic Languages", Publisher = "IFIP, North-Holland", Address = "Amsterdam", Year = 1981, Pages = "345-372", Editor = "J. W. de Bakker and J. C. van Vliet", Annote = "Principles behind ALGOL. 29 references." } @TechReport{Reynolds81b, Key = "Reynolds", Author = "John C. Reynolds", Title = "Preliminary Design of the Programming Language Forsythe", Institution = CMU, Address = "Pittsburgh, Penn.", Year = 1988, Month = Jun, Number = "CMU-CS-88-159", Annote = "10 references." } @InProceedings{Reynolds93, Key = "Reynolds", Author = "John C. Reynolds", Title = "An Introduction to Logic Relations and Parametric Polymorphism", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "155-156", Annote = "9 references." } @TechReport{Reyonlds93b, Key = "Reyonlds", Author = "Joseph Reyonlds", Title = "A literate, executable, denotational semantics of simple C++ declarations", Institution = "Iowa State University, Department of Computer Science", Year = 1993, Number = "TR93-15", Address = "Ames, Iowa, 50011", Month = May, Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu." } @TechReport{Richards-Evans-Mabee74, Key = "Richards \& Evans \& Mabee", Author = "Martin Richards and Evans, Jr., Arthur and Robert F. Mabee", Title = "The BCPL Reference Manual", Institution = MITLCS, Year = 1974, Number = "TR-141", Month = Dec, Annote = "BCPL is a low-level language without types. It is used for systems programming." } @InProceedings{Richards69, Key = "Richards", Title = "BCPL: A Tool for Compiler Writing and System Programming", Author = "Martin Richards", BookTitle = "Proceedings AFIPS Spring Joint Computer Conference, Boston, Mass.", Organization = AFIPS, Year = 1969, Month = May, Pages = "557-566", Annote = "An overview of BCPL. 8 references." } @TechReport{Richardson-Carey-Schuh89, Key = "Richardson \& Carey \& Schuh", Author = "Joel E. Richardson and Michael J. Carey and Daniel T. Schuh", Title = "The Design of the {E} Programming Language", Institution = "Computer Sciences Department, University of Wisconsin-Madison", Number = 824, Month = Feb, Year = 1989, Annote = "An extension of C++ designed for writing data-intensive systems. 35 references." } @Article{Richardson-Carey-Schuh93, Key = "Richardson \& Carey \& Schuh", Author = "Joel E. Richardson and Michael J. Carey and Daniel T. Schuh", Title = "The Design of the {E} Programming Language", Journal = TOPLAS, Volume = 15, Number = 3, Month = July, Year = 1993, Pages = "494-534", Annote = "An extension of C++ designed for writing data-intensive systems. 35 references." } @InProceedings{Riecke-Viswanathan95, Key = {Riecke \& Viswanathan}, Author = {Jon G. Riecke and Ramesh Viswanathan}, Title = "Isolating Side Effects in Sequential Lanugages", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "1-12", Annote = "43 references." } @TechReport{Riecke89, Key = "Riecke", Author = "Jon Gary Riecke", Title = "Should a Function Continue?", Institution = MITLCS, Number = "TR-459", Month = Sep, Year = 1989 } @InCollection{Riecke90, Key = "Riecke", Author = "Jon G. Riecke", Title = "A Complete and Decidable Proof System for Call-by-value Equalities", BookTitle = "17th International Colloquium on Automata, Languages, and Programming (ICALP), Warwick, England", Publisher = Springer-Verlag, Year = 1990, Editor = "M. S. Paterson", Series = LNCS, Pages = "20-31", Address = NY, Month = Jul } @InCollection{Riecke91, Key = "Riecke", Author = "Jon G. Riecke", Title = "Full Abstract Translations between Functional Languages", BookTitle = "Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando", Publisher = ACM, Year = 1991, Month = Jan, Pages = "245-254", Annote = "25 references." } @Article{Riehle98, key = {Riehle}, author = {Richard Riehle}, title = {Java Applets in {Ada}}, journal = JOOP, year = 1998, volume = 11, number = 3, month = Jun, pages = {72-75} } @Article{Ritchie-etal78, Key = "Ritchie, {\em et al.}", Author = "D. M. Ritchie and S. C. Johnson and M. E. Lesk and B. W. Kernighan", Title = "The {C} Programming Language", Journal = BSTJ, Volume = 57, Number = 6, Month = "July-August", Year = 1978, Annote = "5 references." } @TechReport{Roberts89, Key = "Roberts", Author = "Eric S. Roberts", Title = "Implementing Exceptions in {C}", Month = Mar, Year = 1989, Institution = DECSRC, Number = 40, Note = "Order from src-report@src.dec.com", Annote = "11 references." } @Article{Robinson92, Key = "Robinson", Author = "J. A. Robinson", Title = "Logic and Logic Programming", Journal = CACM, Year = 1992, Volume = 35, Number = 2, Month = Mar, Pages = "40-65", Annote = "Logical connections to logic programming. 53 references and 7 more recommendations" } @Book{Roetzheim92, Key = "Roetzheim", Author = "William Roetzheim", Title = "Programming Windows with Borland C++", Publisher = "Ziff-Davis Press", Address = "Emeryville, CA", Year = 1992, Annote = "No references listed" } @Article{Roman-Cox89, Key = "Roman \& Cox", Author = "Gruia-Catalin Roman and Kenneth C. Cox", Title = "A Declarative Approach to Visualizing Concurrent Computations", Journal = "Computer", Year = 1989, Volume = 22, Number = 10, Month = Oct, Pages = "25-36", Annote = "13 references." } @Book{Roosta03, author = {Seyed H. Roosta}, title = {Foundataions of Programming Languages}, publisher = {Thompson}, year = 2003, key = {Roosta}, annote = {Concept-based textbook. Many references.} } @Article{Rosen92, Key = "Rosen", Author = "J.P. Rosen", Title = "What Orientation Should Ada Objects Take?", Journal = CACM, Month = Nov, Year = 1992, Volume = 35, Number = 11, Pages = "71-76", Annote = "13 references." } @InCollection{Rosolini91, Key = "Rosolini", Author = "Giuseppe Rosolini", Title = "An Exper Model for Quest", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "436-445", Annote = "23 references." } @InProceedings{Rosser82, Key = "Rosser", Author = "J. Barkley Rosser", Title = "Highlights of the History of the Lambda-Calculus", BookTitle = "Conference Record of the 1982 ACM Symposium On Lisp and Functional Programming, Pittsburgh, Pennsylvania", Organization = ACM, Month = Aug, Year = 1982, Pages = "216-225", Annote = "19 references." } @InProceedings{Rouaix90, Key = "Rouaix", Author = "Francois Rouanx", Title = "Safe Run-Time Overloading", BookTitle = "Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, Calif.", Organization = ACM, Month = Jan, Year = 1990, Pages = "355-366" } @Article{Rovner86, Key = "Rovner", Author = "Paul Rovner", Title = "Extending Modula-2 to Build Large, Integrated Systems", Journal = "IEEE Software", Volume = 3, Number = 6, Month = Nov, Year = 1986, Pages = "46-57", Annote = "Extended version of Modula-2, called Modula-2+, which provides exception handling, automatic storage management, and concurrency. Comparison of Modula-2 and CLU. 11 references." } @UnPublished{Ruehr, Key = "Reuhr", Author = "K. Fritz Ruehr", Title = "Analytical and Structural Polymorhisms", Note = " Obtained from Author.. kfr@quip.eecs.umich.edu", Annote = "21 references" } @TechReport{Rus90, Key = "Rus", Author = "Teodor Rus", Title = "Algebraic Construction of a Compiler", Institution = "Department of Computer Science, The University of Iowa", Address = "Iowa City, Iowa", Number = "90-01", Year = 1990, Annote = "70 references." } @Book{Rydeheard-Burstall88, Key = "Rydeheard \& Burstall", Author = "David E. Rydeheard and Rod M. Burstall", Title = "Computational Category Theory", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Year = 1988 } @Article{Rydeheard-Jones, Key = "Rydeheard \& Jones", Author = "David E. Rydeheard and Esther Dennis-Jones", Title = "Categorical ML - Category-Theoretic Modular Programming", Journal = "Formal Aspects of Computing", Volume = 5, Number = 4, Month = "Jul-Aug", Year = 1993 } @Article{Saar00, author = {Ruben Saar}, title = {Extension of Software Components Using Multimethods}, journal = JOOP, year = 2000, key = {Saar}, volume = 13, number = 1, pages = {12-16}, month = {March/April}, annote = {11 references.} } @unpublished{Sabbah04, Key = {Sabbah}, Author = {Daniel Sabbah}, Month = {March}, Note = {Keynote address at AOSD 2004, available from \url{http://aosd.net/2004/archive/AOSD-FromPromiseToReality.ppt} on July 17, 2005}, Title = {Aspects---From Promise to Reality}, Year = {2004} } @InProceedings{Sabry-Felleisen92, Key = "Sabry \& Felleisen", Author = "Amr Sabry and Matthias Felleisen", Title = "Reasoning About Programs in Continuation-Passing Style", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "288-298", Organization = ACM, Month = Jun, Note = "Also TR-92-180, Department of Computer Science, Rice University, Houston, TX", Annote = "20 references" } @article{Sabry-Felleisen93, key = "Sabry \& Felleisen", author={Amr Sabry and Matthias Felleisen}, title={Reasoning About Programs in Continuation Passing Style}, journal={Lisp and Symbolic Computation}, volume=6, number={3/4}, pages={289-360}, year=1993, annote = "Discusses A-normal form." } @InProceedings{Sabry-Wadler96, key = {Sabry \& Wadler}, author = {Amr Sabry and Philip Wadler}, title = {A Reflection on Call-by-Value}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '96)", Series = SIGPLAN, Volume = "31(6)", Month = Jun, Year = 1996, organization = ACM, pages = {13-24}, annote = {18 references.} } @Article{Sabry98, author = {Amr Sabry}, title = {What is a purely functional language?}, journal = {Journal of Functional Programming}, year = 1998, key = {Sabry}, volume = 8, number = 1, month = Jan, pages = {1-22}, annote = {28 references.} } @Article{Sagiv-Reps-Wilhelm02, key = "Sagiv \& Reps \& Wilhelm", author = "Mooly Sagiv and Thomas W. Reps and Reinhard Wilhelm", title = "Parametric Shape Analysis via 3-Valued Logic", journal = TOPLAS, year = 2002, volume = 24, number = 3, pages = {217-298}, month = May, URL = {http://www.cs.tau.ac.il/~msagiv/toplas02.pdf} } @InCollection{Sakkinen88, Key = "Sakkinen", Author = "Markku Sakkinen", Title = "On the darker side of {C}++", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "162-176", Series = LNCS, Volume = 322, Annote = "29 references." } @Article{Salus98, key = {Salus}, author = {Peter H. Salus}, title = {Languages of the Net}, journal = SIGPLAN, year = 1998, volume = 33, number = 3, month = Mar, pages = {16-20}, annote = {Historical note on network programming languages.} } @Article{Sammet91, Key = "Sammet", Author = "Jean E. Sammet", Title = "Some Approaches to, and Illustrations of, Programming Language History", Journal = "Annuals of the History of Computing", Year = 1991, Volume = 13, Number = 1, Pages = "33-50" } @Article{Samples-Ungar-Hilfinger86, Key = "Samples \& Ungar \& Hilfinger", Author = "A. Dain Samples and David Ungar and Paul Hilfinger", Title = "SOAR: Smalltalk Without Bytecodes", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "107-118", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "High performance for Smalltalk-80 results from abandoning the Smalltalk Virtual Machine, compiling directly into machine code, linearizing the activation records on the stack, eliminating the object table, and replacing reference counting with generation scavenging. 22 references." } @InCollection{Sanders91, Key = "Sanders", Author = "Beverly Sanders", Title = "On the UNITY Design Decisions", BookTitle = "Research Directions in High-Level Parallel Programming Languages, Mont Saint-Michel, France, June 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "J. P. Banatre and D. Le Metayer", Series = LNCS, Address = NY, Volume = 574, Pages = "50-63", Annote = "19 references" } @InProceedings{Sands97, key = {Sands}, author = {David Sands}, title = {From {SOS} Rules to Proof Principles: An Operational Metatheory for Functional Languages}, booktitle = {Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France}, year = 1997, organization = ACM, address = NY, month = Jan, pages = {428-441}, annote = {41 references.} } @Manual{Sanella83, Key = "Sanella", Author = "M. Sanella", Title = "The Interlisp-D Reference Manual", Publisher = "Xerox Corp.", Address = "Palo Alto, Calif.", Year = 1983 } @Book{Sangal91, Key = "Sangal", Author = "Rajeev Sangal", Title = "Programming Paradigms in LISP", Publisher = "McGraw-Hill", Year = 1991, Address = NY, Annote = "73 references." } @Proceedings{Saraswat-vanHentenryck95, key = "Saraswat \& van Hentenryck", editor = "Vijay Saraswat and Pascal van Hentenryck", booktitle = "Principles and Practice of Constraint Programming.", publisher = "MIT Press", address = "Cambridge, MA", year = "1995" } @InCollection{Sargeant93, Key = "Sargeant", Author = "John Sargeant", Title = "Uniting Functional and Object-Oriented Programming", BookTitle = "Object Technologies for Advanced Software", Publisher = SV, Year = 1993, Editor = "Shojiro Nishio and Akinori Yonezawa", Series = LNCS, Volume = 742, Pages = "1-26", Month = Aug, Annote = "17 references." } @Book{Schaefer73, Key = "Schaefer", Author = "M. Schaefer", Title = "A Mathematical Theory of Global Program Optimization", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1973 } @TechReport{Schaffert-Cooper-Wilpolt85, Key = "Schaffert \& Cooper \& Wilpolt", Author = "Craig Schaffert and Topher Cooper and Carrie Wilpolt", Title = "Trellis Object-Based Environment: Language Reference Manual", Institution = "Eastern Research Lab, Digital Equipment Corp., Hudson, Mass.", Year = 1985, Number = "DEC-TR-372", Month = Nov, Annote = "The Owl language. This is a statically type checked, object-oriented language with inheritance. 1 reference." } @TechReport{Scheifler78, Key = "Scheifler", Author = "Scheifler", Title = "A Denotational Semantics of {CLU}", Institution = MITLCS, Year = 1978, Number = "TR-201", Month = May, Annote = "25 references." } @TechReport{Scheifler83, Key = "Scheifler", Author = "Bob Scheifler", Title = "Equate Modules", Institution = MITLCS, Year = 1983, Month = Oct, Type = "DSG Note", Number = 119, Annote = "Equate modules for Argus contain equates, can be parameterized, and have DUs. They allow control over the name space and grouping of equates." } @Book{Schmidt86, Key = "Schmidt", Author = "David A. Schmidt", Title = "Denotational Semantics: A Methodology for Language Development", Publisher = "Allyn and Bacon, Inc.", Address = "Boston, Mass.", Year = 1986 } @Book{Schmidt94, Key = "Schmidt", Author = "David A. Schmidt", Title = "The Structure of Typed Programming Languages", Publisher = "MIT Press", Year = 1994, Series = "Foundations of Computing Series", Address = "Cambridge, Mass.", Annote = "Hundreds of references." } @Unpublished{Schinz05, key = "Schinz", author = "Michel Schinz", title = "A {Scala} Tutorial for {Java} Programmers", note = {\url{http://scala.epfl.ch/docu/files/ScalaTutorial.pdf}}, month = Oct, year = 2005, annote = "Version 1.0.", URL = {http://scala.epfl.ch/docu/files/ScalaTutorial.pdf} } @Article{Schoenfinkel24, Key = "Schoenfinkel", Author = {Moses Sch\"{o}nfinkel}, Title = {\"{U}ber die Bausteine der mathematischen Logik}, Journal = "Math. Annalen", Year = 1924, Volume = 92, Pages = "305-316", Note = "An English translation appears in {\it From Frege to Godel\/}, edited by Jean van Heijenoort (Harvard Univ. Press, 1967), pages 355-366" } @Article{Schwartz74, Key = "Schwartz", Author = "J. T. Schwartz", Title = "Automatic and Semiautomatic Optimization in Setl", Journal = SIGPLAN, Year = 1974, Month = Apr, Volume = 9, Number = 4, Pages = "?", Note = "SIGPLAN Symposium on Very High Level Languages" } @TechReport{Schwartz75a, Key = "Schwartz", Title = "On programming: an Interim Report on the Setl Project. Installment I: Generalities. Installment II: The Setl Language and its Implementation.", Author = "Schwartz, J. T.", Institution = "New York University", Year = 1975, Number = "?" } @Article{Schwartz75b, Key = "Schwartz", Author = "J. T. Schwartz", Title = "Automatic Data Structure Choice in a Language of Very High Level", Journal = CACM, Year = 1975, Month = Dec, Volume = 18, Number = 12, Pages = "722-728" } @Article{Sciore89, Key = "Sciore", Author = "Edward Sciore", Title = "Object Specialization", Journal = TOOIS, Year = 1989, Volume = 7, Number = 2, Month = Apr, Pages = "103-122", Annote = "13 references." } @InProceedings{Scott-Finkel84, Key = "Scott \& Finkel", Author = "Michael L. Scott and Raphael A. Finkel", Title = "LYNX: A Dynamic Distributed Programming Language", BookTitle = "Proceedings 1984 International Conference on Parallel Processing", Pages = "395-401", Year = 1984, Organization = "?", Annote = "A programming language for operating system server applications. Makes some nice decisions. 18 references." } @InProceedings{Scott-Strachey71, Key = "Scott \& Strachey", Author = "D. S. Scott and C. Strachey", Title = "Toward a mathematical semantics for computer languages", BookTitle = "Proceedings Symposium on Computers and Automata", Series = "Microwave Institute Symposia Series", Volume = 21, Pages = "19-46", Year = 1971, Organization = "Polytechnic Institute of Brooklyn" } @Book{Scott00, key = {Scott}, author = {Michael L. Scott}, title = {Programming Language Pragmatics}, publisher = {Morgan Kaufmann}, year = 2000, address = {San Francisco}, annote = {Many references.} } @Article{Scott80, Key = "Scott", Author = "Dana S. Scott", Title = "Relating Theories of the $\lambda$-calculus", BookTitle = "To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism", Editor = "J. P. Seldin and J. R. Hindley", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980, Pages = "403-450", Annote = "Development of lambda calculus from cartesian closed categories. 14 references." } @TechReport{Scott81, Key = "Scott", Author = "Dana Scott", Title = "Lectures on a Mathematical Theory of Computation", Institution = "Oxford University Computing Laboratory, Programming Research Group", Number = "PRG-19", Type = "Technical Monograph", Year = 1981, Note = "Appears in Theoretical foundations of programming methodology : lecture notes of an international summer school, directed by F.L. Bauer, E.W. Dijkstra, and C.A.R. Hoare (Ridel, 1982)", Annote = "Lectures with exercises on denotational semantics." } @Book{Sebesta00, Key = "Sebesta", Author = "Robert W. Sebesta", Title = "A Little Book on Perl", Publisher = "Prentice Hall", Address = "Upper Saddle River, NJ", Year = 2000 } @Book{Sebesta03, Key = "Sebesta", Author = "Robert W. Sebesta", Title = "Concepts of Programming Languages", Publisher = "Benjamin/Cummings", Address = "Redwood City, Calif.", Year = 2003, Edition = "Sixth", Annote = "Textbook for undergraduate course in programming languages. Many references." } @Book{Sebesta89, Key = "Sebesta", Author = "Robert W. Sebesta", Title = "Concepts of Programming Languages", Publisher = "Benjamin/Cummings", Address = "Redwood City, Calif.", Year = 1989, Annote = "Textbook for undergraduate course in programming languages." } @Book{Sebesta93, Key = "Sebesta", Author = "Robert W. Sebesta", Title = "Concepts of Programming Languages", Publisher = "Benjamin/Cummings", Address = "Redwood City, Calif.", Year = 1993, Edition = "Second", Annote = "Textbook for undergraduate course in programming languages. Many references." } @Book{Sebesta96, Key = "Sebesta", Author = "Robert W. Sebesta", Title = "Concepts of Programming Languages", Publisher = "Benjamin/Cummings", Address = "Redwood City, Calif.", Year = 1996, Edition = "Third", Annote = "Textbook for undergraduate course in programming languages. Many references." } @Book{Sengupta-Korobkin94, Key = "Sengupta \& Korobkin", Author = "Saumyendra Sengupta and Carl Phillip Korobkin", Title = "C++ Object-Oriented Data Structures", Publisher = SV, Year = 1994, Address = NY, Annote = "42 references." } @inproceedings{Sereni-Moor03, key = {Sereni \& Moor}, title = {Static Analysis of Aspects}, author = {Damien Sereni and Oege de Moor}, crossref = {aosd03}, pages = {30-39} } @InCollection{Serrano99, key = {Serrano}, author = {Manuel Serrano}, title = {Wide Classes}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {391-415}, annote = {13 references.} } @Book{Sistoft-Hansen04, author = {Peter Sestoft and Henrik I. Hansen}, title = {C\# Precisely}, publisher = MITP, year = 2004, annote = {Covers C\# 2.0. 10 references.} } @InProceedings{Sethi80, Key = "Sethi", Author = "Ravi Sethi", Title = "A case study in specifying the semantics of a programming language", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = Jan, Year = 1980, Pages = "117-130", Annote = "Denotational semantics of C. 30 references." } @Article{Sethi83, Key = "Sethi", Author = "Ravi Sethi", Title = "Control Flow Aspects of Semantics-Directed Compiling", Journal = TOPLAS, Volume = 5, Number = 4, Month = Oct, Year = 1983, Pages = "554-595", Annote = "Semantics directed compiler generator, with a demonstration of the semantics of C. 48 references." } @Book{Sethi89, Key = "Sethi", Author = "Ravi Sethi", Title = "Programming Languages: Concepts and Constructs", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1989, Annote = "Textbook for undergraduate course in programming languages. Hundreds of references." } @Book{Sethi96, Key = "Sethi", Author = "Ravi Sethi", Title = "Programming Languages: Concepts and Constructs", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1996, Edition = "Second", Annote = "Textbook for undergraduate course in programming languages. Hundreds of references." } @Manual{Shalit92, Key = "Shalit", Title = "{Dylan}: An Object-Oriented Dymanic Language", Author = "Andrew Shalit", Organization = "Apple Computer", Address = "20525 Mariani Ave., Cupertino, CA 95014-6299", Year = 1992, Annote = "0 References." } @Book{Shalit97, Key = "Shalit", Title = "The {Dylan} Reference Manual: The Definitive Guide to the New Object-Oriented Dynamic Language", Author = "Andrew Shalit", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1997 } @Article{Shapiro-Warren93, Key = "Shapiro \& Warren", Author = "Ehud Shapiro and David H.D. Warren", Title = "The Fifth Generation Project: Personal Perspectives", Journal = CACM, Year = 1993, Month = Mar, Volume = 36, Number = 3, Pages = "46-48", Annote = "Introduction" } @Article{Shapiro89, Key = "Shapiro", Author = "Ehud Shapiro", Title = "The Family of Concurrent Logic Programming Languages", Journal = ACMCS, Volume = 21, Number = 3, Month = Sep, Year = 1989, Pages = "413-510", Annote = "Systematic survey. Many references." } @Book{Shapiro92, Key = "Shapiro", Author = "Stuart C. Shapiro", Title = "Common LISP: An Interactive Approach", Publisher = "Computer Science Press", Year = 1992, Address = NY, Annote = "1 reference." } @Article{Shaw-Wulf80, Key = "Shaw \& Wulf", Title = "Toward Relaxing Assumptions in Languages and Their Implementations", Journal = SIGPLAN, Author = "Mary Shaw and William A. Wulf", Volume = 15, Number = 3, Year = 1980, Month = Mar, Pages = "45-61", Annote = "Argues that the language designer should not preempt decisions by making lower levels unavailable to users, but should rather provide convenient defaults and the ability for the defaults to be changed. 20 references." } @Book{Shaw81a, Key = "Shaw", Author = "Mary Shaw", Title = "ALPHARD: Form and Content", Publisher = SV, Address = NY, Year = 1981, Annote = "Reprints of articles and some new material on Alphard." } @inproceedings{Sheard04, key = "Sheard", author = "T. Sheard", title = "Languages of the Future", booktitle = {OOPSLA '04: Proceedings of the 19th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, editor = "D. Schmidt", year = 2004, publisher = ACM, address = NY, month = Oct, series = SIGPLAN, volume = "39(11)", location = {Vancouver, BC}, } @Article{Sheard91, Key = "Sheard", Author = "Tim Sheard", Title = "Automatic Generation and Use of Abstract Structure Operators", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 4, Month = Oct, Pages = "531-557", Annote = "Generalizations of things like mapcar for arbitrary data structures defined by parameterized recursions, as in Standard ML datatypes. 8 references." } @Book{Shriver-Wegner87, Key = "Shriver \& Wegner", Editor = "Bruce Shriver and Peter Wegner", Title = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Annote = "Several papers, earlier versions of which appeared in the Object-Oriented Programming Workshop (see SIGPLAN Notices, Oct. 1986)." } @InCollection{Shultis85, Key = "Shultis", Author = "Jon Shultis", Title = "What is a Model? A Consumer's Perspective on Semantic Theory", BookTitle = "Mathematical Foundations of Programming Semantics, International Conference, Manhattan, Kansas", Editor = "Austin Melton", Month = Apr, Year = 1985, Series = LNCS, Volume = 239, Pages = "296-307", Publisher = SV, Address = NY, Annote = "24 references." } @InCollection{Sieber92, Key = "Sieber", Author = "Kurt Sieber", Title = "Reasoning about sequential functions via logical relations", BookTitle = "Proc. {LMS} Symposium on Applications of Categories in Computer Science, Durham 1991", Year = "1992", Editor = "M. P. Fourman and P. T. Johnstone and A. M. Pitts", Pages = "258--269", Publisher = "Cambridge University Press", Series = "{LMS} Lecture Note Series 177" } @InProceedings{Sieber93a, Key = "Sieber", Author = "Kurt Sieber", Title = "New Steps Towards Full Abstraction for Local Variables", BookTitle = {Proc. ACM SIGPLAN Workshop on State in Programming Languages}, Address = "Copenhagen, Denmark", Pages = "88-100", Year = 1993, Note = "Published as Yale University, Dept. of Comp. Sci. Technical Report YALEU/DCS/RR-968" } @InProceedings{Sieber93b, Key = {Sieber}, Author = {K. Sieber}, Title = {Call-by-value and non-determinism}, BookTitle = {International Conference on Typed Lambda Calculi and Applications}, Year = {1993}, Editor = {M. Bezem and J.F. Groote}, Publisher = SV, Series = LNCS, Number = {664}, Pages = {376-390}, Address = {Utrecht, The Netherlands}, Month = Mar, Note = {TLCA'93}, Annote = {8 references} } @InProceedings{Siebert00, key = "Siebert", author = "Fridtjof Siebert", title = "Eliminating External Fragmentation in a Non-Moving Garbage Collector for {J}ava", booktitle = "Compilers, Architectures and Synthesis for Embedded Systems (CASES2000)", address = "San Jose", month = nov, year = "2000", URL = "http://www.aicas.com/papers/cases2000_fsiebert.pdf", } @TechReport{Simonyi95, key = "Simonyi", author = "Charles Simonyi", title = "The Death of Programming Languages, the Birth of Intentional Programming", year = "1995", month = Sep, institution = "Microsoft, Inc.", Note = "Available from \url{http://citeseer.nj.nec.com/simonyi95death.html}" } @Article{Sinclair-Moon91, Key = "Sinclair \& Moon", Author = "Kenneth H. Sinclair and David A. Moon", Title = "Philosophy of Lisp", Journal = CACM, Year = 1991, Volume = 34, Number = 9, Month = Sep, Pages = "40-46", Annote = "9 references." } @TechReport{Skillicorn88, Key = "Skillicorn", Author = "D. B. Skillicorn", Title = "Techniques for Compiling and Executing Dataflow Graphs", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Month = Aug, Year = 1988, Number = "88-224", Annote = "18 references" } @Article{Slagle74, key = "Slagle", author = "James R. Slagle", title = "Automated Theorem-Proving for Theories with Simplifiers, Commutativity, and Associativity", journal = "Journal of the ACM", volume = 21, number = 4, pages = "622--642", month = Oct, year = 1974, ISSN = "0004-5411", annote = "Narrowing." } @Book{Slonneger-Kurtz95, key = "Slonneger \& Kurtz", author = "Kenneth Slonneger and Barry L. Kurtz", title = "Formal Syntax and Semantics of Programming Languages", publisher = "Addison-Wesley", year = 1995, address = NY, annote = "Over 50 references." } @TechReport{Slonneger89, Key = "Slonneger", Author = "Ken Slonneger", Title = "Denotational Semantics in Prolog", Institution = "Department of Computer Science, The University of Iowa", Address = "Iowa City, Iowa", Number = "89-02", Year = 1989, Annote = "9 references." } @Article{Smith-Samadzadeh91, Key = "Smith \& Samadzadeh", Author = "Lisa M. C. Smith and Mansur H. Samadzadeh", Title = "An Annotated Bibliography of Literate Programming", Journal = SIGPLAN, Volume = 26, Number = 1, Month = Jan, Year = 1991, Pages = "14-20", Annote = "32 references." } @InCollection{Smith-Ungar95, Key = "Smith \& Ungar", Author = "Randall B. Smith and David Ungar", Title = "Programming as an Experience: The Inspiration for Self", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, BookTitle = "ECOOP '95 - Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Pages = "303-330", Year = 1995, Annote = "32 references." } @InCollection{Smith91, Key = "Smith", Author = "Scott F. Smith", Title = "From Operational to Denotational Semantics", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "54-76", Annote = "18 references." } @Article{Smyth78, Key = "Smyth", Author = "M. B. Smyth", Title = "Power Domains", Journal = JCSS, Volume = 16, Number = 1, Month = Feb, Year = 1978, Pages = "23-36", Annote = "2 references." } @TechReport{Snyder90s, Key = "Snyder", Author = "W. Kirk Snyder", Title = "The {SETL2} Programming Language", Institution = "New York University, Courant Institute of Mathematical Sciences, Computer Science Division", Address = "251 Mercer St., New York, NY", Number = "490", Month = Jan, Year = 1990, Annote = "5 references." } @Book{Snyder99, author = {Snyder}, title = {A Programmer's Guide to {ZPL}}, publisher = MITP, year = 1999, key = {Snyder}, annote = {Some references at the end of chapters.} } @InProceedings{Sobel-Friedman99, key = {Sobel \& Friedman}, author = {Jonathan Sobel and Daniel P. Friedman}, title = {Recycling Continuations}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {251-260}, annote = {18 references.} } @Book{Sokolowski91, Key = "Sokolowski", Author = "S. Sokolowski", Title = "Applicative High Order Programming", Publisher = "Chapman \& Hall Computing", Year = 1991, Series = "Chapman and Hall Computing Series", Address = NY, Annote = "Excellent introduction to Standard ML for graduate students. 26 references." } @Article{Spector83, Key = "Spector", Author = "David Spector", Title = "Language Features to Support Reusability", Journal = SIGPLAN, Volume = 18, Number = 9, Month = Sep, Year = 1983, Pages = "59-61", Annote = "Requirements for a language designed for reusable programs. Says language needs effective control of name space." } @inproceedings{Spinczyk-etal02, key = {Spinczyk \& Gal \& Schr\"oder-Preikschat}, author = {Olaf Spinczyk and Andreas Gal and Wolfgang Schr\"oder-Preikschat}, title = {{AspectC++}: an aspect-oriented extension to the {C++} programming language}, booktitle = {Proceedings of the Fortieth International Conference on Tools Pacific}, year = {2002}, isbn = {0-909925-88-7}, pages = {53--60}, location = {Sydney, Australia}, publisher = {Australian Computer Society, Inc.}, keywords = {C++, aspect-oriented programming}, abstract = {Small embedded systems are forced to operate under extreme resource constraints. At the same time these systems are very complex and many concerns in the implementation of such systems are of highly crosscutting nature. The concept of aspect orientation can be applied to allow a modular implementation of these concerns. With AspectJ the first complete and powerful language extension for aspect-oriented programming (AOP) has been created. However, the costs of the Java run-time environment are not feasible for most embedded applications.This paper presents AspectC++ (Gal & Spinczyk 2001), a new language extension to C/C++ that provides powerful language elements to facilitate aspect-oriented programming even in domains with tight resource limitations. } } @Article{Spivey90, Key = "Spivey", Author = "Mike Spivey", Title = "A Functional Theory of Exceptions", Journal = "Science of Computer Programming", Volume = 14, Number = 1, Month = Jun, Year = 1990, Pages = "25-42", Annote = "10 references." } @Article{Spooner86, Key = "Spooner", Author = "C. R. Spooner", Title = "The ML Approach to the Readable All-Purpose Language", Journal = TOPLAS, Volume = 8, Number = 2, Month = Apr, Year = 1986, Pages = "215-243", Annote = "This is NOT about the ML of LCF fame, but a different language. The emphasis is on syntactic innovation. 20 references." } @Book{Springer-Friedman89, Key = "Springer \& Friedman", Author = "George Springer and Daniel P. Friedman", Title = "Scheme and the Art of Programming", Publisher = "McGraw-Hill", Year = 1989, Address = NY, Annote = "Introductory text on programming using Scheme. Discusses object-oriented programming and continuations. 21 references." } @Book{Springer-Friedman90, Key = "Springer \& Friedman", Author = "George Springer and Daniel P. Friedman", Title = "Scheme and the Art of Programming: Answer Book", Publisher = "McGraw-Hill", Year = 1990, Address = NY } @InProceedings{Srivastava-Oxley-Srivastava85, key = "Srivastava \& Oxley and Srivastava", author = {Amitabh Srivastava and Don Oxley and Aditya Srivastava}, title = {An (Other) Integration of Logic and Functional Programming}, year = 1985, booktitle = {Proceedings of the Symposium on Logic Programming}, organization = IEEE, pages = {254-260} } @Article{Staerk98, author = {Robert St\"{a}rk}, title = {Why the constant `undefined'? Logics of partial terms for strict and non-strict functional programming languages}, journal = {Journal of Functional Programming}, year = 1998, key = {St\"{a}rk}, volume = 8, number = 2, month = Mar, pages = {97-129}, annote = {30 references.} } @Book{Stallman-Moon-Weinreb84, Key = "Stallman \& Moon \& Weinreb", Author = "Richard Stallman and David Moon and Daniel Weinreb", Title = "Lisp Machine Manual (sixth edition)", Publisher = MITAI, Year = 1984, Address = "Cambridge, Mass.", Month = Jun, Annote = "The ZetaLisp language which includes Flavors is described. Flavors is a message based, object oriented style of programming, with a multiple inheritance mechanism. This edition includes common Lisp compatibility." } @InProceedings{Standish75, Key = "Standish", Author = "T. A. Standish", Title = "Extensibility in Programming Language Design", Booktitle = "Proceedings of the 1975 National Computer Conference", Organization = AFIPS, Year = 1975, Pages = "?" } @Book{Stanisfer92, Key = "Stanisfer", Author = "Ryan Stanisfer", Title = "{ML} Primer", Publisher = "Prentice Hall", Address = "Englewood Cliffs, NJ", Year = 1992, Annote = "20 references." } @Book{Stanisfer95, Key = "Stanisfer", Author = "Ryan Stanisfer", Title = "The Study of Programming Languages", Publisher = "Prentice Hall", Address = "Englewood Cliffs, NJ", Year = 1995, Annote = "Many references." } @Article{Stankovic-Ramamritham91, Key = "Stankovic \& Ramamritham", Author = "John Stankovic and Krithi Ramamritham", Title = "A New Paradigm for Hard-Deadline Real-Time Systems", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 3, Month = May, Pages = "62-72", Annote = "7 references." } @Book{Stark89, Key = "Stark", Author = "W. Richard Stark", Title = "LISP,Lore, and Logic", Publisher = SV, Address = NY, Year = 1989, Annote = "80 references." } @Book{Staugaard94, Key = "Staugaard", Author = "Andrew C. Staugaard", Title = "Structuring Techniques: An introduction using C++", Publisher = "Prentice-Hall", Year = 1994, Address = "Englewood Cliffs, NJ" } @TechReport{Steele-Sussman76, Key = "Steele \& Sussman", Author = "Guy Lewis {Steele Jr.} and Gerald Jay Sussman", Title = "LAMBDA the Ultimate Imperative", Institution = MITAI, Year = 1976, Month = Mar, Type = "AI Memo", Number = 353, Annote = "Models of common programming constructs. Partly tutorial. 35 references." } @TechReport{Steele-Sussman78a, Key = "Steele \& Sussman", Author = "Guy Lewis {Steele Jr.} and Gerald Jay Sussman", Title = "Revised Report on SCHEME A Dialect of LISP", Institution = MITAI, Year = 1978, Month = Jan, Type = "AI Memo", Number = 452, Annote = "Lexically scoped dialect of LISP. 13 references." } @TechReport{Steele-Sussman78b, Key = "Steele \& Sussman", Author = "Guy Lewis {Steele Jr.} and Gerald Jay Sussman", Title = "The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)", Institution = MITAI, Year = 1978, Month = May, Type = "AI Memo", Number = 453, Annote = "Several metacircular interpreters for different variants of LISP. Discussion of how the language design decisions affect the programming styles available to the user of the language. 24 references." } @TechReport{Steele-Sussman79a, Key = "Steele \& Sussman", Author = "Guy Lewis {Steele Jr.} and Gerald Jay Sussman", Title = "Design of LISP-based Processors or, SCHEME: a Dielectric LISP or, Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode", Institution = MITAI, Year = 1979, Month = Mar, Type = "AI Memo", Number = 514, Annote = "Design of LISP machines. 32 references." } @TechReport{Steele-Sussman79b, Key = "Steele \& Sussman", Author = "Guy Lewis {Steele Jr.} and Gerald Jay Sussman", Title = "The Dream of a Lifetime: A Lazy Scoping Mechanism", Institution = MITAI, Year = 1979, Month = Nov, Type = "AI Memo", Number = 527, Annote = "Racks, which are combinations of registers and stacks. 15 references." } @TechReport{Steele76a, Key = "Steele", Author = "Guy Lewis {Steele Jr.}", Title = "Arithmetic Shifting Considered Harmful", Institution = MITAI, Year = 1976, Month = Sep, Type = "AI Memo", Number = 378, Annote = "Shifting is not the same as division. 25 references." } @TechReport{Steele76b, Key = "Steele", Author = "Guy Lewis {Steele Jr.}", Title = "Lambda the Ultimate Declarative", Institution = MITAI, Year = 1976, Month = Nov, Type = "AI Memo", Number = 379, Annote = "Lambda used for renaming. Compiler optimizations. 44 references." } @TechReport{Steele77, Key = "Steele", Author = "Guy Lewis {Steele Jr.}", Title = "Debunking the ``Expensive Procedure Call'' Myth or, Procedure Call Implementations Considered Harmful or, Lambda: the Ultimate Goto", Institution = MITAI, Year = 1977, Month = Oct, Type = "AI Memo", Number = 443, Annote = "Any flowchart can be written as a structured program without introducing extra variables. 38 references." } @TechReport{Steele78, Key = "Steele", Author = "Guy Lewis {Steele Jr.}", Title = "RABBIT: A Compiler for SCHEME (A Study in Compiler Optimization)", Institution = MITAI, Year = 1978, Month = May, Number = "AI-TR-474", Annote = "33 references." } @TechReport{Steele80a, Key = "Steele", Author = "Guy L. {Steele Jr.}", Title = "Destructive Reordering of CDR-Coded Lists", Institution = MITAI, Year = 1980, Month = Aug, Type = "AI Memo", Number = 587, Annote = "Chuncky lists. 9 references." } @TechReport{Steele80b, Key = "Steele", Author = "G. L. {Steele Jr.}", Title = "The Definition and Implementation of a Computer Programming Language Based on Constraints ", Institution = MITAI, Number = "TR-595", Year = 1980, Month = Aug } @Book{Steele84, Key = "Steele", Author = "Guy L. {Steele Jr.}", Title = "Common LISP: The Language", Publisher = "Digital Press", Address = "Burlington, Mass.", Year = 1984, Annote = "Reference manual, including some notes on dialects and implementations." } @Book{Steele90, Key = "Steele", Author = "Guy L. {Steele Jr.}", Title = "Common LISP: The Language", Edition = "Second", Publisher = "Digital Press", Address = "Bedford, Mass.", Year = 1990, Annote = "Reference manual, including some notes on dialects and implementations. This edition contains a description of the Common LISP Object System (CLOS), section 28, packages, section 11, and the condition system. 57 references." } @InProceedings{Steele94, Key = "Steele", author = "Guy L. {Steele, Jr.}", title = "Building Interpreters by Composing Monads", pages = "472--492", booktitle = "Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon", organization = ACM, year = 1994, month = Jan, annote = "19 references." } @TechReport{Steelman78, Key = "Steelman", Author = "{High Order Language Working Group, Department of Defense}", Title = "Department of Defense Requirements for High Order Computer Programming Languages: Steelman", Institution = "U. S. Department of Defense", Month = Jun, Year = 1978 } @Article{Stefik-Bobrow-Kahn86, Key = "Stefik \& Bobrow \& Kahn", Author = "Mark J. Stefik and Daniel G. Bobrow and Kenneth M. Kahn", Title = "Integrating Access-Oriented Programming into a Multiparadigm Environment", Journal = "IEEE Software", Volume = 3, Number = 1, Month = Jan, Year = 1986, Pages = "10-18", Annote = "Description of the Loops knowledge programming system, which is built on Interlisp-D. Loops features access-oriented programming, that is, where fetching or storing data can cause procedures to be invoked. 11 references." } @InCollection{Stein-Lieberman-Ungar89, Key = "Stein \& Lieberman \& Ungar", Author = "Lynn Andrea Stein and Henry Lieberman and David Ungar", Title = "A Shared View of Sharing: The Treaty of {Orlando}", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 3, Pages = "31-48", Annote = "15 references" } @Book{Sterling-Shapiro86, Key = "Sterling \& Shapiro", Author = "Leon Sterling and Ehud Shapiro", Title = "The Art of Prolog", Publisher = "The MIT Press", Address = "Cambridge, Mass.", Year = 1986, Annote = "Explaination of logic programming, Prolog, and related programming techniques. 128 references." } @Book{Sterling-Shapiro94, Key = "Sterling \& Shapiro", Author = "Leon Sterling and Ehud Shapiro", Title = "The Art of Prolog", Edition = "Second", Publisher = "The MIT Press", Address = "Cambridge, Mass.", Year = 1994, Annote = "Explaination of logic programming, Prolog, and related programming techniques. Many references." } @Misc{Stewart98, author = {Katherine E. Stewart}, title = {Using the {XL} Compiler Options to Improve Application Performance}, howpublished = {http://www.rs6000.ibm.com/resource/technology/ options.html}, year = {1998} } @InCollection{Steyaert-etal93, Key = "Steyaert {\em et al}", Author = "P. Steyaert and W. Codenie and T. D'Hondt and K. D. Hondt and C. Lucas and M. V. Limberghen", Title = "Nested Mixin-Methods in Agora", Journal = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Note = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Pages = "197-219", Annote = "15 references" } @Book{Stoltenberg-Hansen-Lindstrom-Griffor94, key = {Stoltenberg-Hansen \& Lindstr\"{o}m \& Griffor}, author = {Viggo Stoltenberg-Hansen and Ingrid Lindstr\"{o}m and Edward R. Griffor}, title = "Mathematical Theory of Domains", publisher = "Cambridge University Press", year = 1994, volume = 22, series = "Cambridge Tracts in Theoretical Computer Science", address = NY, annote = "Many references." } @Book{Stoy77, Key = "Stoy", Author = "J. Stoy", Title = "Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1977, Annote = "Argues for types as first class values. 70 references." } @InProceedings{Strachey66, Key = "Strachey", Author = "C. Strachey", Title = "Towards a Formal Semantics", Booktitle = "IFIP TC2 Working Conference on Formal Language Description Languages for Computer Programming", Publisher = "North-Holland", Address = "Amsterdam", Year = 1966, Pages = "198-220" } @InProceedings{Strachey67, Key = "Strachey", Author = "C. Strachey", Title = "Fundamental Concepts in Programming Languages", Booktitle = "Notes", Organization = "International Summer School in Computer Programming", Year = 1967 } @Misc{Stratego06, key = {Stratego}, title = {Stratego Documentation}, howpublished = {\url{http://tinyurl.com/nr2c5}}, year = 2006, month = Mar } @Book{Strom-etal91, Key = "Strom, {\em et al.}", Author = "Robert E. Strom and David F. Bacon and Arthur Goldberg and Andy Lowry and Daniel Yellin and Shaula Alexander Yemini", Title = "Hermes: A Language for Distributed Computing", Publisher = "Prentice-Hall", Address = "Englewood Cliffs, NJ", Year = 1991, Month = Jan, Note = "ISBN 0-13-389537-8" } @Book{Stroustrup86a, Key = "Stroustrup", Author = "B. Stroustrup", Title = "The C++ Programming Language", Publisher = Addison-Wesley, Address = "Reading, Mass.", Note = "Corrected reprinting, 1987", Year = 1986 } @Article{Stroustrup86b, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "An Overview of C++", Journal = SIGPLAN, Volume = 21, Number = 10, Month = Oct, Year = 1986, Pages = "7-18", Note = "Object-Oriented Programming Workshop, June, 1986", Annote = "Object-oriented version of C. Single inheritance. 4 references." } @Article{Stroustrup89, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "The Evolution of C++: 1985 to 1989", Journal = "Computing Systems", Volume = 2, Number = 3, Month = "Summer", Year = 1989, Pages = "191-250", Annote = "Type-safe linkage, multiple inheritance. 13 references." } @Book{Stroustrup91, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "The {C}++ Programming Language: Second Edition", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1991 } @InCollection{Stroustrup93, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "The Evolution of C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "13-52", Address = "Cambridge, Mass.", Annote = "13 references." } @InCollection{Stroustrup93a, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "Possible Directions for C++", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "53-73", Address = "Cambridge, Mass.", Annote = "13 references." } @Book{Stroustrup97, Key = "Stroustrup", Author = "Bjarne Stroustrup", Title = "The {C}++ Programming Language: Third Edition", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1997 } @TechReport{Sturgis88, Key = "Sturgis", Author = "Howard E. Sturgis", Title = "Maintaining the Illusion of a Functional Language in the Presence of Side Effects", Institution = "Xerox Palo Alto Research Center", Number = "CSL-88-2", Month = Jul, Year = 1988, Annote = "19 references." } @Article{Sussman-Steele80, Key = "Sussman \& Steele", Author = "G. Sussman and G. Steele", Title = "Constraints: a Language for Expressing Almost-Hierarchical Descriptions", Journal = "Artificial Intelligence", Year = 1980, Volume = 14, Pages = "1-39" } @TechReport{Sussman-Winograd-Charniak71, Key = "Sussman \& Winograd \& Charniak", Author = "Gerald Jay Sussman and Terry Winograd and Eugene Charniak", Title = "Micro-PLANNER Reference Manual", Institution = MITAI, Type = "AI Memo", Number = "203A", Month = Dec, Year = 1971 } @inproceedings{Suvee-Vanderperren-Jonckers03, key = {Suv\'{e}e \& Vanderperren \& Jonckers}, Author = {Davy Suv\'{e}e and Wim Vanderperren and Viviane Jonckers}, Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {http://doi.acm.org/10.1145/643603.643606}, Isbn = {1-58113-660-9}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p21-suvee.pdf}, Location = {Boston, Massachusetts}, Pages = {21--29}, Publisher = {ACM Press}, Title = {JAsCo: an aspect-oriented approach tailored for component based software development}, Year = {2003} } @Manual{Symbolics84, Key = "Symbolics", Author = "{Symbolics, Inc.}", Title = "Lisp Machine Manual", Address = "Cambridge, Mass.", Month = Mar, Year = 1984, Note = "Eight volumes.", Annote = "Volume 3 defines ZetaLisp and Flavors. More kinds of method combination and woppers which are functional wrappers." } @Book{Szymanski91, Key = "Szymanski", Author = "Boleslaw K. Szymanski", Title = "Parallel Functional Languages and Compilers", Publisher = "ACM Press", Year = 1991, Series = "Frontier Series", Address = NY } @InCollection{Szyperski92, Key = "Szyperski", Author = "Clemens A. Szyperski", Title = "Import Is not Inheritance Why We Need both: Modules and Classes", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "19-32", Annote = "32 references" } @Article{Taft92, Key = "Taft", Author = "S. Tucker Taft", Title = "Ada 9X: A Technical Summary", Journal = CACM, Volume = 35, Number = 11, Month = Nov, Year = 1992, Pages = "77-82", Annote = "10 references." } @Article{Taft93, Key = "Taft", Author = "S. Tucker Taft", Title = "Ada 9X: From Abstraction-Oriented to Object-Oriented", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Pages = "127-136", Annote = "9 references." } @Article{Taivalsaari96, author = {Antero Taivalsaari}, title = {On the Notion of Inheritance}, journal = ACMCS, year = 1996, key = {Taivalsaari}, volume = 28, number = 3, month = Sep, pages = {438-479}, annote = {Many references.} } @Article{Taivalssari97, key = {Taivalssari}, author = {Antero Taivalssari}, title = {Classes versus Prototypes: Some Philosophical and Historical Observations}, journal = JOOP, year = 1997, volume = 10, number = 7, month = Nov, pages = {44-49}, annote = {The programming language Kevo. 23 references.} } @Article{Takeuchi-Okuno-Ohsato86, Key = "Takeuchi \& Okuno \& Ohsato", Author = "Ikuo Takeuchi and Hiroshi Okuno and Nobuyasu Ohsato", Title = "A List Processing Language TAO with Multiple Programming Paradigms", Journal = "New Generation Computing", Volume = 4, Year = 1986, Pages = "401-444", Annote = "Blend of logic programming, object-oriented programming, and traditional Lisp. All primitive data types are objects and accessed via message passing. Unification and normal function calls can nest. Concurrency. 19 references." } @InCollection{Talcott88, Key = "Talcott", Author = "C. Talcott", Title = "Rum: An intensional theory of function and control abstractions", BookTitle = "Foundations of Logic and Functional Programming, Workshop Proceedings, Trento, Italy, (Dec. 1986)", Editor = "M. Boscarol and L. Carlucci Aiello and G. Levi", Series = LNCS, Volume = 306, Year = 1988, Publisher = SV, Pages = "3-44", Annote = "Useful for transformational programming. 47 references." } @InProceedings{Talcott91, Key = "Talcott", Author = "Carolyn Talcott", Title = "Towards a Theory of Binding Structures: Extended Abstract", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "135-138", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = "May", Annote = "7 references." } @Article{Tanenbaum76, Key = "Tanenbaum", Author = "Andrew S. Tanenbaum", Title = "A Tutorial on Algol 68", Journal = ACMCS, Volume = 8, Number = 2, Month = Jun, Year = 1976 } @Article{Tang91, Key = "Tang", Author = "L. S. Tang", Title = "C++'s Destructors can be Destructive", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 10, Month = Oct, Pages = "44-52", Annote = "6 references." } @InCollection{Tarlecki92, Key = "Tarlecki", Author = "Andrzej Tarlecki", Title = "Modules for a Model-Oriented Specification Language: A Proposal for {\sf MetaSoft}", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "451-472", Annote = "41 references" } @inproceedings{Tarr-etal99, author = "Peri L. Tarr and Harold Ossher and William H. Harrison and Stanley M. {Sutton Jr.}", title = "{\em N} Degrees of Separation: Multi-Dimensional Separation of Concerns", booktitle = "ICSE '99: Proceedings of the 21st international conference on Software engineering", publisher = ACM, address = NY, pages = "107-119", year = "1999", url = "citeseer.nj.nec.com/tarr99degrees.html" } @TechReport{Tarver89, Key = "Tarver", Author = "Mark Tarver", Title = "DIALOG: A Theorem-proving Environment designed to unify Functional and Logic Programming", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Address = "Edinburgh, EH9 3JZ", Number = "ECS-LFCS-89-80 (also CSR-298-89)", Month = May, Year = 1989, Annote = "46 references." } @Article{Taylor92, Key = "Taylor", Author = "Hamish Taylor", Title = "A Lingua Franca for Concurrent Logic Programming", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 3, Month = Mar, Pages = "225-236", Annote = "Language combining features of GHC and Parlog. 21 references." } @InProceedings{Taylor99, key = {Taylor}, author = {Colin J. Taylor}, title = {A Theory of Core Fudgets}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {75-85}, annote = {31 references.} } @Book{Teale93, key = "Teale", author = "Steve Teale", title = "{C++ IOStreams} Handbook", publisher = "Addison-Wesley", year = 1993, address = "Reading, Mass." } @Article{Tennent76, Key = "Tennent", Author = "R. D. Tennent", Title = "The Denotational Semantics of Programming Languages", Journal = CACM, Volume = 19, Month = Aug, Pages = "437-453", Year = 1976 } @Article{Tennent77b, Key = "Tennent", Author = "R. D. Tennent", Title = "Language Design Methods Based on Semantic Principles", Journal = "Acta Informatica", Volume = 8, Pages = "97-112", Year = 1977 } @Book{Tennent91, Key = "Tennent", Author = "R. D. Tennent", Title = "Semantics of Programming Languages", Publisher = Prentice-Hall, Year = 1991 } @InCollection{Tennent94, Author = "R. D. Tennent", Title = "Correctness of data representations in {Algol}-like languages", Chapter = "23", Pages = "405--417", BookTitle = "A Classical Mind, Essays in Honour of {C. A. R. Hoare}", Editor = "A. W. Roscoe", Year = "1994", Publisher = "Prentice-Hall International" } @Book{TexasInstruments88, Key = "Texas Instruments", Author = "Texas Instruments", Title = "PC Scheme: Student Edition", Publisher = "The Scientific Press", Year = 1988, Address = "Redwood City, Calif." } @InProceedings{Thatte86, Key = "Thatte", Author = "Satish R. Thatte", Title = "Towards a Semantic Theory for Equational Programming Languages", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "332-342", Organization = ACM, Month = Aug, Annote = "24 references." } @TechReport{Theriault83, Key = "Theriault", Author = "Daniel Gary Theriault", Title = "Issues in the Design and Implementation of Act2", Institution = MITAI, Number = 728, Month = Jun, Year = 1983, Annote = "Discussion and definition of the actor-based language Act2. Run-time type checking based on pattern matching. Declarations and types and matchings unified. Concurrency, extensible syntax. 36 references." } @Book{Thomas-Hunt01, author = "David Thomas and Andrew Hunt", title = "Programming {Ruby}: The Pragmatic Programmer's Guide", publisher = "Addison-Wesley", address = "Reading, MA, USA", year = 2001, ISBN = "0-201-71089-7", annote = "8 references.", } @TechReport{Thompson92, author = "Simon Thompson", title = "Formulating Haskell", institution = "Computing Laboratory, University of Kent", type = "Technical Report No.", number = "29-92", address = "Canterbury, UK", year = "1992", url = "ftp://unix.hensa.ac.uk/pub/misc/ukc.reports/comp.sci/reports/29-92.ps.Z", month = Nov, keywords = "functional", abstract = "The functional programming language Haskell is examined from the point of view of proving programs correct. Particular features explored include the data type definition facilities, classes, the behaviour of patterns and guards and the monad approach to IO in the Glasgow Haskell compiler.", } @Book{Thompson96, author = {Simon Thompson}, title = {Haskell: The Craft of Functional Programming}, publisher = {Addison-Wesley}, year = 1996, key = {Thompson}, address = {Harlow, England}, annote = {Textbook on Haskell and functional programming. Many references.} } @Article{Thorn97, author = {Tommy Thorn}, title = {Programming Languages for Mobile Code}, journal = ACMCS, year = 1997, key = {Thorn}, volume = 29, number = 3, month = Sep, pages = {213-239}, annote = {Many references.} } @InProceedings{Tip-Sweeney97, key = {Tip \& Sweeney}, author = {Frank Tip and Peter F. Sweeney}, title = {Class Hierarchy Specialization}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {271-285}, annote = {25 references.} } @article{Tip95, key = "Tip", author = "F. Tip", title = "A survey of program slicing techniques", journal = "Journal of Programming Languages", volume = 3, pages = "121-189", year = 1995 } @Article{Tokoro-Ishikawa86, Key = "Tokoro \& Ishikawa86", Author = "Mario Tokoro and Yutaka Ishikawa", Title = "Concurrent Programming in Orient84/K: An Object-Oriented Knowledge Representation Language", Journal = SIGPLAN, Volume = 21, Number = 10, Month = Oct, Year = 1986, Pages = "39-48", Note = "Object-Oriented Programming Workshop, June, 1986", Annote = "10 references." } @inproceedings{Torgersen04, Key = "Torgersen", Author = {Torgersen, Mads}, Title = {The Expression Problem Revisited: Four new solutions using generics}, booktitle = {ECOOP 2004---Object-Oriented Programming, 18th European Conference, Oslo, Norway, Proceedings}, Editor = {Martin Odersky}, series = LNCS, volume = 3086, publisher = SV, address = NY, month = {July}, year = 2004, Pages = {123-143}, } @Article{Touati87, Key = "Touati", Author = "Herve Touati", Title = "Is Ada an Object Oriented Programming Language?", Journal = SIGPLAN, Volume = 22, Number = 5, Month = May, Year = 1987, Annote = "No references." } @Article{Touretzky-Lee89, Key = "Touretzky \& Lee", Author = "David S. Touretzky and Peter Lee", Title = "Visualizing Evaluation in Applicative Languages", Journal = CACM, Year = 1992, Volume = 35, Number = 10, Month = Oct, Pages = "49-59", Annote = "7 references." } @Book{Touretzky84, Key = "Touretzky", Author = "David S. Touretzky", Title = "LISP : a gentle introduction to symbolic computation", Publisher = "Harper & Row", Year = 1984, Address = NY } @Book{Touretzky86, Key = "Touretzky", Author = "David S. Touretzky", Title = "The Mathematics of Inheritance Systems", Year = 1986, Publisher = "Morgan Kaufman Publishers, Inc.", Address = "Los Altos, Calif.", Note = "Revision of the author's doctoral thesis at Carnegie-Mellon University, 1984", Annote = "Inheritance of properties with exceptions in languages like NETL. 50 references." } @Book{Touretzky90, Key = "Touretzky", Author = "David S. Touretzky", Title = "Common LISP : a gentle introduction to symbolic computation", Publisher = "Benjamin/Cummings Pub.", Year = 1990, Address = "Redwood City, Calif." } @book{Troelsen03, Address = {Berkeley, CA}, Author = {Andrew Troelsen}, Edition = {2nd}, Key = {Troelsen}, Publisher = {Apress}, Title = {C\# and the .NET platform}, Year = {2003}} @Article{Trott97, key = {Trott}, author = {Peter Trott}, title = {Programming Languages: Past, Present, and Future: Sixteen Prominent Computer Scientists Assess Our Field}, journal = SIGPLAN, year = 1997, volume = 32, number = 1, month = Jan, pages = {14-57}, annote = {Answers to several question by Aho, Allen, Dennis, Ferrante, Goldberg, Kennedy, Liskov, MacQueen, Sammet, Sethi, Smith, Steele, Stroustrup, Tanenbaum, Wegman, and Wulf.} } @InCollection{Tsichritzis-Nierstrasz89, Key = "Tsichritzis-Nierstrasz", Author = "D. C. Tsichritzis and O. M. Nierstrasz", Title = "Directions in Object-Oriented Research", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 20, Pages = "523-536", Annote = "17 references" } @inproceedings{Tucker-Krishnamurthi03, key = {Tucker \& Krishnamurthi}, title = {Pointcuts and Advice in Higher-Order Languages}, author = {David B. Tucker and Shriram Krishnamurthi}, crossref = {aosd03}, pages = {158-167} } @InProceedings{Tung92, Key = "Tung", Author = "Sho-Huan Simon Tung", Title = "Interactive Modular Programming in Scheme", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1992, Pages = "86-95", Organization = ACM, Month = Jun, Annote = "16 references." } @Article{Turini84, Key = "Turini", Author = "Franco Turini", Title = "Magma2: A Language Oriented toward Experiments In Control", Journal = TOPLAS, Volume = 6, Number = 4, Month = Oct, Year = 1984, Pages = "468-486", Annote = "Language and denotational semantic framework for user-defined control abstractions. 24 references." } @InCollection{Turner85, Key = "Turner", Author = "David A. Turner", Title = "Miranda: A non-strict functional language with polymorphic types", BookTitle = "Proceedings IFIP International Conference on Functional Programming Languages and Computer Architectures, Nancy, France", Publisher = SV, Editor = "J. Jouannaud", Year = 1985, Series = LNCS, Volume = 201, Pages = "1-16", Address = NY, Month = Sep, Annote = "12 references." } @Article{Turner86, Key = "Turner", Author = "David Turner", Title = "An Overview of Miranda", Journal = SIGPLAN, Month = Dec, Year = 1986, Volume = 21, Number = 12, Pages = "158-166", Annote = "A functional language with lazy evaluation, higher order functions, polymorphic strong typing and abstract types. 3 references." } @Book{Turner90, Key = "Turner", Editor = "David A. Turner", Title = "Research Topics in Functional Programming", Publisher = Addison-Wesley, Year = 1990, Series = "University of Texas at Austin Year of Programming Series", Address = NY } @InCollection{Turner90b, Key = "Turner", Author = "David A. Turner", Title = "An Overview of Miranda", Editor = "David A. Turner", BookTitle = "Research Topics in Functional Programming", Publisher = Addison-Wesley, Year = 1990, Series = "University of Texas at Austin Year of Programming Series", Address = NY, Pages = "1-16", Annote = "3 references." } @Article{Tyma98, key = {Tyma}, author = {Paul Tyma}, title = {Why are we using {Java} Again?}, journal = CACM, year = 1998, volume = 41, number = 6, month = Jun, pages = {38-42}, annote = {5 references.} } @Book{Ullman94, Key = "Ullman", Author = "Jeffry D. Ullman", Title = "Elements of {ML} Programming", Publisher = "Prentice Hall", Year = 1994, Address = "Englewood Cliffs, NJ", Annote = "0 references." } @Article{Ungar-Smith87, Key = "Ungar \& Smith", Author = "David Ungar and Randall B. Smith", Title = "Self: The Power of Simplicity", Journal = SIGPLAN, Volume = 22, Number = 12, Month = Dec, Year = 1987, Pages = "227-241", Note = "OOPSLA '87 Conference Proceedings, Norman Meyrowitz (editor), October 1987, Orlando, Florida.", Annote = "19 references." } @Article{Ungar-etal91, Key = "David Ungar, {\em et al.}", Author = {David Ungar and Craig Chambers and Bay-Wei Chang and Urs H\"{o}lzle}, Title = "Organizing Programs without Classes", Journal = "Lisp and Symbolic Computation", Year = 1991, Volume = 4, Number = 3 } @Article{Ungar-etal92, Key = "David Ungar, {\em et al.}", Author = {David Ungar and Randall B. Smith and Craig Chambers and Urs H\"{o}lzle}, Title = "Object, Message, and Performance: How They Coexist in Self", Journal = "Computer", Year = 1992, Volume = 25, Number = 10, Month = Oct, Pages = "53-64", Annote = "6 references" } @InCollection{Unstalu92, Key = "Unstalu", Author = "Tarmo Unstalu", Title = "Combining Object-Oriented and Logic Paradigms: A Modal Logic Programming Approach", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "98-113", Annote = "38 references" } @InCollection{Uselton, Key = "Uselton", Author = "A. C. Uselton", Title = "Structured Operational semantics for concurrency and hierarchy", Journal = LNCS, Number = 665, Editor = "P. Enjalbert and A. Finkel and K. W. Wagner", Publsiher = SV, Address = NY, Year = 1993, Note = "STACS 93, 10th Annual Symposium on the Theoretical Aspects of Computer Science, Germany, Feb 25-27, 1993. Proceedings", Page = "418-427", Annote = "9 references" } @inproceedings{ValleeRai-etal00a, Key = {Vall{\'e}e-Rai, {\em et al.}}, Author = {Raja Vall{\'e}e-Rai and Etienne Gagnon and Laurie J. Hendren and Patrick Lam and Patrice Pominville and Vijay Sundaresan}, Title = {Optimizing {Java} Bytecode Using the {Soot} Framework: Is It Feasible?}, Address = {London}, Booktitle = {Compiler Construction, 9th International Conference (CC 2000)}, Pages = {18-34}, Publisher = SV, Year = {2000} } @Article{Verschaeren-Cuyt-Verdonk97, key = {Verschaeren \& Cuyt \& Verdonk}, author = {Dennis Verschaeren and Annie Cuyt and Brigette Verdonk}, title = {On the need for predictable floating-point arithmetic in the programming languages {Fortran 90} and {C} / {C++}}, journal = SIGPLAN, year = 1997, volume = 32, number = 3, month = Mar, pages = {57-64}, annote = {16 references.} } @PhdThesis{Visser97, author = {Eelco Visser}, title = {Syntax Definition for Language Prototyping}, school = {University of Amsterdam}, year = 1997, key = {Visser}, address = {Amsterdam}, month = Sep, annote = {Parsing and disambiguation of context-free languages, extensions of first-order many-sorted algebraic specifications to include polymorphism and higher-order functions, and two-level grammars for polymorphic syntax definition. Many references.} } @InProceedings{Vitek-Horspool-Krall97, key = {Vitek \& Horspool \& Krall}, author = {Jan Vitek and R. Nigel Horspool and Andreas Krall}, title = {Efficient Type Inclusion Tests}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {142-157}, annote = {Packed encoding works best at runtime. 18 references.} } @InProceedings{Volanschi-etal97, key = {Volanschi, {\em et al.}}, author = {Eugen N. Volanschi and Charles Consel and Gilles Muller and Crispin Cowan}, title = {Declarative Specialization of Object-Oriented Programs}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {286-300}, annote = {39 references.} } @InProceedings{Waddell-Dybvig99, key = {Waddell \& Dybvig}, author = {Oscar Waddell and R. Kent Dybvig}, title = {Extending the Scope of Syntactic Abstraction}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {203-213}, annote = {Modules and macros. 18 references.} } @inproceedings{Wadler03, author = {Philip Wadler}, title = {Call-by-value is dual to call-by-name}, booktitle = {ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming}, year = 2003, pages = {189-201}, location = {Uppsala, Sweden}, doi = {http://doi.acm.org/10.1145/944705.944723}, publisher = ACM, address = NY } @article{Wadler03a, author = {Philip Wadler}, title = {The Girard--Reynolds isomorphism}, journal = {Information and Computation}, volume = 186, number = 2, year = 2003, pages = {260-284}, doi = {http://dx.doi.org/10.1016/S0890-5401(03)00141-X}, publisher = {Academic Press, Inc.} } @InProceedings{Wadler92, Key = "Wadler", Author = "Philip Wadler", Title = "The Essence of Functional Programming", BookTitle = "Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Year = 1992, Pages = "1-14", Organization = ACM, Month = Jan, Annote = "Programming with Monads. 31 references." } @InCollection{Wadler93, Key = "Wadler", Author = "Philip Wadler", Title = "A Syntax for Linear Logic", BookTitle = "Mathematical Foundations of Programming Semantics 9th International Conference, New Orleans, LA, USA, Proceedings", Publisher = SV, Year = 1993, Editor = "S. Brookes and M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 802, Pages = "513-529", Address = NY, Month = Apr, Annote = "25 references." } @Article{Wadler96, key = {Wadler}, author = {Philip Wadler}, title = "Lazy Versus Strict", journal = ACMCS, volume = 28, number = 2, pages = "318-320", month = Jun, year = 1996, annote = "8 references." } @Article{Wadler97, key = {Wadler}, author = {Philip Wadler}, title = {How to declare an Imperative}, journal = ACMCS, year = 1997, volume = 29, number = 3, month = Sep, pages = {240-263}, annote = {Treats monads, streams, continuations, side effects, and linear logic. 66 references.} } @Article{Wadler98, key = {Wadler}, author = {Philip Wadler}, title = {An angry half-dozen}, journal = SIGPLAN, year = 1998, volume = 33, number = 2, month = Feb, pages = {25-30}, annote = {Six case studies of functional programming in real life. 17 references.} } @Unpublished{Wadler98a, author = {Philip Wadler}, title = {The Expression Problem}, note = {Email to the Java Genericity mailing list}, key = {Wadler}, month = Dec, year = 1998, annote = {3 references.}, URL = {http://www.daimi.au.dk/~madst/tool/papers/expression.txt} } @InProceedings{Wadler99, key = {Wadler}, author = {Philip Wadler}, title = {The marriage of effects and monads}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '98)", Series = SIGPLAN, Volume = "34(1)", Month = Jun, Year = 1999, organization = ACM, pages = {63-74}, annote = {Shows how effect systems can be adapted to monads. 33 references.} } @Article{Wadsworth76, Key = "Wadsworth", Author = "Christopher P. Wadsworth", Title = "The Relation Between Computational and Denotational Properties For Scott's D$_{\infty}$-Models of the Lamba-Calculus", Journal = SIAMJC, Year = 1976, Volume = 5, Number = 3, Month = Sep, Pages = "488-521", Annote = "24 references." } @InCollection{Wagner88, Key = "Wagner", Author = "Eric G. Wagner", Title = "Semantics of Block Structured Languages with Pointers", BookTitle = "Mathematical Foundations of Programming Language Semantics 3rd Workshop, Tulane University, New Orleans, Lousiana, USA, April 1987", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 298, Publisher = SV, Address = NY, Year = 1988, Pages = "57-84" } @Article{Waite93, Key = "Waite", Author = "W. M. Waite", Title = "An Executable Language Definition", Journal = SIGPLAN, Year = 1993, Volume = 28, Number = 2, Month = Feb, Pages = "21-40", Annote = "12 references." } @Book{Waldo93, Key = "Waldo", Author = "Jim Waldo", Title = "The Evolution of C++", Publisher = "MIT Press", Year = 1993, Address = "Cambridge, Mass." } @Article{Walicki-Meldal97b, author = {Michal Walicki and Sigurd Meldal}, title = {Singular and plural nondeterministic parameters}, journal = SIAMJC, year = 1997, key = {Walicki \& Meldal}, volume = 26, number = 4, month = {Aug}, pages = {991-1005} } @Book{Walker-Miller90, Key = "Walker \& Miller", Author = "Terri C. Walker and Richard K. Miller", Title = "Expert systems handbook", Publisher = "Fairmont", Year = 1990, Address = "Lilburn, GA" } @InProceedings{Walker-Zdancewic-Ligatti03, key = {Walker \& Zdancewic \& Ligatti}, author = {David Walker and Steve Zdancewic and Jay Ligatti}, title = {A Theory of Aspects}, BookTitle = "Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '03)", Month = Aug, Year = 2003, organization = {ACM Press}, pages = {127--139}, annote = {17 references.} } @InProceedings{Wand-Kiczales-Dutchyn02, Key = {Wand \& Kiczales \& Dutchyn}, Author = {Mitchell Wand and Gregor Kiczales and Chris Dutchyn}, Title = {A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming}, Pages = "1-8", BookTitle = {FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002}, year = 2002, Editor = {Gary T. Leavens and Ron Cytron}, Organization = {Department of Computer Science, Iowa State University}, Series = {Technical Report}, number = {02-06}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-06/TR.pdf" } @Article{Wand-Kiczales-Dutchyn04, Key = {Wand \& Kiczales \& Dutchyn}, author = {Mitchell Wand and Gregor Kiczales and Chris Dutchyn}, title = {A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming}, journal = TOPLAS, year = 2004, volume = 26, number = 5, pages = {890-910}, note = {30 references.} } @inproceedings{Wand03, author = {Mitchell Wand}, title = {Understanding aspects: extended abstract}, crossref = {icfp03}, pages = {299--300}, } @Article{Wand77, Key = "Wand", Author = "Mitchell Wand", Title = "A Characterization of Weakest Preconditions", Journal = "Journal of Computer and Systems Sciences", Year = 1977, Volume = 15, Pages = "209-212", Annote = "2 references." } @Unpublished{Wand89c, author = {Mitchell Wand}, title = {Semantic Prototyping System {(SPS)} Reference Manual, Version 1.4 ({Chez Scheme})}, note = {In ftp://ftp.cs.indiana.edu/pub/scheme-repository/code/lang/sps.tar.gz}, key = {Wand}, year = 1989, month = {Apr} } @InCollection{Wand91, Key = "Wand", Author = "Mitchell Wand", Title = "Correctness of Procedure Representations in Higher-Order Assembly Language", BookTitle = "Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings", Publisher = SV, Year = 1992, Editor = "Stephen Brookes and Michael Main and Austin Melton and Michael Mislove and David Schmidt", Series = LNCS, Address = NY, Volume = 598, Pages = "294-311", Annote = "21 references." } @Book{Wang92, Key = "Wang", Author = "Paul S. Wang", Title = "An Introduction to ANSI C on Unix", Publisher = "Wadsworth", Year = 1992, Address = "Belmont, Calif.", Annote = "Learning C as a second language." } @Article{Wasserman-Gutz82, Key = "Wasserman \& Gutz", Author = "Anthony I. Wasserman and Steven Gutz", Title = "The Future of Programming", Journal = CACM, Volume = 25, Number = 3, Month = Mar, Year = 1982, Pages = "196-206", Annote = "50 references." } @Book{Wasserman80, Key = "Wasserman", Author = "Anthony I. Wasserman", Title = "TUTORIAL Programming Language Design", Publisher = "IEEE Computer Society Press", Address = "Los Alamitos, Calif.", Year = 1980, Note = "Initally presented at Compsac80, The IEEE Computer Society's Fourth International Computer Software \& Applications Conference, October 27-31, 1980. The IEEE catalog number is EHO 164-4.", Annote = "Reprints of classic papers." } @TechReport{Watson86, Key = "Watson", Author = "Paul Watson", Title = "The Parallel Reduction of Lambda Calculus Expressions", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-87-2-1", Month = Jul, Year = 1986, Note = "The author's Ph.D. dissertation.", Annote = "Model of computation for the parallel reduction of lambda calculus expressions. 56 references." } @Book{Watson91, Key = "Watson", Author = "Mark Watson", Title = "Common LISP Modules: Artifical Intelligence in the Era of Neural Networks and Chaos Theory", Publisher = SV, Year = 1991, Address = NY, Annote = "13 references." } @Book{Watson96, author = {Mark Watson}, title = {Programming in Scheme: learn Scheme through artificial intelligence programs}, publisher = SV, year = 1996, key = {Watson}, address = {NY} } @Article{Watt86, Key = "Watt", Author = "D. A. Watt", Title = "Executable Denotational Semantics", Journal = SPandE, Year = 1986, Volume = 16, Number = 1, Pages = "13-43" } @InCollection{Watt88, Key = "Watt", Author = "D. A. Watt", Title = "An Action Semantics of Standard ML", BookTitle = "Mathematical Foundations of Programming Language Semantics 3rd Workshop, Tulane University, New Orleans, Lousiana, USA, April 1987", Editor = "M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 298, Publisher = SV, Address = NY, Year = 1988, Pages = "572-598" } @Book{Watt90, Key = "Watt", Author = "David A. Watt", Title = "Programming Language Concepts and Paradigms", Publisher = "Prentice-Hall", Address = NY, Year = 1990, Series = "Prentice Hall International Series in Computer Science", Annote = "Undergraduate text in programming languages. A hundred or so references." } @Book{Watt91, Key = "Watt", Author = "David A. Watt", Title = "Programming Language Syntax and Semantics", Publisher = "Prentice-Hall", Address = NY, Year = 1991, Series = "Prentice Hall International Series in Computer Science", Annote = "Has a good discussion of action semantics. 58 references." } @Book{Webber03, author = {Adam Brooks Webber}, title = {Modern Programming Languages: A Practical Introduction}, publisher = {Franklin, Beedle \& Associates, Inc.}, year = 2003, key = {Webber}, annote = {Undergraduate textbook corresponding to ACM 2001 guidelines. References scattered in chapters.} } @InProceedings{Weeks-Felleisen93, Key = "Weeks \& Felleisen", Author = "Stephen Weeks and Matthais Felleisen", Title = "On the Orthogonality of Assignments and Procedures in Algol", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "57-70", Annote = "22 references" } @Article{Wegner90, Key = "Wegner", Author = "Peter Wegner", Title = "Concepts and Paradigms of Object-Oriented Programming", Journal = "OOPS Messenger", Volume = 1, Number = 1, Month = Aug, Year = 1990, Publisher = ACM, Pages = "7-87", Note = "Expansion of Oct 4 OOPSLA '89 Keynote Talk", Annote = "Discusses mega-programming. 75 references." } @TechReport{Wegner94, Key = "Wegner", Author = "Peter Wegner", Title = "Beyond Computable functions or Escape from the Turing Tarpit", Institution = "Department of Computer Science, Brown University", Address = "Brown University, Providence, Rhode Island 02912", Number = "CS-94-01", Month = Jan, Year = 1994, Annote = "8 references." } @Unpublished{Wei92, Key = "Wei", Author = "Dong Wei", Title = "Icon: An Interpreter-Based Approach", Month = Dec, Year = 1992, Note = "The author's master's project at Iowa State University, Department of Computer Science, Ames, Iowa", Annote = "8 references." } @Article{Weinand-Gamma-Marty88, Key = "Weinand \& Gamma \& Marty", Author = "Andre Weinand and Erich Gamma and Rudolf Marty", Title = "ET++ --- an Object-Oriented Application Framework in C++", Journal = SIGPLAN, Year = 1988, Volume = 23, Number = 11, Month = Nov, Pages = "46-57", Note = "OOPSLA '88 Conference Proceedings, Norman Meyrowitz (editor), September 1988, San Diego, California.", Annote = "19 references" } @Manual{Weinreb-Moon81, Key = "Weinreb \& Moon", Author = "D. Weinreb and D. Moon", Title = "Lisp Machine Manual", Institution = MITAI, Year = 1981 } @Article{Weiser84, author = {Mark Weiser}, title = {Program Slicing}, journal = IEEETSE, year = 1984, key = {Weiser}, volume = {SE-10}, number = 4, pages = {352-357}, month = Jul } @Article{Weiss-Ros98, key = {Weiss \& Ros}, author = {Gary M. Weiss and Johannes P. Ros}, title = {Implementing Design Patterns with Object-Oriented Rules}, journal = JOOP, year = 1998, volume = 11, number = 7, month = Nov, pages = {25-27,35}, annote = {The R++ language. 7 references.} } @Proceedings{Wexelblat78, Key = "Wexelblat", Editor = "Richard L. Wexelblat", Title = "Preprints --- History of Programming Languages Conference, Los Angeles, California", Organization = ACM, Month = Jun, Year = 1978, Note = "{\em ACM SIGPLAN Notices}, Volume 13, Number 8, August 1978" } @Proceedings{Wexelblat93, Key = "Wexelblat", Editor = "Richard L. Wexelblat", Title = "ACM SIGPLAN History of Programming Languages Conference (HOPL II), Preprints, Cambridge, MA, USA", Organization = ACM, Month = Mar, Year = 1993, Note = "{\em ACM SIGPLAN Notices}, Volume 28, Number 3" } @Book{Wiener-Pinson88a, Key = "Wiener \& Pinson", Author = "Richard C. Wiener and Lewis J. Pinson", Title = "An Introduction to Object-Oriented Programming and {C++}", Publisher = "Addison Wesley", Address = "Reading, Mass.", Year = 1988 } @Book{Wiener-Pinson88b, Key = "Wiener \& Pinson", Author = "Richard C. Wiener and Lewis J. Pinson", Title = "An Introduction to Object-Oriented Programming and {Smalltalk}", Publisher = "Addison Wesley", Address = "Reading, Mass.", Year = 1988 } @Book{Wiener-Wiatrowski98, key = {Wiener \& Wiatrowski}, author = {Richard S. Wiener and Claude Wiatrowski}, title = {Visual Object-Oriented Programming using Delphi}, publisher = {SIGS Publications, Inc.}, year = 1998, address = {NY} } @Book{Wiener95, key = "Wiener", author = "Richard C. Wiener", title = "Software Development using {Eiffel}: There can be Life after {C++}", publisher = "Prentice-Hall, Inc.", year = 1995, address = "Englewood Cliffs, NJ" } @Book{Wikstrom87, Key = {Wikstr\"{o}m}, Author = {\AA{}ke Wikstr\"{o}m}, Title = "Functional Programming using {Standard ML}", Year = 1987, Publisher = Prentice-Hall, Address = "Englewood Cliffs, NJ", Series = "International Series in Computer Science" } @Article{Wile90, Key = "Wile", Author = "David S. Wile", Title = "Adding Relational Abstraction to Programming Languages", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "128-139", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "19 references." } @Book{Wilensky84, Key = "Wilensky", Author = "Robert Wilensky", Title = "{LISPcraft}", Publisher = "W. W. Norton and Co., Inc.", Address = NY, Year = 1984 } @Article{Wilkes86, Key = "Wilkes", Author = "Maurice V. Wilkes", Title = "EMPIRIC: A Sketch of a Programming Language Designed to Facilitate a Fine Grain of Protection", Journal = SIGPLAN, Volume = 21, Number = 8, Month = Aug, Year = 1986, Pages = "16-27", Annote = "Distinguishes read, write, and execute access. Access checked at compile-time. 4 references." } @Article{Wilkes98, key = {Wilkes}, author = {Maurice V. Wilkes}, title = {A Revisionist Account of Early Language Development}, journal = {Computer}, year = 1998, volume = 31, number = 4, month = Apr, pages = {22-26}, annote = {Fortran's practicality vs. Algol's elegance. No references.} } @Unpublished{Wiltamuth-Hejlsberg02, Key = "Wiltamuth \& Hejlsberg", Author = "Scott Wiltamuth and Anders Hejlsberg", Title = "{C\#} Language Specification", Institute = "Microsoft, Inc.", Month = Dec, Year = 2002, Note = "From \url{http://msdn.microsoft.com/library/en-us/csspec/html/CSharpSpecStart.asp} (Date retrieved: April 2, 2003)" } @Book{Winder93, Key = "Winder", Author = "Russel Winder", Title = "Developing C++ Software", Publisher = "John Wiley and Sons Ltd.", Year = 1993, Edition = 2, Address = "Chichester, England", Annote = "0 references." } @Article{Winner84, Key = "Winner", Author = "Robert I. Winner", Title = "Unassigned Objects", Journal = TOPLAS, Volume = 6, Number = 4, Month = Oct, Year = 1984, Pages = "449-467", Annote = "Clearly presented discussion of what the design choices are for dealing with unassigned variables and objects in a programming language. 12 references." } @Article{Winograd79, Key = "Winograd", Author = "Terry Winograd", Title = "Beyond Programming Languages", Journal = CACM, Volume = 22, Number = 7, Month = Jul, Year = 1979, Pages = "391-401", Annote = "58 references." } @Book{Winskel93, Key = "Winskel", Author = "Glynn Winskel", Title = "The Formal Semantics of Programming Languages", Publisher = MITP, Year = 1993, Series = "Foundations of Computer Science Series", Address = "Cambridge, Mass.", Annote = "108 references." } @Book{Winston98, author = {Patrick Henry Winston}, title = {On To Smalltalk}, publisher = {Addison Wesley}, year = 1998, key = {Winston} } @InProceedings{Wirfs-Brock-Wilkerson88, Key = "Wirfs-Brock \& Wilkerson", Author = "Allen Wirfs-Brock and Brian Wilkerson", Title = "An Overview of Modular Smalltalk", BookTitle = "OOPSLA '88 Conference Proceedings", Series = SIGPLAN, Volume = "23(11)", Month = Nov, Year = 1988, Pages = "123-134" } @Article{Wirth-Hoare66, Key = "Wirth \& Hoare", Author = "N. Wirth and C. A. R. Hoare", Title = "A Contribution to the development of ALGOL", Journal = CACM, Volume = 9, Number = 6, Month = Jun, Year = 1966, Pages = "413-432", Annote = "Describes Algol W." } @Article{Wirth68, author = "Niklaus Wirth", title = "{PL360}, {A} Programming Language for the 360 Computers", journal = "Journal of the ACM", volume = "15", number = "1", pages = "37--74", month = jan, year = "1968", note = "See also \cite{Wirth68b}." } @Article{Wirth68b, author = "Niklaus Wirth", title = "Corrigendum: ``{PL360}, {A} Programming Language for the 360 Computers''", journal = "Journal of the ACM", volume = "15", number = "4", pages = "489--489", month = oct, year = "1968", note = "See \cite{Wirth68}." } @Article{Wirth71a, Key = "Wirth", Author = "N. Wirth", Title = "The Programming Language Pascal", Journal = "Acta Informatica", Volume = 1, Number = 1, Pages = "35-63", Year = 1971 } @InProceedings{Wirth74, Key = "Wirth", Author = "Niklaus Wirth", Title = "On the Design of Programming Languages", BookTitle = "Information Processing 74", Publisher = North-Holland, Address = NY, Year = 1974, Pages = "386-393", Annote = "11 references." } @Article{Wirth75, Key = "Wirth", Author = "Niklaus Wirth", Title = "An Assessment of the Programming Language Pascal", Journal = IEEETSE, Month = Jun, Year = 1975, Pages = "192-198", Annote = "13 references." } @Article{Wirth77a, Key = "Wirth", Author = "N. Wirth", Title = "Modula: a Language for Modular Multiprogramming. The Use of Modula. Design and Implementation of Modula", Journal = SPandE, Year = 1977, Volume = 7, Number = 1, Month = Jan, Pages = "3-84", Note = "Three separate articles in this issue.", Annote = "Introduces the concept of a module which simply controls visibility of identifiers. 11, 7 and 10 references." } @Article{Wirth77b, Key = "Wirth", Author = "Niklaus Wirth", Title = "Toward a Discipline of Real-Time Programming", Journal = CACM, Year = 1977, Volume = 20, Number = 8, Month = Aug, Pages = "577-583", Annote = "6 references." } @Book{Wirth85a, Key = "Wirth", Author = "Niklaus Wirth", Title = "Programming in Modula-2 (3rd corrected edition)", Publisher = SV, Year = 1985, Address = NY, Annote = "Refinements and simplifications to the module concept. Simple abstract types without parameterization. Systems programming features." } @Article{Wirth85b, Key = "Wirth", Author = "Niklaus Wirth", Title = "From Programming Language Design to Computer Construction", Journal = CACM, Volume = 28, Number = 2, Month = Feb, Year = 1985, Annote = "Turing Award lecture. Discussion of his past projects and the lessons he learned from them. Claims Pascal was not only for teaching but intended as a practical tool." } @Article{Wirth88a, Key = "Wirth", Author = "N. Wirth", Title = "From Modula to Oberon", Journal = SPE, Volume = 18, Number = 7, Month = Jul, Year = 1988, Pages = "661-670", Annote = "Rationale for the design of Oberon. Features record extension, procedures as components of records, and type inclusion. Eliminates many features of Modula-2. 7 references." } @Article{Wirth88b, Key = "Wirth", Author = "N. Wirth", Title = "The Programming Language Oberon", Journal = SPE, Volume = 18, Number = 7, Month = Jul, Year = 1988, Pages = "671-690", Annote = "Defining report for Oberon." } @Article{Wirth98, key = {Wirth}, author = {Niklaus Wirth}, title = {Hardware Compilation: Translating Programs into Circuits}, journal = {Computer}, year = 1998, volume = 31, number = 6, month = Jun, pages = {25-31}, annote = {4 references.} } @TechReport{Wolczko88, Key = "Wolczko", Author = "Mario I. Wolczko", Title = "Semantics of Object-Oriented Languages", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-88-6-1", Month = Mar, Year = 1988, Annote = "Framework for describing object-oriented languages using the denotational style of VDM. 68 references." } @Book{Wolfram88, Key = "Wolfram", Author = "Stephen Wolfram", Title = "Mathematica: a System for doing Mathematics by Computer", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1988 } @Article{Wolfram94, key = {Wolfram}, author = {D. A. Wolfram}, title = {A semantics for $\lambda$Prolog}, journal = TCS, year = 1994, volume = 136, number = 1, month = Dec, pages = {277-289}, annote = {24 references.} } @InProceedings{Wortman-Curdy80, Key = "Wortman \& Curdy", Author = "D. B. Wortman and J. R. Curdy", Title = "Early Experience with {Euclid}", Booktitle = "Fifth International Conference on Software Engineering", Organization = IEEE, Year = 1980 } @Article{Wos98, key = {Wos}, author = {Larry Wos}, title = {Programs that Offer Fast, Flawless, Logical Reasoning}, journal = CACM, year = 1998, volume = 41, number = 6, month = Jun, pages = {87-95}, annote = {The OTTER language and others. 12 references.} } @Article{Wulf-Shaw73, Key = "Wulf \& Shaw", Author = "W. Wulf and M. Shaw", Title = "Global Variable Considered Harmful", Journal = SIGPLAN, Year = 1973, Month = Feb, Volume = 8, Number = 2, Pages = "28-34", Annote = "Argues that Algol block structure is inadequate for hierarchical modularization." } @TechReport{Yalcinalp-etal89, Key = "Yalcinalp, {\em et al.}", Author = "L. U. Yalcinalp and L. S. Sterling and A. Lakhotia and A. Bansal", Title = "The COMPOSER's Guide to Meta-Programming", Institution = "Computer Engineering and Science, Case Institute of Technology, Case Western Reserve University", Address = "Cleveland, Ohio", Number = "CES-89-24", Month = Dec, Year = 1989, Annote = "36 references." } @Article{Yelland89, Key = "Yelland", Author = "P. M. Yelland", Title = "First Steps Towards Fully Abstract Semantics for Object-Oriented Languages", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 4, Month = Aug, Pages = "290-296" } @PhDThesis{Yelland91a, Key = "Yelland", Author = "P. M. Yelland", Title = "Models of Modularity: A study of Object Oriented Programming", School = "Trinity Colege", Year = 1991, Month = Mar, Annote = "100 references." } @InCollection{Yelland91b, Key = "Yelland", Author = "P. M. Yelland", Title = "Producing Abstract Models for Object-Oriented Languages", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "426-442", Address = NY, Annote = "Abstract denotational model for object-oriented languages. 13 references." } @InProceedings{Yelland99, key = {Yelland}, author = {Phillip M. Yelland}, title = {A Compositional Account of the {Java} Virtual Machine}, booktitle = {Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas}, year = 1999, organization = ACM, address = NY, month = Jan, pages = {57-69}, annote = {A core micro-JVM with a Haskell encoding. 24 references.} } @Article{Yellin-Strom91, Key = "Yellin \& Strom", Author = "Daniel M. Yellin and Robert E. Strom", Title = "INC: A Language for Incremental Computations", Journal = TOPLAS, Year = 1991, Volume = "13", Number = "2", Month = "Apr", Pages = "211-236", Annote = "35 references" } @Article{Yokote-Tokoro86a, Key = "Yokote \& Tokoro", Author = "Yasuhiko Yokote and Mario Tokoro", Title = "The Design and Implementation of Concurrent Smalltalk", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "331-340", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Synchronous and asynchronous (no-wait) message sending. Details of the implementation. 7 references." } @InCollection{Yokote-Tokoro86b, Key = "Yokote \& Tokoro", Author = "Yasuhiko Yokote and Mario Tokoro", Title = "Concurrent Programming in Concurrent Smalltalk", BookTitle = "Object Oriented Concurrent Computing", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1986, Note = "To appear." } @Book{Young92, Key = "Young", Author = "Douglas A. Young", Title = "Object-Oriented Programming with C++ and OSF/Motif", Publisher = "Prentice-Hall", Year = 1992, Address = "Englewood Cliffs, NJ", Annote = "29 references." } @TechReport{Zachary87, Key = "Zachary", Author = "Joseph Lawrence Zachary", Title = "A Framework for Incorporating Abstraction Mechanisms into the Logic Programming Paradigm", Institution = MITLCS, Month = Aug, Year = 1987, Number = "TR-405", Annote = "The author's Ph. D. thesis. Making logic programming suitable for writing large systems by supporting abstractions. The language Denali, which is an equational logic programming language, is described. 52 references." } @InProceedings{Zenger-Odersky01, key = {Zenger \& Odersky}, author = {Matthias Zenger and Martin Odersky}, title = {Extensible algebraic datatypes with defaults}, BookTitle = {ICFP '01: Proceedings of the sixth ACM SIGPLAN international conference on Functional programming}, Series = SIGPLAN, Volume = "36(10)", Month = Oct, Year = 2001, publisher = ACM, address = NY, pages = {241--252}, location = {Florence, Italy}, doi = {http://doi.acm.org/10.1145/507635.507665}, } @inproceedings{Zenger-Odersky05, key = "Zenger \& Odersky", Author = {Matthias Zenger and Martin Odersky}, Title = {Independently Extensible Solutions to the Expression Problem}, Booktitle = {The 12th International Workshop on Foundations of Object-Oriented Languages (FOOL 12)}, Publisher = {ACM}, Address = {Long Beach, California}, URL = {http://homepages.inf.ed.ac.uk/wadler/fool/program/10.html}, Year = {2005} } @TechReport{Zucker-Hung91, Key = "Zucker \& Hung", Author = "Jeffery I. Zucker and Hing-Kai Hung", Title = "Program Semantics, Intensional Logic and Compositionality", Institution = "Department of Computer Science and Systems, McMaster University", Year = 1991, Number = "91-11", Address = "Hamilton, Ontario Canada", Note = "To appear in Proceedings of Montreal Workshop in Programming Languages Theory. April 1991, (ed M. Ukada & P.J. Scott", Annote = "16 references." } @InCollection{deBakker-deVink91, Key = "de Bakker \& de Vink", Author = "J. W. de Bakker and E. P. de Vink", Title = "CCS for OO and LP", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 2, Advances in Distributed Computing (ADC) and Colloquium on Combining Paradigms for Software Development (CCPSD)", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 494, Pages = "1-28", Address = NY, Month = Apr } @Book{deBakker-deVink96, author = "Jaco de Bakker and Erik de Vink", title = "Control Flow Semantics", publisher = "MIT Press", address = "Cambridge, MA", year = "1996", ISBN = "0-262-04154-5", annote = "Includes a reading list and many references." } @inproceedings{drossopoulou99fragment, author = "Sophia Drossopoulou and Susan Eisenbach and David Wragg", title = "A Fragment Calculus --- Towards a Model of Separate Compilation, Linking and Binary Compatibility", booktitle = "Logic in Computer Science", pages = "147-156", year = "1999", address = "Trento, Italy", publisher = IEEE, } @Misc{kopi04, key = "{Kopi}", title = "{Kopi} project home page", organization = "Decision Management Systems GmbH", year = 2004, howpublished = "\url{http://www.dms.at/kopi}", } @Book{vanDeursen-Heering-Klint96, editor = {Arie van Deursen and Jan Heering and Paul Klint}, title = {Language Prototyping: An Algebraic Specification Approach}, booktitle = {Language Prototyping: An Algebraic Specification Approach}, publisher = {World Scientific}, year = 1996, key = {van Deursen \& Heering \& Klint}, volume = 5, series = {AMAST Series in Computing}, address = {Singapore}, annote = {The ASF+SDF formalism and meta-environment. Many references.} } @PhdThesis{vanDeursen94, key = "van Deursen", author = "Arie van Deursen", title = "Executable Language Definitions", school = "CWI", year = 1994, address = "P.O. Box, 94079, 1090 GB Amsterdam", type = "ILLC dissertation series", annote = "Uses ASF+SDF. About 100 references." } @Book{vanLeeuwen90a, Key = "van Leeuwen", Author = "Jan van Leeuwen", Title = "Handbook of Theoretical Computer Science", Publisher = MITP, Year = 1990, Pages = "577-631", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "Hundreds of references." } @Book{vanLeeuwen90b, Key = "van Leeuwen", Author = "Jan van Leeuwen", Title = "Handbook of Theoretical Computer Science", Publisher = MITP, Year = 1990, Pages = "577-631", Volume = "A: Algorithms and Complexity", Address = NY, Annote = "Hundreds of references." } @Book{vanRoy-Haridi04, author = {Peter Van Roy and Seif Haridi}, title = {Concepts, Techniques, and Models of Computer Programming}, publisher = MITP, year = 2004, key = {van Roy \& Haridi}, address = {Cambridge, Mass.}, annote = {Teaches various techniques using Mozart-Oz as a kernel language. 232 references.} } @Article{vanRoy-etal97, author = {Peter van Roy and Seif Haridi and Per Brand and Gert Smolka and Michael Mehl and Ralf Scheidhauer}, title = {Mobile Objects in Distributed Oz}, journal = TOPLAS, year = 1997, key = {van Roy, {\em et al.}}, volume = 19, number = 5, month = Sep, pages = {804-851}, annote = {66 references.} } @Article{vanWijngaarden-etal77, Key = "van Wijngaarden, {\em et al.}", Title = "Revised Report on the Algorithmic Language ALGOL 68", Author = "A. van Wijngaarden and B. J. Mailloux and J. E. L. Peck and C. H. Koster and M. Sintzoff and C. H. Lindsey and L. G. L. T. Meertens and R. G. Fisker", Journal = SIGPLAN, Volume = 12, Number = 5, Pages = "1-70", Year = 1977, Note = "This has also been published by Springer-Verlag, New York, N. Y., and in Acta Informatica, volume 5, pages 1-236 (1975).", Annote = "Algol 68 is a complex language with a forbidding but precise definition. It features recursive type definitions and discriminated unions. 19 references." } @Book{vanderLinden97a, key = "van der Linden", author = "Peter {van der Linden}", title = "Just {Java}", publisher = "Sun Microsystems Press", address = "2550 Garcia Avenue, Mountain View, CA 94043-1100, USA", edition = "Second", year = 1997, series = "Java series", url = "http://www.sun.com/books/books/vanderLinden2/vanderLinden2.html", keywords = "Java (computer program language); technology -- data processing", annote = "Includes CD-ROM. Several references." } @Book{vanderLinden97b, key = "van der Linden", author = "Peter {van der Linden}", title = "Not Just {Java}", publisher = "Sun Microsystems Press", address = "2550 Garcia Avenue, Mountain View, CA 94043-1100, USA", year = 1997, series = "Java series" } @Article{vanderWerf98, key = {van der Werf}, author = {Peter van der Werf}, title = {Values and Objects Revisited}, journal = JOOP, year = 1998, volume = 11, number = 4, month = Jul, pages = {25-34}, annote = {14 references.} } % $Id: se.bib,v 1.404 2006/09/03 20:02:55 leavens Exp $ % Software engineering, specification, verification. @TechReport{Abadi-Lamport88, Key = "Abadi \& Lamport", Author = "Mart\'{i}n Abadi and Leslie Lamport", Title = "The Existence of Refinement Mappings", Institution = DECSRC, Year = 1988, Month = Aug, Number = 29, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "A shorter version appeared in {\em Proceedings of the LICS Conference}, Edinburgh, Scotland, July 1988", Annote = "10 references." } @TechReport{Abadi-Lamport90, Key = "Abadi \& Lamport", Author = "Mart\'{\i}n Abadi and Leslie Lamport", Title = "Composing Specifications", Institution = DECSRC, Year = 1990, Number = 66, Month = Oct, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "26 references." } @Article{Abadi-Lamport93, Key = "Abadi \& Lamport", Author = "Mart\'{\i}n Abadi and Leslie Lamport", Title = "Composing Specifications", Journal = "ACM Transactions on Programming Languages and Systems", Month = Jan, Year = 1993, Volume = 15, Number = 1, Pages = "73-132", Annote = "27 references." } @InCollection{Abadi-Leino97, Key = "Abadi \& Leino", Author = "Mart\'{\i}n Abadi and K. Rustan M. Leino", Title = "A Logic of Object-Oriented Programs", BookTitle = "{TAPSOFT '97}: Theory and Practice of Software Development, 7th International Joint Conference {CAAP/FASE}, Lille, France", Publisher = SV, Year = 1997, Editor = "Michel Bidoit and Max Dauchet", Series = LNCS, Volume = 1214, Pages = "682-696", Address = NY, Note = {Expanded in DEC SRC report 161}, Annote = "24 references." } @TechReport{Abadi-Leino98, Key = "Abadi \& Leino", Author = "Mart\'{\i}n Abadi and K. Rustan M. Leino", Title = "A Logic of Object-Oriented Programs", institution = DECSRC, Year = 1998, number = 161, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "29 references." } @InProceedings{Abadi-Plotkin91, Key = "Abadi \& Plotkin", Author = "Mart\'{\i}n Abadi and Gordon D. Plotkin", Title = "A Logical View of Composition and Refinement", BookTitle = "Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando", Organization = ACM, Month = Jan, Year = 1991, Pages = "323-332", Annote = "Two logics of safety specifications for reactive systems. 25 references." } @TechReport{Abadi90, Key = "Abadi", Author = "Mart\'{\i}n Abadi", Title = "An Axiomatization of Lamport's Temporal Logic of Actions", Institution = DECSRC, Year = 1990, Number = 65, Month = Oct, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "12 references." } @Article{Abbott87, Key = "Abbott", Author = "Russell J. Abbott", Title = "Knowledge Abstraction", Journal = CACM, Volume = 30, Number = 8, Month = Aug, Year = 1987, Pages = "664-671", Annote = "Argues that knowledge abstraction allows software to move closer to the problem domain as opposed to data abstraction. 59 references." } @InCollection{Abraham-Mumm-etal03, key = {Abraham-Mumm, {\em et al.}}, author = {E. Abraham-Mumm and F.S. de Boer and W.P. {de Roever} and and M. Steffen}, title = {A Tool-supported Proof System for Multithreaded Java}, booktitle = {FMCO 2002: Formal Methods for Component Objects, Proceedings}, publisher = SV, year = 2003, editor = {Frank de Boer and Marcello Bonsangue and Susanne Graf and Willem-Paul de Roever}, series = LNCS } @Book{Abrial-Boerger-Langmaack96, editor = "J.-R. Abrial and E. B{\"o}rger and H. Langmaack", title = "Formal Methods for Industrial Applications: Specifying and Programming the Steam Boiler Controller", booktitle = "Formal Methods for Industrial Applications", publisher = SV, series = "Lecture Notes in Computer Science", volume = "1165", year = "1996", ISBN = "3-540-61929-1", url = "http://www.informatik.uni-kiel.de/~procos/dag9523/dag9523.html", annote = "A comparative collection of formal methods case studies for a real-time control application." } @InProceedings{Abrial-Hallerstede05, key = {Abrial \& Hallerstede}, author = {Jean-Raymond Abrial and Stefan Hallerstede}, title = {Decomposition, refinement and instantiation of generic models}, booktitle = {ASM 05}, month = {March}, year = {2005}, place = {Paris} } @Article{Abrial-Hallerstede06, key = {Abrial \& Hallerstede}, author = {Jean-Raymond Abrial and Stefan Hallerstede}, title = {Refinement, Decomposition, and Instantiation of Discrete Models: Application to {Event-B}}, journal = {Fundamenta Informaticae}, year = {2006}, volume = {XXI} } @Book{Abrial96, author = "J.-R. Abrial", title = "The {B}-Book: Assigning Programs to Meanings", publisher = "Cambridge University Press", ISBN = "0521496195", year = "1996", month = aug } @Article{Agarwal-etal00, key = "Agarwal, {\em et al.}", author = "Ritu Agarwal and Prabuddha De and Atish P. Sinha and Mohan Tanniru", title = "On the usability of {OO} representations", journal = CACM, volume = 43, number = 10, pages = "83-89", month = oct, year = 2000, URL = "http://www.acm.org/pubs/citations/journals/cacm/2000-43-10/p83-agarwal/", annote = "OO is not well suited to some tasks, but better suited to others. 12 references." } @InProceedings{Agerbo-Cornils98, key = {Agerbo \& Cornils}, author = {Ellen Agerbo and Aino Cornils}, title = {How to Preserve the Benefits of Design Patterns}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {134-143}, annote = {16 references.} } @Inproceedings{Aguiar00, key = {Aguiar}, author = {Ademar Aguiar}, title = {A minimalist approach to framework documentation}, booktitle = {OOPSLA '00: Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)}, year = 2000, pages = {143-144}, location = {Minneapolis, Minnesota}, doi = {http://doi.acm.org/10.1145/367845.368050}, publisher = {ACM Press}, address = {New York, NY, USA} } @Article{Ahmad-Steegmans98, key = {Ahmad \& Steegmans}, author = {W. Al-Ahmad and E. Steegmans}, title = {Specialization of Behavior: Comparison, Critique, and a New Approach}, journal = JOOP, year = 1998, volume = 10, number = 9, month = Feb, pages = {29-37}, annote = {Study of inheritance in various OO languages. 10 references.} } @article{Ahrendt-etal05, author = {W. Ahrendt and Th. Baar and B. Beckert and R. Bubel and M. Giese and R. H\"{a}hnle and W. Menzel and W. Mostowski and A. Roth and S. Schlager and P. H. Schmitt}, title = {The {KeY} Tool}, journal = {Software and System Modeling}, publisher = SV, volume = 4, pages = {32-54}, year = 2005 } @Article{Alagar-Periyasamy92, Key = "Alagar \& Periyasamy", Author = "Vangalur S. Alagar and K. Periyasamy", Title = "A Methodology for Deriving an Object-oriented Design from Functional Specifications", Journal = "Software Engineering Journal", Month = Jul, Year = 1992, Pages = "247-263", Annote = "23 references." } @Book{Alagar-Periyasamy98, Key = "Alagar \& Periyasamy", Author = "V. S. Alagar and K. Periyasamy", Title = "Specification of Software Systems", Publisher = SV, Address = NY, Year = 1998, Annote = "Several references in each chapter." } @Article{Alagar-Ramanathan91, Key = "Alagar \& Ramanathan", Author = "Vangalur S. Alagar and Geetha Ramanathan", Title = "Functional Specification and Proof of Correctness for Time Dependent Behaviour of Reactive Systems", Journal = "Formal Aspects of Computing", Year = 1991, Pages = "253-283", Annote = "18 references." } @InProceedings{Alagic-Kouznetsova02, key = {Alagic \& Kouznetsova02}, author = {Suad Alagic and Svetlana Kouznetsova}, title = {Behavioral Compatibility of Self-Typed Theories}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {585-608}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {Behavioral matching is an institution. 41 references.} } @InProceedings{Alagic-Royer-Crews06, key = {Alagic \& Royer \& Crews}, author = {Suad Alagi\'{c} and Mark Royer and Dennis Crews}, title = {Temporal Verification Theories for {Java-like} Classes}, booktitle = {Workshop on Formal Techniques for Java-like Programs (FTfJP)}, year = 2006, month = Jul, URL = {http://www.disi.unige.it/person/AnconaD/FTfJP06/paper08.pdf}, annote = {33 references.} } @Article{Alavi84, Key = "Alavi", Author = "Maryam Alavi", Title = "An Assessment of the Prototyping Approach to Information Systems Development", Journal = CACM, Volume = 27, Number = 6, Month = Jun, Year = 1984, Pages = "556-563", Annote = "Discusses results from studies of commercial products and an experiment comparing prototyping with standard life cycle techniques. Finds prototyping useful in many situations and discusses these and the problems of managing a prototype-based development. Annotations and 15 references." } @InProceedings{Aldrich-Chambers-Notkin02, key = {Aldrich \& Chambers \& Notkin}, author = {Jonathan Aldrich and Craig Chambers and David Notkin}, title = {Architectural Reasoning in {ArchJava}}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {334-367}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {28 references.} } @inproceedings{Aldrich-Chambers04, Key = {Aldrich \& Chambers}, Title = {Ownership Domains: Separating Aliasing Policy from Mechanism}, Author = {Jonathan Aldrich and Craig Chambers}, Annote = {This paper presents an ownership type system that is decoupled from the encapsulation relation in a program. This allows very fine grained specification, and static typechecking, of the aliasing relationships in a program. The system replaces the traditional owners-as-dominators property of ownership type systems with a link soundness property. The link soundness property says that the only inter-domain aliases are those between domains which are explicitly given permission to hold such aliases. The authors' ownership domains are significantly more fine-grained than my concern domains, with each object (not class) having its own member domains. Their related work section is a nice, concise summary of work on alias control in Java. }, Crossref = {ECOOP04}, Pages = {1-25} } @inproceedings{Aldrich04, Key = {Aldrich}, Author = {Jonathan Aldrich}, Title = {Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented Programming}, Crossref = {FOAL04}, Pages = {7-18}, Address = {Lancaster, UK}, Annote = {The paper presents TinyAspect, and ML-like core language with function and aspect declarations. The paper then describes and extension to TinyAspect, Open Modules, that allow module declarations that expose certain join points to outside code. Only function calls at the boundary of a module may be advised from outside the module; recursive calls to the same functions from within the module are not advised. The paper proves a version of Reynold's abstraction property, a bisimulation/observational equivalence result.} } @InCollection{Alencar-Goguen91, Key = "Alencar \& Goguen", Author = "A. J. Alencar and J. A. Goguen", Title = "{OOZE}: An Object Oriented {Z} Environment", BookTitle = "ECOOP '91: European Conference on Object Oriented Programming", Publisher = SV, Year = 1991, Editor = "P. America", Series = LNCS, Volume = 512, Pages = "180-199", Address = NY } @InCollection{Alencar-Goguen92, Key = "Alencar \& Goguen", Author = "A. J. Alencar and J. A. Goguen", title = "{OOZE}", BookTitle = "Object Orientation in {Z}", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Crossref = "Stepney-Barden-Cooper92", Pages = "79-94" } @InCollection{Alencar-Goguen94, Key = "Alencar \& Goguen", Author = "A. J. Alencar and J. A. Goguen", title = "Specification in {OOZE} with Examples", booktitle = "Object-Oriented Specification Case Studies", Publisher = "Prentice Hall", Year = 1994, Address = NY, Series = "The Object-Oriented Series", Crossref = "Lano-Haughton94", Pages = "158-183" } @InProceedings{Alexander-Rangarajan-Baraona99, title = "A Brief Summary of {VSPEC}", author = "Perry Alexander and Murali Rangarajan and Phillip Baraona", booktitle = "FM99: The World Congress in Formal Methods", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "1068-1086", annote = "28 references." } @Book{Alhir98, author = {Sinan Si Alhir}, title = {UML in a Nutshell}, publisher = {O'Reilly}, year = 1998, key = {Alhir}, address = {Sebastapol, CA}, annote = {39 references.} } @Article{Allen-Garlan-Ivers98, key = {Allen \& Garlan \& Ivers}, author = {Robert J. Allen and David Garlan and James Ivers}, title = {Formal Modeling and Analysis of the {HLA} Component Integration Standard}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {70-79}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {23 references.} } @Article{Allen-Garlan94, Key = "Allen \& Garlan", Author = "Robert Allen and David Garlan", Title = "Beyond Definition/Use: Architectural Interconnection", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 8, Month = Aug, Pages = "35-45", Annote = "14 references." } @InCollection{Alur-Henzinger92, Key = "Alur \& Henzinger", Author = "Rajeev Alur and Thomas A. Henzinger", Title = "Logics and Models of Real Time: A Survey", BookTitle = "Real Time: Theory in Practice", Publisher = SV, Year = 1992, Series = LNCS, Volume = 600, Pages = "74-106" } @Book{Ambler03, author = {Scott Ambler}, title = {The Elements of UML Style}, publisher = {Cambridge}, year = 2003, key = {Ambler}, address = {Cambridge, UK}, annote = {30 references.} } @Book{Ambler04, author = {Scott Ambler}, title = {The Object Primer Third Edition Agile Model-Driven Development with UML 2.0}, publisher = {Cambridge}, year = 2004, key = {Ambler}, address = {Cambridge, UK}, annote = {Many references.} } @Article{Ambriola-Bendix-Ciancarini90, Key = "Ambriola \& Bendix \& Ciancarini", Author = "V. Ambriola and L. Bendix and P. Ciancarini", Title = "The evolution of configuration management and version control", Journal = "Software Engineering Journal", Year = 1990, Volume = 5, Number = 6, Month = Nov, Pages = "303-310" } @TechReport{America-deBoer90a, Key = "America \& de Boer", Author = "Pierre America and Frank de Boer", Title = "A sound and complete proof theory for {SPOOL}", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = 505, Month = May, Year = 1990, Annote = "A Hoare-style proof system. No subtyping, no parallelism, no dynamic binding. 14 references." } @TechReport{America-deBoer90b, Key = "America \& de Boer", Author = "Pierre America and Frank de Boer", Title = "A Proof System for Process Creation", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = 506, Month = Apr, Year = 1990, Annote = "18 references." } @Article{America-deBoer90c, Key = "America \& de Boer", Author = "Pierre America and Frank de Boer", Title = "Proving Total Correctness of Recursive Procedures", journal={Information and Computation}, volume=84, number=2, year=1990, pages={129--164} } @TechReport{America86, Key = "America", Author = "Pierre America", Title = "A proof theory for a sequential version of POOL", Institution = "Philips Research Laboratories", Address = "Nederlandse Philips Bedrijven B. V.", Number = "0188", Month = Oct, Year = 1986, Annote = "Explores the possibilities for a Hoare-style proof system. No subtyping, no parallelism, no dynamic binding. 13 references." } @InCollection{Andersen-Reenskaug92, Key = "Andersen \& Reenskaug", Author = "Egil P. Andersen and Trygve Reenskaug", Title = "System Design by Composing Structures of Interacting Objects", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "133-152", Annote = "21 references" } @Unpublished{Andersen-etal93, Key = "Andersen, {\em et al}", Author = "Jorgen F. Sogaard-Andersen and Stephen J. Garland and John V. Guttag and Nancy A. Lynch and Anna Pogosyants", Title = "Computer Assisted Simulation Proofs", Month = Jan, Year = 1993, Note = "Obtained from the Authors" } @Article{Anderson-etal96, key = {Anderson, {\em et al.}}, author = {Richard J. Anderson and Paul Beame and Steve Burns and William Chan and Francesmary Modugno and David Notkin and Jon D. Reese}, title = {Model Checking Large Software Specifications}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {156-166}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {22 references.} } @Book{Andleigh-Gretzinger92, Key = "Andleigh \& Gretzinger", Author = "Prabhat K. Andleigh and Michael R. Gretzinger", Title = "Distributed Object-Oriented Data-Systems Design", Publisher = "PTR Prentice Hall", Year = 1992, Address = "Englewood Cliffs, New Jersey", Annote = "27 references." } @Book{Andrews-Gibbins88, key = {Andrews \& Gibbins}, author = {D. Andrews and P. Gibbins}, title = {An Introduction to Formal Methods of Software Development}, publisher = {The Open University Press}, year = 1988, address = {Milton Keynes, UK} } @TechReport{Andrews-etal93, author = "D.J. Andrews and others", title = "Information Technology Programming Languages --- {VDM-SL}: First Committee Draft Standard {CD1387-1}", institution = "International Standards Organization", year = "1993", key = "Andrews, {\em et al.}", type = "Document", number = "ISO/IEC JTC1/SC22/WG19 N-20", month = Nov, note = "\url{ftp://gatekeeper.dec.com/pub/standards/vdmsl/}", URL = "ftp://gatekeeper.dec.com/pub/standards/vdmsl/" } @Book{Andrews97, author = {Derek Andrews}, title = {A Theory and Practice of Program Development}, publisher = SV, year = 1997, key = {Andrews}, series = {FACIT}, address = {London, UK}, annote = {Introduction to formal software development based on VDM-SL.} } @InCollection{Antoniou-Sperschneider89, Key = "Antoniou \& Sperschneider", Author = "G. Antoniou and V. Sperschneider", Title = "On the verification of modules", BookTitle = "CSL '89", Publisher = SV, Year = 1989, Editor = "E. Gorger and H. Kleine Buning and M. M. Richter", Series = LNCS, Volume = 440, Pages = "16-35", Address = NY } @Article{Antoy-Gannon94, Key = "Antoy \& Gannon", Author = "S. Antoy and J. Gannon", Title = "Using Term Rewriting to Verify Software", Journal = IEEETSE, Year = 1994, Volume = 20, Number = 4, Month = Apr, Pages = "259-274", Annote = "30 references." } @article{Antoy-Hamlet00, key = {Antoy \& Hamlet}, author = {Sergio Antoy and Dick Hamlet}, title = {Automatically Checking an Implementation against its Formal Specification}, journal = IEEETSE, year = {2000}, month = Jan, volume = {26}, number = {1}, pages = {55-69}, annote = "Generates test oracles for C++ or Java from algebraic specifications with representation functions." } @Article{Apt-Francez-deRoever80, Key = "Apt \& Francez \& de Roever", Author = "K. R. Apt and N. Francez and W. P. de Roever", Title = "A Proof System for Communicating Sequential Processes", Journal = TOPLAS, Volume = 2, Number = 3, Month = Jul, Year = 1980, Pages = "359-385" } @InCollection{Apt-Olderog91, Key = "Apt \& 0lderog", Author = "Krzysztof R. Apt and {Ernst-Rudiger} 0lderog", Title = "Introduction to Program Verification", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "363-429", Address = NY, Annote = "ISBN 0-387-53961-1. 15 references." } @Book{Apt-Olderog97, key = "Apt \& 0lderog", author = {Krzystof R. Apt and {Ernst-R\"{u}diger} Olderog}, title = "Verification of sequential and concurrent programs", publisher = SV, address = NY, year = 1997, edition = "2nd ed.", series = "Springer-Verlag graduate texts in computer science series." } @Article{Apt81, Key = "Apt", Author = "Krzystof R. Apt", Title = "Ten Years of {Hoare}'s Logic: A Survey---Part {I}", Journal = TOPLAS, Volume = 3, Number = 4, Month = Oct, Year = 1981, Pages = "431-483", Annote = "Survey of soundness and completeness results in Hoare's logic. 55 references." } @Book{Arlow-Neustadt02, key = {Arlow \& Neustadt}, author = {Jim Arlow and Ila Neustadt}, title = {UML and the Unified Process: Practical Object-Oriented Analysis and Design}, publisher = {Addison-Wesley}, year = 2002, annote = {15 references.} } @Book{Arlow-Neustadt05, key = {Arlow \& Neustadt}, author = {Jim Arlow and Ila Neustadt}, title = {UML 2 and the Unified Process Second Edition: Practical Object-Oriented Analysis and Design}, publisher = {Addison-Wesley}, year = 2005, annote = {26 references.} } @Article{Arsac79, Key = "Arsac", Author = "J. J. Arsac", Title = "Syntactic Source-to-Source Transforms and Program Manipulation", Journal = CACM, Year = 1979, Month = Jan, Volume = 22, Number = 1, Pages = "43-54" } @Article{Ashcroft75, key = "Ashcroft", author = "Ashcroft", title = "Proving Assertions about Parallel Programs", journal = "Journal of Computer and System Sciences", volume = "10", pages = "110-135", year = "1975" } @TechReport{Assaad-Leavens01, key = {Assaad \& Leavens}, author = {Medhat G. Assaad and Gary T. Leavens}, title = {Alias-free parameters in {C} for Better Reasoning and Optimization}, institution = "Department of Computer Science, Iowa State University", year = 2001, number = "01-11", address = "226 Atanasoff Hall, Ames, Iowa 50011", month = Nov, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR01-11/TR.pdf", Note = "Available from \url{archives.cs.iastate.edu}.", Annote = "Applies the ACL approach to C. Describes the optimization opportunities that arise. 33 references." } @TechReport{Assaad01, key = {Assaad}, author = {Medhat G. Assaad}, title = {Alias-free parameters in {C} using multibodies}, institution = "Department of Computer Science, Iowa State University", year = 2001, number = "01-05", address = "226 Atanasoff Hall, Ames, Iowa 50011", month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR01-05/TR.pdf", Note = "Available from \url{archives.cs.iastate.edu}.", Annote = "Applies the ACL approach to C. 16 references." } @InCollection{Astesiano-Reggio93, Key = "Astesiano \& Reggio", Author = "Egidio Astesiano and Gianna Reggio", Title = "A Metalanguage for the Formal Requirement Specification of Reactive Systems", BookTitle = "Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, Odense, Denmark", Publisher = SV, Year = 1939, Editor = "J.C.P. Woodcock and P.G. Larsen", Series = LNCS, Volume = 670, Pages = "110-128", Address = NY, Month = Apr, Annote = "22 references." } @InProceedings{Atkey06, key = {Atkey}, author = {Robert Atkey}, title = {Specifying and Verifying Heap Space Allocation with {JML} and {ESC/Java2} (Preliminary Report)}, booktitle = {Workshop on Formal Techniques for Java-like Programs (FTfJP)}, year = 2006, month = Jul, URL = {http://www.disi.unige.it/person/AnconaD/FTfJP06/paper02.pdf}, annote = {10 references.} } @TechReport{Attardi-Simi82, Key = "Attardi \& Simi", Author = "Giuseppe Attardi and Maria Simi", Title = "Semantics of Inheritance and Attributions in the Description System Omega", Institution = MITAI, Type = "A.I. Memo", Number = 642, Month = Jan, Year = 1982, Annote = "26 references." } @InProceedings{Audsley-etal91, key = "Audsley, {\em et al.}", author = "N. C. Audsley and A. Burns and M. F. Richardson and A. J. Wellings", title = "Hard Real-Time Scheduling: The Deadline Monotonic Approach", booktitle = "Proceedings 8th {IEEE} Workshop on Real-Time Operating Systems and Software", address = "Atalanta", year = "1991" } @unpublished{BCore99, key = {B-Core}, author = {{B-Core (UK) Limited}}, title = {B-Toolkit Manuals}, note = {\url{http://www.b-core.com}}, year = 1999 } @Book{Baader-Nipkow98, author = {Franz Baader and Tobias Nipkow}, title = {Term Rewriting and All That}, publisher = {Cambridge University Press}, year = 1998, key = {Baader \& Nipkow}, address = {Cambridge, UK}, annote = {252 references.} } @Article{Babin-Lustman-Shoval91, Key = "Babin \& Lustman \& Shoval", Author = "Gilbert Babin and Francois Lustman and Peretz Shoval", Title = "Specification and Design of Transactions in Information Systems: A Formal Approach", Journal = IEEETSE, Year = 1991, Volume = 17, Number = 8, Month = Aug, Pages = "814-829", Annote = "14 references." } @InProceedings{Back-Butler95, key = "Back \& Butler", author = "R.-J. R. Back and M. Butler", title = "Exploring summation and product operators in the refinement calculus", series = LNCS, volume = "947", pages = "128ff", booktitle = "Mathematics of Program Construction, Kloster Irsee, Germany", editor = {B. M\"{o}ller}, year = 1995 } @Article{Back-Butler98, key = "Back \& Butler", author = "R.-J. R. Back and M. Butler", title = "Fusion and Simultaneous Execution in the Refinement Calculus", journal = "Acta Informatica", volume = 35, number = 11, pages = "921-949", year = 1998, annote = "29 references." } @Article{Back-Mikhajlova-vonWright00, Key = "Back \& Mikhajlova \& von Wright", author = {Ralph-Johan Back and Anna Mikhajlova and Joakim von Wright}, title = {Class Refinement as Semantics of Correct Object Substitutability}, journal = {Formal Aspects of Computing}, volume = 12, number = 1, pages = "18-40", year = 2000, url = "http://link.springer.de/link/service/journals/00165/bibs/0012001/00120018.htm" } @TechReport{Back-Mikhajlova-vonWright97, Key = "Back \& Mikhajlova \& von Wright", Author = "Ralph Back and Anna Mikhajlova and Joakim von Wright", Title = "Class Refinement as Semantics of Correct Subclassing", Institution = "Turku Centre for Computer Science", Year = 1997, Number = 147, month = Dec, note = "\newline {http://www.tucs.abo.fi/publications/techreports/TR147.html}", URL = {http://www.tucs.abo.fi/publications/techreports/TR147.html} } @TechReport{Back-Mikhajlova-vonWright98, Key = "Back \& Mikhajlova \& von Wright", Author = "Ralph Back and Anna Mikhajlova and Joakim von Wright", Title = "Modeling Component Environments and Interactive Programs Using Iterative Choice", Institution = "Turku Centre for Computer Science", Year = 1998, Number = 200, month = Sep, note = "\url{http://www.tucs.abo.fi/publications/techreports/TR200.html}", URL = {http://www.tucs.abo.fi/publications/techreports/TR200.html} } @InProceedings{Back-Mikhajlova-vonWright99, key = "Back \& Mikhajlova \& von Wright", author = "R. J. R. Back and Anna Mikhajlova and Joakim von Wright", title = "Reasoning About Interactive Systems", editor = {Jeannette M. Wing and Jim Woodcock and Jim Davies}, booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, volume = "1709", year = "1999", pages = "1460-1476", annote = "14 references." } @Article{Back-Sere90, Key = "Back \& Sere", AUTHOR = "R. J. R. Back and K. Sere", TITLE = " Stepwise Refinement of Parallel Algorithms", JOURNAL = "Science of Computer Programming", YEAR = 1990, VOLUME = 13, NUMBER = "2-3", PAGES = "133-180" } @TechReport{Back-vonWright89a, Key = "Back \& von Wright", Author = "R. J. R. Back and J. {von Wright}", Title = "Refinement Calculus, Part {I}: Sequential Nondeterministic Programs", Institution = {Abo Akademi University, Department of Computer Science, Lemmink\"{a}inengatan 14, 20520 Abo, Finland}, Number = "Ser. A, No 92", Year = 1989, Note = "Appears in {\em Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop}, Mook, The Netherlands, May/June 1989, Spring-Verlag, LNCS 430, J. W. de Bakker, et al, (eds.), pages 42--66" } @TechReport{Back-vonWright89b, Key = "Back", Author = "R. J. R. Back and J. {von Wright}", Title = "Refinement Calculus, Part {II}: Parallel and Reactive Programs", Institution = {Abo Akademi University, Department of Computer Science, Lemmink\"{a}inengatan 14, 20520 Abo, Finland}, Number = "Ser. A, No 93(?)", Year = 1989, Note = "Appears in {\em Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop}, Mook, The Netherlands, May/June 1989, Spring-Verlag, LNCS 430, J. W. de Bakker, et al, (eds.), pages 67--93" } @Article{Back-vonWright90, Key = "Back", Author = "R. J. R. Back and J. {von Wright}", Title = "Duality in Specification Languages: A Lattice-theoretical Approach", Journal = "Acta Informatica", Volume = 27, Number = 7, Month = Jul, Year = 1990, Pages = "583-626" } @Article{Back-vonWright92, Key = "Back \& Von Wright", Author = "R. J. R. Back and J. {von Wright}", Title = "Combining Angels, deamons and miracles in program specifications", Journal = TCS, Volume = 100, Number = 2, Month = Jun, Year = 1992, Pages = "365-383" } @TechReport{Back-vonWright96, author = "Ralph-Johan Back and Joakim von Wright", title = "Interpreting Nondeterminism in the Refinement Calculus", institution = "TUCS - Turku Centre for Computer Science", number = "TUCS-TR-35", month = jul # " 26", year = "1996", keywords = "Refinement Calculus, nondeterminism", url = "http://www.tucs.abo.fi/publications/techreports/TR35.html", abstract = "We introduce a simple programming language and define its predicate transformer semantics. We motivate the choice of the constructs for the language by algebra ic arguments, showing that the constructs are essentially the basic algebraic op erations that are available for predicate transformers, when these are viewed as forming a complete lattice enriched category. We then show that the statements in the language can be given a simple operational interpretation, as describing the interaction between a user and a computing system. This gives a general intuitive interpretation of angelic and demonic nondeterminism. We also consider the notion of correctness and refinement of program statements that this intuitive interpretation gives rise to, and show the connection between the user-system interpretation and the interpretation of program execution as a game." } @Book{Back-vonWright98, Key = "Back \& von Wright", Author = "Ralph-Johan Back and Joakim von Wright", Title = "Refinement Calculus: A Systematic Introduction", Series = {Graduate Texts in Computer Science}, Publisher = SV, Year = 1998, Annote = "Mathematical foundations of the refinement calculus. 144 references." } @Book{Back80, author = "R. J. R. Back", title = "Correctness Preserving Program Refinements: Proof Theory and Applications", series = "Mathematical Center Tracts", volume = 131, publisher = "Mathematical Centre", address = "Amsterdam", year = 1980 } @Article{Back88, Key = "Back", Author = "R. J. R. Back", Title = "A Calculus of Refinements for Program Derivations", Journal = "Acta Informatica", Volume = 25, Number = 6, Month = Aug, Year = 1988, Pages = "593-624" } @InProceedings{Back89, Key = "Back", author = "R. J. R. Back", title = "Refinement calculus, part {II}: Parallel and reactive programs", editor = "J. W. {de Bakker} and W.-P. {de Roever} and G. Rozenberg", booktitle = "Stepwise Refinement of Distributed Systems", other = "REX Workshop for Refinement of Distributed Systems", location = "Nijmegen, The Netherlands, 1989", publisher = SV, series = "LNCS 430", year = "1990" } @InCollection{Back93, author = "Ralph-Johan Back", title = "Refinement Calculus, Lattices and Higher Order Logic", booktitle = "Program Design Calculi", publisher = SV, editor = "F. L. Bauer and M. Broy and E. W. Dijkstra and D. Gries and C. A. R. Hoare", year = 1993 } @Book{Backhouse86, Key = "Backhouse", Author = "Roland C. Backhouse", Title = "Program Construction and Verification", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1986 } @Article{Bahlke-Snelting86, Key = "Bahlke \& Snelting", Author = "Rolf Bahlke and Gregor Snelting", Title = "The PSG System: From Formal Language Definitions to Interactive Programming Environments", Journal = TOPLAS, Volume = 8, Number = 4, Month = Oct, Year = 1986, Pages = "547-576", Annote = "43 references." } @InProceedings{Bailey-Davidson95, Key = {Bailey \& Davidson}, Author = {Mark W. Bailey and Jack W. Davidson}, Title = "A Formal Model and Specification Language for Procedure Calling Conventions", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "298-310", Annote = "For compilers or assembly language. 18 references." } @InProceedings{Ball-etal06, key = "Ball, {\em et al.}", author = "Thomas Ball and Ella Bounimova and Byron Cook and Vladimir Levin and Jakob Lichtenberg and Con McGarvey and Bohus Ondrusek and Sriram K. Rajamani and Abdullah Ustuner", title = "Thorough Static Analysis of Device Drivers", booktitle = {EuroSys'06}, pages = {73-85}, year = {2006} } @InProceedings{Ball-Rajamani02, author = "Thomas Ball and Sriram K. Rajamani", title = "The {SLAM} Project: Debugging System Software via Static Analysis", booktitle = "Conference Record of {POPL}'02: The 29th {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages", address = "Portland, Oregon", month = jan # " 16--18,", year = "2002", pages = "1-3", } @Article{Ball98, key = {Ball}, author = {Ball}, title = {On the Limit of Control Flow Analysis for Regression Test Selection}, journal = SIGSOFT, year = 1998, volume = 23, number = 2, month = Mar, pages = {134-142}, note = {ISSTA 98: Proceedings of the ACM SIGSOFT Internatioal Symposium on Software Testing and Analysis}, annote = {12 references.} } @Article{Balsamo-etal04, author = {Simonetta Balsamo and Antinisca {Di Marco} and Paola Inverardi and Marta Simeoni}, title = {Model-Based Performance Prediction in Software Development: A Survey}, journal = IEEETSE, year = 2004, key = {Balsamo, {\em et al.}}, volume = 30, number = 5, pages = {295-310}, month = {May} } @InProceedings{Balzer-Goldman-Wile76, Key = "Balzer \& Goldman \& Wile", Author = "R. Balzer and N. Goldman and D. Wile", Title = "On the Transformational Implementation Approach to Programming", BookTitle = "Proceedings of the Second International Conference on Software Engineering", Organization = IEEE, Year = 1976, Pages = "337-344" } @Article{Balzer-Swartout82, Key = "Balzer \& Swartout", Author = "R. Balzer and W. Swartout", Title = "On the Inevitable Intertwining of Specification and Implementation", Journal = CACM, Year = 1982, Month = Jul, Volume = 25, Number = 7, Pages = "438-440" } @InProceedings{Balzer67, Key = "Balzer", Author = "R. Balzer", Title = "Dataless Programming", BookTitle = "1967 Fall Joint Computer Conference", Organization = AFIPS, Year = 1967, Pages = "535-544" } @Article{Balzer81, Key = "Balzer", Author = "Robert Balzer", Title = "Transformational Implementation: an Example", Journal = IEEETSE, Year = 1981, Month = Jan, Volume = "SE-7", Number = 1, Annote = "System for transforming specifications into implementations under user control. An example is worked. An evaluation of this approach is discussed. 18 references." } @INPROCEEDINGS{Bancroft93, key = "Bancroft", author = {P. G. Bancroft}, title = {Pointers in refinement calculus: A case study}, booktitle = {Proceedings of the 7th Australian Software Engineering Conference}, year = 1993, month = jul, pages = "11-19", organization = {IREE} } @INCOLLECTION{Bancroft95, key = "Bancroft", author = {P. G. Bancroft and I. J. Hayes}, title = {A formal semantics for a language with type extension}, editor = {Jonathan P. Bowen and Michael Hinchey}, booktitle = {ZUM'95: The Z Formal Specification Notation}, number = 967, series = {Lecture Notes in Computer Science}, pages = "299-314", publisher = SV, year = 1995 } @InProceedings{Banerjee-Naumann02, key = {Banerjee \& Naumann}, author = {Anindya Banerjee and David A. Naumann}, title = {Representation Independence, Confinement and Access Control}, booktitle = POPL, year = 2002, pages = {166-177} } @article{Banerjee-Naumann05, author={Anindya Banerjee and David A. Naumann}, title={Ownership Confinement Ensures Representation Independence for Object-Oriented Programs}, journal=JACM, volume=52, number=6, year=2005, month=Nov, pages={894-960}, youngnote={To appear.}, URL={http://www.cs.stevens-tech.edu/~naumann/oceri.ps} } @inproceedings{Bannwart-Mueller05, author = {Fabian Y. Bannwart and Peter M{\"u}ller}, title = {A Logic for Bytecode}, booktitle = {Bytecode Semantics, Verification, Analysis and Transformation (BYTECODE)}, editor = {Fausto Spoto}, year = 2005, series = {Electronic Notes in Theoretical Computer Science}, volume = {141(1)}, pages = {255-273}, publisher = {Elsevier} } @Article{Bansler-Bodker93, Author = "Jorgen P. Bansler and Keld Bodker", Title = "A Reappraisal of Structured Analysis: Design in an Organizational Context", Journal = "ACM Transactions on Office Information Systems", Volume = 11, Number = 2, Pages = "165-193", Year = 1993 } @Article{Barbier-etal98, key = {Barbier, {\em et al.}}, author = {Franck Barbier and Henri Briand and B\'{e}n\'{e}dicte Dano and St\'{e}phane Rideau}, title = {The Executability of Object-Oriented Finite State Machines}, journal = JOOP, year = 1998, volume = 11, number = 4, month = Jul, pages = {16-24}, annote = {24 references.} } @Article{Baresi-Pezze98, author = {Luciano Baresi and Mauro Pezz\'{e}}, title = {Toward Formalizing Structured Analysis}, journal = TOSEM, year = 1998, key = {Baresi \& Pezze}, volume = 7, number = 1, month = Jan, pages = {80-107}, annote = {38 references.} } @Book{Barnes03, key = {Barnes}, author = {John Barnes}, title = {High Integrity Software: The {SPARK} Approach to Safety and Security}, publisher = {Addison Wesley}, year = 2003, address = NY, annote = {Includes CD-ROM. Background refrences in addition to the text's cited 18 references.} } @inproceedings{Barnett-Leino05, author = {Mike Barnett and K. Rustan M. Leino}, title = {Weakest-precondition of unstructured programs}, booktitle = {Program Analysis For Software Tools and Engineering (PASTE)}, year = 2005, month = Sep, pages = {82-87}, editor = {Michael D. Ernst and Thomas P. Jensen}, publisher = ACM } @InProceedings{Barnett-Leino-Schulte04, key = {Barnett \& Leino \& Schulte}, author = {Mike Barnett and K. Rustan M. Leino and Wolfram Schulte}, title = {The {Spec\#} Programming System: An Overview}, booktitle = {Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS 2004)}, editor = "Gilles Barthe and Lilian Burdy and Marieke Huisman and Jean-Louis Lanet and Traian Muntean", series = LNCS, volume = 3362, publisher = SV, year = 2005, pages = "49-69" } @TechReport{Barnett-Nachmanson-Schulte01, author = {Mike Barnett and Lev Nachmanson and Wolfram Schulte}, title = {Conformance Checking of Components Against Their Non-deterministic Specifications}, institution = {Microsoft Research}, year = 2001, key = {Barnett \& Nachmanson \& Schulte}, number = {MSR-TR-2001-56}, month = Jun, note = {Available from \url{http://research.microsoft.com/pubs}} } @InProceedings{BarnettNaumann04, key = {Barnett \& Naumann}, author = {Mike Barnett and David Naumann}, title = {Friends Need a Bit More: Maintaining Invariants Over Shared State}, booktitle = {Mathematics of Program Construction (MPC)}, editor = {Kozen, Dexter}, volume = 3125, month = Jul, year = 2004, series = LNCS, pages = {54-84}, publisher = SV } @InProceedings{Barnett-Schulte01, author = {Mike Barnett and Wolfram Schulte}, title = {Spying on Components: A Runtime Verification Technique}, key = {Barnett, {\em et al.}}, booktitle = {SAVCBS 2001 Proceedings: Specification and Verification of Component-Based Systems}, pages = {7-13}, year = 2001, editor = {Dimitra Giannakopoulou and Gary T. Leavens and Murali Sitaraman}, number = {01-09a}, series = {ISU CS Technical Report}, month = {Nov}, annote = {AsmL. 26 references.}, URL = {http://www.cs.iastate.edu/~leavens/SAVCBS/2001/papers-2001/barnett-schulte.pdf} } @Article{Barnett-Schulte01a, Author = "Mike Barnett and Wolfram Schulte", key = {Barnett \& Schulte}, title = "The {ABC}s of Specification: {AsmL}, Behavior, and Components", journal = "Informatica", month = Nov, year = 2001, volume = 25, number = 4, pages = {517-526} } @TechReport{Barnett-Schulte02, author = {Mike Barnett and Wolfram Schulte}, title = {Contracts, Components, and their Runtime Verification on the {.NET} Platform}, institution = {Microsoft Research}, year = 2002, key = {Barnett \& Schulte}, number = {MSR-TR-2002-38}, month = Apr, note = {Available from \url{http://research.microsoft.com/pubs}} } @Article{Barnett-Schulte03, Key = "Barnett \& Schulte", Author = "Mike Barnett and Wolfram Schulte", Title = "Runtime verification of {.NET} contracts", Journal = "The Journal of Systems and Software", Volume = 65, Number = 3, Month = Mar, Pages = "199-208", Year = 2003, Annote = "Translation of AsmL into .NET intermediate language (IL) to attach contracts to .NET types." } @INPROCEEDINGS{Barnett-etal00, AUTHOR = "Mike Barnett and Egon B{\"o}rger and Yuri Gurevich and Wolfram Schulte and Margus Veanes", TITLE = "Using {A}bstract {S}tate {M}achines at {M}icrosoft: A Case Study", BOOKTITLE = "Abstract State Machines: Theory and Applications", SERIES = LNCS, VOLUME = 1912, PAGES = {367-379}, MONTH = Mar, PUBLISHER = SV, ADDRESS = "Berlin, Germany", YEAR = {2000} } @article{Barnett-etal04, key = {Barnett, {\em et al.}}, author = {Mike Barnett and Robert DeLine and Manuel F{\"a}hndrich and K. Rustan M. Leino and Wolfram Schulte}, title = {Verification of Object-Oriented Programs with Invariants}, journal = JOT, volume = 3, number = 6, year = 2004, pages = {27-56}, URL = {http://tinyurl.com/m2a8j}, Annote = {Spec\# and the Boogie methodology.} } @InProceedings{Barnett-etal04a, key = {Barnett, {\em et al.}}, author = {Mike Barnett and David A. Naumann Wolfram Schulte and Qi Sun}, title = {99.44\% pure: Useful Abstractions in Specification}, editor = {Erik Poll}, booktitle="ECOOP Workshop FTfJP'2004 Formal Techniques for Java-like Programs", Month = Jun, Year = 2004, Pages="11-19", note = {\url{http://www.cs.ru.nl/ftfjp/2004/Purity.pdf}}, annote = "18 references." } @Unpublished{Barnett-etal05, key = {Barnett, {\em et al.}}, author = {Mike Barnett and David A. Naumann Wolfram Schulte and Qi Sun}, title = {99.44\% pure: Useful Abstractions in Specification}, note = {Obtained from the following URL: \url{http://guinness.cs.stevens-tech.edu/~naumann/publications/purityJoT.pdf}}, key = {Barnett, {\em et al.}}, month = {January}, year = 2005 } @Unpublished{Barnett-etal06, key = {Barnett, {\em et al.}}, author = {Mike Barnett and Bor-Yuh Evan Chang and Robert DeLine and Bart Jacobs and K. Rustan M. Leino}, title = {Boogie: A Modular Reusable Verifier for Object-Oriented Programs}, note = {FMCO 2005. Available from \url{http://research.microsoft.com/~leino/papers/krml160.pdf}}, year = 2006 } @InProceedings{Barnett-etal06a, key = {Barnett, {\em et al.}}, author = "Mike Barnett and David A. Naumann and Wolfram Schulte and Qi Sun", title = "Allowing State Changes in Specifications", booktitle = "International Conference on Emerging Trends in Information and Communication Security ({ETRICS})", note = {To appear.}, year = 2006, URL= {http://www.cs.stevens.edu/~naumann/publications/ETRICS.pdf} } @Article{Barrett-Kaplan-Wileden96, key = {Barrett \& Kaplan \& Wileden}, author = {Daniel Barrett and Alan Kaplan and Jack C. Wileden}, title = {Automated Support for Seamless Interoperability in Polylingual Software Systems}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {147-155}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {The PolySPIN approach and toolkit for connecting programs written in different languages. 21 references.} } @Article{Barringer-Cheng-Jones84, Key = "Barringer \& Cheng \& Jones", Author = "H. Barringer and J. H. Cheng and C. B. Jones", Title = "A Logic Covering Undefinedness in Program Proofs", Journal = "Acta Informatica", Volume = 21, Number = 3, Month = Oct, Year = 1984, Pages = "251-269", Annote = "Axiomatization and examples. 33 references." } @TechReport{Barringer86, Key = "Barringer", Author = "Howard Barringer", Title = "Using Temporal Logic in the Compositional Specification of Concurrent Systems", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-86-10-1", Month = Oct, Year = 1986, Annote = "20 references." } @Article{Barroca-McDermid92, key = "Barroca \& McDermid", author = "L. Barroca and J. A. McDermid", title = "Formal methods: Use and relevance for the development of safety critical systems", journal = "The Computer Journal", volume = 35, number = 6, pages = "579-599", month = dec, year = 1992 } @TechReport{Barstow77, Key = "Barstow", Author = "D. R. Barstow", Title = "Automatic Construction of Algorithms and Data Structures using a Knowledge Base of Programming Rules", Institution = "Stanford A.I. Lab", Number = 308, Year = 1977, Month = Nov } @InProceedings{Bartetzko-etal01, key = "Bartetzko, {\em et al.}", author = "D. Bartetzko and C. Fischer and M. Moller and H. Wehrheim", title = "Jass - {Java} with assertions", BookTitle = "Workshop on Runtime Verification held in conjunction with the 13th Conference on Computer Aided Verification, CAV'01", year = "2001", Note = "Published in {\em Electronic Notes in Theoretical Computer Science}, K. Havelund and G. Rosu (eds.), 55(2), 2001." } @InCollection{Bartussek-Parnas78, Key = "Bartussek & Parnas", Author = "W. Bartussek and D. L. Parnas", Title = "Using Assertions About Traces to Write Abstract Specifications for Software Modules", BookTitle = "Proceedings of the Second Conference of the European Cooperation on Informatics: Information Systems Methodology, October 10-12, 1978, London, UK", Series = LNCS, Editor = "G. Bracchi and P. C. Lockemann", Publisher = SV, Volume = 65, Year = 1978, Pages = "211-236" } @Article{Basili-Perricone84, Key = "Basili \& Perricone", Author = "Victor R. Basili and Barry T. Perricone", Title = "Software Errors and Complexity: An Empirical Investigation", Journal = CACM, Volume = 27, Number = 1, Month = Jan, Year = 1984, Pages = "42-52", Annote = "Observations from a particular medium sized project. Modified modules tended to have errors in data values and initializations. Module size and complexity inversely related to number of errors per line of code. Errors in modified modules are harder to correct than errors in new modules. Interface errors account for most errors of all types. Error corrections account for 62% of changes, enhancements account for 38% of changes. Other studies found error corrections account for 40-64% of all changes. 9 references." } @InProceedings{Basili-Turner75, Key = "Basili \& Turner", Author = "V. R. Basili and A. J. Turner", Title = "Iterative Enhancement: A Practical Technique for Software Development", BookTitle = "Proceedings of the First National Conference on Software Engineering", Organization = IEEE, Pages = "56-62", Year = 1975 } @Article{Basili-etal99, key = {Basili, {\em et al.}}, author = {Victor R. Basili and others}, title = {Final Report {NSF} Workshop on a Software Research Program For the 21st Century, Greenbelt, Maryland}, journal = SIGSOFT, year = 1999, volume = 24, number = 3, month = May, pages = {37-44} } @InCollection{Bastide-Sy-Palanque99, key = {Bastide \& Sy \& Palanque}, author = {R\'{e}mi Bastide and Ousmane Sy and Philippe Palanques}, title = {Formal Specification and Prototyping of {CORBA} Systems}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {474-494}, annote = {Java and its Jini mechanism. 9 references.} } @Article{Bates-Constable85, Key = "Bates \& Constable", Author = "Joseph L. Bates and Robert L. Constable", Title = "Proofs as Programs", Journal = TOPLAS, Volume = 7, Number = 1, Month = Jan, Year = 1985, Pages = "113-136", Annote = "The PRL program development system and its rationale. Aid in construction of formal explanations of programs. 40 references." } @Article{Batory-Geraci97, author = {Don Batory and Bart J. Geraci}, title = {Composition Validation and Subjectivity in {GenVoca} Generators}, journal = IEEETSE, year = 1997, key = {Batory \& Geraci}, volume = 23, number = 2, month = Feb, pages = {67-82}, annote = {58 references.} } @Article{Batory-OMalley92, Key = "Batory \& O'Malley", Author = "Don Batory and Sean O'Malley", Title = "The Design and Implementation of Hierarchical Software Systems with Reusable Components", Journal = TOSEM, Year = 1992, Volume = 1, Number = 4, Month = Oct, Pages = "355-398", Annote = "69 references." } @Article{Batory-Sarvela-Rauschmayer04, title = "Scaling Step-Wise Refinement", author = "Don S. Batory and Jacob Neal Sarvela and Axel Rauschmayer", journal = IEEETSE, year = 2004, number = 6, month = Jun, volume = 30, pages = "355-371", URL = "http://doi.ieeecomputersociety.org/10.1109/TSE.2004.23", } @Article{Batory-etal94, key = {Batory, {\em et al.}}, author = {Don Batory and Vivek Singhal and Jeff Thomas and Sankar Dasari and Bart Geraci and Marty Sirkin}, title = {The {GenVoca} Model of Software-System Generation}, journal = {IEEE Software}, year = 1994, volume = 11, number = 5, month = Sep, pages = {89-94}, annote = {10 references.} } @InProceedings{Batory04, title = "Program Comprehension in Generative Programming: {A} History of Grand Challenges", author = "Don S. Batory", publisher = "IEEE Computer Society", year = 2004, booktitle = "International Workshop on Program Comprehension (IWPC), Bari, Italy", pages = "2-13", URL = "http://csdl.computer.org/comp/proceedings/iwpc/2004/2149/00/21490002abs.htm" } @Article{Batory06, author = {Don Batory}, title = {Multi-Level Models in Model Driven Development, Product-Lines, and Metaprogramming}, journal = IBMSJ, year = 2006, key = 45, volume = 3 } @InCollection{Bauer-etal85, Key = "Bauer, {\em et al.}", Author = "F. L. Bauer and others", Title = "The Munich Project CIP, Vol. 1: The Wide Spectrum Language CIP-L", Series = LNCS, Volume = 183, Publisher = SV, Address = NY, Year = 1985 } @InCollection{Baugh92, Key = "Baugh", Author = "J.W. Baugh Jr", Title = "Is Engineering Software Amenable to Formal Specification?", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "1-17", Annote = "22 references" } @InProceedings{Baumeister95, Key = "Baumeister", author = "Baumeister", title = "Relations as Abstract Datatypes: An Institution to Specify Relations between Algebras", editor = "P. D. Mosses and M. Nielsen and M. I. Schwartzbach", series = LNCS, booktitle = "TAPSOFT'95: Theory and Practice of Software Development", publisher = SV, number = 915, year = 1995, month = May, pages = "756-771", annote = "17 references." } @Article{Bazelmans85, Key = "Bazelmans", Author = "Rudy Bazelmans", Title = "Evolution of Configuration Management", Journal = SIGSOFT, Volume = 10, Number = 5, Month = Oct, Year = 1985, Pages = "37-46", Annote = "Survey of configuration management systems, including some proprietary ones. 27 references." } @Article{Bear-etal90, Key = "Bear, {\em et al.}", Author = "Stephen Bear and Phillip Allen and Derek Coleman and Fiona Hayes", Title = "Graphical Specification of Object Oriented Systems", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "28-37", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "5 references." } @Article{Beck-Cunningham89, Key = "Beck \& Cunningham", Author = "Kent Beck \& Ward Cunningham", Title = "A Laboratory for Teaching Object-Oriented Thinking", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "1-6", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "Class, responsibility, collaborator (CRC) cards." } @Article{Beck-Gamma98, key = {Beck \& Gamma}, author = {Kent Beck and Erich Gamma}, title = {Test Infected: Programmers Love Writing Tests}, journal = {Java Report}, year = 1998, volume = 3, number = 7, pages = {37-50}, URL = "http://junit.sourceforge.net/doc/testinfected/testing.htm" } @Article{Beck-Perkins83, Key = "Beck \& Perkins", Author = "Leland L. Beck and Thomas E. Perkins", Title = "A Survey of Software Engineering Practice: Tools, Methods and Results", Journal = IEEETSE, Volume = "SE-9", Number = 5, Month = Sep, Year = 1983, Pages = "541-561", Annote = "20 references." } @Book{Beck96, author = {Kent Beck}, title = {Smalltalk Best Practice Patterns}, publisher = {Prentice-Hall}, year = 1996, key = {Beck} } @Article{Beck97, author = {Kent Beck}, title = {Make It Run, Make It Right: Design through Refactoring}, journal = {The Smalltalk Report}, year = 1997, key = {Beck}, volume = 6, number = 4, pages = {19-24}, month = Jan } @Book{Beck99, key = {Beck}, author = {Kent Beck}, title = {Extreme Programming Explained: Embrace Change}, publisher = {Addison-Wesley}, year = 1999 } @techreport{Becker-Gilham-Smith03, key = "Becker \& Gilham \& Smith", author = "Marcel Becker and Limei Gilham and Douglas R. Smith", title = "Planware {II}: Synthesis of Schedulers for Complex Resource Systems", year = "2003", institution = "Kestrel Technology" } @InCollection{Becker93, Key = "Becker", Author = "K. Becker", Title = "Proving Ground Confluence and Inductive Validity in Constructor Based Equational Specifications", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "46-60", Annote = "22 references" } @inproceedings{Beckert-Sasse01, key = {Beckert and Sasse}, author = {Bernhard Beckert and Bettina Sasse}, title = {Handling {Java}'s Abrupt Termination in a Sequent Calculus for {Dynamic Logic}}, booktitle = {IJCAR Workshop on Precise Modelling and Deduction for Object-oriented Software Development}, editor = {Bernhard Beckert and Robert France and Reiner H\"{a}hnle and Bart Jacobs}, pages = {5-14}, year = 2001 } @InProceedings{Beckert00, key = {Beckert}, author = {Bernhard Beckert}, title = {A Dynamic Logic for {Java Card}}, booktitle = {Workshop on Formal Techniques for {Java} Programs (FTfJP)}, year = 2000, editor = {Sophia Drossopoulou and Susan Eisenbach and Bart Jacobs and Gary T. Leavens and Peter M{\"u}ller and Arnd Poetzsch-Heffter}, organization = {Technical Report~269, Fernuniversit{\"at} Hagen} } @Article{Belkhouche-Wu99, key = {Belkhouche \& Wu}, author = {Boumediene Belkhouche and Joel Wu}, title = {Behavioral Specification and Analysis of Object-Oriented Designs}, journal = JOOP, year = 1999, volume = 11, number = 8, month = Jan, pages = {37-46}, annote = {Modeling by communication and other events. Histories. Uses CSP. 16 references.} } @Article{Bellini-Mattolini-Nesi00, Key = "Bellini \& Mattolini \& Nesi", Author = "P. Bellini and R. Mattolini and R. Nesi", Title = "Temporal logics for real-time system specification", Journal = "ACM Computing Surveys", Year = 2000, Volume = 32, Number = 1, Month = Mar, Pages = "12-42" } @Article{Ben-Shaul-Gish-Robinson98, key = {Ben-Shaul \& Gish \& Robinson}, author = {Israel Ben-Shaul James W. Gish and William Robinson}, title = {An Integrated Network Component Architecture}, journal = {IEEE Software}, year = 1998, volume = 15, number = 5, month = Sep, pages = {79-87}, annote = {11 references.} } @Book{Bentley82, Key = "Bentley", Author = "Jon Louis Bentley", Title = "Writing Efficient Programs", Publisher = "Prentice-Hall", Year = 1982, Series = "Software Series", Address = "Englewood Cliffs, N.J.", Annote = "System independent and system dependent rules for making programs more efficient in time, space, etc. 119 references." } @Book{Bentley86b, Key = "Bentley", Author = "Jon Louis Bentley", Title = "Programming pearls", Publisher = "Addison-Wesley", Year = 1986, Address = "Reading, Mass." } @Book{Bentley88, Key = "Bentley", Author = "Jon Louis Bentley", Title = "More programming pearls : confessions of a coder", Publisher = "Addison-Wesley", Year = 1988, Address = "Reading, Mass." } @InProceedings{Benton05, author = {Nick Benton}, title = {A Typed, Compositional Logic for a Stack-Based Abstract Machine}, booktitle = {Programming Languages and Systems: Third Asian Symposium (APLAS)}, pages = {364-380}, month = Nov, year = 2005, editor = {Kwangkeun Yi}, volume = 3780, series = LNCS, publisher = SV } @Unpublished{Berard90, Key = "Berard", Author = "Edward V. Berard", Title = "Issues in the Testing of Object-Oriented Software", Note = "from Newsgroups: comp.object", Annote = "approximately 85 references.", Month = Oct, Year = 1990 } @InCollection{Bergner-etal00, Key = "Bergner, {\em et al.}", Author = "Klaus Bergner and Andreas Rausch and Marc Sihling and Alexander Vilbig and Manfred Broy", Title = "A Formal Model for Componentware", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 9, Pages = "189-210", Annote = "21 references." } @InCollection{Bergstein-Hursch93, Key = "Bergstein \& Hursch", Author = "Paul L. Bergstein and Walter L. Hursch", Title = "Maintaining Behavioral Consistency during Schema Evolution", BookTitle = "Object Technologies for Advanced Software", Publisher = SV, Year = 1993, Editor = "Shojiro Nishio and Akinori Yonezawa", Series = LNCS, Volume = 742, Pages = "176-193", Month = Aug, Annote = "17 references." } @Article{Bergstein97, key = {Bergstein}, author = {Paul L. Bergstein}, title = {Maintenance of Object-Oriented Systems During Structural Evolution}, journal = TAPOS, year = 1997, volume = 3, number = 3, pages = {185-212}, annote = {Object restructuring via class graph transformations. 38 references.} } @article{Bergstra-Bethke-Rodenburg95, author = "J.A. Bergstra and I. Bethke and P. Rodenburg", title = "A propositional logic with 4 values: true, false, divergent and meaningless", journal = "Journal of Applied NonClassical Logics", volume = "5", number = "2", month = Feb, pages = "199-217", year = "1995" } @Article{Bergstra-Heering-Klint90, Key = "Bergstra \& Heering \& Klint", Editor = "J. A. Bergstra and J. Heering and P. Klint", Title = "Module Algebra", Journal = JACM, Volume = 37, Number = 2, Month = Apr, Year = 1990, Pages = "335-372" } @article{Bergstra-Ponse98, author = "Jan A. Bergstra and Alban Ponse", title = "Kleene's Three-Valued Logic and Process Algebra", journal = "Information Processing Letters", volume = "67", number = "2", pages = "95-103", year = "1998", url = "citeseer.nj.nec.com/bergstra98kleenes.html" } @incollection{Bergstra-Ponse99, author = "J.A. Bergstra and A. Ponse", title = "Process algebra with five-valued conditions", booktitle = "Combinatorics, Complexity, and Logic, Proceedings of DMTCS'99 and CATS'99", publisher = SV, address = "Singapore", editor = "C.S. Calude and M.J. Dinneen", year = 1999, url = "citeseer.nj.nec.com/article/bergstra99process.html" } @InCollection{Bergstra-Tucker80, Key = "Bergstra \& Tucker", Author = "J. A. Bergstra and J. V. Tucker", Title = "A Characterisation of Computable Data Types by Means of a Finite Equational Specification Method", BookTitle = "Automata, Languages and Programming, Seventh Colloquium, Noordwykerhout", Publisher = SV, Year = 1980, Pages = "76-90", Annote = "11 references." } @InCollection{Bergstra-etal81, Key = "Bergstra {\em et al.}", Author = "J. A. Bergstra and M. Broy and J. V. Tucker and M. Wirsing", Title = "On the Power of Algebraic Specifications", BookTitle = "Mathematical Foundations of Computer Science, Proceedings, Strbske Pleso, Czechoslovakia", Editor = "Jozef Gruska and Michal Chytil", Publisher = SV, Address = NY, Series = LNCS, Volume = "118", Year = 1981, Pages = "193-204", Annote = "Every computable partial algebra has an equational hidden enrichment specification. Specification of a simple nondeterministic programming language. 40 references." } @InCollection{Bernot-Bidoit-Knapik92, Key = "Bernot \& Bidoit \& Knapik", Author = "Gilles Bernot and Michel Bidoit and Teodor Knapik", Title = "Towards an Adequate Notion of Observation", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "39-55", Annote = "18 references" } @InProceedings{Bernot-Bidoit91, Key = "Bernot \& Bidoit", Author = "Gilles Bernot and Michel Bidoit", Title = "Proving Correctness of Algebraically Specified Software: Modularity and Observability Issues", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "139-161", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = "May", Annote = "38 references." } @InCollection{Bernot-Gall93, Key = "Bernot \& Gall", Author = "G. Bernot and P. Le Gall", Title = "Exception handling and Term labelling", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "421-436", Annote = "35 references" } @InProceedings{Bernot-Gaudel-Marre91, Key = "Bernot \& Gaudel \& Marre", Author = "Gilles Bernot and Marie Claude Gaudel and Bruno Marre", Title = "A Formal Approach to Software Testing", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "163-170", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = "May", Annote = "Black box testing using formal specifications and formally stated testing strategies stated as hypotheses. For example: it does not matter what items are pushed in a stack in testing a stack. 26 references." } @article{Bernot-etal91, key = {Bernot \& Claudel \& Marre}, author = {Gilles Bernot and Marie Claude Claudel and Bruno Marre}, title = {Software testing based on formal specifications: a theory and a tool}, journal = {Software Engineering Journal}, year = {1991}, month = Nov, volume = {6}, number = {6}, pages = {387-405} } @Article{Berzins-Gray-Naumann86, Key = "Berzins \& Gray \& Naumann", Author = "Valdis Berzins and Michael Gray and David Naumann", Title = "Abstraction-Based Software Development", Journal = CACM, Volume = 29, Number = 5, Month = May, Year = 1986, Pages = "402-415", Annote = "Discussion of software development method based on abstractions, especially practical experience. Points out research directions. 57 references." } @Book{Berzins-Luqi91, Key = "Berzins \& Luqi", Author = "Valdis Berzins and Lucia Luqi", Title = "Software Engineering with Abstractions", Publisher = "Addison-Wesley", Address = "Reading, MA", Year = 1991, Annote = "PSDL is an enhanced DFD for hard real-time systems. 1 reference." } @Article{Best-etal92, Key = "Best, {\em et al}", Author = "Eike Best, Ludmila Cherkasova and Jorg Desel", Title = "Compositional Generation of Home States in Free Choice Nets", Journal = "Formal Aspects of Computing", Volume = 4, Number = 6, Year = 1992, Pages = "572-581", Annote = "7 references." } @Article{Beugnard-etal99, key = {Beugnard, {\em et al.}}, author = {Antoine Beugnard and Jean-Marc J\'{e}z\'{e}quel and N\"{o}el Plouzeau and Damien Watkins}, title = {Making Components Contract Aware}, journal = {Computer}, year = 1999, volume = 32, number = 7, month = Jul, pages = {38-44}, annote = {12 references.} } @Article{Bhansali-Hoar98, key = {Bhansali \& Hoar}, author = {Sanjay Bhansali and Tim J. Hoar}, title = {Automated Software Synthesis: An Application in Mechanical {CAD}}, journal = IEEETSE, year = 1998, volume = 24, number = 10, month = Oct, pages = {848-862}, annote = {32 references.} } @TechReport{Bhorkar00, Key = "Bhorkar", Author = "Abhay Bhorkar", Title = "A Run-time Assertion Checker for {Java} using {JML}", Institution = "Department of Computer Science, Iowa State University", Year = 2000, Number = "00-08", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = May, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-08/TR.ps.gz", Note = "Available by anonymous ftp from ftp.cs.iastate.edu or by e-mail from almanac@cs.iastate.edu." } @InCollection{Bicarregui-Ritchie93, Key = "Bicarregui \& Ritchie", Author = "Juan Bicarregui and Brian Ritchie", Title = "Invariants, Frames and Postconditions: a Comparison of the {VDM} and {B} Notations", BookTitle = "Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, Odense, Denmark", Publisher = SV, Year = 1993, Editor = "J.C.P. Woodcock and P.G. Larsen", Series = LNCS, Volume = 670, Pages = "162-182", Address = NY, Month = Apr, Annote = "9 references." } @Article{Bicarregui-Ritchie95, Key = "Bicarregui \& Ritchie", Author = "Juan Bicarregui and Brian Ritchie", Title = "Invariants, Frames and Postconditions: a Comparison of the {VDM} and {B} Notations", journal = IEEETSE, year = 1995, volume = 21, number = 2, pages = "79-89", month = Feb, Annote = "9 references." } @Book{Bicarregui-etal94, key = "Bicarregui, {\em et al.}", author = "Juan Bicarregui and John S. Fitgerald and Peter A. Lindsay and Richard Moore and Brian Ritchie", title = "Proof in {VDM}: A Practitioner's Guide", publisher = SV, year = 1994, address = NY, annote = "30 references." } @Book{Bidoit-Mosses04, key = "Bidoit \& Mosses", author = "Michel Bidoit and Peter D. Mosses", title = "\textsc{Casl} User Manual", year = 2004, publisher = SV, series = "LNCS 2900 (IFIP Series)", Annote = "With chapters by T. Mossakowski, D. Sannella, and A. Tarlecki" } @Book{Bidoit-etal91, Key = "Bidot, {\em et al.}", Editor = "M. Bidoit and H.-J. Kreowski and P. Lescanne and F. Orejas and D. Sannella", Title = "Algebraic System Specification and Development: A Survey and Annotated Bibliography", Publisher = SV, Year = 1991, Series = LNCS, Volume = 501, Note = "ISBN 0-387-54060-1", Annote = "Hundreds of references." } @InCollection{Bidot-Dauchet97, Key = "Bidot \& Dauchet", Title = "{TAPSOFT '97}: Theory and Practice of Software Development, 7th International Joint Conference {CAAP/FASE}, Lille, France", BookTitle = "{TAPSOFT '97}: Theory and Practice of Software Development, 7th International Joint Conference {CAAP/FASE}, Lille, France", Publisher = SV, Year = 1997, Editor = "Michel Bidoit and Max Dauchet", Series = LNCS, Volume = 1214, Address = NY } @Article{Bieman-Kang98, key = {Bieman \& Kang}, author = {James M. Bieman and Byung-Kyoo Kang}, title = {Measuring Design-Level Cohesion}, journal = IEEETSE, year = 1998, volume = 24, number = 2, month = Feb, pages = {111-124}, annote = {20 references.} } @Article{Bieman-Ott94, key = {Bieman \& Ott}, author = {James M. Bieman and Linda M. Ott}, title = {Measuring Functional Cohesion}, journal = IEEETSE, year = 1994, volume = 20, number = 8, month = Aug, pages = {644-657}, annote = {42 references.} } @Article{Bieman-etal88, Key = "Bieman, {\em et al.}", Author = "James M. Bieman and Albert L. Baker and Paul N. Clites and David A. Gustafson and Austin C. Melton", Title = "A Standard Representation of Imperative Language Programs for Data Collection and Software Measures Specification", Journal = "The Journal of Systems and Software", Month = Jan, Year = 1988 } @InCollection{Bijlsma90, author = "A. Bijlsma", title = "Semantics of quasi-boolean expressions", key = "Bijlsma", booktitle = "Beauty is Our Business", publisher = SV, year = 1990, editor = "W. H. J. Feijen and others", pages = "27-35" } @Article{Binkley97, key = {Binkley}, author = {David Binkley}, title = {Semantics Guided Regression Test Cost Reduction}, journal = IEEETSE, year = 1997, volume = 23, number = 8, month = Aug, pages = {498-516}, annote = {43 references.} } @Article{Bird-Gibbons-Jones89, Key = "Bird \& Gibbons \& Jones", Author = "R. S. Bird and J. Gibbons and G. Jones", Title = "Formal Derivation of a Pattern Matching Algorithm", Journal = "Science of Computer Programming", Volume = 12, Number = 2, Month = Jul, Year = 1989, Pages = "93-104", Annote = "6 references." } @Article{Bird84, Key = "Bird", Author = "R. S. Bird", Title = "The Promotion and Accumulation Strategies in Transformational Programming", Journal = TOPLAS, Volume = 6, Number = 4, Pages = "487-504", Year = 1984 } @Article{Bird89a, Key = "Bird", Author = "R. S. Bird", Title = "Algebraic Identities for Program Calculation", Journal = "The Computer Journal", Volume = 32, Number = 2, Month = Apr, Pages = "122-126", Year = 1989 } @InCollection{Bird89b, Key = "Bird", Author = "Richard S. Bird", Title = "Lectures on Constructive Functional Programming", Booktitle = "Constructive Methods in Computing Science", Series = "NATO ASI Series", Volume = "F55", Editor = "Manfred Broy", Publisher = SV, Address = NY, Pages = "151-216", Year = 1989, Annote = "13 refernces." } @InCollection{Bird90, Key = "Bird", Author = "R. S. Bird", Title = "A Calculus of Functions for Program Derivation", Editor = "David A. Turner", BookTitle = "Research Topics in Functional Programming", Publisher = Addison-Wesley, Year = 1990, Series = "University of Texas at Austin Year of Programming Series", Address = NY, Pages = "287-307", Annote = "6 references." } @TechReport{Birrell-etal87, Key = "Birrell, {\em et al.}", Author = "A. D. Birrell and J. V. Guttag and J. J. Horning and R. Levin", Title = "Synchronization Primitives for a Multiprocessor: A Formal Specification", Institution = DECSRC, Address = "Palo Alto, Calif.", Month = Aug, Year = 1987, Number = 20, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "21 references." } @Article{Bjorner-Browne-Manna97, key = {Bj{\o}rner \& Browne \& Manna}, author = {Nikolaj Bj{\o}rner and Anca Browne and Zohar Manna}, title = {Automatic generation of invariants and intermediate assertions}, journal = TCS, year = 1997, volume = 173, number = 1, month = Feb, pages = {49-87} } @Book{Bjorner-Jones82, Key = "Bjorner \& Jones", Author = "Dines Bjorner and Cliff B. Jones", Title = "Formal Specification and Software Development", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Address = "London", Year = 1982, Annote = "About 400 references." } @InCollection{Bjorner91, Key = "Bjorner", Author = "Dines Bjorner", Title = "Specification and Transformation: Methodology Aspects of the Vienna Development Method", BookTitle = "Formal Description of Programming Concepts", Publisher = SV, Year = 1991, Editor = "E. J. Neuhold and M. Paul", Series = "IFIP State-of-the-Art Reports", Pages = "137-258", Address = NY, Annote = "ISBN 0-387-53961-1. 16 references." } @Book{Blaha-Premerlani98, author = "Michael Blaha and William Premerlani", title = "Object-Oriented Modelling and Design for Database Applications", publisher = "Prentice Hall", address = "Englewood Cliffs", year = "1998", } @Book{Blaha-Rumbaugh05, author = "Michael Blaha and James Rumbaugh", title = "Object-Oriented Modelling and Design with UML", publisher = "Pearson Prentice Hall", edition = "Second edition", address = "Upper Saddle River, NJ", year = 2005, } @InProceedings{Blanchet-etal03, title = "A static analyzer for large safety-critical software", key = {Blanchet, {\em et al.}}, author = {Bruno Blanchet and Patrick Cousot and Radhia Cousot and J{\'e}r{\^o}me Feret and Laurent Mauborgne and Antoine Min{\'e} and David Monniaux and Xavier Rival}, year = 2003, booktitle = {Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation}, location = "San Diego, California, USA", pages = "196-207", publisher = ACM, URL = "http://doi.acm.org/10.1145/781131.781153", } @TechReport{Bleyberg91, Key = "Bleyberg", Author = "Maria Zamfir Bleyberg", Title = "On the Semantics of {Petri Nets}", Institution = "Department of Computing & Information Sciences, Kansas State University", Year = 1991, Number = "TR-CS-91-8", Address = "Manhattan, KS 66506", Month = May, Annote = "9 references." } @Article{Blikle81, author = "Andrzej Blikle", title = "The Clean Termination of Iterative Programs", key = "Blikle", journal = "Acta Informatica", year = 1981, volume = 16, pages = "199-217", annote = "25 references." } @Article{Blikle91, key = "Blikle", author = "A. Blikle", title = "Three-valued predicates for software specification and validation", journal = "Fundamenta Informaticae", year = 1991, volume = "XIV", pages = "387-410" } @Article{Bloom-Cheng-Dsouza97, key = {Bloom \& Cheng \& Dsouza}, author = {Bard Bloom and Allan Cheng and Ashvin Dsouza}, title = {Using a Protean Language to Enhance Expressiveness in Specification}, journal = IEEETSE, year = 1997, volume = 23, number = 4, month = Apr, pages = {224-234}, annote = {Examples of using Structural Operational Semantics as a metanotation for specifications. 22 references.} } @InProceedings{Bloom95, Key = {Bloom}, Author = {Bard Bloom}, Title = "Structured Operational Semantics as a Specification Language", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "107-117", Annote = "21 references." } @Article{Blum85, Key = "Blum", Author = "Bruce Blum", Title = "Understanding the Software Paradox", Journal = SIGSOFT, Volume = 10, Number = 1, Month = Jan, Year = 1985, Pages = "43-47", Note = "Reprinted from the proceedings of the 23rd Annual Technical Symposium of the Washington, D.C. Chapter of the ACM, 1984", Annote = "Discussion of the problems of software engineering, focusing on the development process. 38 references." } @Article{Blum87, Key = "Blum", Author = "Bruce Blum", Title = "A Paradigm for Developing Information Systems", Journal = IEEETSE, Volume = SE-13, Number = 4, Month = Apr, Year = 1987, Pages = "432-439", Annote = "18 references" } @inproceedings{Blume-McAllester04, author = {Matthias Blume and David McAllester}, title = {A sound (and complete) model of contracts}, booktitle = {ICFP '04: Proceedings of the ninth ACM SIGPLAN international conference on Functional programming}, year = {2004}, pages = {189-200}, location = {Snow Bird, UT, USA}, doi = {http://doi.acm.org/10.1145/1016850.1016876}, publisher = ACM, address = NY } @PhdThesis{Boake98, key = {Boake}, author = {Andrew Boake}, title = {A Knowledge-Based Software Design Supervisor}, school = {University of Pretoria}, year = 1998, address = {Pretoria, South Africa}, month = Jun, annote = {The Umhloli design supervisor combines elements of object-oriented design with a logic programming engine. Many references.} } @Article{Bodenstab-etal, Key = "Bodenstab, {\em et al.}", Author = "D. E. Bodenstab and T. F. Houghton and K. A. Kelleman and G. Ronkin and E. P. Schan", Title = "UNIX Operating System Porting Experiences", Journal = BSTJ, Volume = 63, Number = 8, Month = Oct, Year = 1984, Pages = "1769-1790", Annote = "Discusses porting the UNIX kernel to 4 different computers. 10 references." } @unpublished{Bodkin-Almaer-Laddad04, Key = {Bodkin \& Almaer \& Laddad}, Author = {Ron Bodkin and Don Almaer and Ramnivas Laddad}, Month = {March}, Note = {A demonstration at AOSD 2004, available from \url{https://atrack.dev.java.net/} on July 17, 2005}, Title = {{aTrack}: an enterprise bug tracking system using {AOP}}, Year = {2004} } @Article{Boehm-Jacopini66, author = {Corrado B\"{o}hm and Guiseppe Jacopini}, title = {Flow Diagrams, Turing Machines and languages with only two formation rules}, journal = {CACM}, year = 1966, key = {B\"{o}hm \& Jacopini}, volume = 9, month = {May}, pages = {366-371}, annote = {One can translate an arbitrary flow diagram in to one without jumps, that is, into a structured program.} } @Article{Boehm-Port99, key = {Boehm \& Port}, author = {Barry Boehm and Dan Port}, title = {Escaping the Software Tar Pit: Model Clashes and How to Avoid Them}, journal = SIGSOFT, year = 1999, volume = 24, number = 1, month = Jan, pages = {36-48}, annote = {34 references.} } @InCollection{Boehm79, Key = "Boehm", Author = "B. Boehm", Title = "Software Engineering: R \& D Trends and Defense Needs", BookTitle = "Research Directions in Software Technology", Editor = "Peter Wegner", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1979, Pages = "44-79", Annote = "Discusses state of software engineering and likely trends. 110 references." } @Book{Boehm81, Key = "Boehm", Author = "Barry W. Boehm", Title = "Software Engineering Economics", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1981 } @Article{Boehm81b, Key = "Boehm", Author = "Barry W. Boehm", Title = "An Experiment in Small-Scale Application Software Engineering", Journal = IEEETSE, Volume = "SE-7", Number = 5, Month = Sep, Year = 1981, Pages = "482-493", Annote = "19 references" } @InProceedings{Boehm82, Key = "Boehm", Author = "Hans-Juergen Boehm", Title = "A Logic for Expressions with Side-Effects", BookTitle = "Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico", Organization = ACM, Month = Jan, Year = 1982, Pages = "268-280" } @Article{Boehm84, Key = "Boehm", Author = "Barry W. Boehm", Title = "Verifying and Validating Software Requirements and Design Specifications", Journal = "IEEE Software", Month = Jan, Year = 1984, Volume = 1, Number = 1, Pages = "75-88", Annote = "Detailed procedures and a checklist for ensuring quality of requirements and design specifications. 16 references." } @Article{Boehm85, Key = "Boehm", Author = "Hans-Juergen Boehm", Title = "Side Effects and Aliasing Can Have Simple Axiomatic Descriptions", Journal = TOPLAS, Volume = 7, Number = 4, Month = Oct, Year = 1985, Pages = "637-655", Annote = "Axiomatic descriptions for imperative expression languages such as Algol-68. Simple treatment of pointers, side-effects, aliasing, mutation, etc. 29 references." } @Article{Boehm87, Key = "Boehm", Author = "Barry W. Boehm", Title = "Improving Software Productivity", Journal = "Computer", Volume = 20, Number = 9, Month = Sep, Year = 1987, Pages = "43-57", Annote = "83 references." } @Book{Boerger-Staerk03, author = {Egon B\"{o}rger and Robert St\"{a}rk}, title = {Abstract State Machines: A Method for High-Level System Design and Analysis}, publisher = SV, year = 2003, key = {Boerger \& Staerk}, annote = {440 references in an annotated bibliography.} } @InProceedings{Bokowski99, author = {Boris Bokowski}, key = {Bokowski}, title = "{CoffeeStrainer}: Statically-Checked Constraints on the Definiiton and Use of Types in Java", booktitle = "Software Engineering --- ESEC/FSE '99", month = Nov, year = "1999", editor = "Oscar Nierstrasz and Michel Lemoine", volume = "1687", series = LNCS, publisher = SV, pages = {355-374}, note = {Also ACM SIGSOFT {\em Software Engineering Notes}, volume 24, number 6.}, annote = {12 references.} } @InCollection{Bonsangue-Kok93, Key = "Bonsangue \& Kok", Author = "M. Bonsangue and J. N. Kok", Title = "Semantics, orderings and Recursion in the Weakest Precondition Calculus", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publsiher = SV, Address = NY, Year = 1993, Note = "Semantics: Foundations and Applications REX Workshop, The NetherLands, june 1992. Proceedings", Page = "91-109", Annote = "23 references" } @Book{Booch-Rumbaugh-Jacobson99, author = {Grady Booch and James Rumbaugh and Ivar Jacobson}, title = {The Unified Modeling Language User Guide}, publisher = {Addison Wesley Longman}, year = 1999, key = {Booch \& Rumbaugh \& Jacobson}, series = {Object Technology Series}, address = {Reading, Mass.} } @Article{Booch02, author = {Grady Booch}, title = {Growing the UML}, journal = {Software and Systems Modeling}, year = 2002, key = {Booch}, volume = 1, number = 2, pages = {157-160}, month = Dec, annote = {An opinion piece about the future of UML that talks about model-driven development (MDD). No references.} } @InCollection{Booch83, Key = "Booch", Author = "G. Booch", Title = "Object-Oriented Design", BookTitle = "Tutorial: Software Design Techniques", Editor = "P. Freeman and A. I. Wasserman", Publisher = "IEEE Comp. Soc. Press", Year = 1983, Pages = "420-436" } @Article{Booch90, Key = "Booch", Author = "Grady Booch", Title = "The Deisgn of the C++ Booch Components", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "1-11", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "15 references." } @Book{Booch91, Key = "Booch", Author = "Grady Booch", Title = "Object-Oriented Design: With Applications", Publisher = "Benjamin Cummings", Address = NY, Year = 1991, Annote = "Concepts, method, and applications in Smalltalk, Object Pascal, C++, CLOS, and Ada. Classified bibliography with hundreds of references." } @Book{Booch94, Key = "Booch", Author = "Grady Booch", Title = "Object-Oriented Design: With Applications", Publisher = "Benjamin Cummings", Address = NY, Year = 1994, Edition = "Second", Annote = "Concepts, method, and applications in Smalltalk, Object Pascal, C++, CLOS, and Ada. Classified bibliography with hundreds of references." } @Book{Borenstein91, Key = "Borenstein", Author = "Nathaniel S. Borenstein", Title = "Programming as if People Mattered", Publisher = "Princeton University Press", Year = 1991, Address = "Princeton, NJ", Annote = "ISU Call number QA76.758 B67 1991" } @InProceedings{Borgida-Mylopoulos-Reiter93, Key = "Borgida \& Mylopoulos \& Reiter", Author = "Alex Borgida and John Mylopoulos and Raymond Reiter", Title = "`... And Nothing Else Changes': The Frame Problem in Procedure Specification", BookTitle = "Proceedings Fifteenth International Conference on Software Engineering, Baltimore", Year = 1993, Month = "May", Note = "Preliminary version obtained from the authors.", Annote = "22 references." } @Article{Borgida-Mylopoulos-Reiter95, author = {Alex Borgida and John Mylopoulos and Raymond Reiter}, title = {On the Frame Problem in Procedure Specifications}, journal = IEEETSE, year = 1995, key = {Borgida \& Mylopoulos \& Reiter}, volume = 21, number = 10, month = Oct, pages = {785-798}, annote = {34 references.} } @InCollection{Borras-etal88, author = "P. Borras and D. Clement and Th. Despeyroux and J. Incerpi and G. Kahn and B. Lang and V. Pascual", title = "{CENTAUR}: the system", key = "Borras, {\em et al}.", booktitle = "Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments", year = 1988, editor = "Peter Henderson", volume = 24, number = 2, series = "SIGPLAN", pages = "14-24", month = Feb, annote = "CENTAUR takes a formal specification of a programming language and produces a language specific environment. 25 references." } @Article{Bothe81, Key = "Bothe", Author = "Klaus Bothe", Title = "A Comparative Study of Abstract Data Type Concepts", Journal = "Journal of Information Processing and Cybernetics", Volume = 17, Number = "4/6", Pages = "237-257", Year = 1981, Annote = "Initiality, finality and external behavior. 29 references." } @Article{Bowen-Hinchey06, author = "Jonathan P. Bowen and Michael G. Hinchey", title = "Ten Commandments of Formal Methods ... Ten Years Later", journal = "IEEE Computer", volume = 39, number = 1, pages = "40-48", month = Jan, year = 2006, annote = "14 references." } @Article{Bowen-Hinchey95, author = "J. P. Bowen and M. G. Hinchey", title = "Seven More Myths of Formal Methods", journal = "IEEE Software", volume = "12", number = "4", pages = "34-41", month = jul, year = "1995", url = "http://www.cl.cam.ac.uk/users/mgh1001/TECHREPORTS/7myths.ps.Z", annote = "This article deals with further myths in addition to those presented in \cite{Z:Hall90b}. Previous versions issued as: \begin{itemize} \item Technical Report PRG-TR-7-94, Oxford University Computing Laboratory, June 1994. \item Technical Report 357, University of Cambridge, Computer Laboratory, January 1995. \end{itemize}" } @Article{Bowen-Hinchey95b, author = "J. P. Bowen and M. G. Hinchey", title = "Ten Commandments of Formal Methods", journal = "IEEE Computer", volume = 28, number = 4, pages = "56-63", month = apr, year = 1995, url = "http://www.cl.cam.ac.uk/users/mgh1001/10comms.html", annote = "Previously issued as: Technical Report 350, University of Cambridge, Computer Laboratory, September 1994." } @Proceedings{Bowen-Hinchey99, Key = "Bowen \& Hinchey", Editor = {Jonathan P. Bowen and Michael G. Hinchey}, Title = "High-Integrity System Specification and Design", Publisher = SV, Series = {FACIT}, Year = 1999 } @Proceedings{Bowen-Nicholls93, Key = "Bowen \& Nicholls93", Editor = {J. P. Bowen and J. E. Nicholls}, Title = {{Z} User Workshop, {London}, UK, 14--15 December 1992}, Publisher = SV, Series = {Workshops in Computing}, Year = 1993, ISBN = {3-540-19818-0} } @InProceedings{Boyapati-Khurshid-Marinov02, key = "Boyapati \& Khurshid \& Marinov", author = "Chandrasekhar Boyapati and Sarfraz Khurshid and Darko Marinov", title = "Korat: Automated Testing Based on {Java} Predicates", BookTitle = "Proceedings International Symposium on Software Testing and Analysis (ISSTA)", Year = 2002, Month = Jul, Pages = "123-133", Organization = ACM, Annote = "32 references.", URL = "http://doi.acm.org/10.1145/566172.566191" } @InProceedings{Boyapati-Liskov-Shrira03, key = "Boyapati \& Liskov \& Shrira", author = "Chandrasekhar Boyapati and Barbara Liskov and Liuba Shrira", title = "Ownership types for object encapsulation", pages = "213-223", editor = "Cindy Norris and {Jr.} James B. Fenwick", booktitle = "Proceedings of the 30th {ACM} {SIGPLAN}-{SIGACT} symposium on Principles of programming languages ({POPL}-03)", month = jan # " ~15--17", series = "ACM SIGPLAN Notices", volume = "38, 1", publisher = "ACM Press", address = "New York", year = "2003" } @Book{Boyer-Moore79, Key = "Boyer-Moore", Author = "R. S. Boyer and J. S. Moore", Title = "A Computational Logic", Series = "ACM Monograph Series", Publisher = "Academic Press", Address = NY, Year = 1979 } @TechReport{Boysen-Leavens05, key = {Boysen \& Leavens}, author = {Kristina P. Boysen and Gary T. Leavens}, title = {Automatically generating consistent graphical user interfaces using a parser generator}, institution = "Department of Computer Science, Iowa State University", year = 2005, number = "04-07a", address = "226 Atanasoff Hall, Ames, Iowa 50011", month = Nov, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR04-07/TR.pdf", Note = "Available from archives.cs.iastate.edu.", Annote = "13 references." } @InProceedings{Braberman-Felder99, author = {Victor A. Braberman and Miguel Felder}, key = {Braberman \& Felder}, title = "Verification of Real-Time Designs: Combining Scheduling Theory with Automatic Formal Verification", booktitle = "Software Engineering --- ESEC/FSE '99", month = Nov, year = "1999", editor = "Oscar Nierstrasz and Michel Lemoine", volume = "1687", series = LNCS, publisher = SV, pages = {494-510}, note = {Also ACM SIGSOFT {\em Software Engineering Notes}, volume 24, number 6.}, annote = {27 references.} } @Book{Braude01, key = {Braude}, author = {Eric J. Braude}, title = {Software Engineering: An Object-Oriented Perspective}, publisher = {Wiley}, year = 2001, annote = {Several references.} } @InCollection{Breu-etal97, key = {Breu, {\em et al.}}, author = {Ruth Breu and Ursula Hinkel and Christoph Hofmann and Cornel Klein and Barbara Paech and Bernhard Rumpe and Veronika Thurner}, title = {Towards a Formalization of the {Unified Modeling Language}}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {344-366}, annote = {29 references.} } @Book{Breu91, Key = "Breu", Author = "Ruth Breu", Title = "Algebraic Specification Techniques in Object Oriented Programming Environments", Publisher = SV, Year = 1991, Volume = 562, Series = LNCS, Address = NY, Annote = "Framework for the design of of object-oriented programs using algebraic specification techniques. 77 references." } @Article{Breunesse-etal05, Key = {Breunesse, {\it et al.}}, Author = {Cess-Bart Breunesse and N\'{e}stor Cata{\~n}o and Marieke Huisman and Bart Jacobs}, Title = {Formal Methods for Smart Cards: an experience report}, Journal = SCP, Year = 2005, Volume = 55, Pages = {53-80}, URL = {http://dx.doi.org/10.1016/j.scico.2004.05.011} } @Article{Briand-Daly-Wuest99, key = {Briand \& Daly \& W\"{u}st}, author = {Lionel C. Briand and John W. Daly and J\"{u}rgen K. W\"{u}st}, title = {A Unified Framework for Coupling Measurement in Object-Oriented Systems}, journal = IEEETSE, year = 1999, volume = 25, number = 1, month = Jan, pages = {91-121}, annote = {37 references.} } @InCollection{Briggs-Werth94, Key = "Briggs \& Werth", Author = "Ted. L. Briggs and John Werth", Title = "A Specification Language for Object-Oriented Analysis and Design", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "365-385", Address = NY, Month = Jul, Annote = "26 references." } @Book{Brill01e, editor = {Gregory Brill}, title = {{CodeNotes} for {J2EE}: EJB, JDBC, JSP, and Servlets}, publisher = {Random House}, year = 2001, address = NY, key = {Brill} } @Book{Brill01j, editor = {Gregory Brill}, title = {{CodeNotes} for {Java}: Intermediate and Advanced Language Features}, publisher = {Random House}, year = 2001, address = NY, key = {Brill} } @Book{Brill01n, editor = {Gregory Brill}, title = {{CodeNotes} for {.NET}}, publisher = {Random House}, year = 2001, address = NY, key = {Brill} } @Book{Brill01w, editor = {Gregory Brill}, title = {{CodeNotes} for Web-based {UI}}, publisher = {Random House}, year = 2001, address = NY, key = {Brill} } @Book{Brill01x, editor = {Gregory Brill}, title = {{CodeNotes} for {XML}}, publisher = {Random House}, year = 2001, address = NY, key = {Brill} } @Article{Brilliant-Knight99, key = {Brilliant \& Knight}, author = {Susan Brilliant and John C. Knight}, title = {Empirical Research in Software Engineering: A Workshop}, journal = SIGSOFT, year = 1999, volume = 24, number = 3, month = May, pages = {45-52}, annote = {35 references.} } @Article{Brinksma-Bolognesi, Key = "Brinksma \& Bolognesi", Author = "Ed Brinksma and Tommaso Bolognesi", Title = "Introduction to the ISO Specification Language {LOTOS}", Journal = "Computer Networks and ISDN Systems", Year = 1987, Volume = 14, Number = 1 } @InProceedings{Brinksma-Scollo-Steenbergen86, Key = "Brinksma \& Scollo \& Steenbergen", Author = "Ed Brinksma and Giuseppe Scollo and Chris Steenbergen", Title = "{LOTOS} specifications, their implementations and their tests", BookTitle = "Sixth Interantional Symposium on Protocol Specification, Testing and Verification, Montreal", Year = 1986, Publisher = "North Holland" } @InProceedings{Broekens-Moeller02, key = {Br\"{o}rkens \& M\"{o}ller}, author = {M. Br\"{o}rkens and M. M\"{o}ller}, title = {Jassda trace assertions, runtime checking the dynamic of {Java} programs}, booktitle = {Trends in Testing Communicating Systems, International Conference on Testing of Communicating Systems, Berlin, Germany}, pages = {39-48}, year = 2002, editor = {I. Schieferdecker and H. K\"{o}nig and A. Wolisz} } @InCollection{Brookes85, Key = "Brookes", Author = "Stephen D. Brookes", Title = "A Fully Abstract Semantics and a Proof System for an Algol-like Language with Sharing", BookTitle = "Mathematical Foundations of Programming Semantics, International Conference, Manhattan, Kansas", Editor = "Austin Melton", Month = Apr, Year = 1985, Series = LNCS, Volume = 239, Pages = "59-100", Publisher = SV, Address = NY, Annote = "Denotational semantics based on sharing relations instead of locations to capture aliasing. 32 references." } @Book{Brooks75, Key = "Brooks", Author = "Brooks, Jr., Frederick P.", Title = "The Mythical Man-Month", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1975 } @Article{Brooks87, Key = "Brooks", Author = "Frederick P. Brooks, Jr.", Title = "No Silver Bullet: Essence and Accidents of Software Engineering", Journal = "Computer", Month = Apr, Year = 1987, Volume = 20, Number = 4, Pages = "10-19", Annote = "12 references." } @TechReport{Brown-Nelson89, Key = "Brown \& Nelson", Author = "Mark R. Brown and Greg Nelson", Title = "IO Streams: Abstract Types, Real Programs", Institution = DECSRC, Year = 1980, Month = Nov, Number = 53, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "Modula-3 interfaces for text input and output and their implementation. Specifications of a real-world example. 5 references." } @Article{Brown-Wallnau98, key = {Brown \& Wallnau}, author = {Alan W. Brown and Kurt C. Wallnau}, title = {The Current State of {CBSE}}, journal = {IEEE Software}, year = 1998, volume = 15, number = 5, month = Sep, pages = {37-46}, annote = {5 references.} } @Book{Brown96, author = {Alan W. Brown}, title = {Component-Based Software Engineering: Selected Papers from the Software Engineering Institute}, publisher = {IEEE Computer Society Press}, year = 1996, key = {Brown}, address = {Los Alamitos, California} } @Proceedings{Broy-Jaehnichen95, Key = "Broy \& Jaehnichen", editor = {Manfred Broy and Stefan J\"ahnichen}, title = "{KORSO}: Methods, Languages and Tools for the Construction of Correct Software", booktitle = "{KORSO}: Methods, Languages and Tools for the Construction of Correct Software", Publisher = SV, address = NY, Series = LNCS, Volume = 1009, Year = 1995 } @TechReport{Broy-Nelson89, Key = "Broy \& Nelson", Author = "Manfred Broy and Greg Nelson", Title = "Can fair choice be added to Dijkstra's calculus?", Month = Feb, Year = 1989, Institution = DECSRC, Number = 38, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "4 references." } @Article{Broy-Nelson94, Key = "Broi \& Nelson", Author = "Manfred Broy and Grag Nelson", Title = "Adding Fair Choice to Dijkstra's Calculus", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "924-938", Annote = "8 references." } @Book{Broy-Schmidt82, Key = "Broy \& Schmidt", Editor = "Manfred Broy and Gunther Schmidt", Title = "Theoretical Foundations of Programming Methodology Lecture Notes of an International Summer School directed by F. L. Bauer, E. W. Dijkstra and C. A. R. Hoare", Publisher = "D. Reidel", Address = "Hingham, Mass.", Year = 1982 } @InCollection{Broy-Wirsing81a, Key = "Broy \& Wirsing", Author = "M. Broy and M. Wirsing", Title = "On the Algebraic Specification of Nondeterministic Programming Languages", BookTitle = "CAAP '81: Trees in Algebra and Programming, 6th Colloquium, Genoa, March 1981, Proceedings", Editor = "E. Astesiano and C. Bohm", Series = LNCS, Volume = 112, Publisher = SV, Address = NY, Month = Mar, Year = 1981, Pages = "162-179", Annote = "20 references." } @InCollection{Broy-Wirsing81b, Key = "Broy \& Wirsing", Author = "Manfred Broy and Martin Wirsing", Title = "On the Algebraic Extensions of Abstract Data Types", BookTitle = "Formalization of Programming Concepts, International Colloquium, Peniscola, Spain, April 1981", Publisher = SV, Address = NY, Series = LNCS, Volume = 107, Editor = "J. Diaz and I. Ramos", Year = 1981, Pages = "244-251", Annote = "Algebraic specifications. 21 references." } @Article{Broy-Wirsing82, Key = "Broy \& Wirsing", Author = "Manfred Broy and Martin Wirsing", Title = "Partial Abstract Types", Journal = "Acta Informatica", Volume = 18, Number = 1, Month = Nov, Year = 1982, Pages = "47-64", Annote = "Studies hierarchical abstract types with conditional equations as formulas. Discussion of different kinds of homomorphisms, initial and weakly terminal models. Full abstraction. Specification of the semantics of programming languages. 41 references." } @TechReport{Broy-etal93, Key = "Broy, {\em et al.}", Author = "Manfred Broy and others", Title = "The Requirement and Design Specification Language {SPECTRUM}---An informal introduction - part {I}", Institution = "Institute for Information - Technical University Munchen", Month = May, Year = 1993, Number = "TUM-I9311", Annote = "Part I and II - The Munich Spectrum Group" } @InCollection{Broy82, Key = "Broy", Author = "Manfred Broy", Title = "A Fixed Point to Applicative Multiprogramming", BookTitle = "Theoretical Foundations of Programming Methodology", Editor = "M. Broy and G. Schmidt", Publisher = "Ridel Publishing", Year = 1982, Pages = "565-623" } @InCollection{Broy83, Key = "Broy", Author = "Manfred Broy", Title = "Fixed Point Theory for Communication and Concurrency", BookTitle = "Formal Description of Programming Concepts --- II", Editor = "Dines Bj{\o}rner", Publisher = North-Holland, Address = NY, Month = Jun, Year = 1983, Pages = "125-147", Annote = "The applicative language AMPL can represent concurrent programs and communicating systems in the form of mutually recursive streams of nondeterministic equations for functions and streams. Fully abstract mathematical semantics using fixed points. 37 references." } @Article{Broy86, Key = "Broy", Author = "Manfred Broy", Title = "A Theory for Nondeterminism, Parallelism, Communication, and Concurrency", Journal = TCS, Volume = 45, Number = 1, Year = 1986, Pages = "1-61", Annote = "The applicative language AMPL represents communicating systems in the form of mutually recursive systems of nondeterministic equations for functions and streams. A mathematical and operational semantics. 85 references." } @TechReport{Broy92, Key = "Broy", Author = "Manfred Broy", Title = "Compositional Refinement of Interactive Systems", Month = Jul, Year = 1992, Institution = "Systems Research Center", Number = 89, Address = "Palo Alto, California", Annote = "17 references." } @TechReport{Broy92a, Key = "Broy", Author = "Manfred Broy", Title = "Experiences with Software Specification and Verification Using LP, the Larch Proof Assistant", Month = Jul, Year = 1992, Institution = DECSRC, Number = 93, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "31 references." } @Article{Broy93, Key = "Broy", Author = "Manfred Broy", Title = "Functional Specification of Time-Sensitive Communicating Systems", Journal = "ACM Transactions on Software Engineering and Methodology", Volume = 2, Number = 1, Month = Jan, Year = 1993, Pages = "1-46", Annote = "45 references." } @TechReport{Bruckner-Sannella91, Key = "Bruckner \& Sannella", Author = "Bernd Krieg Bruckner and Donald Sannella", Title = "Structuring Specifications in-the-Large and in-the-Small: Higher-Order Functions, Dependent Types and Inheritance in SPECTRAL", Organization = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Jan, Year = 1991, Number = "ECS-LFCS-91-135", Annote = "51 references." } @Book{Bruegge-Dutoit00, author = {Bernd Bruegge and Allen H. Dutoit}, title = {Object-Oriented Software Engineering: Conquering Complex and Changing Systems}, publisher = {Prentice Hall}, year = 2000, key = {Bruegge-Dutoit}, address = {Upper Saddle River, NJ}, annote = {Many references.} } @Book{Bruegge-Dutoit04, key = {Bruegge-Dutoit}, author = {Bernd Bruegge and Allen H. Dutoit}, title = {Object-Oriented Software Engineering: Using UML, Patterns and Java}, publisher = {Prentice Hall}, year = 2004, edition = {Second edition}, address = {Upper Saddle River, NJ}, annote = {Many references.} } @InProceedings{Bruza-vanderWeide89, key = "Bruza \& van der Weide", author = "P. D. Bruza and Th. P. van der Weide", title = "The Semantics of Data Flow Diagrams", editor = "N. Prakash", booktitle = "Proceedings of the International Conference on Management of Data, Hyderabad, India", year = 1989, note = "ftp://ftp.cs.kun.nl/pub/SoftwEng.InfSyst/articles/ProcSem1.ps.Z" } @InProceedings{Buechi-Back99, key = "Buechi \& Back", author = {Martin B\"{u}chi and Ralph Back}, title = "Compositional Symmetric Sharing in {B}", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1708, Pages = "431-451", annote = "Allowing limited aliasing using rely/guarantee conditions. 27 references." } @InProceedings{Buechi-Sekerinski97, key = "Buechi \& Sekerinski", author = {Martin B\"{u}chi and Emil Sekerinski}, title = "Formal Methods for Component Software: The Refinement Calculus Perspective", booktitle = {Proceedings of the Second Workshop on Component-Oriented Programming (WCOP)}, year = 1997, month = Jun, note = {ftp://ftp.abo.fi/pub/cs/papers/mbuechi/FMforCS.ps.gz}, annote = "30 references." } @InProceedings{Buechi-Weck00, key = "Buechi \& Weck", author = {Martin B{\"u}chi and Wolfgang Weck}, title = {Generic Wrappers}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 --- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {201-225}, annote = {Allows objects to be aggregated at run-time. 32 references.} } @TechReport{Buechi-Weck97, key = "Buechi \& Weck", author = {Martin B{\"u}chi and Wolfgang Weck}, title = {A Plea for Grey-Box Components}, institution = {Turku Center for Computer Science}, number = {122}, isbn = {952-12-0047-2}, note = {http://www.abo.fi/\symbol{126}mbuechi/publications/GreyBoxes.html}, address = "Presented at the Workshop on Foundations of Component-Based Systems, Z{\"u}rich, September 1997", year = {1997} } @TechReport{Buechi-Weck99, key = "Buechi \& Weck", author = {Martin B{\"u}chi and Wolfgang Weck}, title = {The Greybox Approach: When Blackbox Specifications Hide Too Much}, institution = {Turku Center for Computer Science}, number = {297}, isbn = {952-12-0508-3}, note = {http://www.abo.fi/\symbol{126}mbuechi/publications/TR297.html}, month = Aug, year = 1999 } @TechReport{Buechi00, key = {B\"{u}chi}, author = {Martin B{\"u}chi}, title = {Safe Language Mechanisms for Modularization and Concurrency}, institution = {Turku Center for Computer Science}, year = 2000, number = {TUCS Dissertations No. 28}, month = May } @InProceedings{Burdy-etal03, key = {Burdy, {\it et al.}}, author = {Lilian Burdy and Yoonsik Cheon and David R. Cok and Michael D. Ernst and Joeseph R. Kiniry and Gary T. Leavens and K. Rustan M. Leino and Erik Poll}, title = {An overview of {JML} tools and applications}, booktitle = {Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 03)}, pages = {73-89}, year = {2003}, editor = {Thomas Arts and Wan Fokkink}, volume = {80}, series = {Electronic Notes in Theoretical Computer Science (ENTCS)}, month = {June}, publisher = {Elsevier}, annote = {42 references.}, URL = {http://www.sciencedirect.com/science/journal/15710661} } @TechReport{Burdy-etal03a, key = {Burdy, {\it et al.}}, author = {Lilian Burdy and Yoonsik Cheon and David M. Cok and Michael D. Ernst and Joeseph R. Kiniry and Gary T. Leavens and K. Rustan M. Leino and Erik Poll}, title = {An overview of {JML} tools and applications}, institution = {Dept. of Computer Science, University of Nijmegen}, year = {2003}, number = {NIII-R0309}, annote = {42 references.}, URL = {ftp://ftp.cs.iastate.edu/pub/leavens/JML/jml-white-paper.pdf} } @Article{Burdy-etal05, key = {Burdy, {\it et al.}}, author = {Lilian Burdy and Yoonsik Cheon and David R. Cok and Michael D. Ernst and Joeseph R. Kiniry and Gary T. Leavens and K. Rustan M. Leino and Erik Poll}, title = {An overview of {JML} tools and applications}, journal = {International Journal on Software Tools for Technology Transfer}, volume = 7, number = 3, month = Jun, year = {2005}, publisher = SV, pages = {212-232}, annotate = {93 references.} } @InProceedings{Burdy-Requet-Lanet03, key = "Burdy \& Requet \& Lanet", author = "Lilian Burdy and Antoine Requet and Jean-Louis Lanet", title = "Java Applet Correctness: a Developer-Oriented Approach", booktitle = "FME 2003: Formal Methods, International Symposium of Formal Methods Europe", editor = "Keijiro Araki and Stefania Gnesi and Dino Mandrioli", series = LNCS, volume = 2805, publisher = "Springer", month = Sep, year = 2003, pages = "422-439" } @InProceedings{Burdy-Requet-Lanet02, key = "Burdy \& Requet \& Lanet", author = "Lilian Burdy and Jean-Louis Lanet and Antoine Requet", title = "{JACK}: {Java} Applet Correctness Kit", booktitle = {4th Gemplus Developer Conference}, year = 2002, month = Nov, note = {url{http://www.gemplus.com/smart/r_d/trends/jack.html}} } @InProceedings{Burkhart92, Key = "Burkhart", Author = "Roger Burkhart", Title = "Enterprise Integration Modelling", Booktitle = "Proc. of the first international conference", Publisher = MITP, Address = NY, Year = 1992, Annote = "11 references" } @Article{Burmeister82, Key = "Burmeister", Author = "Peter Burmeister", Title = "Partial Algebras --- Survey of a Unifying Approach Towards a Two-valued Model Theory for Partial Algebras", Journal = "Algebra Universalis", Volume = 15, Pages = "306-358", Year = 1982, Annote = "91 references." } @Article{Burstall-Darlington77, Key = "Burstall \& Darlington", Author = "R. M. Burstall and J. L. Darlington", Title = "A Transformation System for Developing Recursive Programs", Journal = JACM, Year = 1977, Month = Jan, Volume = 24, Number = 1, Pages = "44-67" } @InProceedings{Burstall-Goguen77, Key = "Burstall \& Goguen", Author = "R. M. Burstall and J. A. Goguen", Title = "Putting theories together to make specifications", BookTitle = "Fifth International Joint Conference on Artifical Intelligence, MIT, Cambridge, Mass.", Organization = "IJCAI-77, Department of Computer Science, Carnegie Mellon, Pittsburgh", Year = 1977, Month = Aug, Pages = "1045-1058", Volume = 2, Annote = "The specification language Clear. 35 references." } @InCollection{Burstall-Goguen80, Key = "Burstall \& Goguen", Author = "R. M. Burstall and J. A. Goguen", Title = "The Semantics of {CLEAR}, a Specification Language", BookTitle = "Abstract Software Specification, Copenhagen Winter School", Series = LNCS, Volume = 86, Note = "Also University of Edinburgh, Department of Computer Science, Internal Report, CSR-65-80, Feb, 1980", Publisher = SV, Address = NY, Year = 1980, Pages = "292-332" } @InCollection{Burstall-Goguen81, Key = "Burstall \& Goguen", Author = "R. M. Burstall and J. Goguen", Title = "An Informal Introduction to Specification Using CLEAR", BookTitle = "The Correctness Problem in Computer Science", Editor = "Robert S. Boyer and J. Strother Moore", Publisher = "Academic Press, Inc.", Address = NY, Year = 1981, Pages = "185-213", Annote = "23 references." } @InCollection{Burstall-Goguen82, Key = "Burstall \& Goguen", Author = "R. M. Burstall and J. A. Goguen", Title = "Algebras, Theories and Freeness: An Introduction for Computer Scientists", BookTitle = "Theoretical Foundations of Programming Methodology: Lecture Notes of an International Summer School directed by F. L. Bauer, E. W. Dijkstra and C. A. R. Hoare", Editor = "Manfred Broy and Gunther Schmidt", Year = 1982, Publisher = "D. Ridel", Address = "Dordrecht, Holland", Pages = "329-348", Series = "series C", Volume = 91, Annote = "44 references." } @Book{Buschmann-etal96, key = "Buschmann, {\em et al.}", author = "Frank Buschmann and Regine Meunier and Hans Rohnert and Peter Sommerlad and Michael Stal", title = "Pattern-Oriented Software Architecture: A System of Patterns", year = "1996", publisher = "John Wiley \& Sons", series = "Wiley series in Software design patterns", annote = "Many references." } @Article{Bustard-Winstanley94, key = {Bustard \& Winstanley}, author = {David W. Bustard and Adam C. Winstanley}, title = {Making Changes to Formal Specifications: Requirements and an Example}, journal = IEEETSE, year = 1994, volume = 20, number = 8, month = Aug, pages = {562-568}, annote = {26 references.} } @InProceedings{Butler-DiVito91, Key = "Butler \& Di Vito", Author = "Ricky W. Butler and Ben L. Di Vito", Title = "Design Strategy for a Formally Verified Reliable Computing Platform", BookTitle = "6th Annual Conference on Computer Assurance (COMPASS 91)", Year = 1991, Month = Jun } @inproceedings{Butler-Sekerinski-Sere95, key = {Butler \& Sekerinski \& Sere}, author = {Michael J. Butler and Emil Sekerinski and Kaisa Sere}, title = {An Action System Approach to the Steam Boiler Problem.}, booktitle = {Formal Methods for Industrial Applications}, year = 1995, pages = {129-148}, crossref = {FMIA95}, } @article{Butler02, key = {Butler}, author = {Michael J. Butler}, title = {On the Use of Data Refinement in the Development of Secure Communications Systems.}, journal = FAC, volume = 14, number = 1, year = 2002, pages = {2-34}, URL = {http://link.springer.de/link/service/journals/00165/bibs/2014001/20140002.htm}, } @InProceedings{Butler91, Key = "Butler", Author = "Ricky W. Butler", Title = "NASA Langley's Research Program in Formal Methods", BookTitle = "6th Annual Conference on Computer Assurance (COMPASS 91)", Year = 1991, Month = Jun } @article{Butler96, key = {Butler}, author = {Michael J. Butler}, title = {Stepwise Refinement of Communicating Systems.}, journal = SCP, volume = 27, number = 2, year = 1996, pages = {139-173} } @TechReport{Buxton-Stenning80, Key = "Buxton \& Stenning", Author = "John N. Buxton and Vic Stenning", Title = "Requirements for Ada Programming Support Environments: Stoneman", Institution = "U.S. Department of Defense", Month = Feb, Year = 1980, Annote = "2 references." } @unpublished{CZT06, key = {CZT}, author = {{CZT Partners}}, title = {Community {Z} tools.}, year = 2006, note = {\url{http://czt.sourceforge.net/}} } @Article{Calcagno-OHearn-Bornat03, key = {Calcagno \& O'Hearn \& Bornat}, author = {Cristiano Calcagno and Peter O’Hearn and Richard Bornat}, title = {Program logic and equivalence in the presence of garbage collection}, journal = TCS, year = 2003, volume = 298, number = 2, pages = {557-581}, annote = {15 references.} } @PhdThesis{Camarao94, author = "Carlos Camar{\~{a}}o de Figueiredo", title = "A Proof System for a Sequential Object-Based Language", school = "University of Manchester", year = 1995, month = "September", note = "Also in University of Manchester Technical Report UMCS--95--1--1, available via \url{ftp.cs.man.ac.uk:pub/TR/UMCS-95-1-1.ps.Z}, or \url{http://www.cs.man.ac.uk/csonly/cstechrep/Abstracts/UMCS-95-1-1.html}" } @Book{Cameron83, Key = "Cameron", Author = "J. R. Cameron", Editor = "P. Bruce Berra and Bill D. Carroll and Jack Cotton and Jerome R. Cox, Jr. and Ez Nahouraii and Chuan-lin Wu", Title = "Tutorial JSP \& JSD: The Jackson Approach to Software Development", Publisher = "IEEE Computer Society Press", Year = 1983, Series = "A Monograph in the Computer Society Press Series", Address = "Silver Spring, MD", Note = "ISBN 0-8186-8516-6 (casebound), 0-8186-4516-4 (microfiche)" } @Article{Cameron86, Key = "Cameron", Author = "John R. Cameron", Title = "An Overivew of {JSD}", Journal = IEEETSE, Volume = "SE-12", Number = 2, Month = Feb, Year = 1986, Pages = "222-240", Annote = "7 references." } @Article{Campbell-Islam93, key = "Campbell \& Islam", author = "Roy H. Campbell and Nayeem Islam", title = "A Technique for Documenting the Framework of an Object-Oriented System", journal = "Computing Systems", year = 1993, number = 4, volume = 6, pages = "363-389" } @Book{Carrano95, key = "Carrano", author = "Frank M. Carrano", title = "Data Abstraction and Problem Solving with C++: Walls and Mirrors", publisher = "Benjamin/Cummings", year = 1995, address = "Redwood City, CA" } @InProceedings{Carrington-etal89, Key = "Carrington, {\em et al.}", Author = "D. Carrington and D. Duke and R. Duke and P. King and G. Rose and G. Smith", Title = "{Object-Z}: An object-oriented extension to {Z}", BookTitle = "Formal Description Techniques (FORTE '89), Vancouver", Month = Dec, Year = 1989, Publisher = North-Holland, Pages = "281-296", Annote = "Encapsulation for state variables in 'classes', inheritance of specs, and subtype polymorphism." } @InProceedings{Cartwright81, Key = "Cartwright", Author = "Robert Cartwright", Title = "Formal Program Testing", BookTitle = "Conference Record of the Eighth ACM Symposium on Principles of Programming Languages", Publisher = ACM, Month = Jan, Year = 1981, Pages = "125-132", Annote = "Generate verification conditions, and test them. 25 references." } @Unpublished{Casais-etal93, Key = "Casais {\em et al.}", Author = "E. Casais and C. Lewerentz and T. Lindner and F. Weber", Title = "Formal Methods and Object-Orientation", Note = "Tutorial at TOOLS Europe '93", Annote = "127 references.", Year = 1993 } @InProceedings{Catano-Huisman02, key = {Cata{\~n}o \& Huisman}, author = {N\'estor Cata{\~n}o and Marieke Huisman}, title = {Formal specification of {Gemplus}'s electronic purse case study}, booktitle = {FME 2002}, volume = {LNCS 2391}, editor = {L. H. Eriksson and P. A. Lindsay}, publisher = SV, year = {2002}, pages = {272--289}, } @Article{Cavalcanti-Naumann00, Key = {Cavalcanti \& Naumann}, Author = {A. L. C. Cavalcanti and D. Naumann}, Title = {A Weakest Precondition Semantics for an Object-oriented Language of Refinement}, Year = 2000, Journal = IEEETSE, month = Aug, volume = 26, number = 8, pages = {713-728}, Annote = "Defines predicate transformer semantics for a Java-like language with dynamic dispatch, inheritance, recursive classes and methods, and specification constructs from refinement calculus. The language has no pointers or threads. This semantics has been used to prove refinement laws and is currently being used for results on behavioral subclassing; the paper includes an informal discussion of the latter." } @InProceedings{Cavalcanti-Naumann02a, Key = {Cavalcanti \& Naumann}, author = {A. L. C. Cavalcanti and D. A. Naumann}, title = {Forward Simulation for Data Refinement of Classes}, volume = {2391}, series = LNCS, booktitle = {Formal Methods Europe}, editor = {L. Eriksson and P. A. Lindsay}, pages = {471-490}, year = 2002 } @InProceedings{Cavalcanti-Naumann02b, Key = {Cavalcanti \& Naumann}, author = {Ana Cavalcanti and David A. Naumann}, title = {On a Specification-oriented Model for Object-orientation}, year = {2002}, volume = 5, booktitle = {Sixth Brazilian Symposium on Programming Languages}, editor = {Edward Hermann Haeusler and Carlos Camarao de Figueiredo and Alex de Vasconcellos Garcia and Renato F.G. Cerqueira}, pages = {114-127} } @InProceedings{Cavalcanti-Naumann99, key = "Cavalcanti \& Naumann", author = "Ana Cavalcanti and David A. Naumann", title = "A Weakest Precondition Semantics for an Object-Oriented Language of Refinement", editor = "Jeanette M. Wing and Jim Woodcock and Jim Davies", booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, year = 1999, volume = 1709, pages = "1439-1459", annote = "18 references.", } @Article{Cavalcanti-Sampaio-Woodcook99, key = "Cavalcanti \& Sampaio \& Woodcook", title = "An inconsistency in procedures, parameters, and substitution in the refinement calculus", author = "Ana Cavalcanti and Augusto Sampaio and Jim Woodcock", pages = "87-96", journal = "Science of Computer Programming", month = jan, year = "1999", volume = "33", number = "1" } @phdthesis{Chai00, key = {Chai}, author = {Ian Chai}, title = {Pedagogical framework documentation: how to document object-oriented frameworks. An empirical study}, year = 2000, isbn = {0-599-76181-4}, School = "Univiersity of Illinois, Urbana-Champaign" } @InProceedings{Chai99, author = {Ian Chai}, title = {Pedagogical Framework Documentation: How to Document Object-Oriented Frameworks: Summary of Empirical Results}, key = {Chai}, booktitle = {Proceedings, World Engineering Congress '99, Kuala Lumpur, Malaysia}, year = 1999, month = Jul } @InProceedings{Chalin-Grogono-Radhakrishnan96, key = {Chalin \& Grogono \& Radhakrishnan}, author = {Patrice Chalin and Peter Grogono and T. Radhakrishnan}, title = {Identification of and solutions to shortcomings of {LCL}, a {Larch/C} interface specification language}, editor = "Marie-Claude Gaudel and James Woodcock", volume = 1051, series = LNCS, pages = "385-404", booktitle = "FME '96: Industrial Benefit and Advances in Formal Methods", year = 1996, publisher = SV, address = NY, month = Mar, annote = "21 references." } @InProceedings{Chalin-Rioux05, author = {Patrice Chalin and Fr\`{e}d\`{e}ric Rioux}, title = {Non-null References by Default in the Java Modeling Language}, key = {Chalin \& Rioux}, booktitle = {Proceedings of the Workshop on the Specification and Verification of Component-Based Systems (SAVCBS'05)}, year = 2005, volume = {31(2)}, series = {ACM Software Engineering Notes}, organization = {ACM} } @InProceedings{Chalin-etal06, key = {Chalin, {\em et al.}}, author = {Patrice Chalin and Joseph R. Kiniry and Gary T. Leavens and Erik Poll}, title = {Beyond Assertions: Advanced Specification and Verification with {JML} and {ESC/Java2}}, booktitle = {Formal Methods for Components and Objects (FMCO) 2005, Revised Lectures}, year = 2006, series = LNCS, publisher = SV, URL = {http://tinyurl.com/o4nxa} } @TechReport{Chalin02, author = {Patrice Chalin}, title = {Back to Basics: Language Support and Semantics of Basic Infinite Integer Types in {JML} and {Larch}}, institution = {Computer Science Department, Concordia University}, year = 2002, key = {Chalin}, number = {CU-CS 2002-003.1}, month = Oct, URL = "http://www.cs.concordia.ca/~faculty/chalin/papers/TR-CU-CS-2002-003.1.pdf", annote = "29 references." } @inproceedings{Chalin03, author = {Patrice Chalin}, title = {Improving {JML}: For a Safer and More Effective Language}, booktitle = {Formal Methods (FME)}, pages = {440-461}, editor = {Keijiro Araki and Stefania Gnesi and Dino Mandrioli}, publisher = SV, series = LNCS, volume = 2805, year = 2003 } @TechReport{Chalin03, author = "Patrice Chalin", title = "Improving {JML}: For a Safer and More Effective Language", institution = "Computer Science Department, Concordia University", number = "2003-001.1", year = 2003, month = "March" } @Article{Chalin04, author = {Patrice Chalin}, title = {{JML} Support for Primitive Arbitrary Precision Numeric Types: Definition and Semantics}, journal = JOT, year = 2004, key = {Chalin}, volume = 3, number = 6, pages = {57-79}, month = Jun, URL = {http://www.jot.fm/issues/issue_2004_06/article3}, annote = {19 references} } @InProceedings{Chalin06, key = {Chalin}, author = {Patrice Chalin}, title = {Towards Support for Non-null Types and Non-null-by default in {Java}}, booktitle = {Workshop on Formal Techniques for Java-like Programs (FTfJP)}, year = 2006, month = Jul, URL = {http://www.disi.unige.it/person/AnconaD/FTfJP06/paper03.pdf}, annote = {41 references.} } @TechReport{Chalin95, key = "Chalin", author = "Patrice Chalin", title = "Shortcomings of LCL 2.4", institution = "Concordia University, Department of Computer Science", year = 1995, number = "CU/DCS-TR-95-04", address = "1455 de Maisonneuve Blvd. West, Montreal, Quebec, Canada", month = Apr, note = "Available by anonymous ftp at ftp.cs.concordia.ca in \url{pub/chalin/CU-DCS-TR-95-04.ps.Z}." } @PhdThesis{Chalin95b, author = {Patrice Chalin}, title = {On the Language Design and Semantic Foundation of {LCL}, a {Larch/C} Interface Specification Language}, school = {Concordia University}, year = 1995, key = {Chalin}, address = {1455 de Maisonneuve Blvd. West, Montreal, Quebec, Canada}, month = {October}, note = {Available as CU/DCS TR 95-12, from the \url{ftp://ftp.cs.concordia.ca/pub/chalin/tr.ps.Z}.} } @InCollection{Chalmers-etal91, Key = "D. L. Chalmers, {\em et al.}", Author = "D. L. Chalmers and B. Dandanell and J. Gortz and J. S. Pedersen and E. Zierau", Title = "Using RAISE --- First Impressions from the LaCoS Applications", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 1: Conference Contributions", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 551, Pages = "645-657", Address = NY, Month = Oct, Annote = "12 references." } @InProceedings{Chan-Boyland-Scherlis98, key = {Chan \& Boyland \& Scherlis}, author = {Edwin C. Chan and John T. Boyland and William L. Scherlis}, title = {Promises: Limited Specifications for Analysis and Manipulation}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, month = Apr, year = 1998, pages = {167-176}, publisher = IEEE, address = {Los Alamitos, CA}, annote = {22 references.} } @InProceedings{Chang-Richardson99, author = {Juei Chang and Debra J. Richardson}, key = {Chang \& Richardson}, title = "Structural Specification-based Testing: Automated Support and Experimental Evaluation", booktitle = "Software Engineering -- ESEC/FSE '99", month = Nov, year = "1999", editor = "Oscar Nierstrasz and Michel Lemoine", volume = "1687", series = LNCS, publisher = SV, pages = {285-302}, note = {Also ACM SIGSOFT {\em Software Engineering Notes}, volume 24, number 6.}, annote = {33 references.} } @InProceedings{Chang-etal96, Key = {Chang \& Richardson \& Sankar}, Author = {Juei Chang and Debra J. Richardson and Sriram Sankar}, Title = {Structural Specification-based Testing with {ADL}}, Year = 1996, Pages = {62-70}, Booktitle = {Proceedings of ISSTA 96, San Diego, CA}, Publisher = {IEEE Computer Society}, } @article{Chapman00, key = "Chapman", author = "Roderick Chapman", title = "Industrial Experience with {SPARK}", journal = "ACM SIGADA Ada Letters", volume = 20, number = 4, pages = "64-68", year = "2000" } @Article{Charette05, key = {Charette}, author = {Robert N. Charette}, title = {Why Software Fails}, journal = {IEEE Spectrum}, year = 2005, volume = 42, number = 9, pages = {42-49}, month = Sep, annote = {No references.} } @InProceedings{Charles06, key = {Charles}, author = {Julien Charles}, title = {Adding native specifications to {JML}}, booktitle = {Workshop on Formal Techniques for Java-like Programs (FTfJP)}, year = 2006, month = Jul, URL = {http://www.disi.unige.it/person/AnconaD/FTfJP06/paper04.pdf}, annote = {The native in the title refers to the language of a theorem prover. 15 references.} } @InProceedings{Cheatham-Holloway-Townley81, Key = "Cheatham \& Holloway \& Townley", Author = "T. E. Cheatham and G. H. Holloway and J. A. Townley", Title = "Program Refinement by Transformation", BookTitle = "Fifth International Conference on Software Engineering", Organization = IEEE, Year = 1981, Pages = "430-437" } @InProceedings{Cheatham-Wegbreit72, Key = "Cheatham \& Wegbreit", Author = "T. E. Cheatham and B. Wegbreit", Title = "A Laboratory for the Study of Automating Programming", BookTitle = "1972 Spring Joint Computer Conference", Organization = AFIPS, Year = 1972 , Pages = "11-21" } @InCollection{Cheatham82, Key = "Cheatham", Author = "T. E. Cheatham", Title = "An Overview of the Harvard Program Development System", Year = 1981, BookTitle = "Software Engineering Environments", Editor = "H. Hunke", Publisher = North-Holland, Address = NY } @InCollection{Chen-Cheng00, Key = "Chen \& Cheng", Author = "Yonghao Chen and Betty H. C. Cheng", Title = "A Semantic Foundation for Specification Matching", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, Pages = "91-109", Annote = "34 references." } @inproceedings{Chen-Xi05, key = "Chen \& Xi", author = "Chiyan Chen and Hongwei Xi", title = {Combining Programming with Theorem Proving}, booktitle = "Proceedings of the 10th International Conference on Functional Programming (ICFP05)", year = 2005, location = "Tallinn, Estonia", month = Sep } @Article{Chen-etal98, author = {Huo Yan Chen and T. H. Tse and F. T. Chan and T. Y. Chen}, title = {In Black and White: An Integrated Approach to Class-Level Testing of Object-Oriented Programs}, journal = TOSEM, year = 1998, key = {Chen, {\em et al.}}, volume = 7, number = 3, pages = {250-295}, month = Jul, annote = {39 references.} } @TechReport{Chen89, Key = "Chen", Author = "Jolly Chen", Title = "The {Larch/Generic} Interface Language", Institution = "Massachusetts Institute of Technology, EECS department", Month = May, Year = 1989, Note = "The author's Bachelor's thesis. Available from John Guttag at MIT (guttag@lcs.mit.edu)", Annote = "Generic interface language defining traits for state and conventions for procedure and module interface specfications. 7 references." } @Article{Cheng-Clements-Woodside00, author = {Albert Mo Kim Cheng and Paul Clements and Murray Woodside}, title = {Guest Editor's Introduction: Workshop on Software Performance}, journal = IEEETSE, year = 2000, key = {Cheng \& Clements \& Woodside}, volume = 26, number = 11, pages = {1025-1026}, month = Nov } @InProceedings{Cheng-Jones91, key = "Cheng \& Jones", author = "J. H. Cheng and C. B. Jones", editor = "C. Morgan and J. C. P. Woodcock", title = "{On the usability of logics which handle partial functions}", booktitle = "{Proceedings of the Third refinement Workshop}", publisher = SV, address = "Berlin", year = "1991", pages = "51-69", series = "Workshops in Computing Series" } @TechReport{Cheon-Hayashi-Leavens03, Key = "Cheon \& Hayashi \& Leavens", Author = "Yoonsik Cheon and Yoshiki Hayashi and Gary T. Leavens", Title = "A Thought on Specification Reflection", Institution = "Department of Computer Science, Iowa State University", Month = Dec, Year = 2003, Number = "03-16", Note = "Available from \url{archives.cs.iastate.edu}. Appears in SCI 2004.", Annote = "21 references." } @InProceedings{Cheon-Hayashi-Leavens04, Key = "Cheon \& Hayashi \& Leavens", Author = "Yoonsik Cheon and Yoshiki Hayashi and Gary T. Leavens", Editor = "N. Callaos and W. Lesso and B. Sanchez", Title = "A Thought on Specification Reflection", BookTitle = "The 8th World Multi-Conference on Systemics, Cybernetics and Informatics (SCI) Volume II, Computing Techniques", Year = 2004, Pages = "485-490" } @InProceedings{Cheon-Kim-Perumendla05, Key = {Cheon \& Kim \& Perumendla}, Author = {Yoonsik Cheon and Myoung Kim and Ashaveena Perumendla}, Title = {A Complete Automation of Unit Testing for {Java} Programs}, BookTitle = {Proceedings of the 2005 International Conference on Software Engineering Research and Practice (SERP '05), Volume I, Las Vegas, Nevada, June 27-29, 2005}, Editor = {Hamid R. Arabnia and Hassan Reza}, Pages = {290-295}, Year = 2005, Publisher = {CSREA Press} } @TechReport{Cheon-Leavens01, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A Simple and Practical Approach to Unit Testing: The {JML} and {JUnit} Way", Institution = "Department of Computer Science, Iowa State University", Month = Nov, Year = 2001, Number = "01-12", Note = "Available from \url{archives.cs.iastate.edu}.", Annote = "51 references." } @InProceedings{Cheon-Leavens02, key = {Cheon \& Leavens}, author = {Yoonsik Cheon and Gary T. Leavens}, title = {A Simple and Practical Approach to Unit Testing: The {JML} and {JUnit} Way}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {231-255}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {The jmlunit tool. 38 references.} } @TechReport{Cheon-Leavens02a, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A Simple and Practical Approach to Unit Testing: The {JML} and {JUnit} Way", Institution = "Department of Computer Science, Iowa State University", Month = Mar, Year = 2002, Number = "01-12a", Note = "Appears in ECOOP 2002 proceedings, LNCS 2374, pp. 231-255.", Annote = "51 references." } @InProceedings{Cheon-Leavens02b, key = {Cheon \& Leavens}, author = {Yoonsik Cheon and Gary T. Leavens}, title = {A Runtime Assertion Checker for the {Java Modeling Language (JML)}}, booktitle = {Proceedings of the International Conference on Software Engineering Research and Practice (SERP '02), Las Vegas, Nevada, USA, June 24-27, 2002}, pages = {322-328}, year = 2002, editor = {Hamid R. Arabnia and Youngsong Mun}, month = Jun, publisher = {CSREA Press}, annote = {23 references.}, url = {ftp://ftp.cs.iastate.edu/pub/techreports/TR02-05/TR.pdf} } @TechReport{Cheon-Leavens02c, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A Runtime Assertion Checker for the {Java Modeling Language (JML)}", Institution = "Department of Computer Science, Iowa State University", Month = Mar, Year = 2002, Number = "02-05", Note = "In SERP 2002, pp. 322-328", Annote = "19 references.", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-05/TR.pdf" } @TechReport{Cheon-Leavens04, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "The {JML} and {JUnit} Way of Unit Testing and its Implementation", Institution = "Department of Computer Science, Iowa State University", Month = Apr, Year = 2004, Number = "04-02a", Note = "Submitted for publication", Annote = "51 references.", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR04-02/TR.pdf" } @InProceedings{Cheon-Leavens05, key = {Cheon \& Leavens}, author = {Yoonsik Cheon and Gary T. Leavens}, title = {A Contextual Interpretation of Undefinedness for Runtime Assertion Checking}, booktitle = {AADEBUG 2005, Proceedings of the Sixth International Symposium on Automated and Analysis-Driven Debugging, Monterey, California, September 19--21, 2005}, pages = {149-157}, year = 2005, month = Sep, publisher = {ACM Press}, annote = {30 references.} } @TechReport{Cheon-Leavens05a, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A Contextual Interpretation of Undefinedness for Runtime Assertion Checking", Institution = "Department of Computer Science, The University of Texas at El Paso", Month = Mar, Year = 2005, Number = "05-10", Note = "To appear in AADEBUG 2005", Annote = "28 references.", URL = "http://www.cs.utep.edu/~cheon/techreport/tr05-10.pdf" } @TechReport{Cheon-Leavens93a, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A Quick Overview of {Larch/C++}", Institution = "Department of Computer Science, Iowa State University", Month = Jun, Year = 1994, Number = "93-18a", Note = "Appears in the {\em Journal of Object-Oriented Programming\/}, 7(6):39-49, October 1994.", Annote = "29 references." } @Article{Cheon-Leavens94, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "The {Larch/Smalltalk} Interface Specification Language", Journal = "ACM Transactions on Software Engineering and Methodology", Month = Jul, Year = 1994, Volume = 3, Number = 3, Pages = "221-253", Annote = "44 references." } @TechReport{Cheon-Leavens94b, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "The {Larch/Smalltalk} Interface Specification Language", Institution = "Department of Computer Science, Iowa State University", Month = May, Year = 1994, Number = "93-24a", Note = "To appear in {\it ACM TOSEM}, July 1994. Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu.", Annote = "44 references." } @TechReport{Cheon-Leavens94c, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A gentle introduction to {Larch/Smalltalk} specification browsers", Institution = "Department of Computer Science, Iowa State University", Month = Jan, Year = 1994, Number = "94-01", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-01/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu." } @Article{Cheon-Leavens94d, Key = "Cheon \& Leavens", Author = "Yoonsik Cheon and Gary T. Leavens", Title = "A Quick Overview of {Larch/C++}", Journal = "Journal of Object-Oriented Programming", Year = 1994, Volume = 7, Number = 6, Month = Oct, Pages = "39-49", Annote = "29 references." } @InProceedings{Cheon-Perumendla05, Key = {Cheon \& Perumendla}, Author = {Yoonsik Cheon and Ashaveena Perumendla}, Title = {Specifying and Checking Method Call Sequences in {JML}}, BookTitle = {Proceedings of the 2005 International Conference on Software Engineering Research and Practice (SERP '05), Volume II, Las Vegas, Nevada, June 27-29, 2005}, Editor = {Hamid R. Arabnia and Hassan Reza}, Pages = {511-516}, Year = 2005, Publisher = {CSREA Press} } @TechReport{Cheon-Perumendla05a, key = {Cheon \& Perumendla}, author = {Yoonsik Cheon and Ashaveena Perumendla}, title = {Specifying and Checking Method Call Sequences in {JML}}, institution = {Department of Computer Science, University of Texas at El Paso}, year = 2005, number = {05-04}, address = {500 West University Ave., El Paso, TX, 79968}, month = Feb, annote = {17 references.} } @TechReport{Cheon-Perumendla06, Key = {Cheon \& Perumendla}, Author = {Yoonsik Cheon and Ashaveena Perumendla}, Title = {Specifying and Checking Method Call Sequences of {Java} Programs}, Institution = {Department of Computer Science, The University of Texas at El Paso}, Month = Apr, Year = 2006, Number = {05-36}, Address = {500 West University Ave., El Paso, TX, 79968}, Annote = {Extended version of SERP 2006 paper}, URL = {http://www.cs.utep.edu/~cheon/techreport/tr05-36.pdf} } @TechReport{Cheon-etal03, Key = "Cheon \& Leavens \& Sitaraman \& Edwards", Author = "Yoonsik Cheon and Gary T. Leavens and Murali Sitaraman and Stephen Edwards", Title = "Model Variables: Cleanly Supporting Abstraction in Design By Contract", Institution = "Department of Computer Science, Iowa State University", Month = Sep, Year = 2003, Number = "03-10a", Note = "To appear in \emph{Software -- Practice \& Experience}. Available from \url{archives.cs.iastate.edu}.", Annote = "39 references." } @TechReport{Cheon-etal04, Key = "Cheon \& Leavens \& Sitaraman \& Edwards", Author = "Yoonsik Cheon and Gary T. Leavens and Murali Sitaraman and Stephen Edwards", Title = "Model Variables: Cleanly Supporting Abstraction in Design By Contract", Institution = "Department of Computer Science, Iowa State University", Month = Aug, Year = 2004, Number = "03-10b", Note = "To appear in \emph{Software -- Practice \& Experience}. Available from \url{archives.cs.iastate.edu}.", Annote = "26 references." } @Article{Cheon-etal05, Key = "Cheon \& Leavens \& Sitaraman \& Edwards", Author = "Yoonsik Cheon and Gary T. Leavens and Murali Sitaraman and Stephen Edwards", Title = "Model Variables: Cleanly Supporting Abstraction in Design By Contract", Journal = SPandE, Year = 2005, Volume = 35, Number = 6, Month = May, Pages = "583-599", Annote = "DOE: 10.1002/see.649" } @TechReport{Cheon03, Key = "Cheon", Author = "Yoonsik Cheon", Title = "A Runtime Assertion Checker for the {Java Modeling Language}", Institution = "Department of Computer Science, Iowa State University", Year = 2003, Number = "03-09", Address = "Ames, IA", Month = Apr, Note = "The author's Ph.D. dissertation.", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR03-09/TR.pdf", Annote = "160 references." } @PhdThesis{Cheon03a, Key = "Cheon", Author = "Yoonsik Cheon", Title = "A Runtime Assertion Checker for the {Java Modeling Language}", School = "Iowa State University", Address = "Ames, Iowa, 50011", Year = 2003, Note = "Available as ISU/CS TR 03-09, from \url{archives.cs.iastate.edu}", Annote = "160 references." } @TechReport{Cheon91, Key = "Cheon", Author = "Yoonsik Cheon", Title = "{Larch/Smalltalk}: A Specification Language for {Smalltalk}", Institution = "Department of Computer Science, Iowa State University", Year = 1991, Number = "91-15", Address = "Ames, IA", Month = Jun, Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu.", Annote = "40 references." } @Article{Chetali98, key = {Chetali}, author = {Boutheina Chetali}, title = {Formal Verification of Concurrent Programs Using the {Larch Prover}}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = Jan, pages = {46-62}, annote = {Proofs of UNITY programs in LP. 35 references.} } @TechReport{Christensen-Jepsen91, Key = "Christensen \& Jepsen", Author = "Soren Christensen and Leif Obel Jepsen", Title = "Modelling and Simulation of a Network Management System using {Hierarchical Coloured Petri Nets} (extended version)", Institution = "Computer Science Department, Aarhus University", Year = 1991, Number = "DAIMI PB 349", Month = "Apr", Annote = "14 references." } @article{Cristian84, key = "Cristian", author = "Flaviu Cristian", title = "Correct and Robust Programs", journal = IEEETSE, volume = 10, year = 1984, pages = "163-174" } @Article{Ciapessoni-etal99, author = {Emanuelle Ciapessoni and Alberto Coen-Porisini and Ernani Crivelli and Dino Mandrioli and Piergiorgio Mirandola and Angelo Morzenti}, title = {From Formal Models to Formally Based Methods: An Industrial Experience}, journal = TOSEM, year = 1999, key = {Ciapessoni, {\em et al.}}, volume = 8, number = 1, month = Jan, pages = {79-113}, annote = {Adopting formal methods incrementally can work. Many references.} } @Article{Cicalese-Rotenstreich99, key = {Cicalese \& Rotenstreich}, author = {Cynthia Della Torre Cicalese and Shmuel Rotenstreich}, title = {Behavioral Specification of Distributed Software Component Interfaces}, journal = {Computer}, year = 1999, volume = 32, number = 7, month = Jul, pages = {46-53}, annote = {Biscotti, a Java extension. 4 references.} } @inproceedings{Ciccia-Ciancarini-Penzo95a, key = "Ciccia \& Ciancarini \& Penzo", author = {P. Ciaccia and P. Ciancarini and W. Penzo}, title = "A Formal Approach to Software Design: The {Clepsydra} Methodology", Booktitle = {Proc. 9th Int. Conf. on the Z Formal Specification Notation (ZUM95), Limerick, Ireland}, publisher = SV, editor = {J. Bowen and M. Hinchey}, month = {September}, series = LNCS, volume = 967, year = 1995, pages = {5-24}, address = NY, annote = "17 references." } @inproceedings{Ciccia-Ciancarini-Penzo95b, key = "Ciccia \& Ciancarini \& Penzo", author = {P. Ciaccia and P. Ciancarini and W. Penzo}, title = "From Formal Requirements to Formal Design", booktitle = {Proc. 7th Int. Conf. on Software Engineering and Knowledge Engineering, Rockville, Maryland}, year = {1995}, pages = {23-30}, publisher = {Knowledge Systems Institute}, } @techreport{Ciccia-Ciancarini-Penzo95c, key = "Ciccia \& Ciancarini \& Penzo", author = {P. Ciaccia and P. Ciancarini and W. Penzo}, title = "The {Clepsydra} Methodology", institution = "Dept. of Computer Science, Univ. of Bologna", address = "Pza. di Porta S.Donato, 5 -- 40127 Bologna, Italy", year = 1995, number = {UBLCS 95-2}, } @article{Ciccia-Ciancarini-Penzo96, key = "Ciccia \& Ciancarini \& Penzo", author = {P. Ciaccia and P. Ciancarini and W. Penzo}, title = "Formal Requirements and Design Specifications: The {Clepsydra} Methodology", journal = "Int. Journal on Sw Eng. and Knowledge Eng.", year = 1996, volume = {(to appear)}, number = {}, pages = {}, Note = "Available from \url{ftp://ftp.cs.unibo.it/pub/cianca/ij.ps.gz}" } @InProceedings{Clark-Devnani-Chulani-Boehm98, key = {Clark \& Devnani-Chulani \& Boehm}, author = {Bradford Clark and Sunita Devnani-Chulani and Barry Boehm}, title = {Calibrating the {COCOMO II} Post-Arichitecture Model}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = Apr, pages = {477-480}, annote = {5 references.} } @Book{Clark-Warmer02, editor = {Tony Clark and Jos Warmer}, title = {Object Modeling with the OCL: The Rationale behind the Object Constraint Language}, publisher = SV, year = 2002 } @TechReport{Clark82, Key = "Clark", Author = "D. Clark", Title = "Modularity and efficiency in protocol implementation", Institution = "Arpanet RFC", Number = 817, Year = 1982, Month = Jul } @Book{Clarke-Baniassad05, key = {Clarke \& Baniassad}, author = {Siobh\'{a}n Clarke and Elisa Baniassad}, title = {Aspect-Oriented Analysis and Design: The Theme Approach}, publisher = {Addison-Wesley}, year = 2005, annote = {20 references.} } @Article{Clarke-Emerson-Sistla86, key = "Clarke \& Emerson \& Sistla", author = "E. M. Clarke and E. Allen Emerson and A. P. Sistla", title = "Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications", journal = TOPLAS, volume = 8, number = 2, pages = "244-263", year = 1986, annote = "Model checking of a CTL formula versus a transition graph is introduced. An algorithm is presented that iteratively labels the nodes of the graph with progressively larger subformulas. 19 references." } @Book{Clarke-Grumberg-Peled99, author = {Edmund M. Clarke, Jr. and Orna Grumberg and Doran A. Peled}, title = {Model Checking}, publisher = MITP, year = 1999, key = {Clarke-Grumberg-Peled}, address = {Cambridge, Mass.}, annote = {253 references} } @InProceedings{Clarke-Noble-Potter01, key = {Clarke \& Noble \& Potter}, author = {David G. Clarke and James Noble and John M. Potter}, title = {Simple Ownership Types for Object Containment}, booktitle = {ECOOP 2001 --- Object-Oriented Programming: 15th European Conference, Budapest, Hungary}, pages = {53-76}, year = 2001, editor = {Jorgen Lindskov Knudsen}, volume = 2072, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {42 references.} } @InProceedings{Clarke-Potter-Noble98, author = {David G. Clarke and John M. Potter and James Noble}, title = {Ownership Types for Flexible Alias Protection}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, key = {Clarke \& Potter \& Noble}, organization = ACM, pages = {48-64}, annote = {46 references.} } @Article{Clarke-Rosenblum06, Key = "Clarke \& Rosenblum", Author = "Lori A. CLarke and David S. Rosenblum", Title = "A Historical Perspective on Runtime Assertion Checking in Software Development", journal = SIGSOFT, volume = 31, number = 3, month = Mar, year = 2006, note = {\url{http://doi.acm.org/10.1145/1127878.1127900}}, publisher = ACM, address = NY, annote = "96 references." } @inproceedings{Clarke-Walker01, Author = {Siobh\'{a}n Clarke and Robert J. Walker}, Booktitle = {Proceedings of the 23rd international conference on Software engineering}, Isbn = {0-7695-1050-7}, Key = {Clarke \& Walker}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p5-clarke.pdf}, Location = {Toronto, Ontario, Canada}, Pages = {5-14}, Publisher = {IEEE Computer Society}, Title = {Composition patterns: an approach to designing reusable aspects}, Year = {2001} } @inproceedings{Clarke-Walker02, Author = {Siobh\'{a}n Clarke and Robert J. Walker}, Booktitle = {Proceedings of the 1st international conference on Aspect-oriented software development}, Doi = {http://doi.acm.org/10.1145/508386.508400}, Isbn = {1-58113-469-X}, Key = {Clarke \& Walker}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p113-clarke.pdf}, Location = {Enschede, The Netherlands}, Pages = {113-119}, Publisher = {ACM Press}, Title = {Towards a standard design language for AOSD}, Year = {2002} } @Article{Clarke-Wing96, key = "Clarke \& Wing", author = "Edmund M. Clarke and Jeannette M. Wing and others", title = "Formal Methods: State of the Art and Future Directions", journal = ACMCS, volume = 28, number = 4, pages = "626-643", month = dec, year = 1996, url = "http://www.acm.org/pubs/citations/journals/surveys/1996-28-4/p626-clarke/", annote = "Survey of specification and verification techniques. Many references." } @InProceedings{Clarke-Wrigstad, key = {Clarke \& Wrigstad}, author = {David Clarke and Tobias Wrigstad}, title = {External Uniqueness is Unique Enough}, booktitle = {ECOOP 2003 --- Object-Oriented Programming: 17th European Conference, Darmstadt, Germany}, pages = {176-200}, year = 2003, editor = {Luca Cardelli}, volume = 2743, series = LNCS, address = {Berlin}, month = Jul, publisher = SV, annote = {42 references.} } @Book{Clarke00, author = "Edmund Clarke and Orna Grumberg and Doron Peled", title = "Model Checking", publisher = {MIT Press}, month = jan, year = "2000" } @unpublished{ClearSy96, key = {ClearSy}, author = {ClearSy}, title = {{Atelier B}, User and Reference Manuals}, note = {\url{http://tinyurl.com/lkj72}}, year = 1996 } @InCollection{Clerici-Orejas88, Key = "Clerici \& Orejas", Author = "S. Clerici and F. Orejas", Title = "GSBL: An Algebraic Specification Language Based on Inheritance", BookTitle = "ECOOP '88, European Conference on Object-Oriented Programming, Oslo, Norway", Editor = "S. Gjessing and K. Nygaard", Publisher = SV, Address = NY, Month = Aug, Year = 1988, Pages = "78-92", Series = LNCS, Volume = 322, Annote = "Allows incomplete specifications. Order-sorted. 16 references." } @TechReport{Clifton-Leavens02, Key = {Clifton \& Leavens}, Author = {Curtis Clifton and Gary T. Leavens}, Title = {Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning}, institution = {Iowa State University, Department of Computer Science}, year = 2002, number = {02-04a}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-04/TR.pdf", Annote = "25 references." } @InProceedings{Clifton-Leavens02a, Key = {Clifton \& Leavens}, Author = {Curtis Clifton and Gary T. Leavens}, Title = {Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning}, Pages = "33-44", BookTitle = {FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002}, year = 2002, Editor = {Gary T. Leavens and Ron Cytron}, Organization = {Department of Computer Science, Iowa State University}, Series = {Technical Report}, number = {02-06}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-06/TR.pdf" } @InProceedings{Clifton-Leavens03, Key = {Clifton \& Leavens}, Author = {Curtis Clifton and Gary T. Leavens}, Title = {Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy}, institution = {Iowa State University, Department of Computer Science}, year = 2003, BookTitle = {SPLAT 2003: Software engineering Properties of Languages for Aspect Technologies at AOSD 2003}, month = Mar, note = "Available as Computer Science Technical Report TR03-01a from ftp//:ftp.cs.iastate.edu/pub/techreports/TR03-01/TR.pdf", Annote = "19 references." } @TechReport{Clifton-Leavens03a, Key = {Clifton \& Leavens}, Author = {Curtis Clifton and Gary T. Leavens}, Title = {Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy}, institution = {Iowa State University, Department of Computer Science}, year = 2003, number = {03-15}, month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR03-15/TR.pdf", Annote = "19 references.", Note = {Revised version of TR03-01} } @TechReport{Clifton-Leavens05b, key = {Clifton \& Leavens}, author = {Curtis Clifton and Gary T. Leavens}, title = {A Design Discipline and Language Features for Formal Modular Reasoning in Aspect-Oriented Programs}, year = 2005, number = {05-23}, address = {Ames, IA, 50011}, month = Jan, institution = {Dept. of Computer Science, Iowa State University}, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR05-23/TR.pdf", annote = {35 references.} } @Article{Clifton-Leavens06, key = {Clifton \& Leavens}, author = {Curtis Clifton and Gary T. Leavens}, title = {MiniMAO$_1$: Investigating the Semantics of Proceed}, year = 2006, journal = SCP, publisher = {Elsevier}, URL = {http://dx.doi.org/10.1016/j.scico.2006.02.009}, annote = {17 references.} } @TechReport{Clifton05, key = {Clifton}, author = {Curtis Clifton}, title = {A design discipline and language features for modular reasoning in aspect-oriented programs}, institution = {Department of Computer Science, Iowa State University}, year = 2005, number = {05-15}, address = {226 Atanasoff Hall, Ames, Iowa 50011}, month = Jul, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-15/TR.pdf}, annote = {The author's Ph.D. thesis. 162 references.} } @PhdThesis{Clifton05a, key = {Clifton}, author = {Curtis Clifton}, title = {A design discipline and language features for modular reasoning in aspect-oriented programs}, school = {Iowa State University}, year = 2005, note = {Available as TR \#05-15.}, month = Jul, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-15/TR.pdf}, annote = {162 references.} } @Article{Cline-Girou00, key = "Cline \& Girou", author = "Marshall Cline and Mike Girou", title = "Enduring business themes", journal = CACM, volume = 43, number = 5, pages = "101-106", month = May, year = 2000, URL = "http://www.acm.org/pubs/citations/journals/cacm/2000-43-5/p101-cline/", annote = "Advocates OO design around business themes that endure. 8 references." } @Article{Clyde-Embley-Woodfield92, Key = "Clyde \& Embley \& Woodfield", Author = "Stephen W. Clyde and David W. Embley and Scott N. Woodfield", Title = "Tunable Formalism in Object-Oriented Systems Analysis: Meeting the Needs of Both Theoreticians and Practitioners", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "452-465", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "17 references." } @Book{CoFI04, key = "{CoFI}", author = "{CoFI (The Common Framework Initiative)}", title = "\textsc{Casl} Reference Manual", year = "2004", publisher = SV, series = "LNCS 2960 (IFIP Series)" } @inproceedings{Coady-Kiczales03, key = {Coady and Kiczales}, author = {Yvonne Coady and Gregor Kiczales}, title = {Back to the Future: {A} Retroactive Study of Aspect Evolution in Operating System Code}, crossref = {aosd03}, pages = {50-59} } @Article{Coady-etal01, key = {Coady, {\em et al.}}, Author = "Yvonne Coady and Gregor Kiczales and Mike Feeley and Norm Hutchinson and Joon Suan Ong", Title = "Structuring operating system aspects: using {AOP} to improve {OS} structure modularity", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "79-82", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Article{Coady-etal01b, key = {Coady, {\em et al.}}, author = {Yvonne Coady and Gregor Kiczales and Mike Feeley and Greg Smolyn}, title = {Using {AspectC} to improve the modularity of path-specific customization in operating system code}, journal = SIGSOFT, year = 2001, volume = 26, number = 5, month = Sep, pages = {88-98}, note = {Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT symposium on Foundations of software engineering, Vienna, Austria} } @InCollection{Coen-Porsini-Kemmerer-Mandrioli, Key = "Coen-Porsini \& Kemmerer \& Mandrioli", Author = "A. Coen-Porsini and R. A. Kemmerer D. Mandrioli", Title = "A Formal FrameWork of ASTRAL Inter-Level Proof Obligations", Journal = LNCS, Number = 717, Editor = "Ian SommrVille and Manfred Paul", Publsiher = SV, Address = NY, Year = 1993, Note = "Software Engineering= ESEC '93. 4th European Software Engineering Conference, Germany, Sep 93. Proceedings", Page = "483-500", Annote = "11 references" } @InProceedings{Coglio-Green05, key = {Coglio \& Green}, author = {Alessandro Coglio and Cordell Green}, title = {A Constructive Approach to Correctness, Exemplified by a Generator for Certified {Java Card} Appplets}, booktitle = {Proc.\ {IFIP} Working Conference on Verified Software: Tools, Techniques, and Experiments}, year = {2005}, month = Oct, URL = {\url{}} } @Book{Cohen-Harwood-Jackson86, Key = "Cohen \& Harwood \& Jackson", Author = "B. Cohen and W. T. Harwood and M. I Jackson", Title = "The Specification of Complex Systems", Publisher = "Addison-Wesley", Year = 1986 } @Article{Cohen-Porisini-Ghezzi-Kemmerer94, key = {Alberto Cohen-Porisini \& Ghezzi \& Kemmerer}, author = {Alberto Cohen-Porisini and Carlo Ghezzi and Richard A. Kemmerer}, title = {A Formal Framework for {ASTRAL} Intralevel Proof Obligations}, journal = IEEETSE, year = 1994, volume = 20, number = 8, month = Aug, pages = {548-561}, annote = {13 references.} } @Article{Cohen-Porisini-Ghezzi-Kemmerer97, key = {Alberto Cohen-Porisini \& Ghezzi \& Kemmerer}, author = {Alberto Cohen-Porisini and Carlo Ghezzi and Richard A. Kemmerer}, title = {Specification of Realtime Systems using {ASTRAL}}, journal = IEEETSE, year = 1997, volume = 23, number = 9, month = Sep, pages = {572-598}, annote = {ASTRAL is a formal specification language for real-time systems. 59 references.} } @Book{Cohen90, Key = "Cohen", Author = "Edward Cohen", Title = "Programming in the 1990s: An Introduction to the Calculation of Programs", Publisher = SV, Year = 1990, Address = NY, Annote = "32 references." } @TechReport{Cok-Kiniry04, key = "Cok \& Kiniry", author = {David R. Cok and Joseph Kiniry}, title = {{ESC/Java2}: Uniting {ESC/Java} and {JML}}, note = {{NIII Technical Report NIII-R0413}.}, institution = {University of Nijmegen}, url = {http://www.cs.kun.nl/research/reports}, year = {2004}, } @Unpublished{Cok-Kiniry04b, key = "Cok \& Kiniry", author = { David R. Cok and Joseph Kiniry }, title = {{ESC/Java2}: Uniting {ESC/Java} and {JML}. Progress and issues in building and using {ESC/Java2} and a report on a case study involving the use of {ESC/Java2} to verify portions of an Internet voting tally system}, Month = May, Year = 2004, Note = {Presented at CASSIS 2004 and submitted for publication} } @InProceedings{Cok04, key = "Cok", author = {David R. Cok}, title = {Reasoning with specifications containing method calls in {JML} and first-order provers}, editor = {Erik Poll}, booktitle="ECOOP Workshop FTfJP'2004 Formal Techniques for Java-like Programs", Month = Jun, Year = 2004, Pages="41-48", URL = "\url{http://www.cs.ru.nl/~erikpoll/ftfjp/2004/SpecificationsWithMethodCalls.pdf}" } @ARTICLE{Cok05, key = "Cok", AUTHOR = {David R. Cok}, TITLE = {Reasoning with specifications containing method calls and model fields}, journal = JOT, VOLUME = 4, NUMBER = 8, PAGES = {77-103}, YEAR = 2005, URL = {http://www.jot.fm/issues/issue_2005_10/article4} } @Unpublished{Colagrosso-Achuthan-Alagar93, Key = "Colagrosso \& Achuthan \& Alagar", Author = "Piero Colagrosso and Ramesh Achuthan and Vangalur S. Alagar", Title = "Evaluating the Completeness of Class Interface Specifications for Software Reuse", Year = 1993, Note = "Obtained from authors", Annote = "29 references." } @inproceedings{Colby-etal00, author = {Christopher Colby and Peter Lee and George C. Necula and Fred Blau and Mark Plesko and Kenneth Cline}, title = {A certifying compiler for {Java}}, booktitle = {PLDI '00: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation}, year = {2000}, isbn = {1-58113-199-2}, pages = {95-107}, location = {Vancouver, British Columbia, Canada}, URL = {http://doi.acm.org/10.1145/349299.349315}, publisher = {ACM Press}, address = {New York, NY, USA} } @Article{Coleman-Hughes79, author = "D. Coleman and J. W. Hughes", title = "The Clean Termination of {Pascal} Programs", key = "Coleman \& Hughes", journal = "Acta Informatica", year = 1979, volume = 11, pages = "195-210", annote = "8 references." } @Book{Coleman-etal94, key = "Coleman, {\em et al.}", author = "D. Coleman and P. Arnold and S. Bodoff and C. Dollin and H. Gilchrist and F. Hayes and P. Jeremaes", title = "Object-Oriented Development: The Fusion Method", publisher = "Prentice-Hall", address = "Englewood Cliffs, NJ", year = 1994 } @PhdThesis{Coleman91, Key = "Coleman", Author = "David L. Coleman", Title = "Formalized structured analysis specifications", School = "Iowa State University", Year = 1991, Address = "Ames, Iowa, 50011", Annote = "Formalization of syntax and some of the semantics of data flow diagrams. 66 references." } @InCollection{Comon90, Key = "Comon", Author = "Hubert Comon", Title = "Equational Formulas in Order-Sorted Algebra", BookTitle = "17th International Colloquium on Automata, Languages, and Programming (ICALP), Warwick, England", Publisher = Springer-Verlag, Year = 1990, Editor = "M. S. Paterson", Series = LNCS, Pages = "674-688", Address = NY, Month = Jul, Annote = "26 references." } @Book{Constantine-Yourdan79, Key = "Constantine \& Yourdan", Author = "L. L. Constantine and E. Yourdan", Title = "Structured Design", Publisher = "Prentice-Hall", Year = 1979, Address = "Englewood Cliffs, NJ" } @Book{Conway-Gries75, Key = "Conway \& Gries", Author = "Richard Walter Conway and David Gries", Title = "An Introduction to Programming, a Structured Approach Using PL/1 and PL/C-7", Publisher = "Winthrop Publishers, Inc.", Address = "Cambridge, Mass.", Year = 1975 } @inproceedings{Cook-Kroening-Sharygina05, AUTHOR = {Byron Cook and Daniel Kroening and Natasha Sharygina}, TITLE = {Cogent: Accurate theorem proving for program verification}, BOOKTITLE = {Computer Aided Verification (CAV)}, YEAR = 2005, PUBLISHER = SV, PAGES = {296-300}, SERIES = LNCS, VOLUME = 3576, EDITOR = {Kousha Etessami and Sriram K. Rajamani}, } @inproceedings{Cook06, author = {Byron Cook and Andreas Podelski and Andrey Rybalchenko}, title = {Termination proofs for systems code}, booktitle = {Proceedings of the ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI)}, editor = {Michael I. Schwartzbach and Thomas Ball}, month = jun, year = {2006}, pages = {415--426}, publisher = {ACM} } @Article{Cook78, Key = "Cook", Author = "S. A. Cook", Title = "Soundness and completeness of an axiom system for program verification", Journal = SIAMJC, Year = 1978, Volume = 7, Pages = "70-90", Annote = "Defines relative completeness." } @Book{Cooke98, author = {John Cooke}, title = {Constructing Correct Software: the basics}, publisher = SV, year = 1998, key = {Cooke}, series = {FACIT}, address = {London, UK} } @Article{Cooper-Kennedy-Torczon86, Key = "Cooper \& Kennedy \& Torczon", Author = "Keith D. Cooper and Ken Kennedy and Linda Torczon", Title = "The Impact of Interprocedural Analysis and Optimization in the ${\bf R}^{n}$ Programming Environment", Journal = TOPLAS, Volume = 8, Number = 4, Month = Oct, Year = 1986, Pages = "491-523", Annote = "47 references." } @TechReport{Cooprider79, Key = "Cooprider", Author = "Lee W. Cooprider", Title = "The Representation of Families of Software Systems", Institution = CMU, Number = "CMU-CS-79-116", Month = Apr, Year = 1979, Annote = "Software construction database for different versions of systems. 85 references." } @Book{Coplien-Harrison05, key = {Coplien \& Harrison}, author = {James O. Coplien and Neil B. Harrison}, title = {Organizational Patterns of Agile Software Development}, publisher = {Pearson Prentice Hall}, year = 2005, annote = {Many references.} } @Article{Coplien-Hoffman-Weiss98, key = {Coplien \& Hoffman \& Weiss}, author = {James Coplien and Daniel Hoffman and David Weiss}, title = {Commonality and Variability in Software Engineering}, journal = {IEEE Software}, year = 1998, volume = 15, number = 6, month = Nov, pages = {37-45}, annote = {16 references.} } @Book{Coplien-Schmidt95, author = {James O. Coplien and Douglas C. Schmidt}, title = {Pattern Languages of Program Design}, publisher = {Addison-Wesley}, year = 1995, key = {Copelin \& Schmidt}, address = {Reading, Mass.} } @InProceedings{Corbett-etal00, author = {James C. Corbett and Matthew B. Dwyer and John Hatcliff and Shawn Laubach and Corina S. Pasareanu and Robby and Hongjun Zheng}, key = {Corbett, {\em et al.}}, title = "Bandera: Extracting Finite-State Models from {Java} Source Code", booktitle = {Proceedings of the 22nd International Conference on Software Engineering}, month = Jun, publisher = "ACM Press", address = NY, year = 2000, pages = {439-448}, annote = {23 references.} } @InProceedings{Corella93, key = "Corella", author = "F. Corella", title = "Automated high-level verification against clocked algorithmic specification", booktitle = "Computer Hardware Description Languages and their Applications", year = "1993", editor = "{D. Agnew} and {L. Claesen} and {R. Camposano}", pages = "135-142", organization = "IFIP WG10.2, CHDL'93, IEEE COMPSOC", publisher = "Elsevier Science Publishers B.V., Amsterdam, Netherland", address = "Ottawa, Canada", month = apr } @InCollection{Corradini98, key = "Corradini", author = "A. Corradini", title = "A completeness result for equational deduction in coalgebraic specification", booktitle = "Recent Trends in Algebraic Development Techniques", series = LNCS, volume = 1376, pages = "190ff.", year = 1998 } @InCollection{Cousot90, Key = "Cousot", Author = "Patrick Cousot", Booktitle = "Handbook of Theoretical Computer Science", Title = "Methods and Logics for Proving Programs", Chapter = 15, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "841-993", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "410 references." } @InCollection{Coutaz87, Key = "Coutaz", Author = {Jo\"{e}lle Coutaz}, Title = "The Construction of User Interfaces and the Object Paradigm", BookTitle = "ECOOP '87, European Conference on Object-Oriented Programming, Paris, France", Editor = "Jean Bezivin and others", Publisher = SV, Address = NY, Month = Jun, Year = 1987, Pages = "121-130", Note = "Lecture Notes in Computer Science, Volume 276", Annote = "23 references." } @Article{Criagen-Gerhart-Ralston95, author = {Dan Criagen and Susan Gerhart and Ted Ralston}, title = {Formal Methods Reality Check: Industrial Usage}, journal = IEEETSE, year = 1995, key = {Criagen \& Gehart \& Ralston}, volume = 21, number = 2, pages = "90-98", month = Feb, annote = "Summary of usage and recommendations for enhancement of formal methods, based on a survey and analysis. Notational issues are important. Points in favor of Z, including close interaction with industry and a substantial pedagogical literature. Industry is willing to augment and extend its practices, but not to abandon current practice. They identified 14 features and a rating system for formal methods payoff: A. Product Features: 1. Client Satisfaction 2. Cost of Product 3. Impact of Product 4. Quality 5. Time to Market B. Process Features 6. Cost of Process 7. Impact of Process 8. Pedagogical 9. Tools C. Process Features (specific process effects) 10. Design 11. Reusable components 12. Maintainability 13. Requirements Capture 14. V&V 5 references." } @Article{Crnkovic-etal02, key = "Crnkovic, {\em et al.}", author = "Ivica Crnkovic and Brahim Hnich and Torsten Jonsson and Zeynep Kiziltan", title = "Specification, Implementation, and Deployment of Components", journal = CACM, volume = 45, number = 10, pages = "35-40", month = Oct, year = 2002, annote = "Notes need for nonfunctional properties. 12 references." } @Article{Crowley-etal96, Key = {Crowley-etal}, Author = {J. L. Crowley and J. F. Leathrum and K. A. Liburdy}, Title = {Issues in the Full Scale Use of Formal Methods for Automated Testing}, Journal = SIGSOFT, Volume = 21, Number = 3, Year = 1996, Month = May, Pages = {71-78} } @inproceedings{Csallner-Smaragdakis06, key = {Csallner \& Smaragdakis}, author = {Christoph Csallner and Yannis Smaragdakis}, title = {{DSD-Crasher}: A hybrid analysis tool for bug finding}, booktitle = {Proc. International Symposium on Software Testing and Analysis}, pages = {245-254}, month = Jul, year = 2006, URL = {http://www-static.cc.gatech.edu/~csallnch/papers/csallner06dsd-crasher.pdf} } @inproceedings{Csallner-Smaragdakis06a, key = {Csallner \& Smaragdakis}, author = {Christoph Csallner and Yannis Smaragdakis}, title = {Dynamically discovering likely interface invariants}, booktitle = {Proc. 28th International Conference on Software Engineering, Emerging Results Track}, pages = {861-864}, month = May, year = 2006 } @Article{Cunha-Lucena-Maibaum80, Key = "Cunha \& Lucena \& Maibaum", Author = "Paulo R. F. Cunha and Carlos J. Lucena and T. S. E. Maibaum", Title = "On the Design and Specification of Message Oriented Programs", Journal = "International Journal of Computer and Information Sciences", Volume = 9, Number = 3, Year = 1980, Annote = "40 references." } @Article{Cunningham-Beck86, Key = "Cunningham \& Beck", Author = "Ward Cunningham and Kent Beck", Title = "A Diagram for Object-Oriented Programs", Journal = SIGPLAN, Volume = 21, Number = 11, Month = Nov, Year = 1986, Pages = "361-367", Note = "OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor), September 1986, Portland, Oregon.", Annote = "Diagramatic notation for object-oriented algorithms in Smalltalk-80. 5 references." } @Article{Cunningham-Gilford76, Key = "Cunningham \& Gilford", Author = "R. J. Cunningham and M. E. J. Gilford", Title = "A note on the semantic definition of side effects", Journal = "Information Processing Letters", Year = 1976, Volume = 4, Number = 5, Pages = "118-120" } @Article{Curcio98, key = {Curcio}, author = {Igor D. D. Curcio}, title = {{ASAP} --- A Simple Assertion Preprocessor}, journal = SIGPLAN, year = 1998, volume = 33, number = 12, month = Dec, pages = {44-51}, annote = {13 references.} } @InCollection{Cusack-Lai91, Key = "Cusack \& Lai", Author = "Elspeth Cusack and Michael Lai", Title = "Object-Oriented Specification in LOTOS and Z, or My Cat Really is Object-Oriented!", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "179-202", Address = NY, Annote = "Object-oriented interpretation of LOTOS. 23 references." } @InCollection{Cusack-Rafsanjani92, Key = "Cusack \& Rafsanjani", Author = "Elspeth Cusack and G. H. B. Rafsanjani", Title = "{ZEST}", Editor = "Susan Stepney and Rosalind Barden and David Cooper", BookTitle = "Object Orientation in {Z}", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Crossref = "Stepney-Barden-Cooper92", Pages = "113-126" } @InProceedings{Cusack-Wezeman93, Key = "Cusack \& Wezeman", Author = {E. Cusack and C. Wezeman}, Title = {Deriving Tests for Objects Specified in {Z}}, Crossref = "Bowen-Nicholls93", Pages = "180-195" } @Unpublished{Cusack90, Key = "Cusack", Author = "Elspeth Cusack", Title = "Inheritance in Object Oriented {Z}", Note = "Obtained from the Author. This has been submitted to ECOOP '91", Annote = "Distinguishes subtype inheritance from incremental inheritance. Both are at level of specification. Formal model of subtype is subsumption, but allows coercions. Substutability condition based on semantics of operations as relations in Z. 22 refrences.", Month = Nov, Year = "1990" } @Article{Cusack91a, Key = "Cusack", Author = "Elspeth Cusack", Title = "Refinement, Conformance, and Inheritance", Journal = "Formal Aspects of Computing", Month = Jan, Year = 1991, Volume = 3, Pages = "129-141", Annote = "20 references." } @Unpublished{Cusack91b, Key = "Cusack", Author = "Elspeth Cusack", Title = "Object Oriented Modelling in {Z}", Note = "Obtained from the Author.", Annote = "Argues that inheritance is a means for effectively and economically structuring descriptions at the level of specifications. 15 references.", Month = Feb, Year = "1991" } @InProceedings{Cusack91c, Key = "Cusack", Author = "Elspeth Cusack", Title = "Object Oriented Modelling in {Z} For Open Distributed Systems", BookTitle = "International Workshop on Open Distributed Processing", Year = 1991, Month = Oct, Note = "Obtained from the author", Annote = "20 references." } @InProceedings{Cusack91d, author = "E. Cusack", editor = "Pierre America", title = "Inheritance in Object Oriented {Z}", booktitle = "Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Geneva Switzerland", series = "Lecture Notes in Computer Science", Volume = 512, pages = "167-179", publisher = SV, address = NY, year = 1991 } @Book{Cusumano-Selby95, author = "Michael A. Cusumano and Richard W. Selby", title = "Microsoft Secrets", publisher = "The Free Press", year = 1995, address = NY } @Book{DSouza-Wills99, author = {Desmond F. D'Souza and Alan Cameron Wills}, title = {Objects, Components, and Frameworks with UML: The Catalysis Approach}, publisher = {Addison Wesley}, year = 1999, key = {D'Souza \& Wills}, series = {Object Technology Series}, address = {Reading Mass.}, annote = {93 references.} } @InProceedings{DaSilva-Dehboei-Mejia92, Key = "DaSilva \& Dehboei \& Mejia", Author = "Clara DaSilva and Babak Dehboei and Fernando Mejia", Title = "Formal Specification in the Development of Industrial Applications: Subway Speed Control System", BookTitle = "IFIP Formal Description Techniques", Year = 1992, Editor = "M Diaz and R Groz", Publisher = "Esevier", Address = "Amsterdam", Annote = "The B method" } @Book{Dahl-Dijkstra-Hoare72, Key = "Dahl \& Dijkstra \& Hoare", Author = "Ole-J. Dahl and E. Dijkstra and C. A. R. Hoare", Title = "Structured Programming", Publisher = "Academic Press, Inc.", Address = NY, Year = 1972, Annote = "See Knuth's comments in STAN-CS-73-371" } @Unpublished{Dahl86, Key = "Dahl", Author = "Ole-Johan Dahl", Title = "Object Oriented Specification", Year = "1986", Month = Jun, Note = "Presented at the Object-Oriented Programming Workshop, June, 1986", Annote = "Programming and specification language ABEL. 7 references." } @InCollection{Dahl87, Key = "Dahl", Author = "Ole-Johan Dahl", Title = "Object Oriented Specification", Editor = "Bruce Shriver and Peter Wegner", BookTitle = "Research Directions in Object-Oriented Programming", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1987, Pages = "561-576", Annote = "Programming and specification language ABEL. 7 references." } @Book{Dahl92, Key = "Dahl", Author = "Ole-Johan Dahl", Title = "Verifiable Programming", Publisher = "Prentice-Hall", Year = 1992, Series = "International Series in Computer Science", Address = NY, Annote = "29 references." } @Article{Damiani-Fugini-Bellettini99, author = {E. Damiani and M. G. Fugini and C. Bellettini}, title = {A Hierarchy-Aware Approach to Faceted Classification of Object-Oriented Components}, journal = TOSEM, year = 1999, key = {Damiani \& Fugini \& Bellettini}, volume = 8, number = 3, month = Jul, pages = {215-262}, annote = {69 references.} } @Article{Damon-Jackson-Jha96, key = {Damon \& Jackson \& Jha}, author = {Craig A. Damon and Daniel Jackson and Somesh Jha}, title = {Checking Relational Specifications With Binary Decision Diagrams}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {70-80}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {23 references.} } @TechReport{Dandanell-George91, Key = "Dandanell \& George", Author = "Bent Dandanell and Chris George", Title = "The {LaCoS} Project", Institution = "Computer Resources Interational A/S", Year = 1991, Number = "LACOS/CRI/BDH/8/V2", Address = "Denmark", Month = Aug, Annote = "13 references." } @Article{Dandanell91, Key = "Dandanell", Author = "Bent Dandanell", Title = "Rigorous Development Using {RAISE}", Journal = "Software Engineering Notes", Year = 1991, Volume = 16, Number = 5, Month = Dec, Pages = "29-43", Note = "ACM SIGSOFT '91 Conference on Software for Critical Systems, New Orleans Louisiana, Dec. 4-6", Annote = "11 references." } @inproceedings{Dantas-Walker05a, Key = {Dantas \& Walker}, Author = {Daniel S. Dantas and David Walker}, Title = {Harmless Advice}, Booktitle = {The 12th international workshop on Foundations of object-oriented languages}, Organization = {ACM}, Year = 2005, Annote = {The paper describes a core calculus for ``harmless advice''. Harmless advice may affect the control flow of a program and may perform I/O, but it may not change the data of the base program (excepting through I/O). The paper uses the basic technique of \citet{Walker-Zdancewic-Ligatti03}, but does not allow data exchange. More specifically, the system allows data to flow from high protection domains to lower protection domains, but not vice versa. The protection domains are part of the type system and form a lattice order. The paper gives a proof of a weak non-interference property. Following \citet{Walker-Zdancewic-Ligatti03}, they give a simple object-oriented language that can be translated to the core language in a type-preserving way.} } @InProceedings{Dantas-Walker06, Key = {Dantas \& Walker}, Author = {Daniel S. Dantas and David Walker}, Title = {Harmless Advice}, booktitle = {Proceedings of the 33th {ACM} {SIGPLAN}-{SIGACT} symposium on Principles of programming languages ({POPL}-06)",}, month = Jan, pages = {383-396}, year = 2006, volume = "41, 1", series = SIGPLAN, organization = {ACM} } @InProceedings{Darlington-Burstall73, Key = "Darlington \& Burstall", Author = "J. Darlington and R. M. Burstall", Title = "A System which Automatically Improves Programs", BookTitle = "Proceedings of the Third International Joint Conference on Artificial Intelligence", Organization = "IJCAI", Year = 1973, Pages = "479-485" } @Article{Dart-etal87, Key = "Dart, {\em et al.}", Author = "Susan A. Dart and Robert J. Ellison and Peter H. Feiler and A. Nico Habermann", Title = "Software Development Environments", Journal = "Computer", Volume = 20, Number = 11, Month = Nov, Year = 1987, Pages = "18-28", Annote = "Survey and taxonomy. 53 references." } @Article{Dart-etal97, key = {Dart, {\em et al.}}, author = {Philip Dart and Lorraine Johnston and Cameron Schmidt and Liz Sonenberg}, title = {Developing an Accredited Software Engineering Program}, journal = {IEEE Software}, year = 1997, volume = 14, number = 6, month = Nov, pages = {66-70}, annote = {10 references.} } @inproceedings{Darvas-Mueller05, key = {Darvas \& M\"{u}ller}, author = {\'{A}d\'{a}m Darvas and Peter M\"{u}ller}, title = {Reasoning About Method Calls in {JML} Specifications}, booktitle = {Formal Techniques for {Java-like} Programs}, year = {2005}, URL = {http://tinyurl.com/ocp7y} } @Article{Darvas-Mueller06, key = {Darvas \& M\"{u}ller}, author = {\'{A}d\'{a}m Darvas and Peter M\"{u}ller}, title = {Reasoning About Method Calls in Interface Specifications}, journal = JOT, year = {2006}, volume = 5, number = 5, pages = {59-85}, month = Jun, URL = {http://www.jot.fm/issues/issue_2006_06/article3.pdf} } @Book{Davis90, Key = "Davis", Author = "A. M. Davis", Title = "Software Requirements: Analysis and Specification", Publisher = "Prentice-Hall", Year = 1990, Address = "Englewood Cliffs, NJ" } @Article{Dawson-Newsham97, key = {Dawson \& Newsham}, author = {Ray Dawson and Ron Newsham}, title = {Introducing Software Engineers to the Real World}, journal = {IEEE Software}, year = 1997, volume = 14, number = 6, month = Nov, pages = {37-43}, annote = {Dirty tricks to play on students. 12 references.} } @InProceedings{Dawson00, author = {Ray Dawson}, key = {Dawson}, title = "Twenty Dirty Tricks to Train Software Engineers", booktitle = {Proceedings of the 22nd International Conference on Software Engineering}, month = Jun, publisher = "ACM Press", address = NY, year = 2000, pages = {209-218}, annote = {13 references.} } @InCollection{DeBakker-Klop-Meyer82, author = {J. W. De Bakker and J. W. Klop and J.-J. Ch. Meyer}, title = {Correctness of Programs with Function Procedures}, booktitle = {Logics of Programs}, key = {De Bakker \& Klop \& Meyer}, publisher = SV, year = 1982, editor = {D. Kozen}, number = 131, series = LNCS, address = NY, pages = {94-112}, annote = {Discusses transforming a program with side-effects in expressions to one in which only simple side effect statements are used (no nested expressions).} } @InCollection{DeLeon-Grumber93, Key = "DeLeon \& Grumberg", Author = "Hana deLeon and Orna Grumberg", Title = "Modular Abstractions for Verifying Real-Time Distributed Systems", Journal = LNCS, Number = 663, Publisher = SV, Address = NY, Editor = "G. V. Bochmann and D. K. Probst", Year = 1993, Note = "Computer Aided Verification. 4th Annual workshop, CAV '92 Canada, June 1992", Pages = "2-15", Annote = "15 references" } @TechReport{DeLine-Leino05, key = {DeLine \& Leino}, author = {Rob DeLine and K. Rustan M. Leino}, title = {{BoogiePL}: A typed procedural language for checking object-oriented programs}, institution = {Microsoft Research}, year = 2005, number = {MSR-TR-2005-70} } @Book{DeMarco78, Key = "DeMarco", Author = "Tom DeMarco", Title = "Structured Analysis and System Specification", Publisher = "Yourdon , Inc.", Year = 1978, Address = "Englewood Cliffs, New Jersey" } @Article{DeRemer-Kron76, Key = "DeRemer \& Kron", Author = "F. DeRemer and H. H. Kron", Title = "Programming in the Large versus Programming in the Small", Journal = IEEETSE, Year = 1976, Month = Jun, Volume = "SE-2", Number = 2, Pages = "80-86" } @InProceedings{Delcambre-Lim-Urban91, Key = "Delcambre \& Lim \& Urban", Author = "L. Delcambre and B. Lim and S. Urban", Title = "Object-Centered Constraints", BookTitle = "IEEE International Data Engineering Conference", Year = 1991 } @TechReport{DeLine-Leino05, author = {Robert DeLine and K. Rustan M. Leino}, title = {{BoogiePL}: A typed procedural language for checking object-oriented programs}, institution = {Microsoft Research}, year = 2005, number = {MSR-TR-2005-70} } @Article{Delisle-Garlan90, Key = "Delise \& Garlan", Author = "Norman Delisle and David Garlan", Title = "A Formal Specification of an Oscilloscope", Journal = "IEEE Software", Volume = 7, Number = 5, Month = Sep, Year = 1990, Pages = "29-36", Annote = "Specification framework for exploring design space, written in Z. 6 references." } @InProceedings{Dellacherie-Devulder-Lambert99, author = "S. Dellacherie and S. Devulder and J.-L. Lambert", title = "Software Verification Based on Linear Programming", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "1147-1165", annote = "18 references.", } @Article{Demeyer-etal99, key = {Demeyer, {\em et al.}}, author = {Demeyer and Matthias Rieger and Theo Dirk Meijler and Edzard Gelsema}, title = {Class Composition for Specifying Framework Design}, journal = TAPOS, year = 1999, volume = 5, number = 2, pages = {73-81}, annote = {22 references.} } @Article{Demillo-Lipton-Perlis79, Key = "DeMillo \& Lipton \& Perlis", Author = "Richard A. De Millo and Richard J. Lipton and Alan J. Perlis", Title = "Social Processes and Proofs of Theorems and Programs", Journal = CACM, Volume = 22, Number = 5, Month = May, Year = 1979, Pages = "271-280", Annote = "Formal verification of programs will never play the role that proofs do in mathematics. Formal verification is difficult to justify and manage. Ease of formal verification should not dominate programming language design. 20 references." } @Article{Demillo-Lipton91, Key = "DeMillo \& Lipton", Author = "R. A. DeMillo and R. J. Lipton", Title = "Defining Software by Continuous, Smooth Functions", Journal = IEEESE, Year = 1991, Volume = 17, Number = 4, Month = "Apr", Pages = "383-384", Annote = "5 references." } @Article{Desharnais-etal98, author = {Jules Desharnais and Marc Frappier and Ridha Khe\'{e}dri and Ali Mili}, title = {Integration of Sequential Scenarios}, journal = IEEETSE, year = 1998, key = {Desharnais, {\em et al.}}, volume = 24, number = 9, month = Sep, pages = {695-708}, annote = {Descriptions of interactions between single users and systems. 44 references.} } @TechReport{Detlefs-Leino-Nelson98, author = {David L. Detlefs and K. Rustan M. Leino and Greg Nelson}, title = {Wrestling with rep exposure}, institution = {Compaq Systems Research Center}, year = 1998, key = {Detlefs \& Leino \& Nelson}, type = {SRC Research Report}, number = 156, address = {130 Lytton Ave., Palo Alto}, month = {July}, annote = {16 references.} } @TechReport{Detlefs-Nelson-Saxe03, key = {Detlefs \& Nelson \& Saxe}, author = "David Detlefs and Greg Nelson and James B. Saxe", title = "Simplify: A Theorem Prover for Program Checking", institution = "HP Labs", number = "HPL-2003-148", month = jul, year = 2003 } @TechReport{Detlefs-etal98, author = {David L. Detlefs and K. Rustan M. Leino and Greg Nelson and James B. Saxe}, title = {Extended Static Checking}, institution = {Compaq Systems Research Center}, year = 1998, key = {Detlefs, {\it et al.}}, type = {SRC Research Report}, number = 159, address = {130 Lytton Ave., Palo Alto}, month = {Dec}, annote = {48 references.} } @TechReport{Deutsch-Taft80, Key = "Deutsch \& Taft", Author = "L. Peter Deutsch and Edward A. Taft", Title = "Requirements for an Experimental Programming Environment", Institution = "Xerox Palo Alto Research Centers", Year = 1980, Month = Jun, Number = "CSL-80-10", Annote = "List of features desired in a programming language/system including strong type checking and garbage collection. Rank ordering of priorities. 20 references." } @InProceedings{Devanbu-Fong-Stubblebine98, key = {Devanbu \& Fong \& Stubblebine}, author = {Premkumar T. Devanbu and Philip W. L. Fong and Stuart G. Stubblebine}, title = {Techniques for Trusted Software Engineering}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = Apr, pages = {126-135}, annote = {23 references.} } @Book{Deville90, Key = "Deville", Author = "Yves Deville", Title = "Logic Programming: Systematic Program Development", Publisher = "Addison-Wesley", Year = 1990, Series = "International Logic Programming Series", Address = "Reading, Mass." } @TechReport{Dhara-Leavens01, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens ", Title = "Preventing Cross-Type Aliasing for More Practical Reasoning", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "01-02a", Year = 2001, Month = Nov, Note = "Available from archives.cs.iastate.edu", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR01-02/TR.pdf", Annote = "54 references." } @TechReport{Dhara-Leavens92, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens ", Title = "Subtyping for mutable types in object-oriented programming languages", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "92-36", Year = 1992, Month = Nov, Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "21 references." } @TechReport{Dhara-Leavens94, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens", Title = "Weak Behavioral Subtyping for Types with Mutable Objects", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "94-21", Year = 1994, Month = Nov, Note = "Appears in Mathematical Foundations of Programming Semantics, Eleventh Annual Conference, Preliminary Proceedings, pages 269-290. Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "15 references." } @InProceedings{Dhara-Leavens95, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens ", title = "Weak Behavioral Subtyping for Types with Mutable Objects", editor = "S. Brookes and M. Main and A. Melton and M. Mislove", booktitle = "Mathematical Foundations of Programming Semantics, Eleventh Annual Conference", year = 1995, Series = "Electronic Notes in Theoretical Computer Science", publisher = "Elsevier", Volume = 1, note = "Available from \url{http://www.sciencedirect.com/science/journal/15710661}", annote = "20 references." } @TechReport{Dhara-Leavens95b, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens", Title = "Forcing Behavioral Subtyping Through Specification Inheritance", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "95-20c", Year = 1997, Month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR95-20/TR.ps.gz", Note = "Also in Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, 1996, pp. 258--267. Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "21 references." } @InProceedings{Dhara-Leavens95c, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens ", title = "Weak Behavioral Subtyping for Types with Mutable Objects", editor = "S. Brookes and M. Main and A. Melton and M. Mislove", booktitle = "Mathematical Foundations of Programming Semantics, Eleventh Annual Conference, Preliminary Proceedings", pages = "269-290", year = 1995, publisher = "Elsevier", month = "March", note = "The final version is in {\it Electronic Notes in Theoretical Computer Science}, volume 1, which is on-line at http://www.sciencedirect.com/science/journal/15710661", annote = "20 references." } @InProceedings{Dhara-Leavens96, Key = "Dhara \& Leavens", Author = "Krishna Kishore Dhara and Gary T. Leavens", Title = "Forcing Behavioral Subtyping Through Specification Inheritance", BookTitle = "Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany", Publisher = "IEEE Computer Society Press", Pages = "258-267", Year = 1996, Month = Mar, Note = "A corrected version is ISU CS TR \#95-20c, \url{http://tinyurl.com/s2krg}.", Annote = "19 references." } @MastersThesis{Dhara92, Key = "Dhara", Author = "Krishna Kishore Dhara", Title = "Subtyping among Mutable Types in Object-Oriented Programming Languages", School = "Iowa State University", Month = May, Year = 1992, Address = "Department of Computer Science, Ames, Iowa", Note = "Available by anonymous ftp from ftp.cs.iastate.edu or by e-mail from almanac@cs.iastate.edu.", Annote = "Definition of legal subtype relationships for mutable abstract data types." } @TechReport{Dhara97, author = {Krishna Kishore Dhara}, title = {Behavioral Subtyping in Object-Oriented Languages}, institution = {Department of Computer Science, Iowa State University}, year = 1997, key = {Dhara}, number = {TR97-09}, address = {226 Atanasoff Hall, Ames IA 50011-1040}, month = {May}, note = {The author's Ph.D. dissertation.} } @InProceedings{Diaconescu-Goguen-Stefaneas91, author = {R. Diaconescu and J. Goguen and P. Stefaneas}, title = {Logical support for modularization}, booktitle = {Proceedings of a Workshop on Logical Frameworks}, key = {Diaconescu \& Goguen \& Stefaneas}, editor = {G. Huet and G. Plotkin}, year = 1991, month = May } @Article{Diaz-Pace-Campo01, key = "Diaz Pace \& Campo", Author = {J. Andr\'{e}s D\'{i}az Pace and Marcelo R. Campo}, Title = "Analyzing the role of aspects in software design", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "66-73" } @Article{Diaz_Pace-Campo01, key = "Diaz Pace \& Campo", Author = "J. Andrés Díaz Pace and Marcelo R. Campo ", Title = "Analyzing the role of aspects in software design", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "66-73", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @InProceedings{Dick-Loubersac91, key = {Dick \& Loubersac}, author = {J. Dick and J. Loubersac}, title = {Integrating structured and formal methods: A visual approach to {VDM}}, booktitle = {Proceedings of the European Software Engineering Conference}, number = 550, series = LNCS, year = 1991, publisher = SV, address = NY } @Article{Diederich-Milton87, Key = "Diederich \& Milton", Author = "Jim Diederich and Jack Milton", Title = "Experimental Prototyping in Smalltalk-80", Journal = "IEEE Software", Volume = 4, Number = 3, Month = May, Year = 1987, Pages = "40-49", Annote = "10 references." } @InProceedings{Dietl-Mueller04, key = {Dietl \& M\"{u}ller}, author = {Werner Dietl and Peter M\"{u}ller}, title = {Exceptions in Ownership Type Systems}, editor = {Erik Poll}, booktitle="ECOOP Workshop FTfJP'2004 Formal Techniques for Java-like Programs", Month = Jun, Year = 2004, Pages="49-54", URL = "http://www.cs.ru.nl/ftfjp/2004/ExceptionsInOwnershipTypeSystems.pdf" } @article{Dietl-Mueller05, key = {Dietl \& M\"{u}ller}, author = {Werner Dietl and Peter M\"{u}ller}, title = {Universes: Lightweight Ownership for {JML}}, journal = JOT, month = Oct, year = {2005}, volume = 4, number = 8, pages = {5-32}, URL = {http://www.jot.fm/issues/issue_2005_10/article1.pdf} } @Article{Digre98, key = {Digre}, author = {Tom Digre}, title = {Business Object Component Architecture}, journal = {IEEE Software}, year = 1998, volume = 15, number = 5, month = Sep, pages = {60-69}, annote = {7 references.} } @Article{Dijkstra66, author = "E. W. Dijkstra", title = "The Structure of the {THE} Multi-programming System", journal = CACM, volume = 9, number = 3, year = 1966, month = May, annote = "Design principles for correct programming systems", } @Article{Dijkstra68, Key = "Dijkstra", Author = "E. W. Dijkstra", Title = "Go to statement considered harmful", Journal = CACM, Year = 1968, Volume = 11, Number = 3, Month = Mar, Pages = "147-148" } @InProceedings{Dijkstra69, Key = "Dijkstra", Title = "Structured programming", Author = "E. W. Dijkstra", Organization = "NATO", BookTitle = "Second NATO Conference on Software Engineering Techniques, Rome, Italy", Year = 1969, Pages = "84-88" } @Article{Dijkstra72, Key = "Dijkstra", Author = "E. W. Dijkstra", Title = "The Humble Programmer", Journal = CACM, Year = 1972, Volume = 15, Number = 10, Month = Oct, Pages = "859-886", Note = "Reprinted in {\em Programming Methodology, A Collection of Articles by Members of IFIP WG2.3\/}, D. Gries (ed.), Springer-Verlag, 1978." } @Article{Dijkstra75, Key = "Dijkstra", Author = "E. W. Dijkstra", Title = "Guarded Commands, Nondeterminancy and Formal Derivation of Programs", Journal = CACM, Volume = 18, Number = 8, Month = Aug, Year = 1975, Pages = "453-457", Annote = "Weakest precondition semantics of the guarded command language, which is introduced in this paper. 2 references." } @Book{Dijkstra76, Key = "Dijkstra", Author = "Edsger W. Dijkstra", Title = "A Discipline of Programming", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1976, Annote = "Predicate transformers. Theorems about program composition. Total correctness. Developing programs and proofs." } @Book{Dijkstra90, Key = "Dijkstra", Title = "Formal Development of Programs and Proofs", Editor = "E. W. Dijkstra", Year = 1990, Publisher = Addison-Wesley, Series = "University of Texas at Austin Year of Programming series", Annote = "18 articles by different authors" } @InCollection{Dijkstra93, Key = "Dijkstra", Author = "Edsger W. Dijkstra", Title = "On the Economy of Doing Mathematics", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "2-10", Address = NY, Month = "June/July", Annote = "0 references." } @Book{Diller90, Key = "Diller", Author = "Antoni Diller", Title = "Z: An Introduction to Formal Methods", Publisher = "Wiley", Year = 1990 } @Article{Dingel-etal98, key = {Dingel, {\em et al.}}, author = {J. Dingel and D. Garlan and S. Jha and D. Notkin}, title = {Reasoning about implicit invocation}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {209-221}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {29 references.} } @Article{Donahue85, Key = "Donahue", Author = "James Donahue", Title = "Integration Mechanisms in Cedar", Journal = SIGPLAN, Volume = 20, Number = 20, Month = Jul, Year = 1985, Note = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments", Pages = "245-251", Annote = "Discussion of programming in the large issues in Cedar and how the Cedar mechanisms, especially interfaces, garbage collection, lightweight processes, and procedure objects helped in presenting a unified system. 8 references." } @Article{Dony-Purchase-Winder92, Key = "Dony \& Purchase \& Winder", Author = "Christophe Dony and Jan Purchase and Russel Winder", Title = "Exception Handling in Object-Oriented Systems", Journal = "OOPS Messenger", Year = 1992, Volume = 3, Number = 2, Month = Apr, Pages = "17-30", Annote = "17 references." } @Article{Doong-Frankl94, author = {Roong-Ko Doong and Phyllis G. Frankl}, title = {The {ASTOOT} Approach to Testing Object-Oriented Programs}, journal = TOSEM, year = 1994, key = {Doong \& Frankl}, volume = 3, number = 2, pages = {101-130}, month = Apr, annote = {Tests based on algebraic specifications. Substantial automation of testing. 31 references.} } @Book{Douglass03, author = "Bruce Powel Douglass", title = "Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems", publisher = "Addison-Wesley", address = "Boston", year = 2003 } @InProceedings{Drossopoulou-etal00, author = {Sophia Drossopoulou and Susan Eisenbach and Bart Jacobs and Gary T. Leavens and Peter M{\"u}ller and Arnd Poetzsch-Heffter}, title = {Formal Techniques for {J}ava Programs}, booktitle = {Object-Oriented Technology. {ECOOP} 2000 Workshop Reader}, year = 2000, editor = {Jacques Malenfant and Sabine Moisan and Ana Moreira}, series = LNCS, volume = 1964, publisher = SV, pages = {41-54} } @Proceedings{Drossopoulou-etal00b, key = {Drossopoulou, {\em et al.}}, editor = {Sophia Drossopoulou and Susan Eisenbach and Bart Jacobs and Gary T. Leavens and Peter M{\"u}ller and Arnd Poetzsch-Heffter}, title = {Formal Techniques for {Java} Programs}, year = 2000, organization = {Technical Report~269, Fernuniversit{\"a}t Hagen}, note = {Available from \url{www.informatik.fernuni-hagen.de/pi5/publications.html}.} } @InProceedings{Drossopoulou-etal02, author = {Sophia Drossopoulou and Susan Eisenbach and Gary T. Leavens and Arnd Poetzsch-Heffter and Erik Poll}, title = {Formal Techniques for {J}ava-like Programs}, booktitle = {Object-Oriented Technology. {ECOOP} 2002 Workshop Reader}, year = 2002, editor = {Juan Hernandez and Ana Moreira}, series = LNCS, volume = 2548, publisher = SV, pages = {203-210}, annote = "4 references." } @Article{Duce-Fielding87, Key = "Duce \& Fielding", Author = "D. A. Duce and E. V. Fielding", Title = "Formal Specification --- A Comparison of Two Techniques", Journal = "The Computer Journal", Year = 1987, Volume = 30, Number = 4, Annote = "Compares VDM and OBJ on a single problem. Useful tutorial." } @inProceedings{Dufour-etal04, Key = {Dufour, {\em et al.}}, Author = {Bruno Dufour and Christopher Goard and Laurie Hendren and Oege de Moor and Ganesh Sittampalam and Clark Verbrugge}, Title = {Measuring the Dynamic Behavior of AspectJ Programs}, Crossref = {OOPSLA04}, Pages = {150-169}, Annote = {The paper presents the results of several dynamic metrics for AspectJ programs. They also describe the methodology. They collected AspectJ benchmark code "in the wild". They modified ajc to annotate classes with information needed by the dynamic analysis tool used---*J. They also describe abc (the AspectBench compiler), which implements some of the optimizations suggested by their analysis.} } @InCollection{Duke-Duke90a, Key = "Duke \& Duke", Author = "D. Duke and R. Duke", Title = "Towards a Semantics for {Object-Z}", BookTitle = "VDM '90: VDM and Z --- Formal Methods in Software Development, Third International Symposium of VDM Europe, Kiel, FRG", Month = Apr, Year = 1990, Publisher = SV, Series = LNCS, Editor = "D. Bjorner and C. A. R. Hoare and H. Langmaack", Volume = 428, Pages = "244-261", Annote = "Meta-circular definition, concentrates on class histories." } @InProceedings{Duke-Duke90b, Key = "Duke \& Duke", Author = "D. Duke and R. Duke", Title = "Aspects of Object-Oriented Formal Specification", BookTitle = "ASWEC '90, Sydney, Australia", Month = May, Year = 1990, Pages = "?" } @Techreport{Duncan-Holzle98, key = {Duncan \& Holzle}, Author = {Andrew Duncan and Urs Holzle}, Title = {Adding Contracts to {Java} with {Handshake}}, Institution = {Department of Computer Science, University of California}, Year = {1998}, Month = Dec, Address = {Santa Barbara, CA}, Number = {TRCS98-32} } @InProceedings{Dunstan-etal99, key = "Dunstan, {\em et al.}", author = "Martin N. Dunstan and Tom Kelsey and Ursula Martin and Steve Linton", title = "Formal Methods for Extensions to {CAS}", editor = "Jeanette M. Wing and Jim Woodcock and Jim Davies", booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, number = 1709, year = 1999, pages = "1758-1777", annote = "A Larch-style language for computer algebra. 32 references.", } @article{Dwyer-etal04, key = "Dwyer, {\em et al.}", author = "Matthew B. Dwyer and John Hatcliff and Robby and Venkatesh R. Prasad", title = "Exploiting Object Escape and Locking Information in Partial Order Reduction for Concurrent Object-Oriented Programs", journal = "Formal Methods in System Design", publisher = {Kluwer Academic Publishers}, year = 2004, month = "September--November", volume = 25, pages = {199-240}, number = "2--3" } @InProceedings{Dwyer-Avrunin-Corbett98, Key = {Dwyer \& Avrunin \& Corbett}, AUTHOR = {Matthew B. Dwyer and George S. Avrunin and James C. Corbett}, TITLE = {Property Specification Patterns for Finite-state Verification}, booktitle = "Proceedings of the Second Workshop on Formal Methods in Software Practice", pages = "7-15", month = Mar, year = 1998 } @Article{Dutertre-Stavridou97, key = "Dutertre \& Stavridou", author = "Bruno Dutertre and Victoria Stavridou", title = "Formal Requirements Analysis of an Avionics Control System", journal = IEEETSE, pages = "267-278", month = May, year = 1997, volume = 23, number = 5, annote = "Uses PVS to specify a real-time system. 28 references." } @InProceedings{Duval98, key = {Duval}, author = {Gr\'{e}gory Duval}, title = {Specification and Verification of an Object Request Broker}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = Apr, pages = {43-52}, annote = {Uses Promela. 19 references.} } @Article{Dybjer90, Key = "Dybjer", Author = "Peter Dybjer", Title = "Comparing Integrated and External Logics of Functional Programs", Journal = "Science of Computer Programming", Volume = 14, Number = 1, Month = Jun, Year = 1990, Pages = "59-79", Annote = "29 references." } @Article{Edwards-Weide97, author = {Stephen H. Edwards and Bruce W. Weide}, title = {{WISR8}: 8th Annual Workshop on Sofware Reuse Summary and Working Group Reports}, journal = SIGSOFT, year = 1997, key = {Edwards \& Weide}, volume = 22, number = 5, month = {Sep}, pages = {17-32}, annote = {22 references.} } @Article{Edwards-etal04, key = {Edwards, et al.}, author = {Stephen H. Edwards and Murali Sitaraman and Bruce W. Weide and Joseph Hollingsworth}, title = {Contract-Checking Wrappers for {C++} Components}, journal = IEEETSE, volume = 30, number = 11, month = Nov, pages = {794-810}, year = 2004 } @Article{Edwards-etal94, author = {Stephen H. Edwards and Wayne D. Heym and Timothy J. Long and Murali Sitaraman and Bruce W. Weide}, title = {Part {II}: Specifying Components in {RESOLVE}}, journal = SIGSOFT, year = 1994, key = {Edwards, {\em et al.}}, volume = 19, number = 4, month = {Oct}, pages = {29-39} } journal = SIGSOFT, year = 1994, key = {Edwards, {\em et al.}}, volume = 19, number = 4, month = {Oct}, pages = {29-39} } @InProceedings{Edwards-etal98, author = {Stephen H. Edwards and Gulam Shakir and Murali Sitaraman and Bruce W. Weide and Joseph Hollingsworth}, title = {A framework for detecting interface violations in component-based software}, booktitle = {Proceedings of the Fifth International Conference on Software Reuse}, key = {Edwards, {\em et al.}}, year = 1998, publisher = "IEEE Computer Society Press", month = Jun, pages = {46-55} } @InProceedings{Edwards96, author = {Stephen H. Edwards}, title = "Representation Inheritance: A Safe Form of ``White Box'' Code Inheritance", booktitle = {Fourth International Conference on Software Reuse}, key = {Edwards}, year = 1996, publisher = "IEEE Computer Society Press", month = Apr, pages = {195-204} } @Article{Edwards97, author = {Stephen Edwards}, title = {Representation Inheritance: A Safe Form of ``White Box'' Code Inheritance}, journal = IEEETSE, year = 1997, key = {Edwards}, volume = 23, number = 2, month = Feb, pages = {83-92}, annote = {19 references.} } @Article{Edwards99, key = {Edwards}, author = {Stephen H. Edwards}, title = {The State of Reuse: Perceptions of the Reuse Community}, journal = SIGSOFT, year = 1999, volume = 24, number = 3, month = May, pages = {32-36}, annote = {5 references.} } @Book{Eeles-Sims98, key = {Eeles \& Sims}, author = {Peter Eeles and Oliver Sims}, title = {Building Business Objects}, publisher = {John Wiley \& Sons}, year = 1998 } @Article{Eggert90, Key = "Eggert", Author = "Paul Eggert", Title = "Toward Special-Purpose Program Verification", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "25-29", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "20 references." } @TechReport{Egle95, author = {David M. Egle}, title = {Evaluating {Larch/C++} as a Specification Language: A Case Study Using the Microsoft Foundation Class Library}, institution = {Department of Computer Science, Iowa State University}, year = 1995, key = {Egle}, number = {95-17}, address = {Ames, Iowa 50011}, month = Jul, note = {Available from \url{http://www.cs.iastate.edu}.}, } @InCollection{Ehrich-Denker-Sernadas93, Key = "Ehrich \& Denker \& Sernadas", Author = "KH. D. Ehrich and G. Denker and A. Sernadas", Title = "Constructing Systems as Object Communities", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "453-467", Annote = "50 references" } @InCollection{Ehrich-Goguen-Sernadas91, Key = "Ehrich \& Goguen \& Sernadas", Author = "H.-D. Ehrich and J. A. Goguen and A. Sernadas", Title = "A Categorial Theory of Objects as Observed Processes", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "203-228", Address = NY, Annote = "38 references." } @InCollection{Ehrich78, Key = "Ehrich", Author = "H. D. Ehrich", Title = "Extensions and Implementations of Abstract Data Type Specications", BookTitle = "Mathematical Foundations of Computer Science", Series = LNCS, Volume = 64, Publisher = SV, Address = NY, Year = 1978, Pages = "155-164" } @InCollection{Ehrig-Jimenez-Orejas93, Key = "Ehrig \& Jimenez \& Orejas", Author = "H. Ehrig and R. M. Jimenez and F. Orejas", Title = "Compositionality Results for Different Types of Parameterization and parameter passing in Speicfication Languages", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "31-45", Annote = "25 references" } @Article{Ehrig-Kreowski83, Key = "Ehrig \& Kreowski", Author = "H. Ehrig and H.-J. Kreowski", Title = "Algebraic Implementation of Abstract Data Types", Journal = "Theoretical Computer Science", Volume = 27, Number = 3, Month = Dec, Year = 1983, Pages = "255-286", Annote = "Theory of parameterized implementations. 30 references." } @Book{Ehrig-Mahr85, Key = "Ehrig \& Mahr", Author = "Hartmut Ehrig and Bernd Mahr", Title = "Fundamentals of Algebraic Specification 1: Equations and Initial Semantics", Publisher = SV, Address = NY, Year = 1985, Series = "EATCS Monographs on Theoretical Computer Science", Volume = 6, Annote = "Excellent presentation of the fundamental results in equational algebraic specifications. The specification language ACT-ONE. Over 100 references." } @Book{Ehrig-Mahr90, Key = "Ehrig \& Mahr", Author = "Hartmut Ehrig and Bernd Mahr", Title = "Fundamentals of Algebraic Specification 2: Module Specifications and Constraints", Publisher = SV, Address = NY, Year = 1990, Series = "EATCS Monographs on Theoretical Computer Science", Volume = 21, Annote = "Over 100 references." } @Article{Ehrig-etal82, Key = "Ehrig, {\em et al.}", Author = "H. Ehrig and H.-J. Kreowski and B. Mahr and P. Padawitz", Title = "Algebraic Implementation of Abstract Data Types", Journal = "Theoretical Computer Science", Volume = 20, Number = 3, Month = Jul, Year = 1982, Pages = "209-263", Annote = "Theory of algebraic implementations. Reviews algebraic specifications. 45 references." } @InCollection{Ehrig-etal95, key = "Ehrig, {\em et al.}", author = "H.-D. Ehrig and others", title = "{KORSO} Reference Languages Concepts and Application Domains", crossref = "Broy-Jaehnichen95", pages = "150-172", annote = "Many references." } @InCollection{Eisenbach-etal04, key = {Eisenbach, {\em et al.}}, author = {Susan Eisenbach and Gary T. Leavens and Peter M\"{u}ller and Arnd Poetzsch-Heffter and Erik Poll}, title = {Formal Techniques for {Java}-Like Programs}, booktitle = {Object-Oriented Technology ECOOP 2003 Workshop Reader}, pages = {62-71}, publisher = SV, year = 2004, editor = {Frank Buschmann and Alejandro P. Buschmann and Mariano A. Cilia}, volume = 3013, series = LNCS, address = NY, annote = {6 references.} } @Article{Eisenbach-Leavens01, key = {Eisenbach \& Leavens}, author = {Susan Eisenbach and Gary T. Leavens}, title = {Special Issue: formal techniques for {Java} programs}, journal = {Concurrency and Computation: Practice and Experience}, year = 2001, volume = 13, number = 13, pages = {1121-1123} } @Article{Elmstrom-Lassen-Andersen93, key = "Elmstr{\o}m \& Lassen \& Andersen", author = "Ren\'{e} Elmstr{\o}m and Poul B{\o}gh Lassen and Michael Andersen", title = "An Executable Subset of {VDM-SL} in an {SA/RT} Framework", journal = "Real-Time Systems", year = 1993, volume = 5, pages = "197-211", annote = "The executable specification language IPTES Meta-IV, which is based on VDM-SL. 15 references." } @Article{Elmstrom-Lintulampi-Pezze93, key = "Elmstr{\o}m \& Lintulampi \& Pezz\'{e}", author = "Ren\'{e} Elmstr{\o}m and Raino Lintulampi and Mauro Pezz\'{e}", title = "Giving Semantics to {SA/RT} by Means of {High-Level Timed Petri Nets}", journal = "Real-Time Systems", year = 1993, volume = 5, pages = "249-271", annote = "From the IPTES project. 12 references." } @InCollection{Enberg-Granning-Lamport93, Key = "Enberg \& Granning \& Lamport", Author = "Urban Enberg and Peter Granning and Leslie Lamport", Title = "Mechanical Verification of Concurrent systems with TLA", Journal = LNCS, Number = 663, Publisher = SV, Address = NY, Editor = "G. V. Bochmann and D. K. Probst", Year = 1993, Note = "Computer Aided Verification. 4th Annual workshop, CAV '92 Canada, June 1992", Pages = "44-55", Annote = "7 references" } @InProceedings{Engler-etal00, title = "Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions", key = "Engler, {\em et al.}", author = "Dawson R. Engler and Benjamin Chelf and Andy Chou and Seth Hallem", year = "2000", booktitle = "Proc. 4th Symp. OS Design and Int'l (OSDI 2000)", Publisher = ACM, pages = "1-16" } @InProceedings{Engler05, title = "Static Analysis Versus Model Checking for Bug Finding", key = "Engler", author = "Dawson R. Engler", year = "2005", booktitle = "CONCUR 2005 --- Concurrency Theory: 16th International Conference", pages = "1", publisher = SV, series = LNCS, volume = 3653, editor = "Martin Abadi and Luca de Alfaro", URL = "http://dx.doi.org/10.1007/11539452_1", } @TechReport{Eriksen-Prehn91, Key = "Eriksen \& Prehn", Author = "Kirsten Eriksen and Soren Prehn", Title = "{RAISE} Overview", Institution = "Computer Resources International A/S", Year = 1991, Number = "RAISE/CRI/DOC/9/V5", Address = "Denmark", Month = Oct, Annote = "17 references." } @Article{Ernst-Hookway-Ogden94, Key = "Ernst \& Hookway \& Ogden", Author = "G. W. Ernst and R. J. Hookway and W. F. Ogden", Title = "Modular Verification of Data Abstraction with Shared Realizations", Journal = IEEETSE, Year = 1994, Volume = 20, Number = 4, Month = Apr, Pages = "288-307", Annote = "50 references." } @Article{Ernst-Navlakha-Ogden82, Key = "Ernst \& Navlakha \& Ogden", Author = "George W. Ernst and J. K. Navlakha and W. F. Ogden", Title = "Verification of Programs with Procedure-Type Parameters", Journal = "Acta Informatica", Year = 1982, Volume = 18, Number = 2, Month = Nov, Pages = "149-169" } @InProceedings{Ernst-etal00, key = "Ernst, {\em et al.}", author = "Michael Ernst and Adam Czeisler and William G. Griswold and David Notkin", title = "Quickly Detecting Relevant Program Invariants", booktitle = {Proceedings of the 22nd International Conference on Software Engineering}, month = Jun, publisher = "ACM Press", address = NY, year = 2000, pages = {449-458}, annote = {9 references.} } @Article{Ernst-etal01, key = "Ernst, {\em et al.}", author = "Michael Ernst and Jake Cockrell and William G. Griswold and David Notkin", title = "Dynamically Discovering Likely Program Invariants to Support Program Evolution", journal = IEEETSE, pages = "99-123", month = Feb, year = 2001, volume = 27, number = 2, annote = "88 references." } @Article{Ernst-etal91, Key = "Ernst, {\em et al.}", Author = "G. W. Ernst and R. J. Hookway and J. A. Menegay and W. F. Ofgen", Title = "Modular Verification of {Ada} Generics", Journal = "Computer Languages", Year = 1991, Volume = 16, Number = "3/4", Pages = "259-280" } @InProceedings{Ernst-etal99, key = "Ernst, {\em et al.}", author = "Michael Ernst and Jake Cockrell and William G. Griswold and David Notkin", title = "Dynamically Discovering Likely Program Invariants to Support Program Evolution", pages = "213-225", booktitle = "Proceedings of the 1999 International Conference on Software Engineering ({ICSE}'99)", ISBN = "1-58113-074-0", month = may, publisher = ACM, address = "New York", year = "1999", } @InProceedings{Ernst03, author = {Michael D. Ernst}, title = {Static and dynamic analysis: Synergy and duality}, booktitle = {WODA 2003: ICSE Workshop on Dynamic Analysis, Portland, OR}, pages = {24-27}, year = 2003, month = May } @Article{Esterbrook-etal98, key = {Esterbrook, {\em et al.}}, author = {Steve Esterbrook and Robyn Lutz and Richarrd Covington and John Kelly and Yoko Ampo and David Hamilton}, title = {Experiences Using Lightweight Formal Methods for Requirements Modeling}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = Jan, pages = {4-14}, annote = {Three case studies. Lightweight formal methods complimented existing practices. 27 references.} } @InProceedings{Evans-etal94, author = "David Evans and John Guttag and Jim Horning and Yang Meng Tan", title = "{LCLint}: {A} Tool for Using Specifications to Check Code", booktitle = "Proceedings of the Second ACM SIGSOFT Symposium on the Foundations of Software Engineering", month = "6--9 " # dec, year = "1994", pages = "87--96", location = "New Orleans, USA" } @Article{Evans96, key = "Evans", author = "David Evans", title = "Static Detection of Dynamic Memory Errors", journal = SIGPLAN, year = 1996, volume = 31, number = 5, month = May, pages = {44-53}, note = {Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).}, URL = "ftp://larch.lcs.mit.edu/pub/Larch/lclint/pldi96.ps.gz", annote = {11 references.} } @Unpublished{Evans96b, Key = "Evans", Author = "David Evans", Title = "{LCLint} User's Guide, Version 2.1", Note = {http://larch-www.lcs.mit.edu:8001/larch/lclint/guide/}, Month = Apr, Year = 1996 } @Article{Fagan86, Key = "Fagan", Author = "Michael E. Fagan", Title = "Advances in Software Inspections", Journal = IEEETSE, Volume = "SE-12", Number = 7, Month = Jul, Year = 1986, Annote = "Benefits and process of inspections. 11 references." } @TechReport{Farres-Casals89, Key = "Farres-Casals", Author = "Jordi Farr\`{e}s-Casals", Title = "Proving Correctness of Constructor Implemenations", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Address = "Edinburgh, EH9 3JZ", Number = "ECS-LFCS-89-72 (also CSR-286-89)", Month = Jan, Year = 1989, Annote = "Correctness proofs in Sannella and Tarlecki's framework. 16 references." } @Book{Favre03, editor = {Linda Favre}, title = {UML and the Unified Process}, publisher = {IRM Press}, year = 2003, key = {Favre}, address = {Hershey, PA} } @Article{Fayad-Hamu-Brugali00, key = "Fayad \& Hamu \& Brugali", author = "Mohamed E. Fayad and David S. Hamu and Davide Brugali", title = "Enterprise frameworks characteristics, criteria, and challanges", journal = CACM, volume = 43, number = 10, pages = "39-46", month = Oct, year = 2000, URL = "http://www.acm.org/pubs/citations/journals/cacm/2000-43-10/p39-fayad/", annotate = "Describes role of enduring business themes. 12 references." } @Book{Fayad-Johnson99, author = {M. E. Fayad and R. Johnson}, title = {Domain-Specific Application Frameworks: Experience by Industry}, publisher = {Wiley}, year = 1999, key = {Fayad \& Johnson}, address = NY } @Article{Fayad02, author = {Mohamed E. Fayad}, title = {How to Deal with Software Stability}, journal = CACM, year = 2002, key = {Fayad}, volume = 45, number = 4, pages = {109-112}, month = {Apr}, annote = {Heuristics for determining enduring business themes and business objects. 3 references.} } @InCollection{Feather93, Key = "Feather", Author = "Martin Feather", Title = "Behavior-oriented specification in Gist", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "89-122", Address = NY, Month = Jul, Annote = "36 references." } @Article{Feather98, key = {Feather}, author = {Martin S. Feather}, title = {Rapid Application of Lightweight Formal Methods for Consistency Analyses}, journal = IEEETSE, year = 1998, volume = 24, number = 11, month = Nov, pages = {949-959}, annote = {13 references.} } @Book{Feijs-Jonkers-Middelburg94, author = "L. M. G. Feijs and H. B. M. Jonkers and C. A. Middelburg", title = "Notations for Software Design", publisher = SV, address = "London", year = "1994", ISBN = "3-540-19902-0", series = "FACIT Series", annote = "Uses COLD-1. 67 references." } @Book{Feijs-Jonkers92, Key = "Feijs \& Jonkers", Author = "L. M. G. Feijs and H. B. M. Jonkers", Title = "Formal Specification and Design", Publisher = "Cambridge University Press", Year = 1992, Volume = 35, Series = "Cambridge Tracts in Theoretical Computer Science", Address = "Cambridge, UK", Annote = "The wide-spectrum language COLD. 58 references." } @Book{Feijs93, author = {Loe Feijs}, title = {A formalization of design methods: a $\lambda$-calculus approach to systems design with an application to text editing}, publisher = {Ellis Horwood}, year = 1993, key = {Feijs}, series = {Computers and their Applications}, address = {Chicheter, UK} } @Article{Felder-Ghezzi-Pezze93, key = "Felder \& Ghezzi \& Pezz\'{e}", author = "Miguel Felder and Carlo Ghezzi and Mauro Pezz\'{e}", title = "{High-Level Timed Petri Nets} as a Kernel for Executable Specifications", journal = "Real-Time Systems", year = 1993, volume = 5, pages = "235-248", annote = "The IPTES environment kernel. 13 references." } @InCollection{Feldman-Wild92, Key = "Feldman \& Wild", Author = "G. Feldman and J. Wild", Title = "The DECspec Project: Tools for Larch/C", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "98-103", Annote = "13 references" } @Book{Felleisen-etal01, author = {Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shriram Krishnamurthi}, title = {How to Design Programs}, publisher = MITP, year = 2001, key = {Felleisen-etal}, annote = {Introductory programming text.} } @InProceedings{Fencott-Lockyer-Taylor92, Key = "Fencott \& Lockyer \& Taylor", Author = "P. C. Fencott and M. A. Lockyer and P. Taylor", Title = "Experiences in integrating structured and formal notations for real-time systems", BookTitle = "The Methods Integration Workshop", Publisher = SV, Year = 1992 } @InCollection{Ferdinand-etal01, Key = "Ferdinand \& etal", Author = "C. Ferdinand and R. Heckmann and M. Langenbach and F. Martin and M. Schmidt and H. Theiling and S. Thesing and R. Wilhelm", Title = "Reliable and precise {WCET} determination for a real-life processor", BookTitle = "Proc. First International Workshop on Embedded Software (EMSOFT 2001)", Publisher = SV, Year = 2001, Series = LNCS, Volume = 2211, Pages = "469-485" } @Article{Fetzer88, Key = "Fetzer", Author = "James H. Fetzer", Title = "Program Verification: The Very Idea", Journal = CACM, Volume = 31, Number = 9, Month = Sep, Year = 1988, Pages = "1048-1063", Annote = "Algorithms can be verified absolutely. Programs can only be verified relative to the abstract machine they run on. 37 references" } @InCollection{Fiadeiro-Costa94, Key = "Fiadeiro \& Costa", Author = "J. L. Fiadeiro and J. F. Costa", Title = "Institutions for Behavioral Specification", BookTitle = "Recent Trends in Datatype Specification", Publisher = SV, Year = 1994, Editor = "Egidio Astesiano and Gianna Reggio and Andrzej Tarlecki", Series = LNCS, Volume = 906, Pages = "273-289", Address = NY, Annote = "25 references." } @InCollection{Fiadeiro-Maibaum91, Key = "Fiadeiro \& Maibaum", Author = "J. Fiadeiro and T. Maibaum", Title = "Describing, Structuring and Implementing Objects", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "274-310", Address = NY, Annote = "52 references." } @Article{Fichman-Kemerer92, Key = "Fichman \& Kemerer", Author = "Robert G. Fichman and Chris F. Kemerer", Title = "Object-Oriented and Conventional Analysis and Design Methodologies", Journal = "Computer", Year = 1992, Volume = 25, Number = 10, Month = Oct, Pages = "22-39", Annote = "22 references." } @TechReport{Fickas-Nagarajan88, Key = "Fickas \& Nagarajan", Author = "Stephen Fickas and P. Nagarajan", Title = "Critiquing a Software Specification", Institution = "Computer Science Department, University of Oregon", Address = "Eugene, Oregon", Number = "88-01", Month = Jan, Year = 1988, Annote = "A knowledge-based system that criticizes specifications. 21 references." } @Article{Fidge-Kearney-Utting97, key = {Fidge \& Kearney \& Utting}, author = {Colin Fidge and Peter Kearney and Mark Utting}, title = {A Formal Method fo Building Concurrent Real-Time Software}, journal = {IEEE Software}, year = 1997, volume = 14, number = 2, month = Mar, pages = {99-106}, annote = {14 references.} } @Article{Fiedler89, Author = "S. P. Fiedler", Title = "Object-Oriented Unit Testing", Journal = "HP Journal", Volume = 36, Number = 4, Year = 1989, Month = Apr } @InProceedings{Fierz99, author = {Hugo Fierz}, key = {Fierz}, title = "The {CIP} Method: Component- and Model-Based Construction of Embedded Systems", booktitle = "Software Engineering -- ESEC/FSE '99", month = Nov, year = "1999", editor = "Oscar Nierstrasz and Michel Lemoine", volume = "1687", series = LNCS, publisher = SV, pages = {375-392}, note = {Also ACM SIGSOFT {\em Software Engineering Notes}, volume 24, number 6.}, annote = {A method designed for embedded systems. Uses formal reactive models, based on state machines, for behavioral specification. 16 references.} } @inproceedings{Filliatre-Marche04, key = {Filli{\^a}tre and March{\'e}}, author = {Jean-Christophe Filli{\^a}tre and Claude March{\'e}}, title = {Multi-prover Verification of {C} Programs.}, booktitle = {Formal Methods and Software Engineering, 6th International Conference on Formal Engineering Methods, ICFEM 2004}, series = LNCS, volume = 3308, year = 2004, publisher = SV, pages = "15-29" } @InProceedings{Filman-Havelund02, Key = {Filman \& Havelund}, Author = {Robert E. Filman and Klaus Havelund}, Title = {Source-Code Instrumentation and Quantification of Events}, Pages = "45-49", BookTitle = {FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002}, year = 2002, Editor = {Gary T. Leavens and Ron Cytron}, Organization = {Department of Computer Science, Iowa State University}, Series = {Technical Report}, number = {02-06}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-06/TR.pdf" } @article{Filman-etal02, Key = {Filman, {\em et al.}}, Author = {Robert E. Filman and Stuart Barrett and Diana D. Lee and Ted Linden}, Title = {Inserting ilities by controlling communications}, Journal = CACM, Number = {1}, Pages = {116-122}, Publisher = {ACM Press}, Volume = {45}, Year = {2002}, Annote = {The paper claims that many cross-cutting concerns (what they call "ilitiies": like reliability, availability, responsiveness, performance, security, and manageability) can be managed by intercepting communications among components and operating on the contents of those communications.} } @Book{Filman-etal05, Key = {Filman, {\em et al.}}, editor = {Robert E. Filman and Tzilla Elrad and Siobh\'{a}n Clarke and Mehmet Ak\c{s}it}, title = {Aspect-Oriented Software Development}, publisher = {Addison-Wesley}, year = 2005 } @Techreport{Findler-Felleisen00, key = {Findler \& Felleisen}, Author = {Robert Bruce Findler and Matthias Felleisen}, Title = {Behavioral Interface Contracts for {Java}}, Institution = {Department of Computer Science, Rice University}, Year = {2000}, Month = Aug, Address = {Houston, TX}, Number = {CS TR00-366} } @InProceedings{Findler-Felleisen01, key = {Findler \& Felleisen}, Author = {Robert Bruce Findler and Matthias Felleisen}, Title = {Contract Soundness for Object-Oriented Languages}, Booktitle = {OOPSLA '01 Conference Proceedings, Object-Oriented Programming, Systems, Languages, and Applications, October 14-18, 2001, Tampa Bay, Florida, USA}, Year = {2001}, Month = Oct, Pages = {1-15} } @Techreport{Findler-Latendresse-Felleisen01, key = {Findler \& Latendresse \& Felleisen}, Author = {Robert Bruce Findler and Mario Latendresse and Matthias Felleisen}, Title = {Object-Oriented Programming Languages Need Well-Founded Contracts}, Institution = {Department of Computer Science, Rice University}, Year = {2001}, Address = {Houston, TX}, Number = {CS TR01-372} } @InProceedings{Findler-Latendresse-Felleisen01a, key = {Findler \& Latendresse \& Felleisen}, Author = {Robert Bruce Findler and Mario Latendresse and Matthias Felleisen}, Title = {Behavioral Contracts and Behavioral Subtyping}, Booktitle = {Proceedings of Joint 8th European Software Engineering Conference (ESEC) and 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), September 10-14, 2001, Vienna, Austria}, Year = 2001, doi = {http://doi.acm.org/10.1145/503209.503240}, Month = Sep } @Article{Finkelstein-etal94, key = {Finkelstein, {\em et al.}}, author = {Anthony C. W. Finkelstein and Dov Gabbay and Anthony Hunter and Jeff Kramer and Bashar Nuseibeh}, title = {Inconsistency Handling in Multiperspective Specifications}, journal = IEEETSE, year = 1994, volume = 20, number = 8, month = Aug, pages = {569-578}, annote = {40 references.} } @Article{Finney96, author = "Kate Finney", title = "Mathematical Notation in Formal Specification: Too Difficult for the Masses?", journal = IEEETSE, year = 1996, volume = 22, number = 2, pages = "158-159", month = Feb, annote = "A preliminary experiment indicating that the symbolic notation in Z specifications may make them hard to read. 8 references." } @article{Fischer-Schumann03, author = "B. Fischer and J. Schumann", title = "Generating Data Analysis Programs from Statistical Models", journal = "Journal of Functional Programming", volume = 13, number = 3, pages = "483-508", year = 2003 } @Article{Fischer87, Key = "Fischer", Author = "Gerhard Fischer", Title = "Cognitive View of Reuse and Redesign", Journal = "IEEE Software", Volume = 4, Number = 4, Month = Jul, Year = 1987, Pages = "60-72", Annote = "Tools based on Objtalk and WLisp. 10 references." } @TechReport{Fisher-Barringer86, Key = "Fisher \& Barringer", Author = "Michael Fisher and Howard Barringer", Title = "Program Logics -- A Short Survey", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-86-11-1", Month = Nov, Year = 1986, Note = "Revised June 1987", Annote = "About a hundred references." } @TechReport{Fisher87, Key = "Fisher", Author = "Michael Fisher", Title = "Temporal Logics for Abstract Semantics", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-86-12-4", Year = 1987, Note = "The Author's Ph. D. dissertation", Annote = "About a hundred references." } @Book{Fitting-Gries90, Key = "Fitting \& Gries", Editor = "Melvin Fitting and David Gries", Title = "First-order logic and automated theorem proving", Publisher = SV, Year = 1990, Series = "Texts and monographs in computer science.", Address = NY } @TechReport{Fitzgerald-Jones90, Key = "Fitzgerald \& Jones", Author = "John S. Fitzgerald and Cliff B. Jones", Title = "Modularizing the Formal Description of a Database System", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Month = Jan, Year = 1990, Number = "UMCS-90-1-1", Annote = "20 references." } @Book{Fitzgerald-Larsen98, author = {John Fitzgerald and Peter Gorm Larsen}, title = {Modelling Systems: Practical Tools in Software Development}, publisher = {Cambridge}, year = 1998, key = {Fitzgerald \& Larsen}, address = {Cambridge, UK}, annote = {Uses VDM-SL. 16 references.} } @InProceedings{Flanagan-Leino01, key = {Flanagan \& Leino}, author = {Cormac Flanagan and K. Rustan M. Leino}, title = {Houdini, an annotation assistant for {ESC/Java}}, booktitle = "FME 2001: Formal Methods for Increasing Software Productivity", volume = 2021, series = LNCS, editor = {Jos\'{e} Nuno Oliveira and Pamela Zave}, publisher = {Springer}, month = Mar, year = 2001, pages = {500-517} } @InProceedings{Flanagan-etal02, key = "Flanagan, {\em et al.}", author = "Cormac Flanagan and K. Rustan M. Leino and Mark Lillibridge and Greg Nelson and James B. Saxe and Raymie Stata", title = "Extended static checking for {Java}", pages = "234-245", ISSN = "0362-1340", booktitle = "Proceedings of the {ACM} {SIGPLAN} 2002 Conference on Programming Language Design and Implementation ({PLDI}'02)", month = jun # " ~17--19", series = "SIGPLAN", volume = "37, 5", publisher = "ACM Press", address = "New York", year = 2002, annote = "50 references." } @InProceedings{Flanagan06, key = "Flanagan", author = "Cormac Flanagan", title = "Hybrid Type Checking", booktitle = "Proceedings of the 33th {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages ({POPL} 06)", pages = "245-256", month = Jan, series = SIGPLAN, volume = "41, 1", publisher = "ACM Press", address = "New York", year = 2006, annotate = "45 references." } @TechReport{Flon-Cooprider82, Key = "Flon \& Cooprider", Author = "Lawrence Flon and Lee W. Cooprider", Title = "Metaprogramming --- Prospects for the Practical Reuse of Software", Institution = "Computer Science Department, University of Southern California", Address = "Los Angeles, Calif.", Number = "TR-112", Year = 1982, Month = Jun, Annote = "12 references." } @InCollection{Florijn-Meijers-vanWinsen97, key = {Florijn \& Meijers \& van Winsen}, author = {Gert Florijn and Marco Meijers and Pieter van Winsen}, title = {Tool Support for Object-Oriented Patterns}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {472-495}, annote = {8 references.} } @Article{Floyd67, Key = "Floyd", Author = "R. W. Floyd", Title = "Assigning Meanings to Programs", Journal = "Proceedings Symposium on Applied Mathematics", Publisher = "American Mathematical Society", Address = "New York", Volume = 19, Pages = "19-31", Year = 1967 } @Article{Fong-Cameron98, key = {Fong \& Cameron}, author = {Philip W. L. Fong Fong and Robert D. Cameron}, title = {Proof Linking: An Architecture for Modular Verification of Dynamically-Linked Mobile Code}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {222-230}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {19 references.} } @InProceedings{Forax-Duris-Roussel00, Key = {Forax \& Duris \& Roussel}, Author = {R\'{e}mi Forax and Etienne Duris and Gilles Roussel}, Title = {{Java} Multi-Method Framework}, BookTitle = {International Conference on Technology of Object-Oriented Languages and Systems (TOOLS '00), Sydney, Australia}, Publisher = {IEEE Computer Society Press}, address = {Los Alamitos, California}, Month = Nov, Year = 2000 } @Book{Fowler99, author = "Martin Fowler", title = "Refactoring: Improving the Design of Existing Code", publisher = "Addison-Wesley", ISBN = "0201485672", year = 1999, month = Aug } @Article{Frakes-Isoda94, key = {Frakes \& Isoda}, author = {William Frakes and Sadahiro Isoda}, title = {Success Factors for Systematic Reuse}, journal = {IEEE Software}, year = 1994, volume = 11, number = 5, month = Sep, pages = {15-19}, annote = {More than 12 references.} } @Article{Frakes-Terry96, key = {Frakes \& Terry}, author = {William Frakes and Carol Terry}, title = "Software Reuse: Metrics and Models", journal = ACMCS, volume = 28, number = 2, pages = "415-435", month = Jun, year = 1996, annote = "40 references." } @Article{France-Bruel-Larrondo-Petrie97, key = {France \& Bruel \& Larrondo-Petrie}, author = {R. B. France and J.-M. Bruel and M. M. Larrondo-Petrie}, title = {An Integrated Object-Oriented and Formal Model Environment}, journal = JOOP, year = 1997, volume = 10, number = 7, month = Nov, pages = {25-34}, annote = {15 references.} } @InProceedings{France-Larrondo-Petrie94, author = "Robert B. France and Maria M. Larrondo-Petrie", title = "From Structured Analysis to Formal Specifications: State of the Theory", key = "France \& Larrondo-Petrie", pages = "249-256", booktitle = "Proceedings of the ACM Computer Science Conference, Phoenix, AZ", year = 1994, organization = "ACM", month = "Mar", annote = "15 references." } @InCollection{France-Larrondo-Petrie95, author = "Robert B. France and Maria M. Larrondo-Petrie", title = "A Two-Dimensional View of Integrated Formal and Informal Specifications Techniques", key = "France \& Larrondo-Petrie", editor = "Jonathan P. Bowen and Michael G. Hinchey", Series = LNCS, Volume = 967, pages = "434-448", booktitle = "ZUM '95: The Z Formal Specification Notation, 9th International Conference of Z Users, Limerick, Ireland", month = Sep, year = 1995, publisher = SV, annote = "17 references." } @TechReport{France-etal93, Key = "France {\em et al.}", Author = "R. B. France and T. B. Horton and M.M. Larrondo-Petrie and S. Reeves", Title = "Towards Process Support for Rigorous Structured Analysis", Institution = "Florida Atlantic University", Year = 1993, Number = "TR-CSE-93-45", Address = "Department of Computer Science and Engineering, Florida Atlantic University, Boca Raton, FL 33431-0991", Month = Sep, Annote = "5 references." } @Article{France92, Key = "France", Author = "Robert B. France", Title = "Semantically Extended Data Flow Diagrams: A Formal Specification Tool", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 4, Month = Apr, Pages = "329-346", Annote = "Method for associating a DFD with a formal specification. Formal part based on algebraic specifications. 24 references." } @Article{France93, Key = "France", Author = "R. B. France", Title = " A predicative basis for structured analysis specification tools", Journal = "Information and Software Technology", Year = 1993, Volume = 35, Number = 2, Month = Feb, Pages = "67-77", Annote = "14 references." } @Article{Francez77, Key = "Francez", Author = "Nissim Francez", Title = "A Case For A Forward Predicate Transformer", Journal = "Information Processing Letters", Year = 1977, Volume = 6, Number = 6, Month = Dec, Pages = "196-198", Annote = "3 references." } @Book{Francez92, Key = "Francez", Title = "Program Verification", Author = "Nissim Francez", Publisher = Addison-Wesley, Address = "Cambridge, UK", Year = 1992, Annote = "173 references." } @InProceedings{Franch97, author = {Xavier Franch}, title = {The Convenience for a Notation to Express Non-Functional Charateristics of Software Compoents}, booktitle = {Foundations of Component-Based Systems Workshop}, key = {Franch}, editor = {Gary T. Leavens and Murali Sitaraman}, year = 1997, month = Sep, pages = {101-110}, note = {Available from http://www.cs.iastate.edu/\verb|~|leavens/FoCBS.}, annote = {22 references.} } @Article{Frankl-Iakounenko98, key = {Frankl \& Iakounenko}, author = {Phyllis G. Frankl and Oleg Iakounenko}, title = {Further Empirical Studies of Test Effectiveness}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {153-162}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {11 references.} } @Article{Fraser-Kumar-Vaishnavi91, Key = "Fraser \& Kumar \& Vaishnavi", Author = "M. D. Fraser and K. Kumar and V. K. Vaishnavi", Title = "Informal and Foraml Requirements Specification Languages: Bridging the Gap", Journal = IEEETSE, Year = 1991, Volume = 17, Number = 5, Month = May, Pages = "454-466", Annote = "45 references." } @Article{Fraser-Kumar-Vaishnavi94, Key = "Fraser \& Kumar \& Vaishnavi", Author = "M. D. Fraser and K. Kumar and V. K. Vaishnavi", Title = "Strategies for Incorporating Formal Specifications in Software Development", Journal = CACM, Year = 1994, Volume = 37, Number = 10, Month = Oct, Pages = "74-86", Annote = "Survey of formal, semiformal, and informal specification techniques, and processes for using formal methods. Good discussion of related work. 25 references." } @TechReport{Fraser-Lamb88, Key = "Fraser \& Lamb", Author = "Bruce P. Fraser and David Alex Lamb", Title = "An Annotated Bibliography on User Interface Design", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Month = Jan, Year = 1988, Type = "External Technical Report", Number = "88-214", Annote = "Coverage up to May 1987. Around a hundred references." } @Book{Freeman-Lewis80, Key = "Freeman \& Lewis", Editor = "Herbert Freeman and Philip M. Lewis II", Title = "Software Engineering", Publisher = "Academic Press, Inc.", Address = NY, Year = 1980 } @Article{Freitag-Margaria-Steffen94, Key = "Freitag \& Margaria \& Steffen", Author = "Burkhard Freitag and Tiziana Margaria and Berhard Steffen", Title = "A Pragmatic Approach to Software Synthesis", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 8, Month = Aug, Pages = "46-58", Annote = "19 references." } @InProceedings{Frick-Neumann-Zimrmann96, author = {A. Frick, W. Neumann, and W. Zimmermann}, title = {A Method for the Construction of Robust Class Hierarchies}, booktitle = {WOON '96}, key = {Frick \& Neumann \& Zimmermann}, year = 1996 } @InProceedings{Frick-Neumann-Zimrmann97, author = {A. Frick, W. Neumann, and W. Zimmermann}, title = {Generation of Robust Class Hierarchies}, booktitle = {TOOLS 23 - Technology of Object-Oriented Programming}, key = {Frick \& Neumann \& Zimmermann}, year = 1997, pages = {282-291} } @InProceedings{Frick-Zimmer-Zimrmann95, author = {A. Frick, W. Zimmer, and W. Zimmermann}, title = {On the Design of Reliable Libraries}, booktitle = {TOOLS 17 - Technology of Object-Oriented Programming}, key = {Frick \& Zimmer \& Zimmermann}, year = 1995, pages = {13-23} } @InProceedings{Froehlich-Larsen96, key = "Froehlich \& Larsen", author = {Brigette Fr\"ohlich and Peter Gorm Larsen}, title = "Combining {VDM-SL} Specifications with {C++} Code", editor = "Marie-Claude Gaudel and James Woodcock", volume = 1051, series = LNCS, pages = "179-194", booktitle = "FME '96: Industrial Benefit and Advances in Formal Methods", year = 1996, publisher = SV, address = NY, month = Mar, annote = "28 references." } @InProceedings{Froehlich-Link00, key = "Froehlich \& Link", author = {Peter Fr\"{o}hlich and Johannes Link}, title = {Automated Test Case Generation from Dynamic Models}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {472-491}, annote = {Uses use cases to derive tests. 21 references.} } @Inproceedings{Froehlich-etal97, key = {Froehlich, {\em et al.}}, author = {Gary Froehlich and H. James Hoover and Ling Liu and Paul Sorenson}, title = {Hooking into object-oriented application frameworks}, booktitle = {ICSE '97: Proceedings of the 19th International Conference on Software Engineering}, year = {1997}, isbn = {0-89791-914-9}, pages = {491-501}, location = {Boston, Massachusetts, United States}, doi = {http://doi.acm.org/10.1145/253228.253432}, publisher = ACM, address = {New York, NY, USA}, } @article{Fuchs92, key = {Fuchs}, author = {Norbert E. Fuchs}, title = {Specifications are (preferably) executable}, journal = {Software Engineering Journal}, year = {1992}, month = Sep, volume = {7}, number = {5}, pages = {323-334}, annote = {41 references.} } @InProceedings{Futatsugi-etal85, Key = "Futatsugi, {\em et al.}", Author = "Kokichi Futatsugi and Joseph A. Goguen and Jean-Pierre Jouannaud and Jose Meseguer", Title = "Principles of {OBJ2}", BookTitle = "Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages", Year = 1985, Pages = "52-66", Organization = ACM, Month = Jan, Annote = "42 references." } @Book{Gabriel96, author = {Richard Gabriel}, title = {Patterns of Software: Tales from the Software Community}, publisher = {Oxford University Press}, year = 1996, key = {Gabriel}, address = NY, annote = "Many references." } @Article{Gabrielian-Franklin91, Key = "Gabrielian \& Franklin", Author = "Armen Gabrielian and Matthew K. Franklin", Title = "Mulitlevel specification of Real-Time Systems", Journal = CACM, Year = 1991, Volume = "34", Number = "5", Month = May, Pages = "50-60", Annote = "15 references." } @Article{Gallagher-Narasimhan97, key = {Gallagher \& Narasimhan}, author = {Matthew J. Gallagher and V. Lakshmi Narasimhan}, title = {{ADTEST}: A Test Data Generation Suite for Ada Software Systems}, journal = IEEETSE, year = 1997, volume = 23, number = 8, month = Aug, pages = {473-484}, annote = {15 references.} } @InCollection{Gamma-etal93, Key = "Gamma {\em et al}", Author = "E. Gamma and R. Helm and R. E. Johnson and J. Vlissides", Title = "Design Patterns: Abstraction and Reuse of Object-Oriented Design", BookTitle = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Series = LNCS, Year = 1993, Number = 707, Pages = "406-431", Annote = "32 references" } @Book{Gamma-etal95, Key = "Gamma {\em et al}", Author = "Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides", Title = "Design Patterns: Elements of Reusable Object-Oriented Software", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1995, Annote = "Over 50 references." } @Book{Gane-Sarson78, author = "C. Gane and E. Sarson", title = "Structured Systems Analysis: tools and techniques", publisher = "Prentice-Hall", year = 1978 } @InCollection{Gangopadhyay-Mitra93, Key = "Gangopadhyay \& Mitra", Author = "Dipayan Gangopadhyay and Subrata Mitra", Title = "ObjChart: Tangible Specification of Reactive Object Behaviour", Journal = LNCS, Publisher = SV, Address = NY, Editor = "Oscar M. Nierstrasz", Number = 707, Note = "ECOOP '93 - Object-Oriented Programming 7th European Conference, Germany, July 1993. Proceedings", Pages = "432-457", Annote = "20 references" } @Article{Gannon-Hamlet-Mills87, Key = "Gannon \& Hamlet \& Mills", Author = "John D. Gannon and Richard G. Hamlet and Harlan D. Mills", Title = "Theory of Modules", Journal = IEEETSE, Volume = "SE-13", Number = 7, Month = Jul, Year = 1987, Pages = "820-829", Annote = "The functional method of program proof. Concrete and abstract domains are sets of states (mappings from variables to values). 8 references." } @Book{Gannon-Purtilo-Zelkowitz94, key = "Gannon \& Purtilo \& Zelkowitz", author = "John D. Gannon and James M. Purtilo and Marvin V. Zelkowitz", title = "Software Specification: A Comparison of Formal Methods", publisher = "Ablex Publishing Co.", year = 1994, address = "355 Chestnut Street, Norwood, NJ 07648", annote = "Also includes predicate transformer and denotational semantics. 64 references." } @InCollection{Gardiner-Martin-Moore93, Key = "Gardiner \& Martin \& Moore", Author = "Paul Gardiner and Clare Martin and Oege de Moor", Title = "An Algebraic Construction of Predicate Transformers", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "100-121", Address = NY, Month = "June/July", Annote = "27 references." } @InCollection{Gardiner-Morgan91, Key = {Gardiner \& Morgan}, author = {P. H. B. Gardiner and Caroll Morgan}, title = {Data Refinement of Predicate Transformers}, booktitle = {On the Refinement Calculus}, Publisher = SV, Year = 1994, Editor = "Carroll Morgan and Trevor Vickers", Series = "Formal approaches of computing and information technology series", Address = NY, Annote = "62 references.", Crossref = {Morgan-Vickers94}, Pages = {71-84} } @InCollection{Gardiner-Morgan92, Key = {Gardiner \& Vickers}, author = {P. H. B. Gardier and Caroll Morgan}, title = {A Single Complete Rule for Data Refinement}, booktitle = {On the Refinement Calculus}, Publisher = SV, Year = 1994, Editor = "Carroll Morgan and Trevor Vickers", Series = "Formal approaches of computing and information technology series", Address = NY, Annote = "62 references.", Crossref = {Morgan-Vickers94}, Pages = {111-126} } @Article{Garlan-Gulch-Tomayko97, key = {Garlan \& Gulch \& Tomayko}, author = {David Garlan and David P. Gulch and James E. Tomayko}, title = {Agents of Change: Educating Software Engineering Leaders}, journal = {Computer}, year = 1997, volume = 30, number = 11, month = Nov, pages = {59-65}, annote = {CMU's MS in SE program. 8 references.} } @Article{Garlan-Kaiser-Notkin92, Key = "Garlan \& Kaiser \& Notkin", Author = "David Garlan and Gail E. Kaiser and David Notkin", Title = "Usign Tool Abstraction to Compose Systems", Journal = "Computer", Year = 1992, Volume = 25, Number = 6, Month = Jun, Pages = "30-38", Annote = "7 references." } @InCollection{Garlan-Monroe-Wile00, Key = "Garlan \& Monroe \& Wile", Author = "David Garlan and Robert T. Monroe and David Wile", Title = "Acme: Architectural Description of Component-Based Systems", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 3, Pages = "47-67", Annote = "26 references." } @Article{Garlan90, Key = "Garlan", Author = "David Garlan", Title = "The Role of Formal Reusable Frameworks", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "42-44", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "7 references." } @Article{Garland-Guttag-Horning90, Key = "Garland \& Guttag \& Horning", Author = "Stephen J. Garland and John V. Guttag and James J. Horning", Title = "Debugging {Larch Shared Language} Specifications", Journal = IEEETSE, Volume = 16, Number = 6, Month = Sep, Year = 1990, Pages = "1044-1057", Annote = "19 references." } @TechReport{Garland-Guttag-Horning90b, Key = "Garland \& Guttag \& Horning", Author = "Stephen J. Garland and John V. Guttag and James J. Horning", Title = "Debugging Larch Shared Language Specifications", Institution = DECSRC, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Month = Jul, Year = 1990, Number = 60, Note = "Revised and expanded from paper presented at the April 1990 IFIP TC2/WG2.2/WG2.3 Working Conference on Programming Concepts and Methods, Elsevier, 1990", Annote = "19 references." } @InProceedings{Garland-Guttag88, Key = "Garland \& Guttag", Author = "Stephen J. Garland and John V. Guttag", Title = "Inductive Methods for Reasoning about Abstract Data Types", BookTitle = "Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif.", Organization = ACM, Month = Jan, Year = 1988, Pages = "219-228", Annote = "Questions the utility of inductionless induction. 25 references." } @TechReport{Garland-Guttag91, Key = "Garland \& Guttag", Author = "Stephen J. Garland and John V. Guttag", Title = "A Guide to LP, The Larch Prover", Institution = DECSRC, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Month = Dec, Year = 1991, Number = 82, Note = "Order from src-report@src.dec.com", Annote = "32 references." } @InProceedings{Garland-Notkin91, key = "Garlan \& Notkin", title = "Formalizing Design Spaces: Implicit Invocation Mechanisms", author = "D. Garlan and D. Notkin", booktitle = "VDM 91: Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 1: Conference Contributions", pages = "31-44", year = "1991", month = Oct, editor = "S. Prehn and W. J. Toetenel", series = LNCS, publisher = SV, volume = "551", } @unpublished{Garrigue00, Author = {Jacques Garrigue}, Note = {In \emph{Workshop on Foundations of Software Engineering, Sassaguri, Japan}. Available from \url{http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/papers/fose2000.html}}, Title = {Code reuse through polymorphic variants}, Url = {http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/papers/fose2000.html}, Year = {2000} } @InProceedings{Gates-etal01, key = "Gates \& Roach \& Mondragon \& Delgado", author = "A. Q. Gates and S. Roach and O. Mondragon and N. Delgado", title = "{DynaMICs}: Comprehensive Support for Run-Time Monitoring", BookTitle = "Workshop on Runtime Verification held in conjunction with the 13th Conference on Computer Aided Verification, CAV'01", year = "2001", Note = "Published in {\em Electronic Notes in Theoretical Computer Science}, K. Havelund and G. Rosu (eds.), 55(2), 2001. Available from \url{www.sciencedirect.com}." } @Book{Gehani-McGettrick86, Key = "Gehani \& McGettrick", Editor = "N. Gehani and A.D. McGettrick", Title = "Software specification techniques", Publisher = "Addison-Wesley", Year = 1986, Annote = "Dated collection of 21 papers on formal specification." } @Article{Geller78, Key = "Geller", Author = "Matthew Geller", Title = "Test Data as an Aid in Proving Program Correctness", Journal = CACM, Year = 1978, Volume = 21, Number = 5, Month = May, Pages = "368-375", Annote = "Divides input into classes such that, if some member of each class gives a correct answer when tested, then every member of that class gives the correct answer. 20 references." } @TechReport{George-Bruun94, Key = "George \& Bruun", Author = "Chris George and Peter Michael Bruun", Title = "Proposed Changes to RSL", Institution = "Computer Resources Internation A/S", Year = 1994, Address = "Bregneroedvej 144, P. O. Box 173, Dk-3460 Birkeroed, Denmark", Month = Apr, Annote = "0 references." } @TechReport{George-Prehn91, Key = "George \& Prehn", Author = "Chris George and Soren Prehn", Title = "The {RAISE} Justification Handbook (Draft)", Institution = "Computer Resources International A/S", Year = 1991, Number = "LACOS/CRI/DOC/7/V2", Address = "Denmark", Month = Nov, Annote = "Formal proof rules to be used in RAISE justifications." } @TechReport{George-etal91, Key = "George, {\em et al.}", Author = "Chris George and Peter Haff and Klaus Havelund and Anne E. Haxthausen and Robert Milne and Claus Bendix Nielsen and Soren Prehn and Kim Ritter Wagner", Title = "The {RAISE} Specification Language", Institution = "Computer Resources International A/S", Year = 1991, Number = "CRI/RAISE/DOC/1/v3", Address = "Denmark", Month = Nov, Note = "To appear as a book, published by Prentice-Hall.", Annote = "52 references." } @TechReport{George91, Key = "George", Author = "Chris George", Title = "The {RAISE} Specification Language: A Tutorial", Institution = "Computer Resources International A/S", Year = 1991, Number = "LACOS/CRI/CWG/24/V1", Address = "Denmark", Month = Aug, Note = "To appear in VDM '91", Annote = "4 references." } @TechReport{George94, Key = "George", Author = "Chris George", Title = "Adopted changes to RSL", Institution = "Computer Resources Internation A/S", Year = 1994, Address = "Bregneroedvej 144, P. O. Box 173, Dk-3460 Birkeroed, Denmark", Month = Apr, Annote = "0 references." } @Article{Gerhart-Craigen-Ralston94, Key = "Gerhart \& Craigen \& Ralston", Author = "Susan Gerhart and Dan Craigen and Ted Ralston", Title = "Experiance with Formal Methods in Critical Systems", Journal = "IEEE Software", Volume = 11, Number = 1, Month = Jan, Pages = "21-28", Annote = "7 references" } @TechReport{German-Clarke-Halpern88, Key = "German \& Clarke \& Halpern", Author = "Steven M. German and Edmund M. Clarke and Joseph Y. Halpern", Title = "Reasoning about Procedures as Parameters in the Language L4", Institution = "GTE Laboratories, Inc.", Address = "Waltham, Mass.", Month = Oct, Year = 1988, Note = "To appear in {\em Information and Computation}", Annote = "25 references." } @InProceedings{German78, author = "Steven M. German", title = "Automating Proofs of the Absence of Common Runtime Errors", key = "German", pages = "105-118", booktitle = "Conference record of the Fifth Annual ACM Symposium on Principles of Programming Languages", year = 1978, organization = ACM, month = Jan, annote = "18 references." } @InCollection{Ghezzi-Felder-Bellettini93, Key = "Ghezzi \& Felder \& Bellettini", Author = "C. Ghezzi and M. Felder and C. Bellettini", Title = "Real-Time Systems: A Survey of Approaches to Formal Specification and Verification", Journal = LNCS, Number = 717, Editor = "Ian SommrVille and Manfred Paul", Publsiher = SV, Address = NY, Year = 1993, Note = "Software Engineering= ESEC '93. 4th European Software Engineering Conference, Germany, Sep 93. Proceedings", Page = "11-36", Annote = "33 references" } @Book{Ghezzi-Jazayeri-Mandrioli03, author = {Carlo Ghezzi and Mehdi Jazayeri and Dino Mandrioli}, title = {Fundamentals of Software Engineering}, publisher = {Prentice Hall}, year = 2003, key = {Ghezzi \& Jazayeri \& Mandrioli}, edition = {Second edition}, annote = {Many references.} } @InProceedings{Ghezzi-Kemmerer91a, Key = "Ghezzi \& Kemmerer", Author = "Carlo Ghezzi and Richard A. Kemmerer", Title = "{ASTRAL}: an Assertion Language for Specifying Realtime Systems", BookTitle = "Third European Software Engineering Conference, Milano, Italy", Year = 1991, Month = Oct } @InProceedings{Ghezzi-Kemmerer91b, Key = "Ghezzi \& Kemmerer", Author = "Carlo Ghezzi and Richard A. Kemmerer", Title = "Executing Formal Specifications: the {ASTRAL} to {TRIO} Approach", BookTitle = "Symposium on Testing, Analysis, and Verification, Victoria, British Columbia", Year = 1991, Month = Oct, Pages = "112-119", Annote = "21 references." } @Article{Ghezzi-etal91, Key = "Ghezzi, {\em et al.\/}", Author = "Carlo Ghezzi and Dino Mandrioli and Sandro Morasca and Mauro Pezze", Title = "A Unified {High-Level Petri Net} Formalism for Time-Cricical Systems", Journal = IEEETSE, Year = 1991, Volume = 17, Number = 2, Month = Feb, Pages = "160-172", Annote = "36 references." } @InCollection{Giarratana-Gimona-Montanari76, Key = "Giarratana \& Gimona \& Montanari", Author = "V. Giarratana and F. Gimona and U. Montanari", Title = "Observability Concepts in Abstract Data Type Specifications", BookTitle = "Mathematical Foundations of Computer Science 1976, Proceedings 5th Symposium, Gdansk", Month = Sep, Year = 1976, Pages = "576-587", Editor = "A. Mazurkiewicz", Series = LNCS, Volume = 45, Publisher = SV, Address = NY, Annote = "12 references." } @InCollection{Gibson-etal00, Key = "Gibson, {\em et al.}", Author = "David S. Gibson and Bruce W. Weide and Scott M. Pike and Stephen H. Edwards", Title = "Toward a Normative Theory for Component-Based System Design", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 10, Pages = "211-230", Annote = "36 references." } @Article{Gibson91, Key = "Gibson", Author = "Elizabeth A. Gibson", Title = "Flattening the learning curve: educating object-oriented developers", Journal = JOOP, Year = 1991, Volume = 3, Number = 6, Month = Feb, Pages = "24-29", Annote = "8 references." } @Article{Giddings84, Key = "Giddings", Author = "Richard V. Giddings", Title = "Accommodating Uncertainty in Software Design", Journal = CACM, Volume = 27, Number = 5, Month = May, Year = 1984, Pages = "428-434", Annote = "Domain dependent software and methodology. Prototyping as necessary for most applications where domain is not precisely known. Reusable components identified by formally modeling universe of discourse for the application. Cost-effectiveness of software environments. Nested development cycles. 9 references." } @Article{Gilb85, Key = "Gilb", Author = "Tom Gilb", Title = {Evolutionary Delivery versus the "Waterfall Model"}, Journal = SIGSOFT, Month = Jul, Year = 1985, Volume = 10, Number = 3, Pages = "49-61", Annote = "Argues that the smallest possible increments be delivered frequently to customers so that the designers can get feedback. 16 references." } @Book{Gilmore-Winder-Detienne94, Key = "Gilmore-Winder-Detienne", Author = "Divid J. Gilmore and Russel L. Winder and Francoise Detienne", Title = "User-Centered Requirements for Software Engineering Environments", Publisher = SV, Year = 1994, Editor = "Divid J. Gilmore and Russel L. Winder and Francoise Detienne", Volume = 123, Series = "NATO ASI Series", Address = NY, Annote = "Hundreds of references." } @Article{Glass80, Key = "Glass", Author = "Robert L. Glass", Title = "Real-Time: The 'Lost World' of Software Debugging and Testing", Journal = CACM, Year = 1980, Volume = 23, Number = 5, Month = May, Pages = "264-271", Annote = "15 references." } @Article{Gnaedig-Kirchner90, Key = "Gnaedig \& Kirchner", Author = "Isabelle Gnaedig and Helene Kirchner", Title = "Equational Completion in Order-Sorted Algebras", Journal = TCS, Year = 1990, Volume = 72, Number = "2,3", Month = May, Pages = "169-202" } @Article{Go-Shiatori99, key = {Go \& Shiatori}, author = {Kentaro Go and Norio Shiatori}, title = {A Decomposition of a Formal Specification: An Improved Constraint-Oriented Method}, journal = IEEETSE, year = 1999, volume = Mar, number = 25, month = 2, pages = {258-273}, annote = {17 references.} } @Article{Godin-etal98, key = {Godin, {\em et al.}}, author = {Robert Godin and Hafedh Mili and Guy W. Mineau and Rokia Missaoui and Amina Arfi and Thuy-Tien Chau}, title = {Design of Class Hierarchies Based on Concept (Galois) Lattices}, journal = TAPOS, year = 1998, volume = 4, number = 2, pages = {117-134}, annote = {44 references.} } @InCollection{Goerdt87, Key = "Goerdt", Author = "Andreas Goerdt", Title = "Hoare Logic for Lambda-Terms as Basis of Hoare Logic for Imperative Languages", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "293-299", Month = Jun, Annote = "17 references." } @InCollection{Gogolla-etal95, key = "Gogolla, {\em et al.}", author = "M. Gogolla and S. Conrad and G. Denker and R. Herzig and N. Vlachantonis and H. Ehrig", title = "{TROLL} {\it light} --- The Language and its Development Environment", pages = "205-220", annote = "An object-oriented specification language that uses SPECTRUM for its mathematical vocabulary. 19 references.", editor = {Manfred Broy and Stefan J\"{a}hnichen}, booktitle = "{KORSO}: Methods, Languages and Tools for the Construction of Correct Software", Publisher = SV, address = NY, Series = LNCS, Volume = 1009, Year = 1995 } @InCollection{Goguen-Burstall84, Key = "Goguen \& Burstall", Author = "J. A. Goguen and R. M. Burstall", Title = "Introducing Institutions", BookTitle = "Logics of Programs: Workshop, Carnegie Mellon University, June 1983", Editor = "Edmund Clarke and Dexter Kozen", Year = 1984, Pages = "221-256", Publisher = SV, Address = NY, Series = LNCS, Volume = 164, Annote = "Institutions generalize the notion of a logical system. If interface declarations can be glued together then theories can also be glued together. Conditions on when a theorem prover for one system can be validly used for another. Institutions that admit free models can be extended to institutions whose theories may include constraints such as hierarchy or generating constraints. 56 references." } @Article{Goguen-Burstall92, key = "Goguen \& Burstall", author = "Joseph A. Goguen and Rod M. Burstall", title = "Institutions: Abstract Model Theory for Specification and Programming", journal = JACM, month = Jan, year = 1992, volume = 39, number = 1, pages = "95-146", annote = "107 references." } @Book{Goguen-Malcolm96, author = "J. A. Goguen and G. Malcolm", title = "Algebraic Semantics of Imperative Programs", publisher = "MIT Press", address = "Cambridge, MA", year = "1996", ISBN = "0-262-07172-X", annote = "56 references." } @Article{Goguen-Malcom00, key = "Goguen \& Malcolm", title = "A Hidden Agenda", author = "Joseph Goguen and Grant Malcolm", journal = TCS, volume = 245, number = 1, pages = "55-101", month = Aug, year = 2000, URL = "http://www.cs.ucsd.edu/users/goguen/pps/ha.ps" } @Article{Goguen-Malcom99, key = "Goguen \& Malcolm", title = "A Hidden Agenda", author = "Joseph Goguen and Grant Malcolm", journal = "Mathematical Structures in Computer Science", volume = 9, number = 3, pages = "287-319", month = Jun, year = 1999, URL = "http://www.cs.ucsd.edu/users/goguen/pps/coind.ps" } @InCollection{Goguen-Meseguer82, Title = "Universal Realization, Persistent Interconnection and Implementation of Abstract Modules", Author = "Joseph Goguen and Jos\'e Meseguer", Year = 1982, BookTitle = "Proceedings, 9th International Conference on Automata, Languages and Programming, Aarhus, Denmark", Pages = "265-281", Editor = "M. Nielsen and E.M. Schmidt", Publisher = SV, Address = NY, Series = "Lecture Notes in Computer Science", Volume = 140 } @TechReport{Goguen-Meseguer87b, Key = "Goguen \& Meseguer", Author = "Joseph A. Goguen and Jose Meseguer", Title = "Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems", Institution = "Center for the Study of Language and Information", Month = Mar, Year = 1987, Number = "CSLI-87-92", Note = "Appears in Second Annual Symposium on Logic in Computer Science, Ithaca, NY, June, 1987, pages 18-29", Annote = "12 references." } @InCollection{Goguen-Meseguer87c, Key = "Goguen \& Meseguer", Author = "Joseph A. Goguen and Jose Meseguer", Title = "Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems", BookTitle = "Symposium on Logic in Computer Science, Ithaca, NY", Publisher = IEEE, Year = 1987, Pages = "18-29", Month = Jun, Annote = "Basics of order-sorted universal algebra. 12 references." } @TechReport{Goguen-Meseguer89, Key = "Goguen \& Meseguer", Author = "Joseph A. Goguen and Jose Meseguer", Title = "Order-Sorted Algebra {I}: Equational Deduction for Multiple Inheritance, Overloading, Exceptions, and Partial Operations", Institution = "Computer Science Laboratory, SRI International", Month = Jul, Year = 1989, Number = "SRI-CSL-89-10", Annote = "81 references." } @Article{Goguen-Moriconi87, Key = "Goguen \& Moriconi", Author = "Joseph Goguen and Mark Moriconi", Title = "Formalization in Programming Environments", Journal = "Computer", Volume = 20, Number = 11, Month = Nov, Year = 1987, Pages = "55-64", Annote = "Survey. 79 references." } @InProceedings{Goguen-Rosu99, key = "Goguen \& Rosu", author = "Joseph Goguen and Grigore Ro{\c{s}}u", title = "Hiding More of Hidden Algebra", editor = "Jeanette M. Wing and Jim Woodcock and Jim Davies", booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, number = 1709, year = 1999, pages = "1704-1719", annote = "Hidden algebra with multiple hidden arguments, variations on behavioral equivalence, built-in types, nondeterminism, and concurrency. 21 references.", } @InProceedings{Goguen-Tardo79, Key = "Goguen \& Tardo", Author = "J. A. Goguen and Joseph J. Tardo", Title = "An Introduction to OBJ: A Language for Writing and Testing Formal Algebraic Program Specifications", BookTitle = "Proceedings Specifications of Reliable Software, Cambridge, Mass.", Organization = IEEE, Month = Apr, Year = 1979, Pages = "170-189", Annote = "An interpreted data type specification language. 51 references." } @InCollection{Goguen-Thatcher-Wagner78, Key = "Goguen \& Thatcher \& Wagner", Author = "J. A. Goguen and J. W. Thatcher and E. G. Wagner", Title = "An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types", BookTitle = "Current Trends in Programming Methodology", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1978, Volume = 4, Editor = "Raymond T. Yeh", Pages = "80-149", Annote = "Algebraic specifications of abstract data types. This is the so-called ADJ paper." } @InCollection{Goguen-Tracz00, Key = "Goguen \& Tracz", Author = "Joseph A. Goguen and Will Tracz", Title = "An Implementation-Oriented Semantics for Module Composition", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 11, Pages = "231-263", Annote = "29 references." } @Article{Goguen-etal77, Key = "Goguen, {\em et al.}", Author = "J. A. Goguen and J. W. Thatcher and E. G. Wagner and J. B. Wright", Title = "Initial Algebra Semantics and Continuous Algebras", Journal = JACM, Year = 1977, Volume = 24, Pages = "68-95" } @InCollection{Goguen-etal87, Key = "Goguen, {\em et al.}", Author = "J. Goguen and C. Kirchner and A. Megrelis and J. Meseguer and T. Winkler", Title = "An Introduction to OBJ3", BookTitle = "Conditional Term Rewriting Systems, 1st International workshop, Orsay, France", Editor = "S. Kaplan and J.-P. Jouannaud", Month = Jul, Year = 1987, Series = LNCS, Volume = 308, Publisher = SV, Address = NY, Pages = "258-263" } @TechReport{Goguen-etal89, Key = "Goguen, {\em et al.}", Author = "Joseph A. Goguen and Jose Meseguer and Sany Lienwand and Timothy Winkler and Hitoshi Aida", Title = "The Rewrite Rule Machine Project", Institution = "Computer Science Laboratory, SRI International", Month = Mar, Year = 1989, Number = "SRI-CSL-89-6", Annote = "12 references." } @InBook{Goguen-etal92, Key = "Goguen, {\em et al.}", Author = "Joseph A. Goguen and Timothy Winkler and Jose Meseguer and Kokichi Futatsugi and Jean-Pierre Jouannaud", Title = "Applications of Algebraic Specification Using OBJ", Chapter = "Introducing OBJ", Publisher = "Cambridge University Press", Year = 1992, Editor = "J. A. Goguen and D. Coleman and R. Gallimore" } @Article{Goguen73, Key = "Goguen", Author = "Joseph A. Goguen", Title = "Realization is Universal", Journal = "Math. Systems Theory", Year = 1973, Volume = 6, Number = 4, Pages = "359-374", Annote = "13 references." } @Article{Goguen84, Key = "Goguen", Author = "Joseph A. Goguen", Title = "Parameterized Programming", Journal = IEEETSE, Volume = "SE-10", Number = 5, Month = Sep, Year = 1984, Pages = "528-543", Annote = "Parameterization mecahanisms in OBJ. Theories, views, and module extensions. 50 references." } @Article{Goguen86, Key = "Goguen", Author = "Joseph A. Goguen", Title = "Reusing and Interconnecting Software Components", Journal = "IEEE Computer", Volume = 19, Number = 2, Month = Feb, Year = 1986, Pages = "16-28", Annote = "42 references." } @TechReport{Goguen88b, Key = "Goguen", Author = "Joseph A. Goguen", Title = "OBJ as a Theorem Prover", Institution = "Computer Science Laboratory, SRI International", Number = "SRI-CSl-88-4R2", Month = Aug, Year = "1988", Annote = "45 references." } @Article{Goldberg-Abell-Leibs97, key = {Goldberg \& Abell \& Leibs}, author = {Adele Goldberg and Steven T. Abell and David Leibs}, title = {The {LearningWorks} Development and Delivery Frameworks}, journal = CACM, year = 1997, volume = 40, number = 10, month = Oct, pages = {78-81}, annote = {5 references.} } @Article{Goldberg86, Key = "Goldberg", Author = "A. T. Goldberg", Title = "Knowledge-Based Programming: A Survey of Program Design and Construction Techniques", Journal = IEEETSE, Volume = 12, Number = 7, Year = 1986, Pages = "752-768" } @Article{Goldberg87, Key = "Goldberg", Author = "Adele Goldberg", Title = "Programmer as Reader", Journal = "IEEE Software", Volume = 4, Number = 5, Month = Sep, Year = 1987, Pages = "62-70", Annote = "How Smalltalk-80 helps readability. 12 comprehension questions. 10 references." } @TechReport{Goldstein-Bobrow80b, Key = "Goldstein \& Bobrow", Author = "I. Goldstein and D. Bobrow", Title = "A Layered Approach of Software Design", Institution = "Xerox PARC", Number = "CSL-80-5", Year = 1980, Month = Dec } @Article{Goldstein05, key = {Goldstein}, author = {Harry Goldstein}, title = {Who Killed the Virtual Case File}, journal = {IEEE Spectrum}, year = 2005, volume = 42, number = 9, pages = {24-35}, month = Sep, annote = {No references.} } @InProceedings{Gomez-Liu02, key = "Gomez \& Liu", author = "Gustavo G{\'o}mez and Yanhong A. Liu", title = "Automatic Time-Bound Analysis for a Higher-Order Language", pages = "75-86", editor = "Cindy Norris and Jr. James B. Fenwick", booktitle = "Proceedings of the 2002 {ACM} {SIGPLAN} Workshop on Partial Evaluation and Semantics-Based Program Manipulation ({PEPM}-02)", month = jan # " ~14--15", series = "ACM SIGPLAN Notices", volume = "37, 3", publisher = "ACM Press", address = "New York", year = "2002" } @InCollection{Goodenough77, Key = "Goodenough", Author = "J. B. Goodenough", Title = "Towards a Theory of Testing Data Section Criteria", BookTitle = "Current Trends in Programming Technology", Publisher = "Prentice Hall", Year = 1977, Editor = "", Pages = "", Address = "Englewood Cliffs, NJ", Annote = "" } @InProceedings{Gordon-Rees96, key = {Gordon \& Rees}, author = {Andrew Gordon and Gareth Rees}, title = {Bisimilarity for a first-order calculus of objects with subtyping}, booktitle = {Conference Record of the 23rd ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida}, pages = {386-395}, year = 1996, month = Jan, organization = ACM } @Article{Gotlieb-Botella-Rueher98, key = {Gotlieb \& Botella \& Rueher}, author = {Arnaud Gotlieb and Bernard Botella and Michel Rueher}, title = {Automatic Test Data Generation using Constraint Solving Techniques}, journal = SIGSOFT, year = 1998, volume = 23, number = 2, month = Mar, pages = {53-62}, note = {ISSTA 98: Proceedings of the ACM SIGSOFT Internatioal Symposium on Software Testing and Analysis}, annote = {24 references.} } @TechReport{Gough-Barringer87, Key = "Gough \& Barringer", Author = "Graham D. Gough and Howard Barringer", Title = "A Semantics Driven Temporal Verification System", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-87-12-5", Year = 1987, Note = "To appear in ESOP '88", Annote = "SMG, a generic state machine generator that interfaces to temporal logic checkers. 21 references." } @Article{Gould-Lewis85, Key = "Gould \& Lewis", Author = "John D. Gould and Clayton Lewis", Title = "Designing for Usability: Key Principles and What Designers Think", Journal = CACM, Volume = 28, Number = 3, Month = Mar, Year = 1985, Pages = "300-311", Annote = "Principles for design of user interfaces: early focus on users and tasks, empirical measurement and iterative design. Discussion of why these are not obvious and exactly what they mean. An example of their use in designing IBM's ADS system. 36 references." } @TechReport{Graham88, Key = "Graham", Author = "T. C. Nicholas Graham", Title = "Conceptual View of Data Structures as a Programming Aid", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Month = Aug, Year = 1988, Number = "88-225", Annote = "Model of program output. The Weasel environment. 50 references." } @Book{Grand98, author = {Mark Grand}, title = {Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML}, publisher = {Wiley}, year = 1998, key = {Grand}, volume = {Volume 1}, annote = {9 references. Includes CD-ROM} } @Book{Grand99, author = {Mark Grand}, title = {Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML}, publisher = {Wiley}, year = 1998, key = {Grand}, volume = {Volume 2}, annote = {14 references. Includes CD-ROM} } @article{Gravell-Henderson96, key = {Gravell \& Henderson}, author = {Andrew Gravell and Peter Henderson}, title = {Executing formal specifications need not be harmful}, journal = {Software Engineering Journal}, year = {1996}, month = Mar, volume = {11}, number = {2}, pages = {104-110} } @Proceedings{Gray-Boehm-Davis96, title = {Empirical Studies of Programmers}, booktitle = {Empirical Studies of Programmers}, year = 1996, key = {Gray \& Boehm-Davis}, editor = {Wayne D. Gray and Deborah A. Boehm-Davis}, publisher = {Alex Publishing Corp.}, address = {Norwood, NJ, USA}, annote = {Papers from the 1996 Workshop on Empirical Studies of Programmers.} } @Article{Gray-etal-01, key = "Gray {\em et al.}", Author = "Jeff Gray and Ted Bapty and Sandeep Neema and James Tuck", Title = "Handling crosscutting constraints in domain-specific modeling", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "87-93" } @Article{Gray-etal-01, key = "Gray {\em et al.}", Author = "Jeff Gray and Ted Bapty and Sandeep Neema and James Tuck", Title = "Handling crosscutting constraints in domain-specific modeling", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "87-93", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @inproceedings{Gray-etal03, key = {Gray, \emph{et al.}}, Author = {Jeff Gray and Ted Bapty and Sandeep Neema and Douglas C. Schmidt and Aniruddha Gokhale and Balachandran Natarajan}, Booktitle = {Proceedings of the second international conference on Generative programming and component engineering}, Isbn = {3-540-20102-5}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p151-gray.pdf}, Location = {Erfurt, Germany}, Pages = {151-168}, Publisher = {Springer-Verlag New York, Inc.}, Title = {An approach for supporting aspect-oriented domain modeling}, Year = {2003} } @InCollection{Gray87, Key = "Gray", Author = "John W. Gray", Title = "The Category of Sketches as a Model for Algebraic Semantics", BookTitle = "Categories in Computer Science and Logic, Boulder, Colo.", Editor = "John W. Gray and Andre Scedrov", Year = 1987, Series = "Contemporary Mathematics", Volume = 92, Organization = "American Mathematical Society", Address = "Providence, R.I.", Pages = "109-135", Annote = "15 references." } @Article{Gray87b, Author = "D. Gray", Title = "A Pedagogical Verification Condition Generator", Journal = "The Computer Journal", Volume = 30, Number = 3, Year = 1987, Pages = "239 - 248" } @inproceedings{Greenhouse-Boyland99, key = {Greenhouse \& Boyland}, author = {Aaron Greenhouse and John Boyland}, title = {An Object-Oriented Effects System}, booktitle = {European Conference on Object-Oriented Programming (ECOOP)}, month = jun, year = {1999}, pages = {205--229}, publisher = SV } @Article{Greenhouse-Halloran-Scherlis05, key = "Greenhouse \& Halloran \& Scherlis", title = "Observations on the assured evolution of concurrent Java programs", author = "Aaron Greenhouse and T. J. Halloran and William L. Scherlis", journal = "Sci. Comput. Program", year = "2005", number = "3", volume = "58", pages = "384-411", URL = "http://dx.doi.org/10.1016/j.scico.2005.03.002", } @TechReport{Greenhouse03, author = {Aaron Greenhouse}, title = {A Programmer-Oriented Approach to Safe Concurrency}, institution = CMU, year = 2003, key = {Greenhouse}, number = {CMU-CS-03-135}, address = {Pittsburgh, PA}, month = May, annote = {The author's Ph.D. thesis. Many references.}, URL = {http://reports-archive.adm.cs.cmu.edu/anon/2003/CMU-CS-03-135.pdf} } @Article{Greif-Meyer81, Key = "Greif \& Meyer", Author = "Irene Greif and Albert R. Meyer", Title = "Specifying the Semantics of {\bf while} Programs: A Tutorial and a Critique of a Paper by Hoare and Lauer", Journal = TOPLAS, Year = 1981, Volume = 3, Number = 4, Month = Oct, Pages = "484-507", Annote = "22 references." } @Article{Greiter82, Key = "Greiter", Title = "A Data Type Theory", Author = "Gebhard Greiter", Journal = SIGPLAN, Volume = 17, Number = 5, Month = May, Year = 1982, Pages = "47-53", Annote = "Mathematical model for data type including treatments of error handling. Distinguishes types from implementations. 3 references." } @Article{Greiter83, Key = "Greiter", Author = "Gebh. Greiter", Title = "Comparing two Definitions for the Notion ``Data Type''", Journal = SIGPLAN, Year = 1983, Volume = 18, Number = 7, Month = Jul, Pages = "45-49", Annote = "Consistency of algebraic specifications. 4 references." } @Article{Gries-Levin80, author = {D. Gries and G. Levin}, title = {Assignment and the Procedure Call Proof Rules}, journal = {TOPLAS}, year = 1980, key = {Gries \& Levin}, volume = 2, number = 4, pages = {564-579} } @Article{Gries-Prins85, Key = "Gries \& Prins", Author = "David Gries and Jan Prins", Title = "A New Notion of Encapsulation", Journal = SIGPLAN, Volume = 20, Number = 20, Month = Jul, Year = 1985, Note = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments", Pages = "131-139", Annote = "Modules indicate how values (or variables) are implemented. Idea allows programmers to program at high level, use partial implementations of data types. 6 references." } @Book{Gries-Schneider94, Key = "Gries \& Schneider", Author = "David Gries and Fred B. Schneider", Title = "A Logical Approach to Discrete Math", Publisher = SV, Year = 1994, Series = "Texts and Monographs in Computer Science", Address = NY, Annote = "45 references." } @InCollection{Gries-Schneider95, author = {David Gries and Fred B. Schneider}, title = {Avoiding the Undefined by Underspecification}, booktitle = {Computer Science Today: Recent Trends and Developments}, key = {Gries \& Schneider}, publisher = SV, year = 1995, editor = {Jan van Leeuwen}, number = 1000, series = LNCS, address = NY, pages = {366-373}, annote = {9 references.} } @Book{Gries78, Key = "Gries", Editor = "David Gries", Title = "Programming Methodology, A Collection of Articles by Members of IFIP WG2.3", Publisher = SV, Address = NY, Year = 1978 } @Book{Gries81, Key = "Gries", Author = "David Gries", Title = "The Science of Programming", Year = 1981, Publisher = SV, Address = NY, Annote = "44 references." } @TechReport{Gries82, Key = "Gries", Author = "David Gries", Title = "The Science of Computer Programming Answer Book", Institution = "Dept. of Computer Science, Cornell, University", Year = 1982, Number = "82-498", Month = Jun, Annote = "Includes errata. 1 reference." } @Article{Grumberg-Long94, Key = "Grumberg \& Long", Author = "Orna Grumberg and David E. Long", Title = "Model Checking and Modular Verification", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "843-871", Annote = "31 references." } @InProceedings{Grundon-Hayes-Fidge98, author = {S. Grundon and I. Hayes and C. F. Fidge}, title = {Timing Constraint Analysis}, key = {Grundon \& Hayes \& Fidge}, booktitle = {Proceedings of the 21st Australasian Computer Science Conference, Singapore}, pages = {575-586}, year = 1998, month = {January}, publisher = SV } @Article{Grundy-Hosking-Mugridge98, key = {Grundy \& Hosking \& Mugridge}, author = {John Grundy and John Hosking and Warwick B. Mugridge}, title = {Inconsistency Management for Multiple-View Software Development Environments}, journal = IEEETSE, year = 1998, volume = 24, number = 11, month = Nov, pages = {960-981}, annote = {74 references.} } @InCollection{Grundy93, Key = "Grundy", Author = "J. Grundy", Title = "Predicative Programming---A Survey", BookTitle = "Formal Methods in Programming and Their Applications", Publisher = SV, Year = 1993, Editor = "Dines Bjoerner and Manfred Broy and Igor V. Pottosin", Series = LNCS, Volume = 735, Pages = "8-25", Month = Jul, Annote = "18 references." } @Article{Guaspari-Marceau-Polak90, Key = "Guaspari \& Marceau \& Polak", Author = "David Guaspari and Carla Marceau and Wolfgang Polak", Title = "Formal Verification of {Ada} Programs", Journal = IEEETSE, Volume = 16, Number = 9, Month = Sep, Year = 1990, Pages = "1058-1075", Annote = "Penelope verification editor and Larch/Ada. 35 references." } @InCollection{Guaspari-Marceau-Polak92, Key = "Guaspari \& Marceau \& Polak", Author = "David Guaspari and Carla Marceau and Wolfgang Polak", Title = "Formal Verification of {Ada} Programs", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "104-141", Annote = "35 references" } @InCollection{Guaspari-Seagar-Stilerman, author = {David Guaspari and Mike Seagar and Matt Stillerman}, title = {Specifying the Kernel of a Secure Distributed Operating System}, booktitle = {Applications of Formal Methods}, key = {Guaspari \& Seagar \& Stillerman}, publisher = {Prentice Hall}, year = 1995, editor = {Michael G. Hinchey and Jonathan P. Bowen}, series = {Prentice Hall International Series in Computer Science}, chapter = 12, address = {London}, pages = {285-306} } @TechReport{Guaspari89, Key = "Guaspari", Author = "David Guaspari", Title = "The semantics of two-tiered specifications. Part 1: Modular programming.", Institution = "Odyssey Research Associates", Address = "301A Harris B. Dates Dr., Ithaca, NY 14850", Number = "17-14", Month = Dec, Year = 1989, Annote = "8 references." } @Misc{Guaspari93, Key = "Guaspari", Author = "David Guaspari", Title = "Dispatching Operations", Howpublished = "Received from author", Year = 1993, Annote = "2 references." } @Book{Guessarian81, Key = "Guessarian", Author = "I. Guessarian", Title = "Algebraic Semantics", Publisher = SV, Year = 1981, Volume = 99, Series = LNCS, Address = NY } @Book{Gumb89, Key = "Gumb", Author = "Raymond D. Gumb", Title = "Programming Logics: An introduction to verification and semantics", Publisher = "Wiley", Address = NY, Annote = "Annotated bibliography contains 79 references." } @Article{Gunter96, key = {Gunter}, author = {Carl A. Gunter}, title = {Abstracting Dependencies between Software Configuration Items}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {167-178}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {Production nets and their models. 16 references.} } @InCollection{Gunther-Schewe-Wetzel93, Key = "Gunther \& Schewe \& Wetzel", Author = "T. Gunther and Klaus-Dieter Schewe and Ingrid Wetzel", Title = "On the Derivation of Executable Database Programs from Formal Specifications", BookTitle = "Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, Odense, Denmark", Publisher = SV, Year = 1993, Editor = "J.C.P. Woodcock and P.G. Larsen", Series = LNCS, Volume = 670, Pages = "351-366", Address = NY, Month = Apr, Annote = "14 references." } @Article{Gupta-Mathur-Soffa98, key = {Gupta \& Mathur \& Soffa}, author = {Neelam Gupta and Aditya Mathur and Mary Lou Soffa}, title = {Automated Test Data Generation Using an Iterative Relaxation Method}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {231-244}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {15 references.} } @inproceedings{Gurski-Baker94, key = "Gurski \& Baker", author = "M. Gurski and A. L. Baker", title = "Testing {SPECS-C++}: A First Step in Validating Distributed Systems", booktitle = "Intellegent Information Management Systems", year = "1994", pages = "105-108", publisher = "The International Society for Mini and Microcomputers - ISMM", address = "Anaheim" } @TechReport{Gurski01, author = {Marybeth Gurski}, title = {The Class Validation System}, institution = {Department of Computer Science, Iowa State University}, year = 2001, key = {Gurski}, number = {01-01}, address = {Ames, Iowa 50011}, month = Feb, annote = {Available from \url{http://www.cs.iastate.edu}.} } @TechReport{Guttag-Horning-Modet90, Key = "Guttag \& Horning \& Modet", Author = "John V. Guttag and James J. Horning and Andr\'{e}s Modet", Title = "Report on the {Larch Shared Language}: Version 2.3", Institution = DECSRC, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Month = Apr, Year = 1990, Number = 58, Note = "Order from src-report@src.dec.com", Annote = "19 references." } @Article{Guttag-Horning-Wing82, Key = "Guttag \& Horning \& Wing", Author = "J. V. Guttag and J. J. Horning and J. M. Wing", Title = "Some Remarks on Putting Formal Specifications to Productive Use", Journal = "Science of Computer Programming", Volume = 2, Number = 1, Month = Oct, Year = 1982, Pages = "53-68" } @TechReport{Guttag-Horning-Wing85a, Author = "J. V. Guttag and J. J. Horning and J. M. Wing", Title = "{Larch} in Five Easy Pieces", Institution = DECSRC, Year = 1985, Month = Jul, Number = 5, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "The five pieces are: the Larch family of specification languages, the Larch shared language, the Larch shared language reference manual, the Larch shared language handbook, and writing Larch interface language specifications. 65 references." } @Article{Guttag-Horning-Wing85b, Key = "Guttag \& Horning \& Wing", Author = "John V. Guttag and James J. Horning and Jeannette M. Wing", Title = "The {Larch} Family of Specification Languages", Journal = "IEEE Software", Year = 1985, Month = Sep, Volume = 2, Number = 5, Pages = "24-36" } @Article{Guttag-Horning78, Key = "Guttag \& Horning", Author = "J. Guttag and J. J. Horning", Title = "The Algebraic Specification of Abstract Data Types", Journal = "Acta Informatica", Year = 1978, Volume = 10, Number = 1, Pages = "27-52" } @InProceedings{Guttag-Horning80, Key = "Guttag \& Horning", Author = "J. Guttag and J. J. Horning", Title = "Formal Specification as a Design Tool", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Year = 1980, Month = Jan, Pages = "251-261", Annote = "6 references." } @TechReport{Guttag-Horning83, Key = "Guttag \& Horning", Author = "J. V. Guttag and J. J. Horning", Title = "Preliminary Report on the {Larch Shared Language}", Institution = MITLCS, Year = 1983, Month = Oct, Number = 307, Annote = "Specification language for abstract data types with a inheritance-like structure. 14 references." } @Article{Guttag-Horning86a, Key = "Guttag \& Horning", Author = "J. V. Guttag and J. J. Horning", Title = "Report on the {L}arch {S}hared {L}anguage", Journal = "Science of Computer Programming", Volume = 6, Number = 2, Month = Mar, Year = 1986, Pages = "103-134", Annote = "Definition of the specification language Larch. 17 references." } @Article{Guttag-Horning86b, Key = "Guttag \& Horning", Author = "J. V. Guttag and J. J. Horning", Title = "A {L}arch {S}hared {L}anguage Handbook", Journal = "Science of Computer Programming", Volume = 6, Number = 2, Month = Mar, Year = 1986, Pages = "135-157", Annote = "Definitions of basic traits in Larch. 3 references." } @TechReport{Guttag-Horning91, Key = "Guttag \& Horning", Author = "J. V. Guttag and J. J. Horning", Title = "Introduction to {LCL}, A {Larch/C} Interface Language", Institution = DECSRC, Year = 1991, Number = 74, Month = Jul, Address = "130 Lytton Avenue, Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "5 references." } @InCollection{Guttag-Horning91b, Key = "Guttag \& Horning", Author = "J. V. Guttag and J. J. Horning", Title = "A Tutorial on {Larch} and {LCL}, a {Larch/C} Interface Language", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 2: Tutorials", Publisher = SV, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 552, Pages = "1-78", Address = NY, Month = Oct, Annote = "Part 2 is an introduction to the Larch Shared Language. 6 references." } @Book{Guttag-Horning93, Key = "Guttag \& Horning", Author = "John V. Guttag and James J. Horning and S.J. Garland and K.D. Jones and A. Modet and J.M. Wing", Title = "{Larch}: Languages and Tools for Formal Specification", Publisher = SV, Year = 1993, Address = NY, Annote = "99 references." } @Article{Guttag-Horowitz-Musser78, Key = "Guttag \& Horowitz \& Musser", Author = "John V. Guttag and Ellis Horowitz and David R. Musser", Title = "Abstract Data Types and Software Validation", Journal = CACM, Volume = 21, Number = 12, Month = Dec, Year = 1978, Pages = "1048-1064", Annote = "Use of algebraic axiomatizations in proofs and tools to automate proofs. Data type induction. 25 references." } @Article{Guttag77, Key = "Guttag", Author = "John Guttag", Title = "Abstract Data Types and the Development of Data Structures", Journal = CACM, Month = Jun, Year = 1977, Volume = 20, Number = 6, Pages = "396-404", Annote = "Application of algebraic specifications for data structures. 25 references." } @Article{Guttag80, Key = "Guttag", Author = "John Guttag", Title = "Notes on Type Abstractions (Version 2)", Journal = IEEETSE, Volume = "SE-6", Number = 1, Month = Jan, Year = 1980, Pages = "13-23", Note = "Version 1 in {\em Proceedings Specifications of Reliable Software}, Cambridge, Mass., IEEE, April, 1979", Annote = "Axiomatic data type specifications. 22 references." } @InCollection{Guttag93, Key = "Guttag", Author = "J. V. Guttag", Title = "Goldilocks and the Three Specifications", Series = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, BookTitle = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "1-14", Annote = "9 references" } @Article{Habermann-Flon-Cooprider76, Key = "Habermann \& Flon \& Cooprider", Author = "A. N. Habermann and Lawrence Flon and Lee Cooprider", Title = "Modularization and Hierarchy in a Family of Operating Systems", Journal = CACM, Volume = 19, Number = 5, Year = 1976, Month = May, Pages = "266-272", Annote = "Design philosophy for a family of operating systems. Family members share software. Concepts of module and level do not coincide in a hierarchy of functions. 9 references." } @Article{Habermann-Notkin86, Key = "Habermann \& NOtkin", Author = "A. Nico Habermann and David Notkin", Title = "Gandalf: Software Development Environments", Journal = IEEETSE, Volume = "SE-12", Number = 12, Month = Dec, Year = 1986, Pages = "1117-1127", Annote = "67 references." } @Article{Hajnal-Sorgacs98, key = {Hajnal \& Sorg\'{a}cs}, author = {\'{A}kos Hajnal and Istv\'{a}n Sorg\'{a}cs}, title = {An Applicable Test Data Generation Algorithm for Domain Errors}, journal = SIGSOFT, year = 1998, volume = 23, number = 2, month = Mar, pages = {63-72}, note = {ISSTA 98: Proceedings of the ACM SIGSOFT Internatioal Symposium on Software Testing and Analysis}, annote = {15 references.} } @InProceedings{Hakonen-etal99, Key = {Hakonen \& Lepp\"{a}nen \& Raita \& Salakoski \& Teuhola}, Author = {Harri Hakonen and Ville Lepp\"{a}nen and Timo Raita and Tapio Salakoski and Jukka Teuhola}, Title = {Improving Object Integrity and Preventing Side Effects via Deeply Immutable References}, BookTitle = {Proceedings of Sixth Fenno-Ugric Symposium on Software Technology, FUSST'99}, pages = {139-150}, Year = {1999} } @Article{Hall90, Key = "Hall", Author = "Anthony Hall", Title = "Seven Myths of Formal Methods", Journal = "IEEE Software", Volume = 7, Number = 5, Month = Sep, Year = 1990, Pages = "11-19", Annote = "10 references." } @Article{Hallstrom-Soundarajan02, key = {Hallstrom \& Soundarajan}, author = {Jason Hallstrom and Neelam Soundarajan}, title = {Incremental Development Using Object Oriented Frameworks: A Case Study}, journal = JOT, year = 2002, volume = 1, number = 3, pages = {189-205}, month = Aug, URL = {http://www.jot.fm/issues/issue_2002_08/article11}, annote = {10 references.} } @InCollection{Hamilton-Zeldin79, Key = "Hamilton \& Zeldin", Author = "M. Hamilton and S. Zeldin", Title = "Discussion of An Appraisal of Program Specifications", BookTitle = "Research Directions in Software Technology", Editor = "Peter Wegner", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1979, Pages = "376-380", Annote = "10 references." } @InProceedings{Hamilton92, Key = "Hamilton", Author = "V. Hamilton", Title = "Experience of combining {Y}ourdon and {V}{D}{M}", BookTitle = "Proceedings of the Methods Integration Workshop", Publisher = SV, Year = 1992 } @Article{Hamlet77, Key = {Hamlet}, Author = {R. G. Hamlet}, Title = {Testing Programs with the Aid of a Compiler}, Journal = IEEETSE, Year = 1977, Volume = {3}, Number = {4}, Month = Jul, Pages = {279-290} } @InProceedings{Hannemann-Kiczales02, author = "Jan Hannemann and Gregor Kiczales", title = "Design pattern implementation in {Java} and {AspectJ}", pages = "161-173", editor = "Cindy Norris and Jr. James B. Fenwick", booktitle = "Proceedings of the 17th {ACM} conference on Object-oriented programming, systems, languages, and applications ({OOPSLA}-02)", month = nov # " ~4--8", series = "ACM SIGPLAN Notices", volume = "37, 11", publisher = "ACM Press", address = "New York", year = "2002" } @Article{Harel-Kahana92, Key = "Harel \& Kahana", Author = "David Harel and Chaim-Arie Kahana", Title = "On Statecharts with Overlapping", Journal = TOSEM, Year = 1992, Volume = 1, Number = 4, Month = Oct, Pages = "399-421", Annote = "13 references." } @Article{Harel-Kupferman02, author = {David Harel and Orna Kupferman}, title = {On Object Systems and Behavioral Inheritance}, journal = IEEETSE, year = 2002, key = {Harel \& Kupferman}, volume = 28, number = 9, pages = {889-903}, month = Sep, annote = {26 references.} } @InProceedings{Harel-etal87, key = "Harel, {\em et al.}", author = "D. Harel and A. Pnueli and J. P. Schmidt and R. Sherman", title = "On the Formal Semantics of Statecharts", booktitle = "IEEE Symposium on Logic in Computer Science", pages = "54-64", year = "1987" } @Article{Harel-etal90, Key = "Harel, {\em et al.}", Author = "David Harel and Hagi Lachover and Amnon Naamad and Amir Pnueli and Michal Politi and Rivi Sherman and Aharon Shtull-trauring and Mark Trakhtenbrot", Title = "STATEMATE: A working Environment for the Development of Complex Reactive Systems", Journal = IEEETSE, Year = 1990, Volume = 16, Number = 4, Month = Apr, Pages = "403-413", Annote = "22 references." } @Article{Harel87, Key = "Harel", Author = "David Harel", Title = "Statecharts: A Visual Formalism for Complex Systems", Journal = "Science of Computer Programming", Year = 1987, Volume = 8, Number = 3, Month = Jun, Pages = "231-274" } @Article{Harel92, Key = "Harel", Author = "David Harel", Title = "Biting the Silver Bullet", Journal = "Computer", Year = 1992, Volume = 21, Number = 1, Month = Jan, Pages = "8-20", Annote = "A vanillia approach to systems design, based on an analogy to a conventional programming language. That is the designer should have ability to execute and debug designs. Visual elements are also important. 20 references." } @Article{Harms-Weide91, key = {Harms \& Weide}, author = {Douglas E. Harms and Bruce W. Weide}, title = {Copying and Swapping: Influences on the Design of Reusable Software Components}, journal = IEEETSE, year = 1991, volume = 17, number = 5, month = May, pages = {424-435}, annote = {Part of the rationale for RESOLVE. 23 references.} } @InProceedings{Harrison-Ossher93, key = "Harrison \& Ossher", author = "William Harrison and Harold Ossher", title = "Subject-Oriented Programming (A Critique of Pure Objects)", booktitle = {OOPSLA '93: Proceedings of the eighth annual conference on Object-oriented programming, systems, languages, and applications}, publisher = ACM, address = NY, year = 1993, editor = "Andreas Paepcke", volume = "28(10)", series = SIGPLAN, pages = "411-428", month = Oct, annote = "Subjectivity. 24 references." } @Book{Harrison-Thimbleby90, Key = "Harrison \& Thimbleby", Author = "Michael Harrison and Harold Thimbleby", Title = "Formal Methods in Human-Computer Interaction", Series = "Cambridge Series on Human-Computer Interaction", Publisher = "Cambridge University Press", Address = NY, Year = 1990, Annote = "214 references." } @InProceedings{Harrison86, Key = "Harrison", Author = "William Harrison", Title = "A Program Development Environment for Programming by Refinement and Reuse", BookTitle = "Nineteenth Annual Hawii International Conference on System Sciences", Year = 1986, Organization = "University of Hawii, ACM, IEEE", Pages = "459-469", Annote = "RPDE project. 24 references." } @Book{Harry96, author = {Andrew Harry}, title = {Formal Methods Fact File: {VDM and Z}}, publisher = {Wiley}, year = 1996, key = {Harry}, address = NY, annote = {4 references.} } @book{Hatcher-Loughran03, Key = {Hatcher \& Loughran}, Author = {Erik Hatcher and Steve Loughran}, Address = {Greenwich, CT}, Publisher = {Manning}, Title = {Java Development with {Ant}}, Year = {2003} } @Book{Hatley-Pirbhai87, Key = "Hatley \& Pirbhai", Author = "D. J. Hatley and I. Pirbhai", Title = "Strategies for Real-Time System Specification", Publisher = "Dorset House", Year = 1987, Address = NY } @Article{Hatton97, key = {Hatton}, author = {Les Hatton}, title = {N-Version Design Versus One Good Version}, journal = {IEEE Software}, year = 1997, volume = 14, number = 6, month = Nov, pages = {71-76}, annote = {Suggests that n-version development is preferable. 12 references.} } @Article{Hatton98, key = {Hatton}, author = {Les Hatton}, title = {Does {OO} Sync with How We Think?}, journal = {IEEE Software}, year = 1998, volume = 15, number = 3, month = May, pages = {46-54}, annote = {No, in a study an OO C++ implementation had a ``poorer defect density'' and took longer to debug than an equivalent non-OO system in C. The problem seems partly attributable to inheritance. 13 references.} } @Article{Havelund-Pressburger00, key = {Havelund \& Pressburger}, author = {Klaus Havelund and Thomas Pressburger}, title = {Model Checking {Java} Programs Using {Java PathFinder}}, journal = {International Journal on Software Tools for Technology Transfer}, volume = 2, number = 4, month = Apr, year = {2000}, publisher = SV } @InProceedings{Havelund-Rosu01, key = "Havelund \& Rosu", author = "Klaus Havelund and Grigore Rosu", title = "Monitoring {Java} Programs with {Java PathExplorer}", BookTitle = "Workshop on Runtime Verification held in conjunction with the 13th Conference on Computer Aided Verification, CAV'01", year = "2001", Note = "Published in {\em Electronic Notes in Theoretical Computer Science}, K. Havelund and G. Rosu (eds.), 55(2), 2001. Available from \url{www.sciencedirect.com}." } @InProceedings{Havelund-Rosu01b, author = "Klaus Havelund and Grigore Rosu", key = "Havelund \& Rosu", title = "{Java PathExplorer} --- A runtime verification tool", BookTitle = "Proceedings 6th International Symposium on Artificial Intelligence, Robotics and Automation in Space, ISAIRAS'01, Montreal, Canada, June 18--22, 2001.", year = "2001" } @TechReport{Haxthausen92, Key = "Haxthausen", Author = "Anne Elisabeth Haxthausen", Title = "RAISE Language and Method Evolution", Institution = "Computer Resources International A/S", Year = 1994, Address = "Bregneroedvej 144, P. O. Box 173, DK-3460 Birkeroed, Denmark", Month = Jan, Annote = "0 references." } @TechReport{Hayes-Coleman-Bear89, Key = "Hayes \& Coleman \& Bear", Author = "Fiona Hayes and Derek Coleman and S. Bear", Title = "Introducing ObjectCharts or How to Use Statecharts in Object Oriented Design", Institution = "Information Management Lab, Hewlett Packard Laboratories", Type = "Technical Memo", Number = "?", Month = Nov, Year = 1989, Annote = "6 references." } @Article{Hayes-Coleman-Bear92, Key = "Hayes \& Coleman \& Bear", Author = "Fiona Hayes and Derek Coleman and S. Bear", Title = "Introducing ObjectCharts or How to Use Statecharts in Object Oriented Design", Journal = IEEETSE, Volume = 18, Number = 1, Month = Jan, Year = 1992, Pages = "9-18", Annote = "16 references." } @inproceedings{Hayes-Jackson-Jones03, key = {Hayes \& Jackson \& Jones}, author = {Ian J. Hayes and Michael Jackson and Cliff B. Jones}, title = {Determining the Specification of a Control System from that of its Environment}, booktitle = {FME}, year = {2003}, pages = {154-169}, crossref = {FME03}, } @Article{Hayes-Jones-Nicholls94, Key = "Hayes \& Jones \& Nicholls", Author = "I.J. Hayes and C.B. Jones and J.E. Nicholls", Title = "Understanding the Differences Between {VDM} and {Z}", Journal = "Software Engineering Notes", Year = 1994, Volume = 19, Number = 3, Month = Jul, Pages = "69-74", Annote = "14 references." } @article{Hayes-Jones89, key = {Hayes \& Jones}, author = {Ian J. Hayes and Cliff B. Jones}, title = {Specifications are not (necessarily) executable}, journal = {Software Engineering Journal}, year = {1989}, month = Nov, volume = {4}, number = {6}, pages = {330-338}, annote = {20 references. See also Fuchs92, Specifications are (preferably) executable.} } @TechReport{Hayes-Jones89a, Key = "Hayes \& Jones", Author = "Ian J. Hayes and Cliff B. Jones", Title = "Specifications are not (necessarily) executable", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Month = Dec, Year = 1989, Number = "UMCS-90-12-1", Annote = "20 references." } @Article{Hayes-Utting01, Key = "Hayes \& Utting", author = "Ian J. Hayes and Mark Utting", title = "A sequential real-time refinement calculus", journal = "Acta Informatica", volume = "37", number = "6", pages = "385-448", year = 2001 } @InProceedings{Hayes00, Key = "Hayes", author = "Ian J. Hayes", title = "Real-Time Program Refinement Using Auxiliary Variables", booktitle = "Formal Techniques in Real-Time and Fault-Tolerant Systems", editor = "M. Joseph", series = LNCS, volume = 1926, pages = "170-184", publisher = SV, year = 2000 } @Article{Hayes02, Key = "Hayes", author = "Ian J. Hayes", title = "Reasoning about Real-time Repetitions: Terminating and Nonterminating", journal = "Science of Computer Programming", volume = "43", number = "2-3", pages = "161-192", year = "2002", month = "May-June" } @Book{Hayes87, Key = "Hayes", Editor = "I. Hayes", Title = "Specification Case Studies", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Year = 1987, Annote = "Introduces the Z specification language." } @Book{Hayes93, Key = "Hayes", Editor = "I. Hayes", Title = "Specification Case Studies", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Year = 1993, Edition = "Second", Annote = "Introduces the Z specification language." } @Book{Headington-Riley94, author = {M. R. Headington and D.D. Riley}, title = {Data Abstraction and Structures Using {C++}}, publisher = {Heath}, year = 1994 } @Article{Hecker99, key = {Hecker}, author = {Frank Hecker}, title = {Setting Up Shop: The Business of Open-Source Software}, journal = {IEEE Software}, year = 1999, volume = 16, number = 1, month = Jan, pages = {45-51} } @PhdThesis{Hegazy89, author = {W. A. Hegazy}, title = {The Requirements of Testing a Class of Reusable Software Modules}, school = {Ohio State University}, year = 1989, key = {Hegazy} } @InProceedings{Hehner-Bravell99, key = "Hehner \& Gravell", author = "Eric C. R. Hehner and Andrew M. Gravell", title = "Refinement Semantics and Loop Rules", editor = "Jeanette M. Wing and Jim Woodcock and Jim Davies", booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, number = 1709, year = 1999, pages = "1497-1510", annote = "Rules for while-loops, for-loops, and variations. 9 references.", } @Article{Hehner-Gupta-Malton86, Key = "Hehner \& Gupta \& Malton", Author = "Eric C. Hehner and Lorene E. Gupta and Andrew J. Malton", Title = "?", Journal = "Acta Informatica", Volume = 23, Number = 5, Month = Sep, Year = 1986, Pages = "487-505" } @Misc{Hehner05, key = {Hehner}, author = {Eric C. R. Hehner}, title = {Specified Blocks}, howpublished = {Verified Software: Theories, Tools, Experiments (VSTTE), \url{http://vstte.inf.ethz.ch/Files/hehner.pdf}}, month = Oct, year = 2005, annote = {4 references}, URL = {http://vstte.inf.ethz.ch/Files/hehner.pdf} } @Book{Hehner93, Key = "Hehner", Author = "Eric C. R. Hehner", Title = "A Practical Theory of Programming", Publisher = SV, Series = "Texts and Monographs in Computer Science", Year = 1993, Annote = "60 references", note = "Available from \url{http://www.cs.utoronto.ca/~hehner/aPToP}." } @Article{Hehner98, author = {Eric C. R. Hehner}, title = {Formalization of Time and Space}, journal = {Formal Aspects of Computing}, year = 1998, key = {Hehner}, volume = 10, pages = {290-306} } @Article{Hehner99, author = {Eric C. R. Hehner}, title = {Specifications, programs, and total correctness}, journal = {Science of Computer Programming}, year = 1999, key = {Hehner}, volume = 34, pages = {191-205}, annote = {Argues that a formal specification is a boolean expression, that a program is a formal specification, and that total correctness is worse than partial correctness plus time. 20 references.} } @InProceedings{Heimdahl-Leveson95, key = "Heimdahl \& Leveson", author = "Mats P. E. Heimdahl and Nancy G. Leveson", title = "Completeness and Consistency Analysis of State-Based Requirements", pages = "3--14", booktitle = "Proceedings of the~17th~International Conference on Software Engineering", year = "1995", publisher = "ACM Press", month = apr } @Article{Heitmeyer-etal98, key = {Heitmeyer, {\em et al.}}, author = {Constance Heitmeyer and James {Kirby, Jr.} and Bruce Labaw and Myla Archer and Ramesh Bharadwaj}, title = {Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications}, journal = IEEETSE, year = 1998, volume = 24, number = 11, month = Nov, pages = {927-948}, annote = {66 references.} } @Article{Helm-Holland-Gangopadhyay90, Key = "Helm \& Holland \& Gangopadhyay", Author = "R. Helm and I. Holland and D. Gangopadhyay", Title = "Contracts: Specifying Behavioral Compositions in Object-Oriented System", Journal = SIGPLAN, Year = 1990, Volume = 25, Number = 10, Month = Oct, Pages = "169-180", Note = "{\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).", Annote = "26 references." } @Article{Henninger94, key = {Henninger}, author = {Scott Henninger}, title = {Using Iterative Refinement to Find Reusable Software}, journal = {IEEE Software}, year = 1994, volume = 11, number = 5, month = Sep, pages = {48-59}, annote = {11 references.} } @InCollection{Henziger-Manna-Pneuli92, Key = "Henziger \& Manna \& Pneuli", Author = "T. A. Henziger and Z. Manna and A. Pneuli", Title = "Temporal Proof Methodologies for Real-Time Systems", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "145-158", Address = "Los Alamitos, California", Month = Oct, Annote = "14 references." } @Article{Herlihy-Wing90, Key = "Herlihy \& Wing", Author = "Maurice P. Herlihy and Jeannette M. Wing", Title = "Linerizability: A Correctness Condition for Atomic Objects", Journal = TOPLAS, Volume = 12, Number = 3, Month = Jul, Year = 1990, Pages = "463-492", Annote = "Correctness condition that exploits the semantics of abstract types. 46 references." } @Article{Hermenegildo-etal05, key = {Hermenegildo, {\em et al.}}, author = {Manuel V. Hermenegildo and Germ{\'a}n Puebla and Francisco Bueno and Pedro L{\'o}pez-Garc{\'\i}a}, title = {Integrated program debugging, verification, and optimization using abstract interpretation (and the {Ciao} system preprocessor)}, journal = {Sci. Comput. Program.}, year = 2005, volume = 58, number = {1-2}, pages = {115-140} } @InCollection{Hesselink-Reinds93, Key = "Hesselink \& Reinds", Author = "W. H. Hesselink and R. Reinds", Title = "Temporal Preconditions of Recursive Procedures", Journal = LNCS, Number = 666, Editor = "J. W. de Baker and W. P. de Rover and G. Rozenberg", Publsiher = SV, Address = NY, Year = 1993, Note = "Semantics: Foundations and Applications REX Workshop, The NetherLands, june 1992. Proceedings", Page = "236-260", Annote = "13 references" } @Article{Hesselink88, Key = "Hesselink", Author = "Wim H. Heselink", Title = "A Mathematical Approach to Nondeterminism in Data Types", Journal = "TOPLAS", Volume = 10, Number = 1, Month = Jan, Year = 1988, Pages = "87-117", Annote = "Model theory for nondeterministic data types. Unfocused signatures. Accumulated arrows are finite programs. Morphisms and strict morphisms. Relations and universal models. Extraction equivalence versus observable equivalence. Notion of an implementation. 18 references." } @Article{Hesselink89, Author = "Wim H. Heselink", Title = "Predicate-Transformer Semantics of General Recursion", Journal = "Acta Informatica", Year = 1989, Volume = 26, Number = 4, Month = Feb, Pages = "309-322" } @Book{Hesselink92, Key = "Hesselink", Author = "Wim H. Hesselink", Title = "Programs, Recursion, and Unbounded Choice", Publisher = "Cambridge University Press", Year = 1992, Volume = 27, Series = "Cambridge Tracts in Theoretical Computer Science", Address = NY, Annote = "Predicate transformation calculus semantics of sequential programs including repetition, recursion, and unbounded nondeterminancy. 50 references." } @Article{Hester-Parnas-Utter81, Key = "Hester \& Parnas \& Utter", Author = "S. D. Hester and D. L. Parnas and D. F. Utter", Title = "Using Documentation as a Software Design Medium", Journal = BSTJ, Volume = 60, Number = 8, Month = Oct, Year = 1981, Pages = "1941-1977", Annote = "Design method based on separation of concerns and information hiding. Structuring of design documents. Expected changes explicitly noted. 16 references." } @PhdThesis{Heym95, author = {Wayne D. Heym}, title = {Computer Program Verification: Improvements for Human Reasoning}, school = {The Ohio State University}, year = 1995, key = {Heym}, address = {Columbus, OH}, URL = {http://www.cis.ohio-state.edu/rsrg/documents/95HeymDissertation.pdf} } @article{Higashino-Bochmann94, Key = {Higashino \& Bochmann}, Author = {Teruo Higashino and Gregor v. Bochmann}, Title = {Automatic Analysis and Test Case Derivation for a Restricted Class of {LOTOS} Expressions with Data Parameters}, Journal = IEEETSE, Year = 1994, Volume = 20, Number = 1, Month = Jan, Pages = {29--42} } @Article{Hill72, Key = "Hill", Author = "I. D. Hill", Title = "Wouldn't it be nice if we could write computer programs in ordinary English---or would it?", Journal = "The Computer Bulletin", Year = "1972", Volume = 16, Number = 6, Month = Jun, Pages = "306-312" } @Book{Hinchey-Bowen95, key = "Hinchey \& Bowen", editor = "Michael G. Hinchey and Jonathan P. Bowen", title = "Applications of Formal Methods", booktitle = "Applications of Formal Methods", publisher = "Prentice Hall International Series in Computer Science", year = "1995", url = "http://www.cl.cam.ac.uk/users/mgh1001/afm-book.html", ISBN = "0-13-366949-1", annote = "A collection on industrial examples of the use of formal methods. Many references." } @InCollection{Hinchey-Bowen95a, key = "Hinchey \& Bowen", author = "Michael G. Hinchey and Jonathan P. Bowen", title = {Applications of Formal Methods {FAQ}}, booktitle = {Applications of Formal Methods}, publisher = {Prentice Hall}, year = 1995, editor = {Michael G. Hinchey and Jonathan P. Bowen}, series = {Prentice Hall International Series in Computer Science}, chapter = 1, address = {London}, pages = {1-15} } @InCollection{Hintermeier-Kirchner-Kirchner94, Key = "Hintermeier \& Kirchner \& Kirchner", Author = "Claus Hintermeier and Claude Kirchner and Helene Kirchner", Title = "Sort Inheritance for Order-Sorted Equational Presentations", BookTitle = "Recent Trends in Datatype Specification", Publisher = SV, Year = 1994, Editor = "Egidio Astesiano and Gianna Reggio and Andrzej Tarlecki", Series = LNCS, Volume = 906, Pages = "319-335", Address = NY, Annote = "22 references." } @InCollection{Hoare-Jifeng99, key = {Hoare \& Jifeng}, author = {C. A. R. Hoare and He Jifeng}, title = {A Trace Model for Pointers and Objects}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {1-17}, annote = {16 references.} } @Unpublished{Hoare-Misra-Shankar05, key = {Hoare \& Misra \& Shankar}, author = {Tony Hoare and Jayadev Misra and N. Shankar}, title = {The {IFIP} Working Conference on Verified Software: Theories, Tools, Experiments}, note = {\url{http://tinyurl.com/nrhdl}}, month = Oct, year = 2005, annote = {Checked July 2006.} } @Article{Hoare-etal87, Key = "Hoare, {\em et al.}", Author = "C. A. R. Hoare and I. J. Hayes and He Jifeng and C. C. Morgan and A. W. Roscoe and J. W. Sanders and I. H. Sorensen and J. M. Spivey and B. A. Sufrin", Title = "Laws of Programming", Journal = CACM, Volume = 30, Number = 8, Month = Aug, Year = 1987, Pages = "672-686", Note = "See corrections in the September 1987 CACM.", Annote = "Algebraic laws for Dijkstra's language. 13 references." } @Article{Hoare03, key = "Hoare", author = "Tony Hoare", title = "The Verifying Compiler: {A} Grand Challenge for Computing Research", journal = JACM, volume = 50, number = 1, pages = "63-69", month = Jan, year = 2003, annote = "4 references." } @inproceedings{Hoare05, author = "C. A. R. Hoare", title = "The Verifying Compiler, a Grand Challenge for Computing Research", booktitle = "Verification, Model Checking, and Abstract Interpretation, 6th International Conference, VMCAI 2005", publisher = SV, series = LNCS, volume = 3385, month = Jan, year = 2005, pages = 78 } @Article{Hoare69, Key = "Hoare", Author = "C. A. R. Hoare", Title = "An Axiomatic Basis for Computer Programming", Journal = CACM, Volume = 12, Number = 10, Month = Oct, Year = 1969, Pages = "576--580,583", Annote = "Axiomatic semantics introduced, partial correctness, proofs of correctness. 9 references." } @Article{Hoare71, Key = "Hoare", Author = "C.A.R. Hoare", Title = "Proof of a Program: Find", Journal = CACM, Year = 1971, Volume = 14, Number = 1, Month = Jan, Pages = "39-45" } @Article{Hoare72a, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Proof of correctness of data representations", Journal = "Acta Informatica", Volume = 1, Number = 4, Year = 1972, Pages = "271-281", Annote = "8 references." } @InCollection{Hoare72b, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Notes on data structuring", BookTitle = "Structured Programming", Editor = "Ole-J. Dahl and E. Dijkstra and C. A. R. Hoare", Publisher = "Academic Press, Inc.", Address = NY, Year = 1972, Pages = "83-174", Annote = "7 references." } @Article{Hoare78b, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Some Properties of Predicate Transformers", Journal = JACM, Year = 1978, Volume = 25, Number = 3, Month = Jul, Pages = "461-480", Annote = "14 references." } @Article{Hoare86, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Mathematics of Programming", Journal = "BYTE", Year = 1986, Month = Aug, Pages = "115-126" } @Article{Hoare87, Key = "Hoare", Author = "C. A. R. Hoare", Title = "An Overview of Some Formal Methods for Program Design", Journal = "Computer", Year = 1987, Month = Sep, Annote = "Very good tutorial on formal specifications." } @InProceedings{Hoare96, key = "Hoare", author = "C. A. R. Hoare", title = "How Did Software Get So Reliable Without Proof?", editor = "Marie-Claude Gaudel and James Woodcock", volume = 1051, series = LNCS, pages = "1-17", booktitle = "FME '96: Industrial Benefit and Advances in Formal Methods", year = 1996, publisher = SV, address = NY, month = Mar, annote = "A discussion of the role formal methods and proof play in making software reliable, and what people really do." } @InProceedings{Hoare99, key = "Hoare", author = "Hoare", title = "Theories of Programming: Top-Down and Bottom-Up Meeting in the Middle", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1708, Pages = "1-27", annote = "7 references." } @Book{Hoc-etal90, Key = "Hoc, {\em et al.}", Author = "J. M. Hoc and T. R. G. Green and R. Samurcay and D. J. Gilmore", Title = "Psychology of Programming", Publisher = "Academic Press", Year = 1990, Series = "Computers and People Series", Address = "San Diego, Calif.", Annote = "ISBN 0-12-350772-3. A collection of papers on various topics, inccluding language design and acquisition of programming and expert programming skills. Many references." } @Book{Hoffman-Krieg93, Key = "Hoffman \& Kreieg-Bruckner", Author = "Berthold Hoffman and Bernd Krieg-Bruckner", Title = "Program Development by Specification and Transformation: the PROSPECTRA Methodology, Language Family, and System", Publisher = SV, Year = 1993, Series = "Lecture Notes in Computer Science", Address = NY, Annote = "ISBN 3-540-56733-X, 160 references" } @Article{Hoffman-Strooper95, author = {Daniel Hoffman and Paul Strooper}, title = {The testgraph methodology}, journal = JOOP, year = 1995, key = {Hoffman \& Strooper}, volume = 8, number = 7, pages = {35-41}, month = {Nov./Dec.}, annote = {19 references.} } @InProceedings{Hofmann-Jost03, key = "Hofmann \& Jost", author = "Martin Hofmann and Steffen Jost", title = "Static prediction of heap space usage for first-order functional programs", pages = "185--197", ISSN = "0362-1340", editor = "Cindy Norris and {Jr.} James B. Fenwick", booktitle = "Proceedings of the 30th {ACM} {SIGPLAN}-{SIGACT} symposium on Principles of programming languages ({POPL}-03)", month = jan # " ~15--17", series = "ACM SIGPLAN Notices", volume = "38, 1", publisher = "ACM Press", address = "New York", year = "2003", } @Article{Hofmann-etal98, key = {Hofmann, {\em et al.}}, author = {Martin Hofmann and Wolfgang Naraschewski and Martin Steffen and Terry Stroup}, title = {Inheritance of Proofs}, journal = TAPOS, year = 1998, volume = 4, number = 1, pages = {51-69}, annote = {A type theory for object-oriented languages in which the object types encode behavior. Subtyping is thus behavioral subtyping. 55 references.} } @Article{Hofstdede-vanderWeide92, key = "Hofstdede \& van der Weide", author = "A. H. M. ter Hofstdede and T. P. van der Weide", title = "Formalization of tehniques: chopping down the methodology jungle", journal = "Information and Software Technology", year = 1992, volume = 34, number = 1, pages = "57-65", month = Jan, annote = "Advocates formalization of informal methods instead of inventing new ones. Example of formalization of NAIM in the Predictor model. 27 references." } @Article{Hogg-etal92, Key = "Hogg, {\em et al.}", Author = "John Hogg and Doug Lea and Alan Wills and Dennis deChampeaux and Richard Holt", Title = "The {Geneva Convention} on the Treatment of Object Aliasing", Journal = "OOPS Messenger", Year = 1992, Volume = 3, Number = 2, Month = Apr, Pages = "11-16", Annote = "12 references." } @InProceedings{Hogg91a, author = "John Hogg", title = "Islands: Aliasing Protection in Object-Oriented Languages", booktitle = "Proceedings of the {OOPSLA}~'91 Conference on Object-oriented Programming Systems, Languages and Applications", pages = "271--285", month = nov, year = "1991", keywords = "olit oopsla91", note = "Published as ACM SIGPLAN Notices, volume 26, number 11", } @InCollection{Holland92, Key = "Holland", Author = "Ian M. Holland", Title = "Specifying Reusable Components Using Contracts", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "287-308", Annote = "27 references" } @PhdThesis{Hollingsworth92, Key = "Hollingsworth", Author = "Joseph Eugene Hollingsworth", Title = "Software Component Design-for-Reuse: A Language-Independent Discipline Applied to Ada", School = "The Ohio State University", Year = 1992, Address = "Columbus,OH", Annote = "50 references." } @Article{Holzman97, Key = "Holzmann", Author = "Gerard J. Holzmann", title = "The Model Checker {SPIN}", journal = IEEETSE, pages = "279-295", month = May, year = 1997, volume = 23, number = 5, annote = "82 references." } @InProceedings{Holzmann01, key = "Holzmann", author = "Gerard J. Holzmann", title = "Economics of Software Verification", editor = "{ACM}", booktitle = "{ACM} {SIGPLAN} -- {SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering: {PASTE}'01", publisher = "ACM Press", address = NY, pages = "54-61", year = "2001", annote = "14 references." } @Book{Holzmann91, Key = "Holzmann", Author = "Gerard J. Holzmann", Title = "Design and validation of computer protocols", Publisher = "Prentice-Hall", Year = 1991, Address = "Englewood Cliffs, NJ", Annote = "PROMELA" } @InProceedings{Hooman-Kuiper-Zhou91, key = "Hooman \& Kuiper \& Zhou", author = "J. Hooman and R. Kuiper and P. Zhou", title = "A Compositional Proof System for Real-Time Systems Based on Explicit Clock Temporal Logic", pages = "110--119", editor = "Jean-Pierre Finance", booktitle = "Proceedings of the 6th International Workshop on Software Specification and Design", address = "Como, Italy", month = oct, year = 1991, publisher = "IEEE Computer Society Press" } @Article{Hooman91, key = "Hooman", author = "J. Hooman", title = "Specification and Compositional Verification of Real-Time Systems", journal = "Lecture Notes in Computer Science", volume = "558", year = "1991" } @InProceedings{Hooman92, key = "Hooman", author = "J. Hooman", title = "Compositional Verification of Real--Time Systerns Using Extended Hoare Triples", pages = "252--290", editor = "J. W. de Bakker and C. Huizing and W. P. de Roever and G. Rozenberg", booktitle = "Proceedings of Real-Time: Theory in Practice", month = jun, series = LNCS, volume = "600", publisher = "Springer", address = "Berlin, Germany", year = "1992", } @Book{Horebeek-Lewi89, Key = "Horebeek \& Lewi", Author = "I. V. Horebeek and J. Lewi", Title = "Algebraic Specifications in Software Engineering: An Introduction", Publisher = SV, Address = NY, Year = 1989, Note = "ISBN 3-540-51626-3, 0-387-51626-3" } @Book{Horstmann04, author = {Cay Horstmann}, title = {Object-Oriented Design \& Patterns}, publisher = {Wiley}, year = 2004, key = {Horstmann}, address = {Hoboken, NJ} } @Article{Horwitz-Teitelbaum86, Key = "Horwitz \& Teitelbaum", Author = "Susan Horwitz and Tim Teitelbaum", Title = "Generating Editing Environments Based on Relations and Attributes", Journal = TOPLAS, Volume = 8, Number = 4, Month = Oct, Year = 1986, Pages = "577-608", Annote = "27 references." } @PhdThesis{Hovemeyer05, title = "Simple and Effective Static Analysis to Find Bugs", key = "Hovemeyer", author = "David Hovemeyer", year = "2005", month = Jul, school = "University of Maryland", URL = "http://hdl.handle.net/1903/2901" } @Article{Howden-Wieand94, Key = "Howden \& Wieand", Author = "W.E. Howden and B. Wieand", Title = "QDA-A Method For Systematic Informal Program Analysis", Journal = "IEEE Transactions on Software Engineering", Year = 1994, Volume = 20, Number = 6, Month = Jun, Pages = "445-462", Annote = "30 references." } @Article{Huang-Ravishankar98, key = {Huang \& Ravishankar}, author = {Yen-Min Huang and Chinya V. Ravishankar}, title = {Constructive Protocol Specification Using {Cicero}}, journal = IEEETSE, year = 1998, volume = 24, number = 4, month = Apr, pages = {252-267}, annote = {43 references.} } @Article{Huang98, key = {Huang}, author = {Riri Huang}, title = {Formalizing Hierarchical Object-Oriented Design Method}, journal = SIGSOFT, year = 1998, volume = 23, number = 5, month = Sep, pages = {82-88}, annote = {10 references.} } @InProceedings{Hubbers-Oostdijk-Poll04, author = {Engelbert Hubbers and Martijn Oostdijk and Erik Poll}, title = {Implementing a Formally Verifiable Security Protocol in {Java Card}}, key = {Hubbers \& Oostdijk \& Poll}, booktitle = {Proceedings of SPC'2003, First International Conference on Security in Pervasive Computing, Boppard, Germany}, pages = {213-226}, year = 2004, volume = 2802, series = LNCS, publisher = SV, URL = {http://www.cs.ru.nl/~erikpoll/publications/boppardkeyx.pdf} } @InProceedings{Hubbers-Poll04, author = {Engelbert Hubbers and Erik Poll}, title = {Reasoning about Card Tears and Transactions in {Java Card}}, key = {Hubbers \& Poll}, booktitle = {FASE'04 (Fundamental Approaches to Software Engineering, Barcelona}, pages = {114-128}, year = 2004, volume = 2984, series = LNCS, month = {Mar}, publisher = SV, URL = {http://www.cs.ru.nl/~erikpoll/publications/transactions.pdf} } @InCollection{Huber-Jensen-Shapiro90, Key = "Huber \& Jensen \& Shapiro", Author = "Peter Huber and Kurt Jensen and Robert M. Shapiro", Title = "Hierarchies in {Coloured Petri Nets}", BookTitle = "Advances in Petra nets 1990", Publisher = SV, Year = 1990, Editor = "G. Rosenberg", Series = LNCS, Volume = 483, Address = NY, Annote = "28 references." } @InProceedings{Huisman-Jacobs00, key = {Huisman \& Jacobs}, author = "Marieke Huisman and Bart Jacobs", title = "Java Program Verification via a {Hoare} Logic with Abrupt Termination", booktitle = "Fundamental Approaches to Software Engineering (FASE 2000)", series = LNCS, editor = "T. Maibaum", volume = 1783, pages = "284-303", year = 2000, publisher = SV, Note = "An earlier version is technical report CSI-R9912" } @TechReport{Huisman-Jacobs99, key = {Huisman \& Jacobs}, author = {Marieke Huisman and Bart Jacobs}, title = {Java Program Verification via a {Hoare} Logic with Abrupt Termination}, institution = {University of Nijmegen, Computing Science Institute}, year = 1999, number = {CSI-R9912}, address = {Nijmegen, The Netherlands}, month = Jun, annote = {24 references.} } @PhdThesis{Huisman01, author = {Marieke Huisman}, title = {Reasoning about {Java} Programs in higher order logic with {PVS} and {Isabelle}}, school = {University of Nijmegen, Holland}, year = 2001, key = {Huisman}, type = {IPA Dissertation Series, 2001-03}, month = Feb } @InProceedings{Huizing-Kuiper00, key = {Huizing \& Kuiper}, author = {K. Huizing and R. Kuiper}, title = {Verification of Object-Oriented Programs Using Class Invariants}, booktitle = {Fundamental Approaches to Software Engineering}, year = 2000, editor = {Maibaum, E.}, volume = 1783, series = LNCS, pages = {208--221}, publisher = SV } @Book{Humphrey95, author = "Watts S. Humphrey", title = "A Discipline for Software Engineering", publisher = "Ad{\-d}i{\-s}on-Wes{\-l}ey", address = "Reading, MA, USA", year = "1995", ISBN = "0-201-54610-8", LCCN = "QA76.758 .H857 1995", series = "SEI series in software engineering", keywords = "software engineering", annote = "Some references." } @Article{Humphrey96, author = "Watts S. Humphrey", title = "Using a Defined and Measured Personal Software Process", key = "Humphrey", journal = "IEEE Software", year = 1996, volume = 13, number = 3, pages = "77-88", month = "May", annote = "The PSP. 9 references." } @InProceedings{Hung-Zucker91, Key = "Hung \& Zucker", Author = "Hing-Kai Hung and Jeffery I. Zucker", Title = "Semantics of Pointers, Referencing and Dereferencing with Intensional Logic", BookTitle = "Proceedings of the Sixth Annual Symposium on Logic in Computer Science", Year = 1991, Pages = "127-136", Organization = "IEEE Computer Society", Address = "10662 Los Vaqueros Circle, P.O. Box 3014, Los Alamitos, CA 90720-1264", Month = Jul, Annote = "25 references." } @InProceedings{Hunt-Sitaraman04, Key = "Hunt \& Sitaraman", Author = "J. Hunt and M. Sitaraman", Title = "Enhancements: Enabling Flexible Feature and Implementation Selection", BookTitle = "Proceedings of the Eighth International Conference on Software Reuse, Madrid, Spain, July", Year = 2004, Pages = "86--100", Publisher = SV } @InCollection{Hursch94, Key = "Hursch", Author = "Walter L. Hursch", Title = "Should Superclasses be Abstract?", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "12-31", Address = NY, Month = Jul, Annote = "30 references." } @Book{Huth-Ryan00, author = {Michael R. A. Huth and Mark D. Ryan}, title = {Logic in Computer Science: Modelling and reasoning about systems}, publisher = {Cambridge University Press}, year = 2000, key = {Huth \& Ryan}, address = {Cambridge, UK}, annote = {56 references.} } @Book{Hutt94, key = "Hutt", author = "Andrew T. F. Hutt", title = "Object Analysis and Design: Comparison of Methods", publisher = "John Wiley \& Sons, Inc.", year = 1994, address = NY, annote = "A few key references." } @Misc{ISO-LOTOS89, Key = "ISO", Author = "International Standards Organization", Title = "LOTOS --- a formal description technique based on the temporal ordering of observational behaviour", HowPublished = "ISO IS 8807", Year = 1989 } @Misc{ISO-VDM96, Key = "ISO", Author = "International Standards Organization", Title = "Information technology -- Programming languages, their environments and system software interfaces -- {Vienna Development Method} -- Specification Language -- Part 1: Base language", HowPublished = "ISO/IEC 13817-1", Month = Dec, Year = 1996 } @InCollection{Iida-Futatsugi-Diaconescu98, author = {Shusaku Iida and Kokichi Futatsugi and R\u{a}zvan Diaconescu}, title = {Component Based Algebraic Specifications}, booktitle = {Seventh OOPSLA Workshop on Behavioral Specifications of OO Business and System Specifications}, key = {Iida \& Futatsugi \& Diaconescu}, publisher = {Technical University of Munich, Institut f\"{u}r Informatik}, month = Aug, year = 1998, editor = {Hiam Kilov and Bernhard Rumpe and Ian Simmonds}, number = {TUM-I9820}, series = {Technical Report}, pages = {167-182}, note = {Cafe OBJ. 18 references.} } @Book{Ince88, Key = "Ince", Author = "D. Ince", Title = "An Introduction to Discrete Mathematics and Formal System Specification", Publisher = "Oxford University Press", Year = 1988 } @InCollection{Ishikawa-Tokuda-Mercer92, Key = "Ishikawa \& Tokuda \& Mercer", Author = "Y. Ishikawa and H. Tokuda and C.W. Mercer", Title = "Object-Oriented Real-Time Language Design: Constructs for Timing Constraints", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "498-526", Address = "Los Alamitos, California", Month = Oct, Annote = "13 references." } @Article{Jaaksi98, key = {Jaaksi}, author = {Ari Jaaksi}, title = {A Method for Your First Object-Oriented Project}, journal = JOOP, year = 1998, volume = 10, number = 8, month = Jan, pages = {17-25}, annote = {18 references.} } @Article{Jackson-Damon96, key = "Jackson & Damon", author = {Daniel Jackson and Craig A. Damon}, title = "Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector", journal = IEEETSE, year = 1996, volume = 22, number = 7, month = Jul, pages = {484-495}, annote = {37 references.} } @Article{Jackson-Jha-Damon98, Key = "Jackson \& Jha \& Damon", Author = "Daniel Jackson and Somesh Jha and Craig A. Damon", Title = "Isomorph-Free Model Enumeration: A New Method for Checking Relational Specifications", journal = TOPLAS, year = 1998, volume = 20, number = 2, month = Mar, pages = {302-343}, annote = {55 references.} } @InProceedings{Jackson-Vaziri00, key = {Jackson \& Vaziri}, author = {Daniel Jackson and Mandana Vaziri}, title = {Finding Bugs with a Constraint Solver}, booktitle = {International Symposium on Software Testing and Analysis, Portland, OR}, year = 2000, month = {Aug}, URL = {http://sdg.lcs.mit.edu/~dnj/publications/issta00.pdf} } @Book{Jackson01, author = {Michael Jackson}, title = {Problem Frames}, publisher = {ACM Press}, year = 2001, annote = {Many references.} } @Article{Jackson02, key = {Jackson}, author = {Daniel Jackson}, title = {Alloy: A Lightweight Object Modeling Notation}, journal = TOSEM, year = 2002, volume = 11, number = 2, month = Apr, pages = {256--290} } @Book{Jackson75, author = "Michael A. Jackson", title = "Principles of Program Design", publisher = "Academic Press", address = "London", year = "1975", ISBN = "0-12-379050-6" } @InProceedings{Jackson78, Key = "Jackson", Author = "M. A. Jackson", Title = "Information Systems: Modelling, Sequencing and Transformations", BookTitle = "3rd International Conference on Software Engineering", Organization = IEEE, Year = 1978, Pages = "72-81", Annote = "Model systems as network of sequential processes communicating by serial data streams. Transformations for uniprocessors. 10 references." } @InBook{Jackson84, key = "Jackson84", author = "M. I.\ Jackson", editor = "T.\ Anderson", title = "Software -- Requirements, Specification and Testing", chapter = "7. Pragmatic Aspects of Formal Specification", pages = "64--74", publisher = "Blackwell Scientific Publications", year = "1984", month = apr } @TechReport{Jackson88, Key = "Jackson", Author = "Daniel Jackson", Title = "Composing Data \& Process Descriptions in the Design of Software Systems", Institution = MITLCS, Number = "TR-419", Month = May, Year = 1988, Annote = "26 references." } @InProceedings{Jackson93, Key = "Jackson", Author = "Daniel Jackson", Title = "Analysis with Aspect", Booktitle = "Proceedings of the 1993 international symposium on Software testing and analysis", Year = 1993, Publisher = ACM, Address = "New York", Annote = "ACM order number 59493. 13 references." } @Article{Jackson95, key = "Jackson", author = "Daniel Jackson", title = "Structuring {Z} Specifications with Views", journal = TOSEM, year = 1995, volume = 4, number = 4, pages = "365-389", month = Oct, annote = "Views allow one to describe a state space from different perspecitves. Notes that Z does not have real preconditions, only guards (enabling conditions). 30 references." } @Book{Jackson95, author = {Michael Jackson}, title = {Software Requirements and Specification: a lexicon of practice, principles and prejudices}, publisher = {Addison-Wesley}, year = 1995, key = {Jackson}, address = {Wokhingham, England}, annote = {Many references.} } @Article{Jackson98, key = {Jackson}, author = {Michael Jackson}, title = {Will There Ever Be Software Engineering?}, journal = {IEEE Software}, year = 1998, volume = 15, number = 1, month = Jan, pages = {36-39}, annote = {Software developers must specialize by requirement and product. 2 references.} } @Article{Jackson98, key = {Jackson}, author = {Daniel Jackson}, title = {An Intermediate Design Language and its Analysis}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {121-130}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {The language Nitpick/NP. 22 references.} } @InCollection{Jacobs-Kiniry-Warnier03, author = {Bart Jacobs and Joseph Kiniry and M. Warnier}, title = {Java Program Verification Challenges}, booktitle = {FMCO 2002: Formal Methods for Component Objects, Proceedings}, year = 2003, Editor = {Frank S. de Boer and Marcello M. Bonsangue and Susanne Graf and Willem-Paul de Roever}, series = LNCS, Volume = 2852, pages = "202-219", Publisher = SV, Address = "Berlin", Annote = "25 references." } @inproceedings{Jacobs-Leino-Schulte04, author = "Jacobs \& Leino \& Schulte", author = "Bart Jacobs and K. Rustan M. Leino and Wolfram Schulte", title = "Verification of Multithreaded Object-Oriented Programs with Invariants", booktitle = "SAVCBS 2004: Specification and Verification of Component Based Systems", location = "Newport Beach, California USA", publisher = "ACM Press", year = 2004, pages = "2-9", URL = {http://www.cs.iastate.edu/~leavens/SAVCBS/2004/papers/Jacobs-Leino-Schulte.pdf} } @InProceedings{Jacobs-Piessens06, key = {Jacobs \& Piessens}, author = {Bart Jacobs and Frank Piessens}, title = {Verification of Programs with Inspector Methods}, booktitle = {Workshop on Formal Techniques for Java-like Programs (FTfJP)}, year = 2006, month = Jul, URL = {http://www.disi.unige.it/person/AnconaD/FTfJP06/paper09.pdf}, annote = {9 references.} } @TechReport{Jacobs-Poll00, author = {Bart Jacobs and Erik Poll}, title = {A Logic for the Java Modeling Language JML}, institution = {University of Nijmegen, Computing Science Institute}, year = 2000, key = {Jacobs \& Poll}, number = {CSI-R0018}, address = {Teornooiveld 1, 655 Nijmegen, The Netherlands}, month = Nov, annote = {25 references.} } @InCollection{Jacobs-Poll01, key = {Jacobs \& Poll}, Author = {Bart Jacobs and Eric Poll}, Title = {A Logic for the {Java} Modeling Language {JML}}, Year = 2001, Pages = {284-299}, Booktitle = {Fundamental Approaches to Software Engineering (FASE'2001), Genova, Italy, 2001}, Publisher = SV, Series = LNCS, Volume = {2029}, URL = {http://www.cs.kun.nl/~erikpoll/publications/jmllogic.html} } @TechReport{Jacobs-Poll03, key = {Jacobs \& Poll}, Author = {Bart Jacobs and Eric Poll}, Title = {{Java} Program Verification at {Nijmegen}: Developments and Perspective}, Year = 2003, institution = {Computing Science Institute, University of Nijmegen}, number = {NIII-R0318}, URL = {http://www.cs.kun.nl/research/reports/full/NIII-R0318.ps.gz} } @InProceedings{Jacobs-etal05, author = {Bart Jacobs and Erik Meijer and Frank Piessens and Wolfram Schulte}, title = {Iterators Revisited: Proof Rules and Implementation}, key = {Jacobs, {\it et al.}}, booktitle = {7th Workshop on Formal Techniques for Java-like Programs (FTfJP)}, year = 2005, month = Jul, URL = {http://www.cs.ru.nl/ftfjp/2005/Jacobs.pdf} } @InProceedings{Jacobs-etal05a, author = {Bart Jacobs and K. Rustan M. Leino and Frank Piessens and Wolfram Schulte}, booktitle = {IEEE International Conference on Software Engineering (SEFM 2005)}, title = {Safe concurrency for aggregate objects with invariants}, year = 2005, publisher = {IEEE Computer Society}, pages = {137-147} } @InProceedings{Jacobs-etal98, key = {Jacobs, {\em et al.}}, author = {Bart Jacobs and Joachim van den Berg and Marieke Huisman and Martijn van Berkum and Ulrich Hensel and Hendrik Tews}, title = {Reasoning about {Java} Classes (Preliminary Report)}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {329-340}, annote = {The LOOP tool, which is based on PVS, can be used to prove some properties of Java classes. 26 references.} } @InProceedings{Jacobs-etal99, author = {B. Jacobs and G. T. Leavens and P. M{\"u}ller and A. Poetzsch-Heffter}, title = {Formal Techniques for {J}ava Programs}, booktitle = {Object-Oriented Technology. {ECOOP}'99 Workshop Reader}, year = 1999, editor = {A. Moreira and D. Demeyer}, series = LNCS, volume = 1743, publisher = SV, note = {Available from \url{www.informatik.fernuni-hagen.de/pi5/publications.html}}, URL = {http://www.informatik.fernuni-hagen.de/pi5/publications.html} } @Article{Jacobs04, key = "Jacobs", AUTHOR = "Bart Jacobs", TITLE = "Weakest Precondition Reasoning for {Java} Programs with {JML} Annotations", JOURNAL = "Journal of Logic and Algebraic Programming", PUBLISHER = "Elsevier", pages = "61-88", volume = 58, YEAR = 2004 } @InCollection{Jacobs96a, author = "Bart P. F Jacobs", title = "Automata and behaviours in categories of processes", booktitle = "120", pages = "14", publisher = "Centrum voor Wiskunde en Informatica (CWI)", address = "ISSN 0169-118X", month = feb # " 27", year = "1996", keywords = "automaton, behaviour, realization, process, replication.", url = "http://www.cwi.nl/pub/CWIreports/AP/CS-R9607.ps.Z", abstract = "An early result of Goguen describes the fundamental adjunction between categories of deterministic automata and their behaviours. Our first step is to redefine (morphisms in) these categories of automata and behaviours so that a restriction in Goguen's approach can be avoided. Subsequently we give a coalgebraic analysis of this behaviour-realization adjunction; it yields a second generalization to other types of (not only deterministic) automata (and their behaviours). We further show that our (redefined) categories of automata and behaviours support elementary process combinators like renaming, restriction, parallel composition, replication and feedback (some of which also occur, for example, in the $\pi$-calculus). One of the main contributions is that replication $!P$ is defined for an automaton $P$ such that $!P$ is the terminal coalgebra $!P \stackrel{\cong}{\rightarrow} P \| !P$ of the functor $P \| (-)$ ``compose with $P$''. The behaviour functor from automata to their behaviours preserves these process combinators, so that the behaviour of a complex automaton can be understood from the behaviour of its components.", note = "CS-R9607" } @Article{Jacobs96b, key = "Jacobs", author = "B. Jacobs", title = "Coalgebraic Specifications and Models of Deterministic Hybrid Systems", journal = "Lecture Notes in Computer Science", volume = "1101", pages = "520--535", year = "1996", url = "http://www.cwi.nl/pub/CWIreports/AP/CS-R9609.ps.Z" } @InProceedings{Jacobs96c, key = "Jacobs", author = "Bart Jacobs", editor = "P. Cointe", title = "Inheritance and Cofree Constructions", booktitle = "Proceedings ECOOP '96", series = "LNCS 1098", pages = "210--231", publisher = SV, address = "Linz, Austria", month = jul, year = "1996", keywords = "olit ecoop96", URL = "http://www.cwi.nl/pub/CWIreports/AP/CS-R9564.ps.Z" } @InCollection{Jacobs96d, key = "Jacobs", author = "Bart P. F. Jacobs", title = "Objects and classes, coalgebraically", editor = "B. Freitag and C. B. Jones and C. Lengauer and H.J. Schek", booktitle = "Object-Orientation with Parallelism and Persistence", pages = "83-103", publisher = "Kluwer Academic Publishers", address = "Boston", year = "1996", keywords = "object, class, (terminal) coalgebraic, specification, bisimulation.", url = "http://www.cwi.nl/pub/CWIreports/AP/CS-R9536.ps.Z", abstract = "The coalgebraic perspective on objects and classes in object-oriented programming is elaborated: objects consist of a (unique) identifier, a local state, and a collection of methods described as a coalgebra; classes are coalgebraic (behavioural) specifications of objects. The creation of a ``new'' object of a class is described in terms of the terminal coalgebra satisfying the specification. We present a notion of ``totally specified'' class, which leads to particularly simple terminal coalgebras. We further describe local and global operational semantics for objects. Associated with the local operational semantics is a notion of bisimulation (for objects belonging to the same class), expressing observational indistinguishability." } @InCollection{Jacobs97, Key = "Jacobs", Author = "Bart Jacobs", Title = "Behavior-Refinement of Coalgebraic Specifications with Coinductive Correctness Proofs", BookTitle = "{TAPSOFT '97}: Theory and Practice of Software Development, 7th International Joint Conference {CAAP/FASE}, Lille, France", Publisher = SV, Year = 1997, Editor = "Michel Bidoit and Max Dauchet", Series = LNCS, Volume = 1214, Pages = "787-802", Address = NY, Annote = "25 references." } @Book{Jacobson-Booch-Rumbaugh99, author = {Ivar Jacobson and Grady Booch and James Rumbaugh}, title = {The Unified Software Development Process}, publisher = {Addison Wesley Longman}, year = 1999, key = {Jacobson \& Booch \& Rumbaugh}, series = {Object Technology Series}, address = {Reading, Mass.} } @Book{Jacobson-Griss-Jonsson97, key = {Jacobson \& Griss \& Jonsson}, author = {Ivar Jacobson and Martin Griss and Patrik Jonsson}, title = {Software Reuse : Architecture Process and Organization for Business Success}, publisher = {Addison-Wesley}, year = 1997 } @Book{Jacobson-Ng05, key = {Jacobson \& Ng}, author = {Ivar Jacobson and Pan-Wei Ng}, title = {Aspect-Oriented Software Development with Use Cases}, publisher = {Addison-Wesley}, year = 2005, annote = {41 references.} } @Article{Jaffe-etal91, Key = "Jaffe {\em et al.}", Author = "Matthew S. Jaffe and Nancy G. Leveson and Mats P. E. Heimdahl and Bonnie E. Melhart", Title = "Software Requirements Analysis for Real-Time Process-Control Systems", Journal = IEEETSE, Year = 1991, Volume = 17, Number = 3, Month = Mar, Pages = "241-258", Annote = "27 references." } @Book{Jalote91, key = "Jalote", author = "Pankaj Jalote", title = "An Integrated Approach to Software Engineering", publisher = SV, year = 1991, address = NY, annote = "Many references." } @Article{Jalote92, Key = {Jalote}, Author = {Pankaj Jalote}, Title = {Specification and testing of abstract data types}, Journal = {Computing Languages}, Volume = 17, Number = 1, Year = 1992, Pages = {75--82}, Publisher = {Pergamon Press}, } @Book{Jalote97, key = "Jalote", author = "Pankaj Jalote", title = "An Integrated Approach to Software Engineering", publisher = SV, year = 1997, address = NY, edition = "Second", annote = "Many references." } @Proceedings{Jazayeri-Schauer97, title = {Software Engineering --- ESCE/FSE '97: 6th European Software Engineering Conference Held Jointly with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering Zurich, Switzerland, September 1997}, booktitle = {Software Engineering --- ESCE/FSE '97: 6th European Software Engineering Conference Held Jointly with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering Zurich, Switzerland, September 1997}, year = 1997, key = {Jazayeri \& Schauer}, editor = {Mehdi Jazayeri and Helmut Schauer}, volume = 1301, series = LNCS, publisher = SV, address = NY } @Article{Jeffords-Heitmeyer98, key = {Jeffords \& Heitmeyer}, author = {Ralph Jeffords and Constance Heitmeyer}, title = {Automatic Generation of State Invariants from Requirements Specifications}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {56-69}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {Generated from SCR requirements specifications. 34 references.} } @InProceedings{Jeffreson-Kamin86, Key = "Jefferson \& Kamin", Author = "Stanley Jefferson and Samuel Kamin", Title = "Executable specifications with quantifiers in the fase system", BookTitle = "Conference record of the Thirteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida", Year = 1986, Organization = ACM, Month = Jan, Pages = "318-326" } @InCollection{Jeng-Cheng93, Key = "Jen \& Cheng", Author = "J. J. cheng and B. H. C. Cheng", Title = "Using Formal Methods to construct a Software Component Library", Journal = LNCS, Number = 717, Editor = "Ian SommrVille and Manfred Paul", Publsiher = SV, Address = NY, Year = 1993, Note = "Software Engineering= ESEC '93. 4th European Software Engineering Conference, Germany, Sep 93. Proceedings", Page = "397-417", Annote = "34 references" } @Article{Jennings-Carre89, key = "Jennings \& Carre", author = "T. J. Jennings and B. A. Carr\'{e}", title = "A Subset of Ada for Formal Verification ({SPARK})", journal = "Ada User", volume = 9, number = "Supplement", pages = "121-126", year = "1989" } @Article{Jennings01, author = {Nicholas R. Jennings}, title = {An Agent-Based Approach for Building Complex Software Systems}, journal = CACM, year = 2001, key = {Jennings}, volume = 44, number = 4, pages = {35-41}, month = Apr, annote = {11 references} } @InCollection{Jensen90a, Key = "Jensen", Author = "Kurt Jensen", Title = "{Coloured Petri Nets}: A High Level Language for System Analysis and Design", BookTitle = "Advances in Petri Nets 1990", Publisher = SV, Year = 1991, Editor = "G. Rozenberg", Series = LNCS, Volume = 483, Note = "Also a technical report from the CS Dept, Aarhus University, DAIMI PB-338, Nov. 1990", Annote = "64 references." } @TechReport{Jensen90b, Key = "Jensen", Author = "Kurt Jensen", Title = "Application and Theory of {Colored Petri Nets}, Reference List", Institution = "Meta Software and Aarhus University", Year = 1990, Month = May, Annote = "37 references." } @Book{Jia03, author = {Xiaoping Jia}, title = {Object-Oriented Software Development Using Java}, publisher = {Addison-Wesley}, year = 2003, key = {Jia}, address = {Boston}, annote = {A few references in each chapter.} } @Article{Johnson-etal89, Key = "Johnson, {\em et al.}", Author = "Jeff Johnson and Teresa L. Roberts and William Verplank and David C. Smith and Charles H. Irby and Marian Beard and Kevin Mackey", Title = "The Xerox Star: A Retrospective", Journal = "Computer", Volume = 22, Number = 9, Month = Sep, Year = 1989, Pages = "11-28", Annote = "Discussion of design issues, user-interface. 9 references, plus some additional readings." } @Article{Johnson92, Key = "Johnson", Author = "Ralph E. Johnson", Title = "Documenting Frameworks using Patterns", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "63-76", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "13 references." } @Article{Johnson97, key = {Johnson}, author = {Ralph E. Johnson}, title = {Frameworks = (Components + Patterns)}, journal = CACM, year = 1997, volume = 40, number = 10, month = Oct, pages = {39-42}, annote = {12 references.} } @Article{Jones-Middelburg94, key = "Jones \& MIddelburg", author = "Cliff B.\ Jones and Kees Middelburg", title = "A Typed Logic of Partial Functions Reconstructed Classically", journal = "Acta Informatica", volume = "31", number = "5", pages = "399-430", year = "1994", annote = "This paper gives a comprehensive description of the typed version of the logic LPF which is basic to formal specification and verified design in VDM. It provides an overview of the extensions needed to deal with recursively defined functions, the data types used in VDM, ect. and it examines some of them in detail. It is shown how this non-classical logic - and the extensions - can be reconstructed classically by embeddings into classical infinitary logic.", } @Article{Jones-Schwarz80, Key = "Jones \& Schwarz", Author = "A. K. Jones and P. Schwarz", Title = "Experience Using Multiprocessor Systems--A Status Report", Journal = ACMCS, Volume = 12, Year = 1980, Pages = "121-165" } @Book{Jones-Shaw90, Key = "Jones \& Shaw", Author = "Cliff B. Jones and Roger C. Shaw", Title = "Case Studies in Systematic Software Development", Publisher = "Prentice-Hall", Year = 1990, Series = "International Series in Computer Science", Address = "Englewood Cliffs, NJ" } @Book{Jones-etal91, Key = "Jones, {\em et al.}", title = "{\sl mural}: A Formal Development Support System", author = "C. B. Jones and K. D. Jones and P. A. Lindsay and R. Moore", publisher = SV, year = "1991", Annote = "ISBN 3-540-19651-X" } @article{Jones01d, key = "Jones", author = "C. B. Jones", title = "The Transition from {VDL} to {VDM}", journal = "Journal of Universal Computer Science", volume = 7, number = 8, pages = "631-640", year = 2001 } @Article{Jones03, key = {Jones}, Author = {Cliff B. Jones}, Title = {The Early Search for Tractable Ways of Reasoning About Programs}, Journal = {IEEE Annals of the History of Computing}, Volume = 25, Number = 2, Pages = {26-49}, Year = 2003 } @Article{Jones79, Key = "Jones", Author = "Cliff B. Jones", Title = "Constructing a Theory of a Data Structure as an Aid to Program Development", Journal = "Acta Informatica", Volume = 11, Number = 2, Pages = "119-137", Year = 1979, Annote = "22 references." } @Book{Jones80, Key = "Jones", Author = "Cliff B. Jones", Title = "Software development : a rigorous approach", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Address = "Englewood Cliffs, N.J.", Year = 1980 } @TechReport{Jones86, Key = "Jones", Author = "Cliff B. Jones", Title = "Program Specification and Verification in {VDM}", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-86-10-5", Month = Nov, Year = 1986, Annote = "49 references." } @Book{Jones86b, Key = "Jones", Author = "Cliff B. Jones", Title = "Systematic software development using {VDM}", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Address = "Englewood Cliffs, N.J.", Year = 1986 } @TechReport{Jones87, Key = "Jones", Author = "Cliff B. Jones", Title = "Teaching Notes for Systematic Software Development Using {VDM}", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Month = Dec, Year = 1987, Number = "UMCS-87-12-9", Annote = "160 references." } @Book{Jones90, Key = "Jones", Author = "Cliff B. Jones", Title = "Systematic Software Development Using {VDM}", Publisher = "Prentice Hall", Series = "International Series in Computer Science", Address = "Englewood Cliffs, N.J.", Edition = "Second", Year = 1990 } @TechReport{Jones91, Key = "Jones", Author = "Kevin D. Jones", Title = "{LM3}: A {Larch} Interface Language for {Modula-3}: A Definition and Introduction: Version 1.0", Institution = DECSRC, Year = 1991, Number = 72, Month = Jun, Address = "130 Lytton Avenue Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "13 references." } @Book{Jones91c, Key = "Jones", Author = "Capers Jones", Title = "Applied Software Measurement: Assuring Productivity and Quality", Publisher = "McGraw-Hill", Address = NY, Year = 1991, Note = "ISBN 0-07-032813-7" } @InCollection{Jones92, Key = "Jones", Author = "K. D. Jones", Title = "A Semantics for Larch/Modula-3 Interface Language", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "142-158", Annote = "10 references" } @TechReport{Jones92b, Key = "Jones", Author = "C. B. Jones", Title = "An Object-Based Design Method for Concurrent Programs", Institution = "Department of Computer Science, University of Manchester", Year = 1992, Number = "UMCS-92-12-1", Address = "Manchester M13 9PL, England", Annote = "78 references." } @InCollection{Jones93, Key = "Jones", Author = "C.B. Jones", Title = "Reasoning about Interference in an Object-Based Design Method", BookTitle = "Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, Odense, Denmark", Publisher = SV, Year = 1993, Editor = "J.C.P. Woodcock and P.G. Larsen", Series = LNCS, Volume = 670, Pages = "1-18", Address = NY, Month = Apr, Annote = "48 references." } @article{Jones95e, author = "Cliff B. Jones", title = "Partial functions and logics: A warning", journal = IPL, volume = 54, number = 2, pages = "65--67", year = 1995 } @InProceedings{Jones99, author = {R. Jones}, title = {Preface}, key = {Jones}, booktitle = {Proceedings of the International Symposium on Memory Management}, pages = {iv-v}, year = 1999, series = {ACM SIGPLAN Notices}, month = Mar # " 34" } @InProceedings{Jones99a, key = "Jones", author = "Jones", title = "Scientific Decisions which Characterize {VDM}", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1708, Pages = "28-47", annote = "77 references." } @InCollection{Jonkers00, Key = "Jonkers", Author = "H. B. M. Jonkers", Title = "ISpec: Towards Practical and Sound Interface Specifications", BookTitle = "Integrated Formal Methods, Second International Conference, IFM 2000, Dagstuhl Castle, Germany, November 1-3, 2000", Publisher = SV, Year = 2000, Editor = "W. Grieskamp and T. Santen and B. Stoddart", Series = LNCS, Volume = 1945, Pages = "116--135", Month = Nov } @InProceedings{Jonkers01, Key = "Jonkers", Author = "H. B. M. Jonkers", Title = "Interface-Centric Architecture Descriptions", BookTitle = "Working IEEE/IFIP Conference on Software Architecture (WICSA'01), August 28 - 31, 2001, Amsterdam, The Netherlands", Publisher = "IEEE", Year = 2001, Pages = "113--124", Month = Aug } @InCollection{Jonkers91, Key = "Jonkers", Author = "H. B. M. Jonkers", Title = "Upgrading the pre- and postcondition technique", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 1: Conference Contributions", Publisher = SV, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 551, Pages = "428-456", Address = NY, Month = Oct, Annote = "12 references." } @Article{Jonsson94, Key = "Jonsson", Author = "Bengt Jonsson", Title = "Compositional Specification and Verification of Distributed Systems", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 2, Month = Mar, Pages = "259-303", Annote = "43 references." } @InCollection{Jouannaud91, Key = "Jouannaud", Author = "Jean-Pierre Jouannaud", Title = "Executable Higher-order Algebraic Specifications", BookTitle = "STACS 91, 8th Annual Symposium on Theoretical Aspects of Computer Science, Hamburg, Germany", Publisher = Springer-Verlag, Year = 1991, Editor = "C. Choffrut and M. Jantzen", Series = LNCS, Volume = 480, Pages = "16-25", Address = NY, Month = Feb } @Book{Juan-Tsai02, author = {Eric Y. T. Juan and Jeffrey J. P. Tsai}, title = {Compostional Verification of Concurrent and Real-Time Systems}, publisher = {Kluwer}, year = 2002, key = {Juan \& Tsai} } @InCollection{Jungclaus-Saake-Sernadas91, Key = "Jungclaus \& Saake \& Sernadas", Author = "R. Jungclaus and G. Saake and C. Sernadas", Title = "Formal Specification of Object Systems", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 2, Advances in Distributed Computing (ADC) and Colloquium on Combining Paradigms for Software Development (CCPSD)", Publisher = SV, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 494, Pages = "60-82", Address = NY, Month = Apr } @Book{Kaasgaard00, editor = {Klaus Kaasgaard}, title = {Software Design and Usability}, publisher = {Copenhagen Business School Press}, year = 2000, key = {Kaasgaard} } @TechReport{Kahr-Sannella-Tarlecki95, author = "Stefan Kahrs, Donald Sannella and Andrzej Tarlecki", title = "The definition of {Extended ML}: a gentle introduction", institution = "Laboratory for Foundations of Computer Science, University of Edinburgh", year = 1995, key = "Kahr & Sannella & Tarlecki", number = "ECS-LFCS-95-322", month = Oct, note = "To appear in {\it Theoretical Computer Science}", URL = "http://www.dcs.ed.ac.uk/%7Edts/eml/gentle-tcs.ps", annote = "50 references" } @Book{Kaldewau90, Key = "Kaldewau", Author = "Anne Kaldewau", Title = "Programming: the derivation of algorithms", Publisher = "Prentice-Hall", Year = 1990, Series = "International Series in Computer Science", Address = "Englewood Cliffs, NJ" } @Article{Kamath-Smith92, Key = "Kamath \& Smith", Author = "Y. Kamath and J. Smith", Title = "Experiences in C++ and O-O Design", Journal = "Journal of Object-Oriented Programming", Volume = 5, Year = 1992, Pages = "23-28", Annote = "7 references." } @Unpublished{Kamin-Kraus93, Key = "Kamin \& Kraus", Author = "Samuel Kamin and Tim Kraus", Title = "Executable Specifications of C++ Classes", Month = Oct, Year = 1993, Note = "submitted for publication (obtained from the authors)", Annote = "30 references." } @InProceedings{Kamin80, Key = "Kamin", Author = "S. Kamin", Title = "Final Data Type Specifications: A New Data Type Specifications Method", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = "Association of Computing Machinery", Year = 1980, Month = Jan, Pages = "131-138" } @InProceedings{Kamin85, Key = "Kamin", Author = "S. Kamin", Title = "Final Data Types and Their Specifications", Journal = TOPLAS, Volume = 5, Number = 1, Month = Jan, Year = 1983, Pages = "97-121" } @InProceedings{Kaplan-Deutsch91, Key = "Kaplan \& Deutsch", Author = "S. Kaplan and G. Deutsch", Title = "Algebraic Semantics of Real-Time Process Specifications", BookTitle = "Proceedings of the Second International Conference on Algebraic Methodology and Software Technology", Year = 1991, Pages = "67-81", Organization = "The University of Iowa, Department of Computer Science", Address = "Iowa City, Iowa", Month = "May", Annote = "17 references." } @TechReport{Kapur-Mandayam80, Key = "Kapur \& Mandayam", Author = "Deepak Kapur and Srivas Mandayam", Title = "Expressiveness of the Operation Set of a Data Abstraction", Institution = MITLCS, Type = "Computation Structures Group Memo", Number = "179-1", Month = Jan, Year = 1980, Note = "A condensed version apears in the Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages.", Annote = "Expressive completeness and expressive richness of operation sets. 18 references." } @TechReport{Kapur-Zhang89, Key = "Kapur \& Zhang", Author = "Deepak Kapur and Hantao Zhang", Title = "RRL: Rewrite Rule Laboratory User's Manual", Institution = "Department of Computer Science, The University of Iowa", Address = "Iowa City, Iowa", Number = "89-03", Month = May, Year = 1989, Annote = "52 references." } @TechReport{Kapur80, Key = "Kapur", Author = "Deepak Kapur", Title = "Towards a Theory for Abstract Data Types", Institution = MITLCS, Year = 1980, Number = "TR-237", Month = May, Annote = "Algebraic and behavioral approach to data type definitions. Hierarchical specification language. 77 references." } @InCollection{Karaorman-Holzle-Bruno99, key = {Karaorman \& Holzle \& Bruno}, Author = {Murat Karaorman and Urs Holzle and John Bruno}, Title = {{jContractor}: A Reflective {Java} Library to Support Design By Contract}, BookTitle = {Meta-Level Architectures and Reflection, Second International Conference on Reflection '99, Saint-Malo, France, July 19--21, 1999, Proceedings}, Publisher = SV, Year = 1999, Month = Jul, Editor = {Pierre Cointe}, Series = LNCS, Volume = 1616, Pages = {175--196} } @PhdThesis{Kassios06, author = {Ioannis T. Kassios}, title = {A Theory of Object-Oriented Refinement}, school = {University of Toronto}, year = 2006, key = {Kassios}, note = {To appear.} } @InProceedings{Katara-Katz03, key = {Katara \& Katz}, author = {Mika Katara and Shmuel Katz}, title = {Architectural Views of Aspects}, booktitle = {AOSD}, year = {2003}, pages = {1--10}, address = {Boston}, annote = {Summary: The paper describes a concept of aspect design by identifying common concerns for aspects and factoring these out as sub-aspects. The concept is evaluated at the design level and extensions to UML are presented that allow the modeling of aspects, sub-aspects, and their interaction. Translating these models into actual code is left as future work.}, } @Article{Katrib-Coira97, key = {Katrib \& Coira}, author = {Miguel Katrib and Jes\'{u}s Coira}, title = {Improving {Eiffel} Assertions Using Quantified Iterators}, journal = JOOP, year = 1997, volume = 10, number = 7, month = Nov, pages = {35-43}, annote = {Adds quantifiers to Eiffel. 11 references.} } @inproceedings{Katz-Gil99, Key = "Katz \& Gil", author = {Shmuel Katz and Yossi Gil}, title = {Aspects and superimpositions}, booktitle = {Int'l Workshop on Aspect-Oriented Programming (ECOOP 1999)}, month = jun, year = 1999, location = {Lisbon}, url = {http://trese.cs.utwente.nl/aop-ecoop99/papers/katz.pdf} } @Article{Katzenelson79, Key = "Katzenelson", Author = "J. Katzenelson", Title = "Clusters and Dialogues for Set Implementations", Journal = IEEETSE, Year = 1979, Month = May, Volume = "SE-5", Number = 3, Pages = "256-275" } @Article{Kaufmann-Moore97, key = {Kaufmann \& Moore}, author = {Matt Kaufmann and J S. Moore}, title = {An Industrial Strength Theorem Prover for a Logic Based on {Common Lisp}}, journal = IEEETSE, year = 1997, volume = 23, number = 4, month = Apr, pages = {203-213}, annote = {ACL2 is a successor to the Boyer-Moore prover. 42 references.} } @Article{Keidar-etal02, author = {Idit Keidar and Roger Khazan and Nancy Lynch and Alex Shvartsman}, title = {An Inheritance-Based Technique for Building Simulation Proofs Incrementally}, journal = TOSEM, year = 2002, key = {Keidar, {\em et al.}}, volume = 11, number = 1, pages = {1-29}, month = Jan } @InProceedings{Keller-Schauer98, key = {Keller \& Schauer}, author = {Rudolf K. Keller and Reinhard Schauer}, title = {Design Components: Towards Software Composition at the Design Level}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = Apr, pages = {302-311}, annote = {25 references.} } @Book{Keller-Shumate92, author = "Marilyn Keller and Ken Shumate", title = "Software Specification and Design, {A} Disciplined Approach for Real-Time Systems", publisher = "John Wiley \& Sons", year = "1992", annote = "63 references." } @InProceedings{Kellomaki-Mikkonen00, author = {Pertti Kellom\"{a}ki and Tommi Mikkonen}, key = {Kellom\"{a}ki \& Mikkonen}, title = {Design Templates for Collective Behavior}, editor = {Elisa Bertino}, booktitle = {ECOOP 2000 -- Object-Oriented Programming 14th European Conference}, series = LNCS, volume = 1850, year = 2000, pages = {277-295}, annote = {23 references.} } @InProceedings{Kellomaki02, Key = {Kellom\"{a}ki}, Author = {Pertti Kellom\"{a}ki}, Title = {A Formal Basis for Aspect-Oriented Specification with Superposition}, Pages = "27-32", BookTitle = {FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002}, year = 2002, Editor = {Gary T. Leavens and Ron Cytron}, Organization = {Department of Computer Science, Iowa State University}, Series = {Technical Report}, number = {02-06}, month = Apr, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-06/TR.pdf" } @Article{Kemerer98, key = {Kemerer}, author = {Chris F. Kemerer}, title = {Progress, Obstacles, and Opportunities in Software Engineering Economics}, journal = CACM, year = 1998, volume = 41, number = 8, month = Aug, pages = {63-66}, annote = {12 references.} } @InProceedings{Kent-Maung95, Author = {S. Kent and I. Maung}, Title = {{Quantified Assertions in Eiffel}}, Month = {November}, Year = {1995}, Pages = {349-364}, Booktitle = {Proceedings of TOOLS Pacific 95 (TOOLS 18)}, Publisher = {Prentice Hall}, URL = {http://www.cs.ukc.ac.uk/pubs/1995/802} } @InProceedings{Kent97, key = {Kent}, author = {Stuart Kent}, title = {Constraint Diagrams: Visualizing Invariants in Object-Oriented Models}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {327-341}, annote = {18 references.} } @Book{Kernighan-Pike84, Key = "Kernighan \& Pike", Author = "Brian W. Kernighan and Rob Pike", Title = "The UNIX Programming Environment", Publisher = "Prentice-Hall", Year = 1984, Series = "Prentice-Hall Software Series", Address = "Englewood Cliffs, NJ", Annote = "0 references but bibliographic notes at end of each chapter." } @Book{Kernighan-Pike99, Key = "Kernighan \& Pike", Author = "Brian W. Kernighan and Rob Pike", Title = "The Practice of Programming", Publisher = "Addison-Wesley", Year = 1999, Series = "Addison-Wesley Professional Computing Series", Address = "Englewood Cliffs, NJ", Annote = "0 references but there is a supplementary reading section at the end of each chapter." } @Book{Kernighan-Plauger76, Key = "Kernighan \& Plauger", Author = "Brian W. Kernighan and P. J. Plauger", Title = "Software Tools", Publisher = "Addison-Wesley", Year = 1976, Address = "Reading, MA", Annote = "0 references but bibliographic notes at end of each chapter." } @Book{Kernighan-Plauger78, Key = "Kernighan \& Plauger", Author = "Brian W. Kernighan and P. J. Plauger", Title = "The Elements of Programming Style", Publisher = "McGraw-Hill", Year = 1978, Address = NY, Edition = "Second", Annote = "5 references." } @TechReport{Khanolkar-Leavens06, author = {Neeraj Khanolkar and Gary T. Leavens}, title = {Executable Documentation of Template-Hook Interactions in Frameworks using JML}, institution = "Department of Computer Science, Iowa State University", year = 2006, key = {Khanolkar \& Leavens}, number = {06-18}, address = {Ames, Iowa}, month = Jun, annote = {18 references.}, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR06-18/TR.pdf} } @InCollection{Khosla-Maibaum87, author = "S. Khosla and T. S. E. Maibaum", title = "The Prescription and Description of State Based Systems", key = "Khosla \& Maibaum", booktitle = "Temporal Logic in Specification", publisher = SV, year = 1987, editor = "B. Banieqbal and H. Barringer and A. Pnueli", volume = 398, series = LNCS, pages = "243-294" } @InProceedings{Khurshid-Marinov-Jackson02, key = {Khurshid \& Marinov \& Jackson}, author = {Sarfraz Khurshid and Darko Marinov and Daniel Jackson}, title = {An Analyzable Annotation Language}, booktitle = {Proceedings of OOPSLA '02 Conference on Object-Oriented Programming, Languages, Systems, and Applications}, volume = "37(11)", series = {SIGPLAN Notices}, year = 2002, publisher = ACM, address = NY, month = Nov, pages = {231--245}, annote = "36 references." } @Article{Kiczales-Lamping92, Key = "Kiczales \& Lamping", Author = "Gregor Kiczales and John Lamping", Title = "Issues in the Design and Documentation of Class Libraries", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "435-451", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).", Annote = "13 refrences." } @inproceedings{Kiczales-Mezini05a, Key = {Kiczales \& Mezini}, Author = {Gregor Kiczales and Mira Mezini}, Title = {Aspect-Oriented Programming and Modular Reasoning}, Booktitle = {Proc. of the 27th International Conference on Software Engineering}, Pages = {49-58}, Organization = {ACM}, Year = {2005} } @Unpublished{Kiczales03, author = {Gregor Kiczales}, title = {The Fun has Just Begun}, note = {AOSD'03 Keynote Address, available from \url{http://www.cs.ubc.ca/~gregor}}, year = {2003}, keywords = {kiczales-aosd-2003.ppt} } @InCollection{Kiczales93, Key = "Kiczales", Author = "Gregor Kiczales", Title = "Traces (A Cut at the ``Make Isn't Generic'' Problem)", BookTitle = "Object Technologies for Advanced Software", Publisher = SV, Year = 1993, Editor = "Shojiro Nishio and Akinori Yonezawa", Series = LNCS, Volume = 742, Pages = "27-42", Month = Aug, Annote = "16 references." } @Article{Kiczales96, author = {Gregor Kiczales}, title = {Beyond the Black Box: Open Implementation}, journal = {IEEE Software}, year = 1996, key = {Kiczales}, volume = 13, number = 1, month = {Jan}, pages = {8-11} } @Article{Kifer-Wu93, Key = "Kifer \& Wu", Author = "Michael Kifer and James Wu", Title = "A Logic for Programming with Complex Objects", Journal = "Journal of Computer and System Sciences", Volume = 47, Year = 1993, Pages = "77-120", Annote = "35 refrences." } @Book{Kilov-Harvey96, key = {Kilov Harvey}, editor = {Haim Kilov and William Harvey}, title = {Object-Oriented Behavioral Specifications}, booktitle = {Object-Oriented Behavioral Specifications}, publisher = {Kluwer Academic Publishers}, year = 1996, series = {Kluwer International Series in Engineering and Computer Science}, address = {Boston}, annote = {Many references.} } @Article{Kilov94, Key = "Kilov", Author = "H. Kilov", Title = "Formal Methods and Standards", Journal = "Software Engineering Notes ", Year = 1994, Volume = 19, Number = 3, Month = Jul, Pages = 40, Annote = "1 reference." } @InProceedings{Kim-etal02, key = "Kim \& Lee \& etal", author = "Moonjoo Kim and Insup Lee and Usa Sammapun and Jangwoo Shin and Oleg Sokolsky", title = "Monitoring, Checking, and Steering of Real-Time Systems", BookTitle = "2nd International Workshop on Run-time Verification, RV '02, Paris, France, July 23, 2001", year = "2002", Note = "Published in {\em Electronic Notes in Theoretical Computer Science}, 70(2), 2002. Available from \url{www.sciencedirect.com}." } @InProceedings{King-etal99, key = "King, {\em et al.}", author = "Steve King and Jonathan Hammond and Rod Chapman and Andy Pryor", title = "The Value of Verification: Positive Experience of Industrial Proof", editor = "Jeanette M. Wing and Jim Woodcock and Jim Davies", booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, number = 1709, year = 1999, pages = "1527-1545", annote = "Used Z and SPARK subset of Ada. Lots of proof. Compares proof and testing. 28 references.", } @InProceedings{Kiniry-Cok04, key = "Kiniry \& Cok", author = "Joseph R. Kiniry and David R. Cok", title = "{ESC/Java2}: Uniting {ESC/Java} and {JML}: Progress and issues in building and using {ESC/Java2}, including a case study involving the use of the tool to verify portions of an {Internet} voting tally system", booktitle = "Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS 2004)", editor = "Gilles Barthe and Lilian Burdy and Marieke Huisman and Jean-Louis Lanet and Traian Muntean", year = 2004, pages = "108-128", series = LNCS, publisher = SV, volume = 3362 } @InProceedings{Kiniry-Poll03, key = "Kiniry \& Poll", author = "Joseph Kiniry and Erik Poll", title = "Opportunities and challenges for formal specification of {Java} programs", booktitle = "Trusted Components Workshop", address = "Prato, Italy", month = Jan, year = 2003, URL = {http://www.cs.ru.nl/~erikpoll/publications/prato.pdf}, annote = {11 references.} } @TechReport{Klarlund90, Key = "Klarlund", Author = "Nils Klarlund", Title = "Progress Measures and Finite Arguments for Infinite Computations", Institution = "Department of Computer Science, Cornell University", Address = "Ithaca, New York", Number = "90-1153", Month = Sep, Year = 1990, Annote = "Progress measures for specification and verification of problems involving nondeterminism, fairness, and liveness properties. 52 references." } @Book{Kleppe-Warmer-Bast03, author = {Anneke Kleppe and Jos Warmer and Wim Bast}, title = {MDA Explained: The Model Driven Architecture---Practice and Promise}, publisher = {Addison-Wesley}, year = 2003 } @InCollection{Kligerman-Stoyenko92, Key = "Kligerman \& Stoyenko", Author = "E. Kligerman and A.D. Stoyenko", Title = "Real-Time {Euclid}: A language for Reliable Real-Time Systems", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "455-463", Address = "Los Alamitos, California", Month = Oct, Annote = "20 references." } @InCollection{Klop90, Key = "Klop", Author = "Jan Willem Klop", Title = "Term Rewriting systems: from Church-Rosser to Knuth-Bendix and beyond", BookTitle = "17th International Colloquium on Automata, Languages, and Programming (ICALP), Warwick, England", Publisher = Springer-Verlag, Year = 1990, Editor = "M. S. Paterson", Series = LNCS, Pages = "350-369", Address = NY, Month = Jul } @Article{Kniesel-Theisen01, key = "Kniesel \& Theisen", author = "Gunter Kniesel and Dirk Theisen", title = "JAC --- Acess right based encapsulation for {Java}", journal = "Software --- Practice and Experience", volume = 31, number = 6, pages = "555--576", year = 2001 } @Book{Knuckles-Yuen05, key = {Knuckles \& Yuen}, author = {Craig Knuckles and David Yuen}, title = {Web Applications: Concepts \& Real World Design}, publisher = {Wiley}, year = 2005 } @Article{Knuth74, Key = "Knuth", Title = "Structured Programming with Goto Statements", Author = "D. E. Knuth", Journal = ACMCS, Year = 1974, Month = Dec, Volume = 6, Number = 4, Pages = "261-301" } @InCollection{Kondoh00, author = {Hidetaka Kondoh}, title = {What is `Mathematicalness' in Sofware Engineering --- Towards Precision Software Engineering ---}, booktitle = {Fundamental Approaches to Software Engineering}, key = {Kondoh}, pages = {163-177}, publisher = SV, year = 2000, editor = {T. Maibaum}, volume = 1783, series = LNCS, address = {Berlin}, annote = {Advocates languages that allow programmers to think and specify in higher-level chunks. 21 references.} } @article{Konikowska-Bialasik99, key = "Konikowska \& Bialasik", author = "Beata Konikowska and Marcin Bialasik", title = "Reasoning with first order nondeterministic specifications", journal = "Acta Informatica", volume = 36, number = 5, pages = "375-403", year = 1999 } @Article{Konikowska-Tarlecki-Blikle91, author = "B. Konikowska and A. Tarlecki and A. Blikle", title = "A three-valued logic for software specification and validation", key = "Konikowski \& Tarlecki \& Blikle", journal = "Fundamenta Informaticae", year = 1991, volume = "XIV", pages = "411-453" } @Article{Korel-Al-Yami98, key = {Korel \& Al-Yami}, author = {Bogdan Korel and Ali M. Al-Yami}, title = {Automated Regression Test Generation}, journal = SIGSOFT, year = 1998, volume = 23, number = 2, month = Mar, pages = {143-152}, note = {ISSTA 98: Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis}, annote = {26 references.} } @Article{Korson-McGregor90, Key = "Korson \& McGregor", Author = "Tim Korson and John D. McGregor", Title = "Understanding Object-Oriented: A Unifying Paradigm", Journal = CACM, Year = 1990, Volume = 33, Number = 9, Month = Sep, Pages = "40-60", Annote = "29 references." } @Article{Kowaltowski77, Key = "Kowaltowski", Author = "T. Kowaltowski", Title = "Axiomatic approach to side effects and general jumps", Journal = "Acta Informatica", Year = 1977, Volume = 7, Pages = "357-360" } @InCollection{Koymans92, Key = "Koymans", Author = "Ron Koymans", Title = "Specifying Message Passing and Time-Critical Systems with Temporal Logic", Series = "Lecture Notes in Computer Science", Editor = "G. Goos and J. Hartmanis", Number = 651, Publisher = SV, Address = "Berlin Heidelberg", Annote = "115 references" } @Article{Kozacynski-Booch98, key = {Kozacynski \& Booch}, author = {Wojtek Kozacynski and Grady Booch}, title = {Component-Based Software Engineering}, journal = {IEEE Software}, year = 1998, volume = 15, number = 5, month = Sep, pages = {34-36}, annote = {Guest editor's introduction with some suggestions for further reading.} } @InCollection{Kozen-Tiuryn90, Key = "Kozen \& Tiuryn", Author = "Dexter Kozen and J. Tiuryn", Booktitle = "Handbook of Theoretical Computer Science", Title = "Logics of Programs", Chapter = 14, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "789-840", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "Discussion of dynamic logic. 172 references." } @InProceedings{Kramer98, Key = {Kramer}, Author = {Reto Kramer}, Title = {{iContract} -- The {Java} Design by Contract Tool}, Journal = {TOOLS 26: Technology of Object-Oriented Languages and Systems}, Publisher = {IEEE Computer Society Press}, Month = Aug, Year = 1998, Pages = {295-307} } @Book{Kratochvil-McGibbon03, author = {Milan Kratochvil and Barry McGibbon}, title = {UML Xtra-Light: How to Specify Your Software Requirements}, publisher = {Cambridge}, year = 2003, key = {Kratochvil \& McGibbon}, address = {Cambridge, UK}, annote = {10 references.} } @TechReport{Kraus87, Key = "Kraus", Author = "Timothy Kraus", Title = "The FASE3 System for Executable Data Type Specification", Institution = "Computer Science Department, Univ. of Illinois at Urbana-Champaign", Year = 1987, Number = "UIUCDCS-R-87-1405", Month = Dec } @InProceedings{Krishnamurthi-Felleisen-Friedman98, key = {Krishnamuthi \& Felleisen \& Friedman}, author = {Shriram Krishnamurthi and Matthias Felleisen and Daniel P. Friedman}, title = {Synthesizing Ojbect-Oriented and Functional Design to Promote Re-use}, year = 1998, booktitle = {ECOOP '98---Object-Oriented Programming, 12th European Conference, Brussels, Belgium, Proceedings}, editor = {Eric Jul}, series = LNCS, volume = 1445, pages = {91-113}, publisher = SV, address = NY, annote = {Uses virtual constuctors to make the visitor pattern more amenable to extension. 33 references.} } @Article{Krishnamurthi-Felleisen98, key = {Krishnamurthi \& Felleisen}, author = {Shriram Krishnamurthi and Matthias Felleisen}, title = {Toward a Formal Theory of Extensible Software}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {88-98}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {Allowing clients to customize software without access to the source. Forces abstraction and delegation. 32 references.} } @inproceedings{Krishnamurthi-Fisler-Greenberg04, Key = {Krishnamurthi and Fisler and Greenberg}, Author = {Krishnamurthi, Shriram and Fisler, Kathleen and Greenberg, Micahel}, Title = {Verifying Aspect Advice Modularly}, Crossref = {FSE-04}, Pages = {137-146} } @InProceedings{Krone-Ogden-Sitaraman01, key = {Krone \& Ogden \& Sitaraman}, author = {Joan Krone and William F. Ogden and Murali Sitaraman}, title = {Modular Verification of Performance Constraints}, booktitle = {ACM OOPSLA Workshop on Specification and Verification of Component-Based Systems (SAVCBS)}, year = 2001, pages = {60--67} } @TechReport{Krone-Ogden-Sitaraman03, key = {Krone \& Ogden \& Sitaraman}, author = {Joan Krone and William F. Ogden and Murali Sitaraman}, title = {Modular Verification of Performance Constraints}, institution = {Department of Computer Science, Clemson University}, year = 2003, number = {RSRG-03-04}, address = {Clemson, SC 29634-0974}, month = May, URL = {http://www.cs.clemson.edu/~resolve/reports/RSRG-03-04.pdf} } @TechReport{Krone-Ogden-Sitaraman03a, key = {Krone \& Ogden \& Sitaraman}, author = {Joan Krone and William F. Ogden and Murali Sitaraman}, title = {{OO} Big {O}}, institution = {Department of Computer Science, Clemson University}, year = 2003, number = {RSRG-03-06}, address = {Clemson, SC 29634-0974}, month = Sep, URL = {http://www.cs.clemson.edu/~resolve/reports/RSRG-03-06.pdf} } @TechReport{Krone-Ogden-Sitaraman04, key = {Krone \& Ogden \& Sitaraman}, author = {Joan Krone and William F. Ogden and Murali Sitaraman}, title = {Profiles: A Compositional Mechanism for Performance Specification}, institution = {Department of Computer Science, Clemson University}, year = 2004, number = {RSRG-04-03}, address = {Clemson, SC 29634-0974}, month = Jun, Note = {Invited as one of the best papers from the SAVCBS Workshop series and under consideration for Formal Aspects of Computing, Springer-Verlag}, URL = {http://www.cs.clemson.edu/~resolve/reports/RSRG-04-03.pdf} } @Article{Krueger92, Key = "Krueger", Author = "Charles W. Krueger", Title = "Software Reuse", Journal = ACMCS, Year = 1992, Volume = 24, Number = 2, Month = Jun, Pages = "131-183", Annote = "105 references." } @Book{Krzysztof-Olderog91, Key = "Krzysztof \& Olderog", Author = "R. A. Krzysztof and {Ernst-Rudiger} Olderog", Title = "Verification of Sequential and Concurrent Programs", Publisher = SV, Year = 1991, Series = "Texts and Monographs in Computer Science", Address = NY } @Book{Kubiak-Rudzinski-Sokolowski91, Key = "Kubiak \& Rudzinski \& Sokolowski", Author = "Ryszard Kubiak and Roman Rudzinski and Stefan Sokolowski", Title = "An Introduction to Programming with Specifications: A Mathematical Approach", Publisher = "Academic Press", Year = 1991, Volume = 35, Series = "A.P.I.C.", Address = NY, Annote = "Introduction to Computer Science for mathematically minded people. Some introduction to Standard ML towards the end. 34 references." } @InCollection{Kuehne99, key = {K\"{u}hne}, author = {Thomas K\"{u}hne}, title = {Internal Iteration Externalized}, booktitle = {ECOOP '99 --- Object-Oriented Programming 13th European Conference, Lisbon Portugal}, publisher = SV, year = 1999, editor = {Rachid Guerraoui}, volume = 1628, series = LNCS, address = NY, month = Jun, pages = {329-350}, annote = {38 references.} } @TechReport{Kulczycki-etal02, Key = {Kulczycki, {\it et al.}}, Author = {Gregory W. Kulczycki and Murali Sitaraman and William F. Ogden and Bruce W. Weide and Gary T. Leavens}, Title = "Reasoning about Procedure Calls with Repeated Arguments and the Reference-Value Distinction", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "02-13", Year = 2002, Month = Dec, Annote = "Call by swapping compared with other mechanisms. 50 references." } @TechReport{Kulczycki-etal03, Key = {Kulczycki, {\it et al.}}, Author = {Gregory W. Kulczycki and Murali Sitaraman and William F. Ogden and Gary T. Leavens}, Title = "Reasoning about Procedure Calls with Repeated Arguments and the Reference-Value Distinction", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "02-13a", Year = 2003, Month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-13/TR.pdf", Annote = "Three approaches to avoiding aliasing due to repeated arguments. 63 references." } @TechReport{Kulczycki-etal03a, Key = {Kulczycki, {\it et al.}}, Author = {Gregory W. Kulczycki and Murali Sitaraman and William F. Ogden and Joseph E. Hollingsworth}, Title = "Component Technology for Pointers: Why and How", Institution = "Department of Computer Science, Clemson University", Address = "Clemson, SC, 29634", Number = "RSRG-03-03", Year = 2003, Month = Apr, URL = "http://www.cs.clemson.edu/~resolve/reports/RSRG-03-03.pdf" } @PhdThesis{Kulczycki04, author = {Gregory W. Kulczycki}, title = {Direct Reasoning}, school = {Clemson University}, year = 2004, key = {Kulczycki}, month = May, note = {To appear.} } @Unpublished{Kung89, Key = "Kung", Author = "Chenho Kung", Title = "Process Inteface Modeling and Consistency Checking", Note = "To appear in JSS", Annote = "9 references", Month = Sep, Year = 1989 } @TechReport{Ladkin89, Key = "Ladkin", Author = "Peter B. Ladkin", Title = "The Possibility of an Executable Specification Language", Institution = "International Computer Science Institute", Address = "1947 Center St., Suite 600, Berkeley, Calif. 94704", Number = "TR-89-040", Month = Jul, Year = 1989, Annote = "40 references." } @Article{Lakhneche-Hooman95, key = "Lakhneche \& Hooman", title = "Metric temporal logic with durations", author = "Yassine Lakhneche and Josez Hooman", journal = "Theoretical Computer Science", pages = "169--199", month = "6~" # feb, year = "1995", volume = "138", number = "1" } @inproceedings{Lam-Rinard03, Author = {Lam, Patrick and Rinard, Martin}, Title = {A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information}, Crossref = {ecoop03}, Pages = {273-302} } @Article{Lamb90, Key = "Lamb", Author = "D. A. Lamb", Title = "Specification of Iterators", Journal = IEEETSE, Year = 1990, Volume = 16, Number = 12, Month = Dec, Pages = "1352-1360", Annote = "9 references." } @InProceedings{Lamping-Abadi94, key = {Lamping \& Abadi}, author = "John Lamping and Mart{\'i}n Abadi", editor = "M. Tokoro and R. Pareschi", title = "Methods as Assertions", booktitle = "Proceedings ECOOP '94", series = "LNCS 821", pages = "60--80", publisher = SV, address = "Bologna, Italy", month = jul, year = "1994", keywords = "olit ecoop94" } @Article{Lamping-Abadi95, author = {John Lamping and Mart{\'i}n Abadi}, title = {Methods as Assertions}, journal = {Theory and Practice of Object Systems}, year = 1995, key = {Lamping \& Abadi}, volume = 1, number = 1, pages = {5-18}, annote = {18 references.} } @Article{Lamping93, Key = "Lamping", Author = "John Lamping", Title = "Typing the Specialization Interface", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Pages = "201-214", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "12 refrences." } @InCollection{Lamping94, Key = "Lamping", Author = "John Lamping", Title = "Methods as Assertions", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "60-80", Address = NY, Month = Jul, Annote = "18 references." } @Article{Lamport90, Key = "Lamport", Author = "Leslie Lamport", Title = "{\em win\/} and {\em sin\/}: Predicate Transformers for Concurrency", Journal = TOPLAS, Volume = 12, Number = 3, Month = Jul, Year = 1990, Pages = "306-428", Annote = "Weakest invariant and strongest invariant transformers for reasoning about concurrent programs for which the grain of atomicity is unspecified. 14 references." } @TechReport{Lamport91, Key = "Lamport", Author = "Leslie Lamport", Title = "The Temporal Logic of Actions", Institution = DECSRC, Year = 1991, Number = 79, Month = Dec, Address = "130 Lytton Avenue Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "A logic for specifying and reasoning about concurrent systems. 23 references." } @Article{Lamport94, Key = "Lamport", Author = "Leslie Lamport", Title = "The Temporal Logic of Actions", Journal = TOPLAS, Year = 1994, Volume = 16, Number = 3, Month = May, Pages = "872-923", Annote = "34 references." } @InCollection{Langmaack83, author = {H. Langmaack}, title = {Aspects of Programs with Finite Modes}, booktitle = {Foundations of Computation Theory}, key = {Langmaack}, publisher = SV, year = 1983, editor = {M. Karpinski}, number = 158, series = LNCS, address = NY, pages = {241-254}, annote = {Discusses transforming a program with side-effects in expressions to one in which only simple side effect statements are used (no nested expressions).} } @InCollection{Langmaack85, Key = "Langmaack", Author = "H. Langmaack", Title = "A New Transformational Approach to Partial Correctness Proof Calculi for Algol 68-like Programs with Finite Modes and Simple Side Effects", BookTitle = "Topics in the Theory of Computation", Editor = "Marek Karpinski and Jan van Leeuwen", Publisher = "Elsevier North-Holland, Inc.", Series = "Annals of Discrete Mathematics", Number = 24, Address = NY, Year = 1985, Pages = "73-102", Annote = "20 references." } @InCollection{Lano-Haughton92, Key = "Lano \& Haughton", Author = "K. Lano and H. Haughton", Title = "Reasoning and Refinement in Object-Oriented Specification Languages", BookTitle = "ECOOP '92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands", Publisher = SV, Year = 1992, Editor = "Ole Lehrmann Madsen", Series = LNCS, Address = NY, Volume = 615, Pages = "78-97", Annote = "32 references" } @Book{Lano-Haughton94, Key = "Lano \& Haughton", Editor = "K. Lano and H. Haughton", Title = "Object-Oriented Specification Case Studies", Publisher = "Prentice Hall", Year = 1994, Address = NY, Series = "The Object-Oriented Series", Annote = "Features Object-Z, VDM++, OOZE, MooZ, Fresco, Z++, and Small VDM. 208 references." } @InCollection{Lano-Haughton94b, key = "Lano \& Haughton", author = "K. Lano and H. Haughton", title = "Specifying a Concept-recognition system in {Z++}", booktitle = "Object-Oriented Specification Case Studies", publisher = "Prentice-Hall", year = 1994, editor = "Kevin Lano and Howard Haughton", series = "The Object-Oriented Series", chapter = 7, Crossref = "Lano-Haughton94", pages = "137-157", address = NY } @InCollection{Lano-etal00, Key = "Lano, {\em et al.}", Author = "Kevin Lano and Juan Bicarregui and Tom Maibaum and Jose Fiadeiro", Title = "Composition of Reactive System Components", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 12, Pages = "267-283", Annote = "15 references." } @InCollection{Lano92, Key = "Lano", Author = "Kevin C. Lano", Title = "{Z++}", Editor = "Susan Stepney and Rosalind Barden and David Cooper", BookTitle = "Object Orientation in {Z}", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Crossref = "Stepney-Barden-Cooper92", Pages = "106-112" } @Book{Lano96, key = "Lano", author = "Kevin Lano", title = "The {B} Language and Method: {A} guide to Practical Formal Development", publisher = SV, address = "London, UK", year = "1996", Series = "Formal Appoaches to Computing and Information Technology", ISBN = "3-540-76033-4", annote = "{B} is a formal approach to software specification and development based on the {Z} specification language. 66 references.", } @Article{Lano96b, key = {Lano}, author = {Kevin Lano}, title = {Enhancing Object-Oriented Methods with Formal Notations}, journal = TAPOS, year = 1996, volume = 2, number = 4, pages = {247-268}, annote = {31 references.} } @InCollection{Laorakpong-Saeki93, Key = "Laorakpong \& Saeki", Author = "Amarit Laorakpong and Motoshi Saeki", Title = "Object-Oriented Formal Specification Development using VDM", BookTitle = "Object Technologies for Advanced Software", Publisher = SV, Year = 1993, Editor = "Shojiro Nishio and Akinori Yonezawa", Series = LNCS, Volume = 742, Pages = "529-543", Month = Aug, Annote = "26 references." } @Book{Laplante04, key = {Laplante}, author = {Phillip A. Laplante}, title = {Real-Time Systems Design and Analysis}, publisher = {IEEE Press and Wiley-Interscience}, year = 2004, edition = {Third edition}, annote = {Many references.} } @Book{Larman02, key = {Larman}, author = {Craig Larman}, title = {Applying {UML} and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process}, publisher = {Prentice Hall PTR}, year = 2002, edition = {Second edition}, address = {Upper Saddle River, NJ}, annote = {19 recommended readings.} } @Book{Larman05, key = {Larman}, author = {Craig Larman}, title = {Applying {UML} and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development}, publisher = {Prentice Hall PTR}, year = 2002, edition = {Third edition}, address = {Upper Saddle River, NJ}, annote = {Several refrences.} } @Book{Larman98, author = {Craig Larman}, title = {Applying UML and Patterns}, publisher = {Prentice Hall PTR}, year = 1998, key = {Larman}, address = {Upper Saddle River, NJ}, annote = {19 recommended readings.} } @Article{Larsen-Fitzgerald-Brookes96, author = "Peter Gorm Larsen and John Fitzgerald and Tom Brookes", title = "Applying Formal Specification in Industry", journal = "IEEE Software", year = 1996, volume = 13, number = 3, pages = "48-56", month = "May", annote = "A case-study using VDM-SL. No significant cost or time overhead, helped improve understanding, preventing errors, allows gradual integration, most benefits are in early development stages, formal techniques usable after 1 week training if experts available, need industrial-strength tools. 15 references." } @Article{Larsen-Plat-Toetenel94, key = "Larsen \& Plat \& Toetenel", author = "Peter Gorm Larsen and Nico Plat and Hans Toetenel", title = "A Formal Semantics of Data Flow Diagrams", journal = "Formal aspects of Computing", year = 1994, volume = 6, number = 6, pages = "586-606", month = Dec } @InProceedings{Larsen-etal91, Key = "Larsen, {\em et al.}", Author = "Peter Gorm Larsen and Jan van Katwijk and Nico Plat and Kees Pronk and Hans Toetenel", Title = "{SVDM}: {A}n integrated combination of {SA} and {VDM}", BookTitle = "Methods Integration Conference", Publisher = SV, Year = 1991, Month = Sep } @InProceedings{Larsson-Mostowski03, key = {Larsson \& Mostowski}, author = {Daniel Larsson and Wojciech Mostowski}, title = {Specifying {Java Card API} in {OCL}}, booktitle = {OCL 2.0 Workshop at UML 2003}, pages = {3-19}, year = 2004, editor = {Peter H. Schmitt}, volume = {102C}, series = ENTCS, month = Nov, publisher = {Elsevier}, URL = {http://www.cs.chalmers.se/~danla/ocl2003.pdf}, annote = {20 references.} } @InProceedings{Larsen-etal91b, Key = "Larsen, {\em et al.}", Author = "Peter Gorm Larsen and Jan van Katwijk and Nico Plat and Kees Pronk and Hans Toetenel", Title = "Towards an Integrated Combination of {SA} and {VDM}", Booktitle = "Structured Analysis and Formal Methods", Year = 1991, Month = Jun, Note = "ftp://ftp.ifad.dk/pub/papers/savdm.ps.gz" } @Article{Larus-etal04, author = {James R. Larus and Thomas Ball and Manuvir Das and Robert DeLine and Manuel F\"{a}hndrich and Jon Pincus and Sriram K. Rajamani and Ramanathan Venkatapathy}, title = "Righting Software", journal = "IEEE Software", volume = "21", year = "2004", pages = "92-100" } @TechReport{Lau-Prestwich88, Key = "Lau \& Prestwich", Author = "K. K. Lau and S. D. Prestwich", Title = "Synthesis of Recursive Logic Procedures by Top-down Folding", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-88-2-1", Year = 1988, Annote = "13 references." } @InProceedings{Lauer-Satterthwaite79, Key = "Lauer \& Satterthwaite", Title = "The Impact of Mesa on System Design", Author = "H. C. Lauer and E. H. Satterthwaite", BookTitle = "Fourth International Conference on Software Engineering", Organization = IEEE, Year = 1979, Pages = "174-181" } @Article{LeJacq91, Key = "LeJacq", Author = "Jean Peirre LeJacq", Title = "Function preconditions in object oriented software", Journal = SIGPLAN, Year = 1991, Volume = 26, Number = 10, Month = Oct, Pages = "13-18", Annote = "Example of using instance operations (member functions) in C++ code in assertions. The example shows clearly the confusion created by using program operations in assertions and then concluding subtyping relationships on the basis of what seem to be valid implications. 10 references." } @InCollection{Lea-Marlowe95, Key = "Lea \& Marlowe", Author = "Doug Lea and Jos Marlowe", Title = "Interface-Based Protocol Specification of Open Systems using {PSL}", Series = LNCS, Publisher = SV, Address = NY, Editor = "Walter Olthoff", Number = 952, Note = "ECOOP '95 - Object-Oriented Programming 9th European Conference, Aarhus, Denmark", Pages = "374-398", Year = 1995, Annote = "68 references." } @Unpublished{Lea91, Key = "Lea", Author = "Doug Lea", Title = "Position paper ECOOP Object-Oriented Methods Workshop", Note = "Obtained from the author", Annote = "0 references." } @Unpublished{Lea93, Key = "Lea", Author = "Doug Lea", Title = "Run-Time Type Information and Class Design", Note = "Obtained from the author", Annote = "6 references.", Year = 1993 } @TechReport{Leavens-Baker-Ruby01, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2001, Number = "98-06q", Month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.ps.gz", Annote = "57 references.", Note = "This is an obsolete version." } @TechReport{Leavens-Baker-Ruby02, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2002, Number = "98-06t", Month = Jun, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.ps.gz", Annote = "57 references.", Note = "This is an obsolete version." } @TechReport{Leavens-Baker-Ruby03, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2003, Number = "98-06v", Month = May, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.ps.gz", Annote = "57 references.", Note = "This is an obsolete version." } @TechReport{Leavens-Baker-Ruby04, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2004, Number = "98-06z", Month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.ps.gz", Annote = "79 references.", Note = "This is an obsolete version." } @TechReport{Leavens-Baker-Ruby05, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2005, Number = "98-06-rev28", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.ps.gz", Annote = "79 references.", Note = "This is an obsolete version." } @Article{Leavens-Baker-Ruby06, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", journal = SIGSOFT, volume = 31, number = 3, month = Mar, year = 2006, pages = {1-38}, note = {\url{http://doi.acm.org/10.1145/1127878.1127884}}, publisher = ACM, address = NY } @TechReport{Leavens-Baker-Ruby06a, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "Preliminary Design of {JML}: A Behavioral Interface Specification Language for {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2006, Number = "98-06-rev29", Month = Jan, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.pdf", Annote = "79 references.", Note = "To appear in \emph{ACM SIGSOFT Software Engineering Notes}." } @InProceedings{Leavens-Baker-Ruby98, author = {Gary T. Leavens and Albert L. Baker and Clyde Ruby}, title = {{JML}: a {Java Modeling Language}}, booktitle = {Formal Underpinnings of Java Workshop (at OOPSLA '98)}, key = {Leavens \& Baker \& Ruby}, year = 1998, month = Oct, note = {{\tt http://www-dse.doc.ic.ac.uk/{\char'176}sue/oopsla/cfp.html}} } @InCollection{Leavens-Baker-Ruby99b, Key = "Leavens \& Baker \& Ruby", Author = "Gary T. Leavens and Albert L. Baker and Clyde Ruby", Title = "{JML}: A Notation for Detailed Design", BookTitle = "Behavioral Specifications of Businesses and Systems", Editor = "Haim Kilov and Bernhard Rumpe and Ian Simmonds", Year = 1999, Publisher = "Kluwer Academic Publishers", Address = "Boston", Pages = "175-188", Annote = "36 references." } @InProceedings{Leavens-Baker99, Key = "Leavens \& Baker", Author = "Gary T. Leavens and Albert L. Baker", Title = "Enhancing the Pre- and Postcondition Technique for More Expressive Specifications", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, Pages = "1087-1106", URL = "http://tinyurl.com/qv84o", Annote = "37 references." } @TechReport{Leavens-Baker99a, Key = "Leavens \& Baker", Author = "Gary T. Leavens and Albert L. Baker", Title = "Enhancing the Pre- and Postcondition Technique for More Expressive Specifications", Institution = "Iowa State University, Department of Computer Science", Year = 1999, Number = "97-19b", Month = Jun, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR97-19/TR.ps.gz", Annote = "37 references.", Note = "Appears in FM'99, Springer-Verlag, LNCS volume 1709, pages 1087--1106, 1999." } @TechReport{Leavens-Cheon-Cok05, Key = "Leavens \& Cheon \& Cok", Author = "Gary T. Leavens and Yoonsik Cheon and David R. Cok", Title = "Demonstration of {JML} Tools", Institution = "Iowa State University, Department of Computer Science", Address = "226 Atanasoff Hall, Ames IA 50011", Year = 2005, Number = "05-13", Month = Apr, Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-13/TR.pdf}, Annote = "14 references." } @Unpublished{Leavens-Cheon05, Key = "Leavens \& Cheon", Author = "Gary T. Leavens and Yoonsik Cheon", Title = "Design by Contract with JML", Year = 2005, Note = "Draft, available from jmlspecs.org.", URL = "ftp://ftp.cs.iastate.edu/pub/leavens/JML/jmldbc.pdf", Annote = "12 references." } @TechReport{Leavens-Cheon92a, Key = "Leavens \& Cheon", Author = "Gary T. Leavens and Yoonsik Cheon", Title = "Preliminary Design of {Larch/C++}", Institution = "Iowa State University, Department of Computer Science", Address = "226 Atanasoff Hall, Ames IA 50011", Year = 1992, Number = "92-16", Month = May, Note = "Presented at the First International Workshop on Larch, Dedham, Mass., July, 1992. Available by anonymous ftp from ftp.cs.iastate.edu or by e-mail from almanac@cs.iastate.edu.", Annote = "26 references." } @InCollection{Leavens-Cheon92b, Key = "Leavens \& Cheon", Author = "Gary T. Leavens and Yoonsik Cheon", Title = "Preliminary Design of {Larch/C++}", BookTitle = "Proceedings of the First International Workshop on Larch, July, 1992", Publisher = SV, Editor = "U. Martin and J. Wing", Series = "Workshops in Computing", Pages = "159-184", Address = NY, Year = 1993, Annote = "26 references." } @TechReport{Leavens-Cheon93b, Key = "Leavens \& Cheon", Author = "Gary T. Leavens and Yoonsik Cheon", Title = "Extending {CORBA IDL} to Specify Behavior with {Larch}", Institution = "Iowa State University, Department of Computer Science", Year = 1993, Number = "93-20", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-20/TR.txt", Note = "Presented at the OOPSLA '93 Workshop: ``Specification of Behavioral Semantics in OO Information Modeling''. Available by anonymous ftp from ftp.cs.iastate.edu or by e-mail from almanac@cs.iastate.edu.", Annote = "Discusses Larch/CORBA. 6 references." } @TechReport{Leavens-Cheon94d, Key = "Leavens \& Cheon", Author = "Gary T. Leavens and Yoonsik Cheon", Title = "Overview and Specification of the Built-in Types in {Little Smalltalk}", Institution = "Iowa State University, Department of Computer Science", Year = 1994, Number = "91-22a", Address = "226 Atanasoff Hall, Ames IA 50011", Month = Feb, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR91-22/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu." } @InProceedings{Leavens-Clifton05a, key = {Leavens \& Clifton}, author = {Gary T. Leavens and Curtis Clifton}, title = {Lessons from the {JML} Project}, year = 2005, booktitle = {Verified Software: Theories, Tools, Experiments, Zurich, Switzerland}, month = {Oct}, organization = {IFIP Working Group 2.3}, note = {To appear. Also ISU TR \#05-12a, July 2005}, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-12/TR.pdf}, Annote = "30 references." } @TechReport{Leavens-Clifton05b, author = {Gary T. Leavens and Curtis Clifton}, title = {Lessons from the {JML} Project}, key = {Leavens \& Clifton}, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "05-12a", Year = 2005, Month = Jul, Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR05-12/TR.pdf}, Annote = "30 references." } @InCollection{Leavens-Dhara00, key = {Leavens \& Dhara}, author = {Gary T. Leavens and Krishna Kishore Dhara}, title = {Concepts of Behavioral Subtyping and a Sketch of Their Extension to Component-Based Systems}, booktitle = {Foundations of Component-Based Systems}, publisher = {Cambridge University Press}, year = 2000, editor = {Gary T. Leavens and Murali Sitaraman}, chapter = 6, pages = {113-135}, URL = {http://www.cs.iastate.edu/~leavens/FoCBS-book/06-leavens-dhara.pdf}, annote = {A survey of behavioral subtyping. 79 references.} } @TechReport{Leavens-Leino-Mueller06, key = {Leavens \& Leino \& M{\"u}ller}, author = {Gary T. Leavens and K. Rustan M. Leino and Peter M{\"u}ller}, title = {Specification and verification challenges for sequential object-oriented programs}, institution = {Department of Computer Science, Iowa State University}, year = 2006, number = {06-14}, address = {Ames, Iowa}, month = {May}, annote = {100 references}, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR06-14/TR.pdf} } @TechReport{Leavens-Naumann06, key = {Leavens \& Naumann}, author = {Gary T. Leavens and David A. Naumann}, title = {Behavioral Subtyping, Specification Inheritance, and Modular Reasoning}, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "06-20b", year = 2006, month = Sep, annote = {50 references.}, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR06-20/TR.pdf} } @Article{Leavens-Nierstrasz-Sitaraman98, key = {Leavens \& Nierstrasz \& Sitaraman}, author = {Gary T. Leavens and Oscar Nierstrasz and Murali Sitaraman}, title = {1997 Workshop on Foundations of Component-Based Systems}, year = 1998, month = Jan, journal = SIGSOFT, volume = 23, number = 1, pages = "38-41", annotate = "8 references." } @Article{Leavens-Pigozzi00, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "A Complete Algebraic Characterization of Behavioral Subtyping", Journal = "Acta Informatica", Year = 2000, Volume = 36, Pages = "617-663", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-15/TR.ps.gz", Annote = "27 references." } @TechReport{Leavens-Pigozzi02, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "Equational Reasoning with Subtypes", Institution = "Department of Computer Science, Iowa State University", Year = 2002, Number = "02-07", Address = "Ames, Iowa, 50011", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-07/TR.ps.gz", Annote = "38 references." } @TechReport{Leavens-Pigozzi91, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "Typed Homomorphic Relations Extended with Subtypes", Institution = "Department of Computer Science, Iowa State University", Year = 1991, Number = "91-14", Address = "Ames, Iowa, 50011", Month = Jun, Note = "Appears in the proceedings of {\em Mathematical Foundations of Programming Semantics '91}, Springer-Verlag, Lecture Notes in Computer Science, volume 598, pages 144-167, 1992.", Annote = "17 references." } @InCollection{Leavens-Pigozzi92, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "Typed Homomorphic Relations Extended with Subtypes", BookTitle = "Mathematical Foundations of Programming Semantics '91", Publisher = SV, Year = 1992, Editor = "Stephen Brookes", Series = LNCS, Volume = 598, Pages = "144-167", Address = NY, Annote = "17 references." } @TechReport{Leavens-Pigozzi96a, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "The Behavior-Realization Adjunction and Generalized Homomorphic Relations", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "94-18b", Month = Jul, Year = 1996, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-18/TR.ps.Z", Note = "Appears in {\it Theoretical Computer Science}, 177:183-216, 1977." } @TechReport{Leavens-Pigozzi96b, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "An Exact Algebraic Characterization of Behavioral Subtyping", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "96-15", Month = Nov, Year = 1996, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-15/TR.ps.Z", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu" } @Article{Leavens-Pigozzi97, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "The behavior-realization adjunction and generalized homomorphic relations", Journal = TCS, Volume = 177, Year = 1997, Pages = "183-216", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-18/TR.ps.Z", Annote = "25 references." } @TechReport{Leavens-Pigozzi99a, Key = "Leavens \& Pigozzi", Author = "Gary T. Leavens and Don Pigozzi", Title = "A Complete Algebraic Characterization of Behavioral Subtyping", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "96-15a", Month = Nov, Year = 1999, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-15/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu" } @TechReport{Leavens-Ruby97, Key = "Leavens \& Ruby", Author = "Gary T. Leavens and Clyde Ruby", Title = "Specification Facets for More Precise, Focused Documentation", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "97-04", Month = Jan, Year = 1997, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR97-04/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu" } @Book{Leavens-Sitaraman00, title = {Foundations of Component-Based Systems}, year = 2000, key = {Leavens \& Sitaraman}, editor = {Gary T. Leavens and Murali Sitaraman}, publisher = {Cambridge University Press}, address = NY, ISBN = {0-521-77164-1} } @Proceedings{Leavens-Sitaraman97, title = {Foundations of Component-Based Systems Workshop}, year = 1997, key = {Leavens \& Sitaraman}, editor = {Gary T. Leavens and Murali Sitaraman}, month = Sep, note = {Available from \url{http://www.cs.iastate.edu/~leavens/FoCBS}.} } @TechReport{Leavens-Wahls-Baker96, Key = "Leavens \& Wahls \& Baker", Author = "Gary T. Leavens and Tim Wahls and Albert L. Baker", Title = "Formal Semantics for Structured Analysis Style Data Flow Diagram Specification Languages", Institution = "Iowa State University, Department of Computer Science", Year = 1996, Number = "96-16", Month = Dec, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-16/TR.ps.Z", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "47 references." } @InProceedings{Leavens-Wahls-Baker99, author = {Gary T. Leavens and Tim Wahls and Albert L. Baker}, title = {Formal Semantics for Structured Analysis Style Data Flow Diagram Specification Languages}, booktitle = {ACM SAC'99 -- 1999 ACM Symposium on Applied Computing, San Antonio, Texas}, key = {Leavens \& Wahls \& Baker}, year = 1999, organization = ACM, pages = {526-532}, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-16/TR.ps.Z", } @InProceedings{Leavens-Weihl90, Key = "Leavens \& Weihl", Author = "Gary T. Leavens and William E. Weihl", Title = "Reasoning about Object-oriented Programs that use Subtypes (extended abstract)", BookTitle = "{OOPSLA ECOOP '90 Proceedings}", Editor = "N. Meyrowitz", Series = SIGPLAN, Volume = "25(10)", Month = Oct, Year = 1990, Pages = "212-223", Organization = ACM, Annote = "26 references." } @TechReport{Leavens-Weihl93, Key = "Leavens \& Weihl", Author = "Gary T. Leavens and William E. Weihl", Title = "Subtyping, Modular Specification, and Modular Verification for Applicative Object-Oriented Programs", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "92-28d", Month = Aug, Year = 1994, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR92-28/TR.ps.Z", Note = "Full version of a paper in {\em Acta Informatica}, volume 32, number 8, pages 705--778. Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu", Annote = "The journal version of the first author's thesis." } @Article{Leavens-Weihl95, author = {Gary T. Leavens and William E. Weihl}, title = {Specification and Verification of Object-Oriented Programs Using Supertype Abstraction}, journal = {Acta Informatica}, year = 1995, key = {Leavens \& Weihl}, volume = 32, number = 8, month = Nov, pages = {705-778} } @TechReport{Leavens-Wing97, Key = "Leavens \& Wing", Author = "Gary T. Leavens and Jeannette M. Wing", Title = "Protective Interface Specifications", Institution = "Iowa State University, Department of Computer Science", Year = 1997, Number = "96-04d", Month = Sep, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-04/TR.ps.gz", Note = "In Michel Bidoit and Max Dauchet (editors), TAPSOFT '97: Theory and Practice of Software Development, 7th International Joint Conference CAAP/FASE, Lille, France. Volume 1214 of Lecture Notes in Computer Science, Springer-Verlag, 1997, pages 520-534. Available by anonymous ftp from \url{ftp.cs.iastate.edu}.", Annote = "29 references." } @InCollection{Leavens-Wing97a, Key = "Leavens \& Wing", Author = "Gary T. Leavens and Jeannette M. Wing", Title = "Protective Interface Specifications", BookTitle = "{TAPSOFT '97}: Theory and Practice of Software Development, 7th International Joint Conference {CAAP/FASE}, Lille, France", Publisher = SV, Year = 1997, Editor = "Michel Bidoit and Max Dauchet", Series = LNCS, Volume = 1214, Pages = "520-534", Address = NY, Annote = "29 references.", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-04/TR.ps.gz" } @Article{Leavens-Wing98, key = {Leavens \& Wing}, author = {Gary T. Leavens and Jeannette M. Wing}, title = {Protective Interface Specifications}, journal = {Formal Aspects of Computing}, year = 1998, volume = 10, pages = {59-75}, annote = {30 references.} } @InProceedings{Leavens-etal00, Key = "Leavens, {\em et al.}", Author = "Gary T. Leavens and K. Rustan M. Leino and Erik Poll and Clyde Ruby and Bart Jacobs", Title = "{JML}: notations and tools supporting detailed design in {Java}", BookTitle = "OOPSLA 2000 Companion, Minneapolis, Minnesota", Year = 2000, Month = Oct, Pages = "105-106", Organization = ACM, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-15/TR.ps.gz", Annote = "Abstract of an OOPSLA 2000 poster. 14 references." } @TechReport{Leavens-etal00a, Key = "Leavens, {\em et al.}", Author = "Gary T. Leavens and K. Rustan M. Leino and Erik Poll and Clyde Ruby and Bart Jacobs", Title = "{JML}: notations and tools supporting detailed design in {Java}", Institution = "Iowa State University, Department of Computer Science", Year = 2000, Number = "00-15", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-15/TR.ps.gz", Note = "Appears in OOPSLA '00 Companion, pp. 105--106", Annote = "Abstract of an OOPSLA 2000 poster. 14 references." } @InProceedings{Leavens-etal01, author = {Gary T. Leavens and Sophia Drossopoulou and Susan Eisenbach and Arnd Poetzsch-Heffter and Erik Poll}, title = {Formal Techniques for {J}ava Programs}, booktitle = {Object-Oriented Technology. {ECOOP} 2001 Workshop Reader}, year = 2001, editor = {A. Frohner}, series = LNCS, volume = 2323, publisher = SV, pages = {30-40} } @Unpublished{Leavens-etal03, Key = {Leavens \& Poll \& Clifton \& Cheon \& Ruby}, Author = {Gary T. Leavens and Erik Poll and Curtis Clifton and Yoonsik Cheon and Clyde Ruby and David R. Cok and Joseph Kiniry}, Title = {JML Reference Manual}, Month = Apr, Year = 2003, Note = {Department of Computer Science, Iowa State University. Available from {\url{http://www.jmlspecs.org}}} } @InCollection{Leavens-etal03a, Key = {Leavens, {\em et al.}}, Author = {Gary T. Leavens and Yoonsik Cheon and Curtis Clifton and Clyde Ruby and David R. Cok}, Title = {How the Design of {JML} Accommodates Both Runtime Assertion Checking and Formal Verification}, BookTitle = {Formal Methods for Components and Objects: First International Symposium, FMCO 2002, Lieden, The Netherlands, November 2002, Revised Lectures}, Year = 2003, Editor = {Frank S. de Boer and Marcello M. Bonsangue and Susanne Graf and Willem-Paul de Roever}, Series = LNCS, Volume = 2852, Publisher = SV, Pages = "262-284", Address = "Berlin", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR03-04/TR.pdf", Annote = "81 references." } @TechReport{Leavens-etal03b, Key = {Leavens, {\em et al.}}, Author = {Gary T. Leavens and Yoonsik Cheon and Curtis Clifton and Clyde Ruby and David R. Cok}, Title = {How the Design of {JML} Accommodates Both Runtime Assertion Checking and Formal Verification}, Institution = "Department of Computer Science, Iowa State University", Year = 2003, Number = "03-04", Address = "Ames, Iowa, 50011", Month = Mar, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR03-04/TR.pdf", Note = "To appear in {\it Science of Computer Programming}, 2005. An earlier version was published in FMCO 2002 proceedings, LNCS 2852, 2003.", Annote = "81 references." } @Unpublished{Leavens-etal04a, Key = {Leavens \& Poll \& Clifton \& Cheon \& Ruby}, Author = {Gary T. Leavens and Erik Poll and Curtis Clifton and Yoonsik Cheon and Clyde Ruby and David R. Cok and Joseph Kiniry}, Title = {JML Reference Manual}, Month = Dec, Year = 2004, Note = {Department of Computer Science, Iowa State University. Available from {\url{http://www.jmlspecs.org}}} } @Article{Leavens-etal05, Key = {Leavens, {\em et al.}}, Author = {Gary T. Leavens and Yoonsik Cheon and Curtis Clifton and Clyde Ruby and David R. Cok}, Title = {How the Design of {JML} Accommodates Both Runtime Assertion Checking and Formal Verification}, Journal = {Science of Computer Programming}, Year = 2005, Month = Mar, Volume = 55, Number = {1-3}, Publisher = {Elsevier}, Pages = {185-208}, URL = {http://dx.doi.org/10.1016/j.scico.2004.05.015} } @Unpublished{Leavens-etal05a, Key = {Leavens, {\em et al.}}, Author = {Gary T. Leavens and Erik Poll and Curtis Clifton and Yoonsik Cheon and Clyde Ruby and David R. Cok and Peter M\"{u}ller and Joseph Kiniry}, Title = {{JML} Reference Manual}, Month = Jul, Year = 2005, Note = {Department of Computer Science, Iowa State University. Available from {\url{http://www.jmlspecs.org}}} } @Unpublished{Leavens-etal06, Key = {Leavens, {\em et al.}}, Author = {Gary T. Leavens and Erik Poll and Curtis Clifton and Yoonsik Cheon and Clyde Ruby and David R. Cok and Peter M\"{u}ller and Joseph Kiniry and Patrice Chalin}, Title = {{JML} Reference Manual}, Month = Aug, Year = 2006, Note = {Department of Computer Science, Iowa State University. Available from {\url{http://www.jmlspecs.org}}} } @TechReport{Leavens-etal06a, key = {Leavens, {\em et al.}}, author = {Gary T. Leavens and Jean-Raymond Abrial and Don Batory and Michael Butler and Alessandro Coglio and Kathi Fisler and Eric Hehner and Cliff Jones and Dale Miller and Simon Peyton-Jones and Murali Sitaraman and Douglas R. Smith and Aaron Stump}, title = {Roadmap for Enhanced Languages and Methods to Aid Verification}, institution = {Iowa State University, Department of Computer Science}, year = 2006, number = {06-21}, address = {Ames, IA}, month = Jul, annote = {A VSTTE committee roadmap. 146 references.}, note = {To appear in the proceedings of {\em GPCE'06}.}, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR06-21/TR.pdf} } @TechReport{Leavens-etal96, Key = "Leavens, {\em et al.}", Author = "Gary T. Leavens and Tim Wahls and Albert L. Baker and Kari Lyle", Title = "An Operational Semantics of Firing Rules for Structured Analysis Style Data Flow Diagrams", Institution = "Iowa State University, Department of Computer Science", Year = 1996, Number = "93-28d", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-28/TR.ps.Z", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "43 references." } @Article{Leavens00, author = {Gary T. Leavens}, title = {Formal Methods for Multimethod Software Components}, journal = {Software Engineering Notes}, year = 2000, key = {Leavens}, volume = 25, number = 1, pages = {62-63}, month = Jan } @InProceedings{Leavens04, author = {Gary T. Leavens}, title = {{JML} Framed!}, key = {Leavens}, booktitle = {2004 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04)}, pages = 1, year = 2004, month = Jun, organization = ACM, annote = {Invited talk abstract.} } @TechReport{Leavens06, Key = "Leavens", Author = "Gary T. Leavens", Title = "Following the Grammar", Month = Jan, Year = 2006, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "05-02a", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR05-02/TR.pdf", Note = "Available by anonymous ftp from ftp.cs.iastate.edu.", Annote = "8 references." } @Article{Leavens06a, key = {Leavens}, author = {Gary T. Leavens}, title = {Not a Number of Floating Point Problems}, journal = JOT, year = 2006, volume = 5, number = 2, pages = {75-83}, month = {March-April}, note = {\url{http://www.jot.fm/issues/issues_2006_03/column8}} } @TechReport{Leavens06b, key = {Leavens}, author = {Gary T. Leavens}, title = {{JML's} Rich, Inherited Specifications for Behavioral Subtypes}, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "06-22", year = 2006, month = Aug, annote = {81 references.}, note = {To appear in the proceedings of {\em ICFEM'06}.}, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR06-22/TR.pdf} } @PhDThesis{Leavens88, Key = "Leavens", Author = "Gary Todd Leavens", Title = "Verifying Object-Oriented Programs that use Subtypes", Month = Dec, Year = 1988, School = MIT, Note = "Published as MIT/LCS/TR-439 in February 1989.", Annote = "44 references." } @TechReport{Leavens89, Key = "Leavens", Author = "Gary Todd Leavens", Title = "Verifying Object-Oriented Programs that use Subtypes", Month = Feb, Year = 1989, Institution = MITLCS, Number = 439, Note = "The author's Ph.D. thesis.", Annote = "44 references." } @TechReport{Leavens90, Key = "Leavens", Author = "Gary T. Leavens", Title = "Modular Verification of Object-Oriented Programs with Subtypes", Month = Jul, Year = 1990, Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "90-09", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR90-09/TR.ps.Z", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu}, and by e-mail from almanac@cs.iastate.edu", Annote = "Revised thesis. 74 references." } @Article{Leavens91, Key = "Leavens", Author = "Gary T. Leavens", Title = "Modular Specification and Verification of Object-Oriented Programs", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 4, Month = Jul, Pages = "72-80", Annote = "8 references." } @TechReport{Leavens93b, Key = "Leavens", Author = "Gary T. Leavens", Title = "Inheritance of Interface Specifications (Extended Abstract)", Institution = "Iowa State University, Department of Computer Science", Year = 1993, Number = "93-23", Month = Sep, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-23/TR.ps.Z", Note = "Appears in the Workshop on Interface Definition Languages, WIDL '94. Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "28 references." } @InProceedings{Leavens94a, Key = "Leavens", Author = "Gary T. Leavens", Title = "Inheritance of Interface Specifications (Extended Abstract)", BookTitle = "Proceedings of the Workshop on Interface Definition Languages", Series = SIGPLAN, Year = 1994, Volume = "29(8)", Pages = "129-138", Month = Aug, Annote = "28 references." } @InCollection{Leavens96b, key = "Leavens", author = "Gary T. Leavens", title = "An Overview of {Larch/C++}: Behavioral Specifications for {C++} Modules", booktitle = "Specification of Behavioral Semantics in Object-Oriented Information Modeling", publisher = "Kluwer Academic Publishers", year = 1996, address = "Boston", editor = "Haim Kilov and William Harvey", chapter = 8, pages = "121-142", annote = "52 references.", note = "An extended version is TR \#96-01d, Department of Computer Science, Iowa State University, Ames, Iowa, 50011" } @Unpublished{Leavens97c, Key = "Leavens", Author = "Gary T. Leavens", Title = "{Larch/C++ Reference Manual}", URL = "ftp://ftp.cs.iastate.edu/pub/larchc++/lcpp.ps.gz", Note = "Version 5.14. Available in \url{ftp://ftp.cs.iastate.edu/pub/larchc++/lcpp.ps.gz} or on the World Wide Web at the URL \url{http://www.cs.iastate.edu/~leavens/larchc++.html}", Annote = "Definitive reference on Larch/C++. Many references.", Month = Oct, Year = 1997, URL = "ftp://ftp.cs.iastate.edu/pub/larchc++/lcpp.ps.gz" } @TechReport{Leavens97d, key = "Leavens", author = "Gary T. Leavens", title = "An Overview of {Larch/C++}: Behavioral Specifications for {C++} Modules", Institution = "Iowa State University, Department of Computer Science", note = "Revised version of Haim Kilov and William Harvey, {\it Specification of Behavioral Semantics in Object-Oriented Information Modeling}, chapter 8, pages 121--142. Kluwer Academic Publishers, Boston, 1996.", annote = "52 references.", Year = 1997, Number = "96-01d", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR96-01/TR.ps.gz", } @Unpublished{Leavens99, Key = "Leavens", Author = "Gary T. Leavens", Title = "{Larch/C++ Reference Manual}", URL = "ftp://ftp.cs.iastate.edu/pub/larchc++/lcpp.ps.gz", Note = "Version 5.41. Available in \url{ftp://ftp.cs.iastate.edu/pub/larchc++/lcpp.ps.gz} or on the World Wide Web at the URL \url{http://www.cs.iastate.edu/~leavens/larchc++.html}", Annote = "Definitive reference on Larch/C++. Many references.", Month = Apr, Year = 1999 } @InCollection{Leavens99a, author = {Gary T. Leavens}, title = {Abstract Data Types}, editor = {John G. Webster}, booktitle = {Wiley Encyclopedia of Electrical and Electronics Engineering}, publisher = {John Wiley \& Sons, Inc.}, year = 1999, key = {Leavens}, volume = 1, pages = {4-14}, URL = "http://www.wiley.com/products/subject/engineering/webster/WEBSTER_PG4-25_A1.pdf", annote = {23 references.} } @Unpublished{Leavens:LarchFAQ, Key = "Leavens", Author = "Gary T. Leavens", Title = "{Larch} Frequently Asked Questions", Note = "Version 1.110. Available in \url{http://www.cs.iastate.edu/~leavens/larch-faq.html}", Annote = "Beginner's guide to Larch, LSL, LP. Many references.", Month = May, Year = 2000, URL = "http://www.cs.iastate.edu/~leavens/larch-faq.html" } @Unpublished{Leavens:MathTraits, author = {Gary T. Leavens}, title = "{LSL} Math Traits", note = {\url{http://www.cs.iastate.edu/~leavens/Math-traits.html}}, key = {Leavens}, year = 1996, month = {Jan} } @InProceedings{Ledru96, author = {Yves Ledru}, title = {Complementing Semi-Formal Specifications in {Z}}, booktitle = {11th Knowledge-Based Software Engineering Conference}, year = 1996, annote = "Systematically (could be automatically) translates entity-relationship data model into Z schemas. Uses Z for functions also. Formalization of the specification (specifically the function preconditions) helped to identify exceptional cases that required changes to the specification." } @InCollection{Lee-Gehlot92, Key = "Lee \& Gehlot", Author = "I. Lee and V. Gehlot", Title = "Language Constructs for Distributed Real-Time Programming", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "478-487", Address = "Los Alamitos, California", Month = Oct, Annote = "26 references." } @Article{Lee-Litecky97, key = {Lee \& Litecky}, author = {Nam-Yong Lee and Charles R. Litecky}, title = {An Empirical Study of Software Reuse with Special Attention to Ada}, journal = IEEETSE, year = 1997, volume = 23, number = 9, month = Sep, pages = {537-549}, annote = {91 references.} } @Book{Lee-Tepfenhart01, author = {Richard C. Lee and Wiliam M. Tepfenhart}, title = {UML and C++: A Practical Guide to Object-Oriented Development Second Edition}, publisher = {Prentice Hall}, year = 2001 } @Book{Lee-Tepfenhart02, author = {Richard C. Lee and Wiliam M. Tepfenhart}, title = {Practical Object-Oriented Development with UML and Java}, publisher = {Prentice Hall}, year = 2002, annote = "53 references." } @Article{Lee-etal88, Key = "Lee, {\em et al.}", Author = "Peter Lee and Frank Pfenning and Gene Rollins and William Scherlis", Title = "The Ergo Support System: An Integrated Set of Tools for Prototyping Integrated Environments", Journal = SIGSOFT, Volume = 13, Number = 5, Month = Nov, Year = 1988, Pages = "25-34", Note = "Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments", Annote = "Prototyping formal methods. 30 references." } @Article{Lehman80, Key = "Lehman", Author = "Meir M. Lehman", Title = "Programs, Life Cycles and Laws of Software Evolution", Journal = "Proceedings of the IEEE", Volume = 68, Number = 9, Month = Sep, Year = 1980, Pages = "1060-1076", Annote = "Sources of evolutionary pressure in programs. Life cycle processes. Laws of program evolution. Change cannot be eliminated, but it must be made less expensive. Maintain alterability. Performance, capability and quality cannot be built into the first version of a program, they must be achieved by evolution. Problem is how to do this in a cost-effective and timely way. Correctness as a whole for real-world problem solving and embedded software is not generally well specified, but such programs should be partitioned into parts which are fully specified and proven correct. Making programs live longer is cost effective and lifetime is determined during formative period. Laws are: continuous change, increasing complexity (entropy), self-regulating evolution, invariant work rate, conservation of familiarity. 92 references." } @InProceedings{Lehoczky-Sha-Ding89, author = {J. Lehoczky and L. Sha and Y. Ding}, title = {The Rate Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior}, key = {Lehoczky \& Sha \& Ding}, booktitle = {Proceedings, Real-Time Systems Symposium, Santa Monica, California}, pages = {166-171}, year = 1989, month = {Dec}, organization = {IEEE} } @Article{Leino-Manohar99, author = {K. Rustan M. Leino and Rajit Manohar}, title = {Joining specification statements}, journal = TCS, year = 1999, key = {Leino \& Manohar}, volume = 216, number = {1-2}, pages = {375-394}, month = Mar, annote = "16 references." } @inproceedings{Leino-Mueller04, key = {Leino \& M\"{u}ller}, author = {K. Rustan M. Leino and Peter M\"{u}ller}, title = {Object Invariants in Dynamic Contexts}, booktitle = {European Conference on Object-Oriented Programming (ECOOP)}, month = Jun, year = 2004, editor = {Martin Odersky}, series = LNCS, volume = 3086, publisher = SV, pages = {491-516} } @techreport{Leino-Mueller04a, key = {Leino \& M\"{u}ller}, author = {K. Rustan M. Leino and Peter M\"{u}ller}, title = {Modular verification of global module invariants in object-oriented programs}, institution = {ETH Z\"{u}rich}, year = {2004}, number = {459}, note = {\url{www.inf.ethz.ch/research/publications/techreports/show?serial=459&lang=en}} } @inproceedings{Leino-Mueller05, key = {Leino \& M\"{u}ller}, author = {K. Rustan M. Leino and Peter M\"{u}ller}, title = {Modular verification of static class invariants}, booktitle = {Formal Methods (FM)}, month = Jul, year = 2005, editor = {John Fitzgerald and Ian J. Hayes and Andrzej Tarlecki}, series = LNCS, volume = 3582, pages = {26-42}, publisher = SV } @inproceedings{Leino-Mueller06, key = {Leino \& M\"{u}ller}, author = {K. Rustan M. Leino and Peter M\"uller}, title = {A verification methodology for model fields}, booktitle = {European Symposium on Programming (ESOP)}, editor = {Peter Sestoft}, month = Mar, year = {2006}, series = LNCS, volume = 3924, publisher = SV, pages = {115-130}, URL = {http://tinyurl.com/pzll8} } @TechReport{Leino-Nelson-Saxe00, author = {K. Rustan M. Leino and Greg Nelson and James B. Saxe}, title = {{ESC/Java} User's Manual}, institution = {Compaq Systems Research Center}, year = 2000, key = {Leino \& Nelson \& Saxe}, type = {Technical Note}, month = Oct } @TechReport{Leino-Nelson00, author = {K. Rustan M. Leino and Greg Nelson}, title = {Data abstraction and information hiding}, institution = {Compaq Systems Research Center}, year = 2000, key = {Leino \& Nelson}, type = {Technical Report}, number = 160, note = "To appear in TOPLAS", address = {130 Lytton Avenue Palo Alto, CA 94301} } @Article{Leino-Nelson02, key = {Leino \& Nelson}, author = {K. Rustan M. Leino and Greg Nelson}, title = {Data abstraction and information hiding}, journal = TOPLAS, year = 2002, volume = 24, number = 5, pages = {491--553}, month = Sep, annote = {37 references.} } @InProceedings{Leino-Poetzsch-Heffter-Zhou02, key = "Leino \& Poetzsch-Heffter \& Zhou", author = "K. Rustan M. Leino and Arnd Poetzsch-Heffter and Yunhong Zhou", title = "Using Data Groups to Specify and Check Side Effects", pages = "246--257", ISSN = "0362-1340", booktitle = "Proceedings of the {ACM} {SIGPLAN} 2002 Conference on Programming Language Design and Implementation ({PLDI}'02)", month = jun # " ~17--19", series = "SIGPLAN", volume = "37, 5", publisher = "ACM Press", address = "New York", year = 2002, annote = "Specifying statically checking the side effects of methods in a modular way, with only annotations for specifying data groups, inclusions, and modifies lists. Pivot uniqueness and owner exclusion restrictions. 34 references." } @InProceedings{Leino-Saxe-Stata99, key = "Leino \& Saxe \& Stata", author = "K. Rustan M. Leino and James B. Saxe and Raymie Stata", title = "Checking {Java} programs via guarded commands", editor = "Bart Jacobs and Gary T. Leavens and Peter M{\"u}ller and Arnd Poetzsch-Heffter", series = "Technical Report~251", booktitle = "Formal Techniques for {Java} Programs (FTfJP)", month = May, year = 1999, organization = "FernUniversit{\"a}t Hagen", note = "Also available as Technical Note 1999-002, Compaq Systems Research Center." } @TechReport{Leino-Saxe-Stata99a, key = "Leino \& Saxe \& Stata", author = {K. Rustan M. Leino and James B. Saxe and Raymie Stata}, title = {Checking {Java} programs via guarded commands}, institution = {Compaq Systems Research Center}, year = 1999, key = {Leino \& Saxe \& Stata}, type = {Technical Note}, number = {1999-002}, address = {Palo Alto, CA}, month = {May}, url = {http://gatekeeper.dec.com/pub/DEC/SRC/technical-notes/abstracts/src-tn-1999-002.html} } @Article{Leino-Stata99, author = {K. Rustan M. Leino and Raymie Stata}, title = {Virginity: A contribution to the specification of object-oriented software}, journal = {Information Processing Letters}, year = 1999, key = {Leino \& Stata}, volume = 70, number = 2, pages = {99-105}, month = {Apr} } @article{Leino05, author={K. Rustan M. Leino}, title = {Efficient Weakest Preconditions}, journal = IPL, volume = 93, number = 6, year = 2005, pages = {281-288} } @PhdThesis{Leino95, author = {K. Rustan M. Leino}, title = {Toward Reliable Modular Programs}, school = {California Institute of Technology}, year = 1995, key = {Leino}, note = {Available as Technical Report Caltech-CS-TR-95-03.} } @TechReport{Leino95a, author = {K. Rustan M. Leino}, title = {A myth in the modular specification of programs}, institution = DECSRC, year = 1995, key = {Leino}, number = {KRML 63}, address = {130 Lytton Avenue Palo Alto, CA 94301}, month = Nov, note = {Obtain from the author, at leino@microsoft.com} } @InProceedings{Leino97, Key = {Leino}, Author = {K. Rustan M. Leino}, Title = {Ecstatic: An object-oriented programming language with an axiomatic semantics}, BookTitle = {Fourth International Workshop on Foundations of Object-Oriented Languages (FOOL)}, Editor = {Pierce, Benjamin}, month = Jan, Year = 1997, Note = {Available from: \url{http://www.cis.upenn.edu/~bcpierce/FOOL/}.} } @InProceedings{Leino98, key = {Leino}, author = {K. Rustan M. Leino}, title = {Data groups: Specifying the modification of extended state}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {144-153}, annote = {Specification of frame conditions for methods in classes. 29 references.} } @Article{Lejter-Meyers-Reiss92, Key = "Lejter \& Meyers \& Reiss", Author = "Moises Lejter and Scott Meyers and Steven P. Reiss", Title = "Support for Maintaining Object-Oriented Programs", Journal = IEEETSE, Volume = 18, Number = 12, Month = Dec, Year = 1992, Pages = "1045-1052", Annote = "21 references." } @Book{Lerman93, Key = "Lerman", Author = "Steven R. Lerman", Title = "Problem Solving and Computation for Scientists and Engineers", Publisher = "Prentice Hall", Year = 1993, Address = "Englewood Cliffs, New Jersey", Annote = "21 references" } @Techreport{Lerner91, Key = "Lerner", Author = "Richard Allen Lerner", Title = "Specifying Objects of Concurrent Systems", Institution = CMU, Year = 1991, Type = "Ph.D. Thesis", Number = "CMU-CS-91-131", Month = May } @TechReport{Leszczylowski-Bieman88a, Key = "Leszczylowski \& Bieman", Author = "Jacek Leszczylowski and James M. Bieman", Title = "Growing Executable Specifications Using PROSPER", Institution = "Department of Computer Science, Iowa State University", Number = "88-1", Month = Jan, Year = 1988, Annote = "19 references." } @TechReport{Leszczylowski-Bieman88b, Key = "Leszczylowski \& Bieman", Author = "Jacek Leszczylowski and James M. Bieman", Title = "PROSPER: A Language for Specification by Prototyping", Institution = "Department of Computer Science, Iowa State University", Number = "88-18", Month = Sep, Year = 1988, Note = "To appear in {\em Computer Languages}", Annote = "37 references." } @Book{Lethbridge-Laganiere01, author = {Timothy C. Lethbridge and Robert Lagani\`{e}re}, title = {Object-Oriented Software Engineering}, publisher = {McGraw-Hill Education}, year = 2001, key = {Lethbridge \& Lagani\`{e}re}, address = {Berkshire, England}, annote = {Some references in the text.} } @Article{Leveson-Cha-Shimeall91, Key = "Leveson \& Cha \& Shimeall", Author = "Nancy Leveson and Stephen Cha and Timothy Shimeall", Title = "Safety Verification of Ada Programs Using Software Fault Trees", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 4, Month = Jul, Pages = "48-60", Annote = "9 references." } @InProceedings{Leveson-Heimdahl-Resse99, key = {Leveson \& Heimdahl \& Reese}, author = {Nancy G. Leveson and Mats P. E. Heimdahl and Jon Damon Reese}, title = "Designing Specification Languages for Process Control Systems: Lessons Learned and Steps to the Future", booktitle = "Software Engineering -- ESEC/FSE '99", month = Nov, year = "1999", editor = "Oscar Nierstrasz and Michel Lemoine", volume = "1687", series = LNCS, publisher = SV, pages = {127-145}, note = {Also ACM SIGSOFT {\em Software Engineering Notes}, volume 24, number 6.}, annote = {Lessons from RSML. Design of SpecTRM-RL. 14 references.} } @Article{Leveson86, Key = "Leveson", Author = "Nancy G. Leveson", Title = "Software Safety: What, Why, and How", Journal = ACMCS, Volume = 18, Number = 2, Month = Jun, Year = 1986, Pages = "125-163", Annote = "Surveys the state of research into software safety. 118 references. Bibliography includes 28 further references." } @Book{Leveson95, key = {Leveson}, author = {Nancy Leveson}, title = {Safeware : System Safety and Computers}, publisher = {Addison-Wesley Pub Co.}, year = 1995, address = {Reading, Mass.} } @InCollection{Lewerentz-etal95, key = "Lewerentz, {\em et al.}", author = {C. Lewerentz and Th. Lindner and A. R\"{u}ping and E. Sekerinski}, title = "On Object-Oriented Design and Verification", crossref = "Broy-Jaehnichen95", pages = "92-111", year = 1995, series = LNCS, volume = 1009, annote = "Behavioral subtyping in the refinement calculus. 32 references." } @InCollection{Lewington90, Key = "Lewington", Author = "Lewington", Title = "Towards Constructive Program Derivation in {VDM}", BookTitle = "Foundations of Software Technology and Computer Science, Tenth Conference, Bangalore, India", Publisher = Springer-Verlag, Year = 1990, Editor = "K. V. Nori and C. E. Veni Madhavan", Series = LNCS, Volume = 472, Pages = "115-132", Address = NY, Month = Dec } @InProceedings{Lewis-etal91, author = "John A. Lewis and Sallie M. Henry and Dennis G. Kafura and Robert S. Schulman", title = "An Empirical Study of the Object-Oriented Paradigm and Software Reuse", editor = "Andreas Paepcke", booktitle = "{OOPSLA}~'91 Conference Proceedings: Object-Oriented Programming Systems, Languages, and Applications", year = "1991", publisher = "ACM Press", pages = "184-196", url = "http://www.acm.org/pubs/articles/proceedings/oops/117954/p184-lewis/p184-lewis.pdf", note = {Published as ACM SIGPLAN Notices, volume 26, number 11}, annote = "10 references." } @Article{Lieberherr-Holland-Riel88, Key = "Lieberherr \& Holland \& Riel", Author = "K. Lieberherr and I. Holland and A. Riel", Title = "Object-Oriented Programming: An Objective Sense of Style", Journal = SIGPLAN, Volume = 23, Number = 11, Month = Nov, Year = 1989, Pages = "323-334", Note = "OOPSLA '88 Conference Proceedings, Norman Meyrowitz (editor), October 1987, San Diego, Calif.", Annote = "18 references." } @Article{Lieberherr-Holland89, Key = "Lieberherr \& Holland", Author = "Karl J. Lieberherr and Ian M. Holland", Title = "Assuring Good Style for Object-Oriented Programs", Journal = "IEEE Software", Volume = 6, Number = 5, Month = Sep, Year = 1989, Pages = "38-48", Annote = "The law of Demeter. Each method can only send messages to argument objects, to self, and to instance variables. 10 references." } @article{Lieberherr-Lorenz-Ovlinger03a, Key = {Lieberherr \& Lorenz \& Ovlinger}, Author = {Karl Lieberherr and David H. Lorenz and Johan Ovlinger}, Address = {Oxford, UK}, Journal = {The Computer Journal}, Organization = {British Computer Society}, Pages = {542-565}, Publisher = {Oxford University Press}, Title = {Aspectual Collaborations: Combining Modules and Aspects}, Volume = {46(5)}, Year = {2003} } @Article{Lieberherr-Xiao93, Key = "Lieberherr \& Xiao", Author = "Karl J. Lieberherr and C. Xiao", Title = "Object Oriented Software evolution", Journal = "IEEETSE", Volume = 19, Number = 4, Month = Apr, Year = 1993, Pages = "313-343", Annote = "48 references." } @Book{Lieberherr96, key = "Lieberherr", author = "Karl J. Lieberherr", title = "Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns", publisher = "PWS Publishing Company", year = 1996, address = Boston, Note = "Available from \url{http://www.ccs.neu.edu/research/demeter/biblio/dem-book.html}" } @Article{Lientz83, Key = "Lientz", Author = "Bennet P. Lientz", Title = "Issues in Software Maintenance", Journal = ACMCS, Volume = 15, Number = 3, Month = Sep, Year = 1983, Pages = "271-278", Annote = "Identifies problem areas by surveying practitioners. Biggest problems are documentation quality, demand for enhancements and extensions, competing demands for maintenance personnel time, meeting scheduled deadlines and turnover in user organizations. Enhancements consume 60% of resources in maintenance, 40% for bug fixing. 10 references." } @Book{Lightfoot91, Key = "Lightfoot", Author = "Lightfoot", Title = "Formal Specification using {Z}", Publisher = "MacMillan", Year = 1991 } @Article{Lim-etal95, title = "An Accurate Worst Case Timing Analysis for {RISC} Processors", author = "Sung-Soo Lim and Young Hyun Bae and Gyu Tae Jang and Byung-Do Rhee and Sang Lyul Min and Chang Yun Park and Heonshik Shin and Kunsoo Park and Soo-Mook Moon and Chong Sang Kim", pages = "593-604", journal = IEEETSE, year = "1995", volume = "21", month = Jul, number = 7 } @Article{Lin93, Key = "Lin", Author = "Huimin Lin", Title = "Procedural Implementation of Algebraic Specifications", Journal = TOPLAS, Volume = 15, Number = 5, Month = Nov, Year = 1993, Pages = "876-895", Annote = "20 refernces" } @InCollection{Liskov-Berzins79, Key = "Liskov \& Berzins", Author = "Barbara H. Liskov and Valdis Berzins", Title = "An Appraisal of Program Specifications", BookTitle = "Research Directions in Software Technology", Editor = "Peter Wegner", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1979, Pages = "276-301", Annote = "Review and evaluation of formal specification techniques. 54 references." } @Book{Liskov-Guttag01, Key = "Liskov \& Guttag", Author = "Barbara Liskov and John Guttag", Title = "Program Development in Java", Year = 2001, Publisher = MITP, Address = "Cambridge, Mass.", Annote = "Abstraction and Specification." } @Book{Liskov-Guttag86, Key = "Liskov \& Guttag", Author = "Barbara Liskov and John Guttag", Title = "Abstraction and Specification in Program Development", Year = 1986, Publisher = MITP, Address = "Cambridge, Mass.", Annote = "Program design. CLU used as a vehicle and defined." } @Article{Liskov-Weihl86, Key = "Liskov \& Weihl", Author = "Barbara Liskov and William Weihl", Title = "Specifications of Distributed Programs", Journal = "Distributed Computing", Publisher = SV, Address = NY, Year = 1986, Volume = 1, Pages = "102-118", Annote = "22 references." } @Unpublished{Liskov-Wing92, Key = "Liskov \& Wing", Author = "Barbara Liskov and Jeannette Wing", Title = "A Semantic Notion of Subtyping", Note = "Obtained from the authors.", Annote = "", Month = Aug, Year = 1992 } @TechReport{Liskov-Wing92b, Key = "Liskov \& Wing", Author = "Barbara Liskov and Jeannette M. Wing", Title = "Family Values: A Semantic Notion of Subtyping", Institution = MITLCS, Number = 562, Month = Dec, Year = 1992, Annote = "26 references." } @InCollection{Liskov-Wing93, Key = "Liskov \& Wing", Author = "Barbara Liskov and Jeannette M. Wing", Title = "A New Definition of the Subtype Relation", BookTitle = "ECOOP '93 --- Object-Oriented Programming, 7th European Conference, Kaiserslautern, Germany", Publisher = SV, Year = 1993, Editor = "Oscar M. Nierstrasz", Series = LNCS, Volume = 707, Pages = "118-141", Address = NY, Month = Jul, Annote = "The discussion on page 138 of the work of Leavens and Weihl is wrong: Leavens and Weihl do not map supertype values down to subtype values. 25 references." } @Article{Liskov-Wing93b, Key = "Liskov \& Wing", Author = "Barbara Liskov and Jeannette M. Wing", Title = "Specifications and Their Use in Defining Subtypes", Journal = SIGPLAN, Volume = 28, Number = 10, Month = Oct, Year = 1993, Pages = "16-28", Note = "{\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).", Annote = "27 references." } @TechReport{Liskov-Wing93c, Key = "Liskov \& Wing", Author = "Barbara Liskov and Jeannette M. Wing", Title = "A New Definition of the Subtype Relation", Institution = MITLCS, Type = "Programming Methodology Group Memo", Number = 76, Month = May, Year = 1993, Note = "To appear in the proceedings of ECOOP '93.", Annote = "25 references." } @Article{Liskov-Wing93d, Key = "Liskov \& Wing", Author = "Barbara Liskov and Jeannette Wing", Title = "Corrigenda to ECOOP '93 Paper", Journal = SIGPLAN, Year = 1993, Volume = 29, Number = 4, Month = Apr, Pages = 4 } @Article{Liskov-Wing94, key = "Liskov \& Wing", author = "Barbara H. Liskov and Jeannette M. Wing", title = "A Behavioral Notion of Subtyping", journal = TOPLAS, year = 1994, volume = 16, number = 6, pages = "1811-1841", month = Nov, annote = "37 references." } @Article{Liskov-Zilles75, Author = "Liskov, Barbara H. and Zilles, Stephen N.", Title = "Specification Techniques for Data Abstraction", Journal = "Transactions on Software Engineering", Month = "March", Year = 1975, Volume = 1, Number = 1 } @InCollection{Liskov-Zilles77, Key = "Liskov \& Zilles", Author = "B. Liskov and S. N. Zilles", Title = "An Introduction to Formal Specifications of Data Abstractions", BookTitle = "Current Trends in Programming Methodology", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1977, Volume = 1, Editor = "Raymond T. Yeh", Pages = "1-32", Note = {Revised version of ``Specification Techniques for Data Abstractions'', IEEE Transactions on Software Engineering, SE-1(1), March, 1975, pages 7-19.}, Annote = "Importance of formal specifications and a survey of specification techniques." } @InProceedings{Liskov72, Key = "Liskov", Title = "A Design Methodology for Reliable Software Systems", Author = "B. H. Liskov", BookTitle = "1972 Fall Joint Computer Conference", Organization = AFIPS, Year = 1972, Pages = "191-199" } @InCollection{Liskov80, Key = "Liskov", Author = "Barbara Liskov", Title = "Modular Program Construction Using Abstraction", BookTitle = "Abstract Software Specifications, 1979 Copenhagen Winter School Proceedings", Year = 1980, Series = LNCS, Editor = "D. Bjorner", Publisher = SV, Address = NY, Volume = 86, Pages = "354-389", Annote = "A methodology for modular decomposition based on recognition of useful abstractions. Module dependency graph, informal specifications. 11 references." } @InProceedings{Liu-Gomez98, key = "Liu \& Gomez", author = "Yanhong A. Liu and Gustavo Gomez", title = "Automatic Accurate Time-Bound Analysis for High-Level Languages", booktitle = "ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems", series = LNCS, publisher = SV, volume = "1474", pages = "31ff", year = 1998, URL = "http://link.springer-ny.com/link/service/series/0558/papers/1474/14740031.pdf", } @Article{Liu-etal98, key = {Liu, {\em et al.}}, author = {Shaoying Liu and A. Jeff Offutt and Chris Ho-Stuart and Yong Sun and Mitsuru Ohba}, title = {{SOFL}: A Formal Engineering Methodology for Industrial Applications}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = Jan, pages = {24-45}, annote = {36 references.} } @Book{Loeckx-Ehrich-Wolf96, key = {Loeckx \& Ehrich \& Wolf}, author = {Jacques Loeckx and Hans-Dieter Ehrich and Markus Wolf}, title = {Specification of Abstract Data Types}, publisher = {John Wiley \& Sons Ltd and B. G. Teubner}, year = 1996, address = NY, annote = {Many references.} } @Book{Loeckx-Sieber87, Key = "Loeckx \& Sieber", Author = "Jacques Loeckx and Kurt Sieber", Title = "The Foundations of Program Verification (Second edition)", Publisher = Wiley, Year = 1987, Address = NY, Annote = "121 references." } @InProceedings{Loeckx85, author = "J. Loeckx", title = "The algorithmic specification method of abstract data types: an overview", pages = "194--200", ISBN = "3-540-16444-8", editor = "W. Bibel and K. P. Jantke", booktitle = "Proceedings of the International Spring School on Mathematical Methods of Specification and Synthesis of Software Systems '85", address = "Wendisch-Rietz, GDR", month = apr, year = "1985", series = LNCS, volume = "215", publisher = "Springer" } @Article{Loeckx87, Key = "Loeckx", Author = "Jacques Loeckx", Title = "Algorithmic Specifications: A Constructive Specification Method for Abstract Data Types", Journal = TOPLAS, Volume = 9, Number = 4, Month = Oct, Year = 1987, Pages = "646-685", Annote = "Specification method and logic. A first-order logic for strict partial functions. 60 references." } @InProceedings{Lorenz97, key = {Lorenz}, author = {David H. Lorenz}, title = {Tiling Design Patterns---A Case Study Using the Interpreter Pattern}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {206-217}, annote = {38 references.} } @Article{Loveman77, Key = "Loveman", Author = "Loveman, D. B.", Title = "Program Improvement by Source-to-Source Transformation", Journal = JACM, Year = 1977, Month = Jan, Volume = 24, Number = 1, Pages = "121-145" } @PhDThesis{Low74, Key = "Low", Title = "Automatic Coding: Choice of Data Structures", Author = "J. R. Low", School = "Stanford University", Year = 1974 } @InCollection{Lowe-etal91, Key = "Lowe, {\em et al.}", Author = "M. Lowe and H. Ehrig and W. Fey and D. Jacobs", Title = "On the Relationahip between Algebraic Module Specifications and Program Modules", BookTitle = "TAPSOFT '91, Proceedings of the International Joint Conference on Theory and Practice of Software Development, Brighton, UK, Volume 2, Advances in Distributed Computing (ADC) and Colloquium on Combining Paradigms for Software Development (CCPSD)", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Abramsky and T. S. E. Maibaum", Series = LNCS, Volume = 494, Pages = "83-98", Address = NY, Month = Apr } @InProceedings{Lu-Potter06, key = {Lu \& Potter}, author = {Yi Lu and John Potter}, title = {Protecting Representation with Effect Encapsulation}, booktitle = POPL, year = 2006, pages = {359-371}, annote = {33 references.} } @Article{Lubars86, Key = "Lubars", Author = "Mitchell D. Lubars", Title = "Code Reusability in the Large versus Code Reusability in the Small", Journal = SIGSOFT, Volume = 11, Number = 1, Month = Jan, Year = 1986, Pages = "21-28", Annote = "Interesting discussion of code reuse. Distinguishes the reuse of code by a related program, in the small, from reuse of generic modules, in the large. Argues that neither kind of reuse will have a large impact until they can be combined. 12 references." } @PhdThesis{Lucas97, author = {Carine Lucas}, title = {Documenting Reuse and Evolution with Reuse Contracts}, school = {Vrije Universiteit Brussel}, year = 1997, key = {Lucas}, address = {Brussels, Belgium}, month = Sep, annote = {116 references.} } @Article{Luckham-Sankar-Takahashi91, key = {Luckham \& Sankar \& Takahashi}, author = {David C. Luckham and Sriram Sankar and Shuzo Takahashi}, title = {Two-Dimensional Pinpointing: Debugging with Formal Specifications}, journal = {IEEE Software}, year = 1991, volume = 8, number = 1, month = Jan, pages = {74-84}, annote = {4 references.} } @Article{Luckham-Suzuki79, Key = "Luckham \& Suzuki", Author = "David Luckham and Norihisa Suzuki", Title = "Verification of Array, Record, and Pointer Operations in {Pascal}", Journal = TOPLAS, Year = 1979, Volume = 1, Number = 2, Month = Oct, Pages = "226-244", Annote = "Verification of complex data structures. Reachability. 21 references." } @InCollection{Luckham-Vera-Meldal00, Key = "Luckham \& Vera \& Meldal", Author = "David C. Luckham and James Vera and Sigurd Meldal", Title = "Key Concepts in Architecture Definition Languages", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 2, Pages = "23-45", Annote = "28 references." } @InCollection{Luckham-etal86, Key = "Luckham, {\em et al.}", Author = "D. C. Luckham and D. P. Helmbold and S. Meldal and D. L. Bryan and M. A. Haberler", Title = "Task sequencing language for specifying distributed {A}da systems", BookTitle = "System Development and Ada", Editor = "A. N. Haberman and U. Montanari", Series = LNCS, Volume = 275, Pages = "249-305", Publisher = SV, Address = NY, Month = May, Year = 1986 } @Book{Luckham-etal87, Key = "Luckham, {\em et al.}", Author = {David Luckham and Friedrich W. von Henke and Bernd Krieg-Br\"{u}ckner and Olaf Owe}, Title = "{ANNA} - A Language for Annotating {Ada} Programs", Series = LNCS, Volume = 260, Publisher = SV, Address = NY, Year = 1987 } @Article{Luckham-vonHenke85, Key = "Luckham \& von Henke", Author = {David Luckham and Friedrich W. von Henke}, Title = "An Overview of {Anna} --- A Specification Language for {A}da", Journal = "IEEE Software", Volume = 2, Number = 2, Month = Mar, Year = 1985, Pages = "9-23" } @Book{Luckham90, Key = "Luckham", Author = "David Luckham", Title = "Programming with Specifications: An Introduction to Anna, A Language for Specifying Ada Programs", Publisher = SV, Address = NY, Year = 1990, Series = "Texts and Monographs in Computer Science", Annote = "Many references." } @InCollection{Lumpe-Achermann-Nierstrasz00, Key = "Lumpe \& Achermann \& Nierstrasz", Author = "Markus Lumpe and Franz Achermann and Oscar Nierstrasz", Title = "A Formal Language for Composition", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 4, Pages = "69-90", Annote = "30 references." } @Article{Luqi-Berzins-Yeh88, Key = "Luqi \& Berzins \& Yeh", Author = "Luqi and V. Berzins and R. Yeh", Title = "A Prototyping Language for Real-Time Software", Journal = IEEETSE, Year = 1988, Volume = "SE-14", Number = 10, Month = Oct, Pages = "1409-1423", Annote = "PSDL is an enhanced DFD." } @Article{Luqi-Goguen97, author = {Luqi and Joseph A. Goguen}, title = {Formal Methods: Promises and Problems}, journal = {IEEE Software}, year = 1997, key = {Luqi \& Goguen}, volume = 14, number = 1, month = Jan, pages = {73-85}, annote = {19 references.} } @MastersThesis{Lyle92, Key = "Lyle", Author = "Kari Ann Lyle", Title = "Refinement in Data Flow Diagrams", School = "Iowa State University", Year = 1992, Address = "Ames, Iowa 50011", Month = Jul, Annote = "9 references." } @Article{MacEwen-Martin81, Key = "MacEwen \& Martin", Author = "Glenn H. MacEwen and T. Patrick Martin", Title = "Abstraction Hierarchies in Top-Down Design", Journal = "The Journal of Systems and Software", Volume = 2, Number = 3, Month = Sep, Pages = "213-224", Year = 1981, Annote = "Use of data and procedural abstractions in top-down design. 32 references." } @Book{Maciaszek01, author = {Leszek A. Maciaszek}, title = {Requirements Analysis and System Design}, publisher = {Addison-Wesley}, year = 2001, key = {Maciaszek}, annote = {Many references} } @InCollection{Maddux93, key = "Maddux", author = "Roger D. Maddux", title = "Relation Algebras for Reasoning about Time and Space", booktitle = "Algebraic Methodology and Software Technology (AMAST '93)", publisher = SV, year = 1993, editor = "M. Nivat and C Rattray and T. Rus and G. Scollo", series = "Workshops in Computing", pages = "27-44", address = NY, annote = "45 references." } @InProceedings{Mahony-Dong98, key = {Mahony \& Dong}, author = {Brendan Mahony and Jin Song Dong}, title = {Blending {Object-Z} and {Timed CSP}: An Introduction to {TCOZ}}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = Apr, pages = {95-104}, annote = {18 references.} } @PhdThesis{Mahony92, author = {B. P. Mahony}, title = {The Specification and Refinement of Timed Processes}, school = {University of Queensland}, year = 1992 } @TechReport{Maibaum-Fiadeiro-Sadler90, key = {Maibaum \& Fiadeiro \& Sadler}, author = {T. Maibaum and J. Fiadeiro and M. Sadler}, title = {Stepwise program development in $\pi$-institutions}, institution = {Imperial College of Science, Technology and Medicine, Department of Computing}, year = 1990 } @InCollection{Maibaum-Sadler85, author = {T. Maibaum and M. Sadler}, title = {Axiomatising specification theory}, booktitle = {Recent Trends in Data Type Specification}, key = {Maibaum \& Sadler}, publisher = SV, year = 1985, editor = {H.-J. Kreowski}, number = 116, address = NY, series = {Informatik-Facberichte}, pages = {171-177} } @InProceedings{Manca-Salibra-Scollo89, Key = "Manca \& Salibra \& Scollo", Author = "V. Manca and A. Salibra and G. Scollo", Title = "On the Nature of {TELLUS} (a Typed Equational Logic Look over Uniform Specification)", BookTitle = "International Symposium on Mathematical Foundations of Computer Science, Rytro, Poland", Month = Aug, Year = 1989, Publisher = SV, Annote = "Unifying equational initiality with type assignment to provide better treatment of partial functions in equational specs." } @Book{Manes92, Key = "Manes", Author = "Ernest G. Manes", Title = "Predicate Transformer Semantics", Publisher = "Cambridge University Press", Year = 1992, Series = "Cambridge tracts in theoretical computer science, v.33", Address = NY } @Book{Manna-Pnueli92, Key = "Manna \& Pnueli", Author = "Zohar Manna and Amir Pnueli", Title = "The Temporal Logic of Reactive and Concurrent Systems", Publisher = SV, Year = 1992, Address = NY, Annote = "Many references." } @Article{Manna-Waldinger78, Key = "Manna \& Waldinger", Author = "Zohar Manna and Richard Waldinger", Title = "The Logic of Computer Programming", Journal = IEEETSE, Year = 1978, Volume = "SE-4", Number = 3, Month = May, Pages = "199-229", Annote = "87 references." } @Article{Manna-Waldinger78a, Key = "Manna \& Waldinger", Author = "Zohar Manna and Richard Waldinger", Title = "Is 'Sometime' Sometimes Better that 'Always'? Intermittent Assertions in Proving Program Correctness", Journal = CACM, Year = 1978, Volume = 21, Number = 2, Month = Feb, Pages = "159-172", Annote = "18 references." } @Article{Manna-Waldinger79, Key = "Manna \& Waldinger", Author = "Z. Manna and R. Waldinger", Title = "Synthesis: Dreams => Programs", Journal = IEEETSE, Year = 1979, Month = Jul, Volume = "SE-5", Number = 4, Pages = "294-328" } @Article{Manna-Waldinger80, Key = "Manna \& Waldinger", Author = "Zohar Manna and Richard Waldinger", Title = "A Deductive Approach to Program Synthesis", Journal = TOPLAS, Year = 1980, Month = Jan, Volume = 2, Number = 1, Pages = "90-121", Annote = "Systematic derivation of program from specification. Deductive approach using transformation rules, unification, and induction to drive its theorem proving method. 14 references." } @Article{Manna-Waldinger81, Key = "Manna \& Waldinger", Author = "Z. Manna and R. Waldinger", Title = "Problematic Features of programming Languages: A Situational-Calculus Approach", Journal = "Acta Informatica", Year = 1981, Volume = 16, Pages = "371-426" } @Article{Manna-Waldinger92, Key = "Manna \& Waldinger", Author = "Zohar Manna and Richard Waldinger", Title = "Fundamentals of Deductive Program Synthesis", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 8, Month = Aug, Pages = "674-704", Annote = "Good article, on deduction tableaus. 47 references." } @Book{Manna-Waldinger93, Key = "Manna \& Waldinger", Author = "Zohar Manna and Richard Waldinger", Title = "The Deductive Foundations of Computer Programming", Publisher = "Addison-Wesley", Year = 1993, Address = NY, Annote = "A one volume version of ``The Logical Basis for Computer Programming.'' Annotated bibliography." } @article{Marche-Paulin-Mohring-Urbain04, key = {March{\'e} \& Paulin-Mohring and Urbain}, author = {Claude March{\'e} and Christine Paulin-Mohring and Xavier Urbain}, title = {The {KRAKATOA} tool for certification of {JAVA}/{JAVACARD} programs annotated in {JML}}, journal = "Journal of Logic and Algebraic Programming", volume = {58}, number = {1-2}, month = jan # "--" # mar, year = {2004}, pages = {89-106} } @TechReport{Markland98, Key = "Markland", Author = "Matthew W. Markland", Title = "Design and Implementation of the {Larch/C++} Type System", Institution = "Department of Computer Science, Iowa State University", Address = "226 Atanasoff Hall, Ames, IA 50011-1040", Month = Jun, Year = 1998, Number = "98-05", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR98-05/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "14 references." } @TechReport{Marshall86, Key = "Marshall", Author = "Lynn S. Marshall", Title = "A Formal Description Method for User Interfaces", Institution = "Department of Computer Science, University of Manchester", Address = "Manchester M13 9PL, England", Number = "UMCS-87-1-2", Month = Oct, Year = 1986, Note = "The author's Ph.D. dissertation.", Annote = "Hybrid of transition-state diagrams and abstract model specs. Over a hundred references." } @Proceedings{Martin-Wing93, Key = "Martin \& Wing", Title = "Proceedings of the First International Workshop on Larch, July, 1992", Publisher = SV, Editor = "U. Martin and J. Wing", Series = "Workshops in Computing", Address = NY, Year = 1993 } @Book{Martin03, author = {Robert Cecil Martin}, title = {Agile Software Development: Principles, Patterns, and Practices}, publisher = {Prentice Hall}, year = 2003, key = {Martin} } @InCollection{Martin92, Key = "Martin", Author = "T. Martin", Title = "Realtime Programming Language PEARL - Concepts and Characteristics", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "439-444", Address = "Los Alamitos, California", Month = Oct, Annote = "0 references." } @article{Martin96, key = {Martin}, author = {Mike A. Martin}, title = {Effective Use of Assertions in {C++}}, journal = SIGPLAN, year = {1996}, month = Nov, volume = {31}, number = {11}, pages = {28-32}, annote = {refer to Rosenblum95, Winkler-Kauer97, Curcio98} } @InCollection{Martin98b, key = {Martin}, author = {Robert C. Martin}, title = {Acyclic Visitor}, booktitle = {Pattern Languages of Program Design 3}, publisher = {Addison-Wesley Publishing Co.}, address = {Reading, MA}, year = 1998, editor = {Robert C. Martin and Dirk Riehle and Frank Buschmann}, pages = {93-104} } @InProceedings{Mason-Talcott89, Key = "Mason \& Talcott", Author = "Ian A. Mason and Carolyn Talcott", Title = "Axiomatizing Operational Equivalence in the presence of Side Effects", BookTitle = "Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California", Organization = IEEE, Month = Jun, Year = 1989, Pages = "284-293", Annote = "Reasoning about programs with side effects. 15 references." } @InCollection{Mason-Talcott90, Key = "Mason \& Talcott", Author = "Ian Mason and Carolyn Talcott", Title = "Reasoning about programs with effects", BookTitle = "Programming Language Implementation and Logic Programming: International Workshop PLILP '90 Proceedings", Publisher = SV, Year = 1990, Editor = "P. Deransart and J. Maluszynski", Series = LNCS, Volume = 456, Pages = "189-203", Month = Aug, Annote = "13 references." } @book{Massol-OBrien05a, Key = {Massol \& O'Brien}, Author = {Vincent Massol and Timothy M. O'Brien}, Title = {{Maven}: A Developer's Notebook}, Publisher = {O'Reilly}, Address = {Sebastopol, CA}, Year = {2005} } @unpublished{Matisse03, key = {Matisse}, author = {{Matisse Partners}}, title = {Matisse: Methodologies and technologies for industrial strength systems engineering}, year = 2003, note = {\url{http://www.matisse.qinetiq.com/}} } @Article{Matsuura-Kuruma-Honiden97, Key = "Matsuura \& Kuruma \& Honiden", Author = "Saeko Matsuura and Hironobu Kuruma and Shinichi Honiden", title = "{EVA}: A Flexible Programming Method for Evolving Systems", journal = IEEETSE, pages = "296-313", month = May, year = 1997, volume = 23, number = 5, annote = "27 references." } @InProceedings{Maung-Howse-Mitchel94, Key = "Maung \& Howse \& Mitchell", Author = "I. Maung and J. R. Howse and R. J. Mitchell", Title = "Towards a Formalization of Programming-by-Difference", booktitle = "{FME '94}: Industrial Benefits of Formal Methods", publisher = SV, year = 1995, editor = "Maurice Naftalin and Tim Denvir and Miquel Bertran", volume = 873, series = LNCS, pages = "134-153", address = NY, annote = "26 references." } @InProceedings{Maung-Howse93, Key = "Maung \& Howse", Author = {I. Maung and J. R. Howse}, Title = {Introducing {Hyper-Z} -- A New Approach to Object Orientation in {Z}}, Crossref = "Bowen-Nicholls93", Pages = "149-165" } @Article{Maurer00, author = {Peter M. Maurer}, title = {Components: What If They Gave a Revolution and Nobody Came?}, journal = {Computer}, year = 2000, key = {Maurer}, volume = 33, number = 6, pages = {20-34}, month = {Jun}, annote = {Mostly discusses Visual Basic. 3 references.} } @Book{Maurer03, key = {Maurer}, author = {Peter Maurer}, title = {Component-Level Programming}, publisher = {Prentice-Hall}, year = 2003, address = {Upper Saddle River, NJ} } @article{McBride-McKinna04, key="McBride and McKinna", author="C. McBride and J. McKinna", title={The View from the Left}, journal="Journal of Functional Programming", year=2004, volume=14, number=1 } @Article{McCullough92, Key = "McCullough", Author = "Paul McCullough", Title = "Reuse: Truth or Fiction", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "44", Note = "{\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor)." } @TechReport{McCurley89, Key = "McCurley", Author = "E. Robert McCurley", Title = "Auxiliary Variables in Partial Correctness Programming Logics", Institution = "School of Information and Computer Science, Georgia Institute of Technology", Month = Nov, Year = 1989, Number = "GIT-ICS-89/44", Annote = "Unsoundness of the rule for eliminating auxiliary variables in the Owicki-Gries logic for partial correctness of parallel programs. 9 references." } @Book{McGettrick82, author = {A. D. McGettrick}, title = {Program Verification using Ada}, publisher = {Cambridge University Press}, year = 1982, key = {McGettrick}, number = 13, series = {Cambridge Computer Science Texts}, address = {Cambridge, UK}, annote = {Many references.} } @Article{Mead-Carter97, key = {Mead \& Carter \& Lutz}, author = {Nancy Mead and David Carter and Michael Lutz}, title = {The State of Software Engineering Education and Training}, journal = {IEEE Software}, year = 1997, volume = 14, number = 6, month = Nov, pages = {22-25}, annote = {Introduction to special issue.} } @Book{Mead-Shende02, key = {Mead \& Shende}, author = {Jerud J. Mead and Anil M. Shende}, title = {A Guide to Persuasive Programming in Java}, publisher = {Franklin, Beedle \& Associates, Inc}, year = 2002, annote = {Persuasion means writing assertions that convince the reader of a program's correctness.} } @Book{Meertens86, Key = "Meertens", Editor = "L. G. L. T Meertens", Title = "Program Specification and Transformation", Publisher = "North-Holland", Year = 1987 } @Article{Mehta-Nipkow05, Key = "Mehta \&Nipkow", Author = "Farhad Mehta and Tobias Nipkow", Title = "Proving pointer programs in higher-order logic", Journal = "Information and Computation", Volume = 159, Pages = "200-227", Month = May, Year = 2005, Annote = "20 references." } @inproceedings{Meijer-Poll01, author = {H. Meijer and E. Poll}, title = {Towards a full formal specification of the {Java Card API}}, editor = {I. Attali and T. Jensen}, booktitle = {Smart Card Programming and Security}, month = {September}, series = LNCS, publisher = SV, year = {2001}, number = {2140}, pages = {165-178}, } @InCollection{Meira-Cavalcanti-Santos94, author = "Silvio Lemos Meira and Ana L\'{u}cia C. Cavalcanti and Cassio Souza Santos", title = "The {Unix} Filing System: A {MooZ} Specification", key = "Meira \& Cavalcanti \& Santos", booktitle = "Object-Oriented Specification Case Studies", publisher = "Prentice-Hall", year = 1994, editor = "Kevin Lano and Howard Haughton", series = "The Object-Oriented Series", chapter = 4, Crossref = "Lano-Haughton94", pages = "80-109", address = NY } @InCollection{Meira-Cavalcanti92, author = "Silvio Lemos Meira and Ana L\'{u}cia C. Cavalcanti", title = "{MooZ} Case Studies", Editor = "Susan Stepney and Rosalind Barden and David Cooper", BookTitle = "Object Orientation in {Z}", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Crossref = "Stepney-Barden-Cooper92", Pages = "37-58" } @Book{Mellor-etal04, author = {Stephen J. Mellor and Kendall Scott and Axel Uhl and Dirk Weise}, title = {MDA Distilled: Principles of Model-Driven Architecture}, publisher = {Addison-Wesley}, year = 2004, address = "Boston", key = {Mellor, {\it et al.}}, annote = {14 references} } @TechReport{Melton-etal88, Key = "Melton, {\em et al.}", Author = "Austin C. Melton and Albert L. Baker and James M. Bieman and David M Gustafson", Title = "A Mathematical Perspective for Software Measures Research", Institution = "Department of Computer Science, Iowa State University", Number = "88-5", Month = Jan, Year = 1988, Annote = "46 references." } @Article{Melton-etal90, Key = "Melton, {\em et al.}", Author = "Austin C. Melton and David M Gustafson and James M. Bieman and Albert L. Baker ", Title = "A Mathematical Perspective for Software Measures Research", Journal = "Software Engineering Journal", Volume = 5, Number = 5, Month = Sep, Year = 1990, Pages = "246-254" } @TechReport{Mertens-etal02, Key = {Mertens, {\em et al.}}, Author = {Kristof Mertens and Nele Smeets and Marko van Dooren and Jan Fockx and Eric Steegmans}, Title = {A New Semantics for {JML} Signals Clauses}, Institution = {Katholieke Universiteit Leuven}, Year = 2002, Number = {CW 343}, Month = Jun, Address = {Celestijnenlaan 200A - B-3001 Heverlee, Belgium}, Url = {http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW343.abs.html} } @Book{Merx-Norman07, author = {Georges G. Merx and Ronald J. Norman}, title = {Unified Software Engineering with Java}, publisher = {Pearson Education Inc.}, year = 2007 } @InCollection{Meseguer-Goguen85, Title = "Initiality, Induction and Computability", Author = "Jos\'e Meseguer and Joseph Goguen", BookTitle = "Algebraic Methods in Semantics", Editor = "Maurice Nivat and John Reynolds", Publisher = "Cambridge University Press", Address = "Cambridge", Year = 1985, Pages = "459-541" } @Article{Metayer-Nicolas-Ridoux98, key = {M\'{e}tayer \& Nicolas \& Ridoux}, author = {Daniel M\'{e}tayer and Val\'{e}rie-Anne Nicolas and Oliver Ridoux}, title = {Exploring the Software Development Trilogy}, journal = {IEEE Software}, year = 1998, volume = 15, number = 6, month = Nov, pages = {75-81}, annote = {Automated test generation based on machine learning techniques. 17 references.} } @InCollection{Meusel-Czarnecki-Koepf97, key = {Meusel \& Czarnecki \& K\"{o}pf}, author = {Matthias Meusel and Krzysztof Czarnecki and Wolfgang K\"{o}pf}, title = {A Model for Structuring User Documentation of Object-Oriented Frameworks using Patterns and Hypertext}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {496-510}, annote = {34 references.} } @Article{Meyer-Arnout06, key = {Meyer \& Arnout}, author = {Bertrand Meyer and Karine Arnout}, title = {Componentization: The {Visitor} Example}, journal = {Computer}, year = 2006, volume = 39, number = 7, pages = {23-30}, month = Jul, annote = {11 references.} } @inproceedings{Meyer-Poetzsch-Heffter00, Author = {J. Meyer and A. Poetzsch-Heffter}, Title = {An Architecture for interactive Program Provers}, BookTitle = {Tools and Algorithms for the Construction and Analysis of Systems}, Editor = {S. Graf and M. Schwartzbach}, Series = LNCS, Publisher = SV, Volume = 1785, Pages = {63-77}, annote = {Main reference for the JIVE verification system.}, Year = 2000 } @Book{Meyer-Wieringa93, editor = "John-Jules Ch. Meyer and Roel J. Wieringa", title = "Deontic Logic in Computer Science", publisher = "John Wiley and Sons", year = 1993, series = "Wiley Professional Computing Series", address = "Chichester, UK" } @Book{Meyer-Wieringa93, key = "Meyer \& Wieringa", editor = "John-Jules Ch. Meyer and Roel J. Wieringa", title = "Deontic Logic in Computer Science", publisher = "John Wiley and Sons", year = 1993, series = "Wiley Professional Computing Series", address = "Chichester, UK" } @InBook{Meyer-Wieringa93a, author = "John-Jules Ch. Meyer and Roel J. Wieringa", title = "Deontic Logic: A Concise Overview", chapter = 1, crossref = "Meyer-Wieringa93", key = "Meyer \& Wieringa", pages = "3-16", annote = "Historical survey. Many references." } @InBook{Meyer-Wieringa93b, author = "Roel J. Wieringa and John-Jules Ch. Meyer", title = "Applications of Deontic Logic in Computer Science: A Concise Overview", chapter = 2, crossref = "Meyer-Wieringa93", key = "Meyer \& Wieringa", pages = "17-40", annote = "Many references." } @Article{Meyer85, Key = "Meyer", Author = "B. Meyer", Title = "On Formalism in Specification", Journal = "IEEE Software", Month = Jan, Year = 1985, Pages = "6-26" } @Article{Meyer90b, Key = "Meyer", Author = "Bertrand Meyer", Title = "Lessons from the Design of the Eiffel Libraries", Journal = CACM, Year = 1990, Volume = 33, Number = 9, Month = Sep, Pages = "69-88", Annote = "20 references." } @Article{Meyer92a, Key = "Meyer", Author = "Bertrand Meyer", Title = "Applying ``Design by Contract''", Journal = "Computer", Year = 1992, Volume = 25, Number = 10, Month = Oct, Pages = "40-51", Annote = "10 references." } @Article{Meyer98, key = {Meyer}, author = {Bertrand Meyer}, title = {Prelude to a Theory of Void}, journal = JOOP, year = 1998, volume = 11, number = 7, month = Nov, pages = {36-48}, annote = {How to avoid null pointer dereferences. No references.} } @Book{Meyers75, Key = "Meyers", Author = "G. J. Meyers", Title = "Reliable Software Through Composite Design", Publisher = "Petrocelli/Charter", Year = 1975 } @InProceedings{Mezini-Lieberherr98, author = {Mira Mezini and Karl Lieberherr}, title = {Adaptive Plug-and-Play Components for Evolutionary Software Development}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, key = {Mezini \& Lieberherr}, organization = ACM, pages = {97-116}, annote = {31 references.} } @inproceedings{Mezini-Ostermann02, Key = {Mezini \& Ostermann}, Author = {Mira Mezini and Klaus Ostermann}, Title = {Integrating independent components with on-demand remodularization}, Crossref = {OOPSLA02}, Pages = {52-67}, Annote = {http://doi.acm.org/10.1145/582419.582426 1-58113-471-1} } @InProceedings{Mezini-Ostermann04, Key = {Mezini \& Ostermann}, Author = {Mira Mezini and Klaus Ostermann}, Title = {Variability Management with Function Oriented Programming and Aspects}, Crossref = {FSE-04}, Pages = {137--146} } @Article{Mezini97, key = {Mezini}, author = {Mira Mezini}, title = {Maintaining The Consistency and Behavior of Class Libraries During their Evolution}, Journal = SIGPLAN, volume = 32, number = 10, month = Oct, year = 1997, publisher = ACM, pages = {1-21}, note = "{\em Conference Proceedings of OOPSLA '97}.", annote = {25 references.} } @inproceedings{Middelkoop-etal05, key = "Middelkoop, {\em et al.}", author = "Ronald Middelkoop and Cornelis Huizing and Ruurd Kuiper and Erik Luit", title = "Cooperation-Based Invariants for {OO} Languages", booktitle = "Proceedings of the International Workshop on Formal Aspects of Component Software ({FACS'05})", year = 2005 } @InProceedings{Mikhajlov-Sekerinski-Laibinis99, key = {Mikhajlov \& Sekerinski \& Laibinis}, author = {Leonid Mikhajlov and Emil Sekerinski and Linus Laibinis}, title = {Developing Components in the Presence of Re-entrance}, editor = {Jeannette M. Wing and Jim Woodcock and Jim Davies}, booktitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", series = LNCS, publisher = SV, pages = {1301-1320}, number = 1709, year = 1999, annote = "19 references." } @InProceedings{Mikhajlov-Sekerinski98, key = {Mikhajlov \& Sekerinski}, author = "Leonid Mikhajlov and Emil Sekerinski", title = "A Study of the Fragile Base Class Problem", booktitle = "ECOOP '98 --- Object-Oriented Programming, 12th European Conference , Brussels, Proceedings", publisher = SV, editor = "Eric Jul", month = Jul, series = LNCS, volume = 1445, year = 1998, pages = "355--382", annote = "32 references." } @InProceedings{Mikhajlova-Sekerinski97, key = {Mikhajlova \& Sekerinski}, author = {Anna Mikhajlova and Emil Sekerinski}, title = {Class refinement and interface refinement in object-oriented programs}, booktitle = {FME '97: Industrial Applications and Stengthened Foundations of Formal Metohds}, editor = {John Fitzgerald and Cliff B. Jones and Peter Lucas}, volume = 1313, series = LNCS, year = 1997, publisher = SV, address = {NY}, pages = {82-101} } @InProceedings{Mikhajlova98, Author = "Anna Mikhajlova", Title = "Refinement of Generic Classes as Semantics of Correct Polymorphic Reuse", BookTitle = "Proceedings of the International Refinement Workshop, and Formal Methods Pacific {(IRW/FMP'98)}", Year = 1998, Series = "Springer Series in Discrete Mathematics and Theoretical Computer Science", Publisher = SV, Pages = "266-285", Address = NY, Month = "Jul" } @InProceedings{Mikhajlova98b, Key = "Mikhajlova", Author = "Anna Mikhajlova", Title = "Consistent Extension of Components in Presence of Explicit Invariants", EDITOR = "Wolfgang Weck and Jan Bosch and Clemens Szyperski", YEAR = 1998, MONTH = Jul, BOOKTITLE = "Third International Workshop on Component-Oriented Programming (WCOP'98) held in conjunction with ECOOP'98", PUBLISHER = "{TUCS} General Publication Series, No. 10", ISBN = "952-12-0284-X" } @InProceedings{Mikkonen98, key = {Mikkonen}, author = {Tommi Mikkonen}, title = {Formalizing Design Patterns}, booktitle = {Proceedings of the 1998 International Conference on Software Engineering: ICSE 98, Kyoto, Japan}, year = 1998, organization = IEEE, address = {Los Alamitos, California}, month = Apr, pages = {115-124}, annote = {The DisCo method. 17 references.} } @Article{Mili-Desharnais-Gagne86, Key = "Mili \& Desharnais \& Gagne", Author = "Ali Mili and Jules Desharnais and Jean Raymond Gagne", Title = "Formal Models of Stepwise Refinement of Programs", Journal = ACMCS, Volume = 18, Number = 3, Month = Sep, Year = 1986, Pages = "231-276", Annote = "Comparison of three specification and decomposition techniques: pairs of Floyd-Hoare assertions, functions mapping admissible input states to correct final states as used by Mills, and relations containing the input/output pairs considered correct. 53 references." } @Book{Mili-Desharnais-Mili94, key = "Mili \& Desharnais \& Mili", author = "Ali Mili and Jules Desharnais and Fatma Mili", title = "Computer Program Construction", publisher = "Oxford University Press", year = 1994, address = NY, annote = "Relations as a basic tool. Does not use the general model. 83 references." } @Article{Mills-Dyer-Linger87, Key = "Mills \& Dyer \& Linger", Author = "Harlan D. Mills and Michael Dyer and Richard Linger", Title = "Cleanroom Software Engineering", Journal = "IEEE Software", Volume = 4, Number = 5, Month = Sep, Year = 1987, Pages = "19-25", Annote = "Defect prevention using human mathematical verification. Statstical certification. 10 references." } @InProceedings{Mills71, Key = "Mills", Title = "Top Down Programming in Large Systems", Author = "H. D. Mills", BookTitle = "Debugging Techniques in Large Systems", Editor = "R. Rustin", Organization = "Courant Computer Science Symposium 1", Year = 1971, Pages = "41-55", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J." } @InCollection{Mills73a, Key = "Mills", Author = "H. D. Mills", Title = "The Complexity of Programs", BookTitle = "Program Test Methods", Editor = "W. C. Hetzel", Year = 1973, Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J." } @InProceedings{Mills73b, Key = "Mills", Author = "H. D. Mills", Title = "On the Development of Large Reliable Programs", BookTitle = "Proceedings of the IEEE Symposium on Computer Software Reliability", Organization = IEEE, Year = 1973, Pages = "155-159" } @InProceedings{Mills75, Key = "Mills", Title = "How to Write Correct Programs and Know It", Author = "H. D. Mills.", BookTitle = "Proceedings of the International Conference on Reliable Software", Organization = SIGPLAN, Year = 1975, Month = Jun, Pages = "363-370" } @Article{Mills86, Key = "Mills", Author = "Harlan D. Mills", Title = "Structured Programming: Retrospect and Prospect", Journal = "IEEE Software", Volume = 3, Number = 6, Month = Nov, Year = 1986, Pages = "58-66", Annote = "Review of the history and fundamentals of structured programming. The structure theorem, the top-down corollary, correctness and verification. Functional verification. 15 references." } @Article{Mills88, Key = "Mills", Author = "Harlan D. Mills", Title = "Stepwise Refinement and Verification in Box-Structured Systems", Journal = "IEEE Computer", Volume = 21, Number = 6, Month = Jun, Year = 1988, Pages = "23-36", Annote = "8 references." } @TechReport{Milne90, Key = "Milne", Author = "Robert Milne", Title = "The proof theory for the {RAISE} specification language", Institution = "STC/STL", Year = 1990, Number = "RAISE/STC/REM/12/V3", Address = "Harlow, UK", Month = Nov, Annote = "3 references." } @Article{Minsky-Pal97, key = {Minsky \& Pal}, author = {Naftaly H. Minsky and Partha Pratim Pal}, title = {Law-Governed Regularities in Object Systems. Part 2: A Concrete Implementation}, journal = TAPOS, year = 1997, volume = 3, number = 2, pages = {87-101}, annote = {The Darwin-E environment. 21 references.} } @InProceedings{Minsky-Rozenshtein89, author = "Naftaly H. Minsky and David Rozenshtein", title = "A Law-Based Approach to Object-Oriented Programming", booktitle = "Proceedings of {OOPSLA '87}, Conference on Object-oriented Programming Systems, Languages and Applications", pages = "482-493", month = Dec, year = 1987, note = "{\em ACM SIGPLAN Notices}, volume 22, number 12.", annote = "9 references." } @InProceedings{Minsky-Rozenshtein89, author = "Naftaly H. Minsky and David Rozenshtein", title = "Controllable Delegation: An Exercise in Law-Governed Systems", booktitle = "Proceedings of {OOPSLA '89} Conference on Object-oriented Programming Systems, Languages and Applications", pages = "371-380", month = Oct, year = 1989, note = "{\em ACM SIGPLAN Notices}, volume 24, number 10." } @Article{Minsky91a, author = "Naftaly H. Minsky", title = "Law-governed systems", journal = "IEE Software Engineering Journal", organization = "IEE", year = "1991", pages = "285--302", editor = "Nazim Madhavji and Wilhelm Sch{\"a}fer", month = sep, volume = "6", number = "5", keywords = "Law-governed systems, LGS" } @Article{Minsky91b, author = "N. H. Minsky", title = "The Imposition of Protocols over Open Distributed Systems", pages = "183--195", journal = IEEETSE, volume = "17", number = "2", month = Feb, year = "1991", publisher = "IEEE Computer Society", address = "Washington, DC" } @Article{Minsky96, key = {Minsky}, author = {Naftaly H. Minsky}, title = {Law-Governed Regularities in Object Systems. Part 1: An Abstract Model}, journal = TAPOS, year = 1996, volume = 2, number = 4, pages = {283-301}, annote = {37 references.} } @InProceedings{Minsky96b, author = {Naftaly H. Minsky}, title = {Towards Alias-Free Pointers}, booktitle = {ECOOP '96 -- Object-Oriented Programming: 10th European Conference, Linz Austria}, key = {Minsky}, pages = {189-209}, year = 1996, editor = {Pierre Cointe}, volume = 1098, series = LNCS, address = {Berlin}, month = Jul, publisher = SV, annote = {11 references.} } @Unpublished{Miragliotta04, author = {Marcello Miragliotta}, title = {Specification Model Library for the Interactive Program Prover \textsc{Jive}}, note = {Student project, ETH Zurich. Available from: \url{http://www.sct.inf.ethz.ch/projects/student_docs/Marcello_Miragliotta/Marcello_Miragliotta_paper.pdf}}, year = 2004 } @Article{Miriyala-Harandi91, Key = "Miriyala \& Harandi", Author = "K. Miriyala and M. T. Harandi", Title = "Automatic Derivation of Formal Software Specifications from Informal Descriptions", Journal = IEEETSE, Year = 1991, Volume = 17, Number = 10, Month = Oct, Pages = "1126-1142", Annote = "37 references." } @Book{Mitchell-McKim02, key = {Mitchell \& McKim}, author = {Richard Mitchell and Jim McKim}, title = {Design by Contract by Example}, publisher = {Addison-Wesley}, year = 2002, address = {Indianapolis, IN}, annote = {20 references.} } @Article{Mitchell-Urban-McDonald87, Key = "Mitchell-Urban-McDonald", Author = "Jeffrey Mitchell and Joseph E. Urban and Robert McDonald", Title = "The Effect of Abstract Data Types on Program Development", Journal = "IEEE Computer", Volume = 20, Number = 8, Month = Aug, Year = 1987, Pages = "85-88", Annote = "Experiment on novice programmers concludes that the requirement of using abstract data types reduced productivity and the efficiency of the finished programs. 9 references." } @InCollection{Mitra94, author = "Swapan Mitra", title = "Object-oriented Specification in {VDM++}", key = "Mitra", booktitle = "Object-Oriented Specification Case Studies", publisher = "Prentice-Hall", year = 1994, editor = "Kevin Lano and Howard Haughton", series = "The Object-Oriented Series", chapter = 6, Crossref = "Lano-Haughton94", pages = "130-136", address = NY } @InCollection{Mitsui-etal93, Key = "Mitsui, {\em et al.}", Author = "Kin'ichi Mitsui and Hiroaki Nakamura and Theodore C. Law and Shahram Javey", Title = "Design of an Integrated and Extensible C++ Programming Environment", BookTitle = "Object Technologies for Advanced Software", Publisher = SV, Year = 1993, Editor = "Shojiro Nishio and Akinori Yonezawa", Series = LNCS, Volume = 742, Pages = "95-109", Month = Aug, Annote = "18 references." } @InProceedings{Mockus-Fielding-Herbsleb00, author = {Audris Mockus and Roy T. Fielding and James Herbsleb}, key = {Mockus \& Fielding \& Herbsleb}, title = "A Case Study of Open Source Software Development: The {Apache} Server", booktitle = {Proceedings of the 22nd International Conference on Software Engineering}, month = Jun, publisher = "ACM Press", address = NY, year = 2000, pages = {263-272}, annote = {16 references.} } @Article{Mody92, Key = "Mody", Author = "R. P. Mody", Title = "Is Programming an Art?", Journal = "Software Engineering Notes", Volume = 17, Number = 4, Month = Oct, Year = 1992, Pages = "19-21", Annote = "5 references." } @InProceedings{Moeller05, Key = {Moeller}, AUTHOR = {Michael M\"{o}ller}, TITLE = {Mapping Formal Specifications to Java Contracts}, BOOKTITLE = {Proceedings of the 17th Nordic Workshop on Programming Theory}, PUBLISHER = {University of Copenhagen, Denmark}, PAGES = {100-102}, YEAR = {2005}, MONTH = Oct, URL = {http://csd.informatik.uni-oldenburg.de/pub/Papers/mm05-nwpt.pdf} } @Article{Moeller85, Key = "Moeller", Author = {B. M\"{o}ller}, Title = "On the algebraic specification of infinite objects---Ordered and continuous models of algebraic types", Journal = "Acta Informatica", Year = 1985, Volume = 22, Pages = "537-578" } @TechReport{Moore88, Key = "Moore", Author = "J. Strother Moore", Title = "A Mechanically Verified Language Implementation", Institution = "Computational Logic, Inc.", Year = 1988, Number = 30, Address = "1717 W. 6th St., Suite 290, Austin TX" } @InCollection{Moreira-Clark94, Key = "Moreira \& Clark", Author = "Ana M. D. Moreira and Robert G. Clark", Title = "Combining Object-Oriented Analysis and Formal Descriptions Techniques", BookTitle = "Object-Oriented Programming 8th European Conference, ECOOP '94 Bologna, Italy, Proceedings", Publisher = SV, Year = 1994, Editor = "Mario Tokoro and Remo Pareschi", Series = LNCS, Volume = 821, Pages = "344-364", Address = NY, Month = Jul, Annote = "22 references." } @Article{Morell90, Key = "Morell", Author = "Larry J. Morell", Title = "A Theory of Fault-Based Testing", Journal = IEEETSE, Year = 1990, Volume = 16, Number = 8, Month = Aug, Pages = "844-857", Annote = "32 references." } @Article{Morgan-Gardiner90, Key = "Morgan \& Gardiner", Author = "Carroll Morgan and P. H. B. Gardiner", Title = "Data Refinement by Calculation", Journal = "Acta Informatica", Year = 1990, Volume = 27, Number = 6, Month = May, Pages = "481-503", Annote = "25 references." } @Book{Morgan-Vickers94, Key = "Morgan \& Vickers", Title = "On the refinement calculus", Publisher = SV, Year = 1994, Editor = "Carroll Morgan and Trevor Vickers", Series = "Formal approaches of computing and information technology series", Address = NY, Annote = "62 references." } @Article{Morgan88, key = "Morgan", title = "Procedures, Parameters and Abstraction: separate concerns", author = "Carroll Morgan", journal = "Science of Computer Programming", volume = 11, number = 1, month = Oct, year = 1988, note = {Reprinted in the book {\it On the Refinement Calculus}.} } @Book{Morgan90, Key = "Morgan", Author = "Carroll Morgan", Title = "Programming from Specifications", Publisher = "Prentice Hall International", Address = "Hempstead, UK", Year = 1990, Annote = "32 references." } @InCollection{Morgan93, Key = "Morgan", Author = "Carroll Morgan", Title = "The refinement calculus, and literate development", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "161-182", Address = NY, Month = Jul, Annote = "13 references." } @Book{Morgan94, Key = "Morgan", Author = "Carroll Morgan", Title = "Programming from Specifications: Second Edition", Publisher = "Prentice Hall International", Address = "Hempstead, UK", Year = 1994, Annote = "44 references." } @InCollection{Morgan94b, Key = {Vickers}, author = {Caroll Morgan}, title = {Procedures, Parameters and Abstraction: separate concerns}, booktitle = {On the Refinement Calculus}, Publisher = SV, Year = 1994, Editor = "Carroll Morgan and Trevor Vickers", Series = "Formal approaches of computing and information technology series", Address = NY, Annote = "62 references.", Crossref = {Morgan-Vickers94}, Pages = "47-58" } @Article{Moriconi-Hare86, Key = "Moriconi \& Hare", Author = "Mark Moriconi and Dwight F. Hare", Title = "The PegaSys System: Pictures as Formal Documentation of Large Programs", Journal = TOPLAS, Volume = 8, Number = 4, Month = Oct, Year = 1986, Pages = "524-546", Annote = "22 references." } @Article{Morris87, title = "A Theoretical Basis for Stepwise Refinement and the Programming Calculus", author = "Joseph M. Morris", pages = "287--306", journal = "Science of Computer Programming", month = Dec, year = 1987, volume = 9, number = 3 } @Article{Morris89, Key = "Morris", Author = "Joseph M. Morris", Title = "Laws of Data Refinement", Journal = "Acta Informatica", Year = 1989, Volume = 26, Number = 4, Month = Feb, Pages = "287-308", Annote = "11 references." } @Article{Morrison-etal91, Key = "Morrison, {\em et al.}", Author = "R. Morrison and A. Dearle and R. C. Connor and A. L. Brown", Title = "An ad hoc Approach to the Implementation of Polymorphism", Journal = TOPLAS, Year = 1991, Volume = 13, Number = 3, Month = Jul, Pages = "342-371", Annote = "42 references." } @Article{Moss92, Key = "Moss", Author = "J. Eliot B. Moss", Title = "Working with Persistent Objects: To Swizzle or Not to Swizzle", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 8, Month = Aug, Pages = "657-673", Annote = "57 references." } @Article{Mrdalj90, Key = "Mrdalj", Author = "Stevan Mrdalj", Title = "Bibliography of Object-Oriented System Development", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 5, Month = Oct, Pages = "60-63", Annote = "83 references." } @TechReport{Mueller-Poetzsch-Heffter-Leavens01, Key = {M\"{u}ller \& Poetzsch-Heffter \& Leavens}, Author = {Peter M\"{u}ller and Arnd Poetzsch-Heffter and Gary T. Leavens}, Title = "Modular Specification of Frame Properties in {JML}", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "01-03", Year = 2001, Month = Apr, Note = "Appeared in the Formal Techniques for Java Programs 2001 workshop at ECOOP 2001. Also available from \url{archives.cs.iastate.edu}.", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR01-03/TR.pdf", Annote = "18 references." } @TechReport{Mueller-Poetzsch-Heffter-Leavens02, Key = {M\"{u}ller \& Poetzsch-Heffter \& Leavens}, Author = {Peter M\"{u}ller and Arnd Poetzsch-Heffter and Gary T. Leavens}, Title = "Modular Specification of Frame Properties in {JML}", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "02-02a", Year = 2002, Month = Oct, Note = "Final version appears in Concurrency and Computation: Practice and Experience, 15:117-154, 2003.", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-02/TR.pdf", Annote = "31 references." } @Article{Mueller-Poetzsch-Heffter-Leavens03, Key = {M\"{u}ller \& Poetzsch-Heffter \& Leavens}, Author = {Peter M\"{u}ller and Arnd Poetzsch-Heffter and Gary T. Leavens}, Title = "Modular Specification of Frame Properties in {JML}", Journal = "Concurrency and Computation: Practice and Experience", Volume = 15, Number = 2, Month = Feb, Year = 2003, Pages = "117-154", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR02-02/TR.pdf", Annote = "31 references." } @TechReport{Mueller-Poetzsch-Heffter-Leavens03a, Key = {M\"{u}ller \& Poetzsch-Heffter \& Leavens}, Author = {Peter M\"{u}ller and Arnd Poetzsch-Heffter and Gary T. Leavens}, Title = "Modular Invariants for Object Structures", institution = {ETH Zurich}, year = 2003, number = 424, month = Oct, annote = {20 references}, URL = {ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/4xx/424.pdf} } @TechReport{Mueller-Poetzsch-Heffter-Leavens05, Key = {M\"{u}ller \& Poetzsch-Heffter \& Leavens}, Author = {Peter M\"{u}ller and Arnd Poetzsch-Heffter and Gary T. Leavens}, Title = "Modular Invariants for Layered Object Structures", institution = {ETH Zurich}, year = 2005, number = 424, month = Mar, annote = {20 references}, URL = {http://tinyurl.com/q55s5} } @Article{Mueller-Poetzsch-Heffter-Leavens06, Key = {M\"{u}ller \& Poetzsch-Heffter \& Leavens}, Author = {Peter M\"{u}ller and Arnd Poetzsch-Heffter and Gary T. Leavens}, Title = "Modular Invariants for Layered Object Structures", journal = SCP, volume = 62, number = 3, pages = {253-286}, month = Oct, year = 2006, URL = {http://dx.doi.org/10.1016/j.scico.2006.03.001} } @InCollection{Mueller-Poetzsch-Heffter00, key = {M{\"u}ller \& Poetzsch-Heffter}, author = {Peter M{\"u}ller and Arnd Poetzsch-Heffter}, title = {Modular Specification and Verification Techniques for Object-Oriented Software Components}, booktitle = {Foundations of Component-Based Systems}, publisher = {Cambridge University Press}, year = 2000, editor = {Gary T. Leavens and Murali Sitaraman}, chapter = 7, pages = {137-159}, annote = {15 references.} } @InProceedings{Mueller-Poetzsch-Heffter00a, key = {M{\"u}ller \& Poetzsch-Heffter}, author = {P. M{\"u}ller and A. Poetzsch-Heffter}, title = {A Type System for Controlling Representation Exposure in {J}ava}, booktitle = {Formal Techniques for {J}ava Programs}, year = 2000, editor = {S. Drossopoulou and S. Eisenbach and B. Jacobs and G. T. Leavens and P. M{\"u}ller and A. Poetzsch-Heffter}, organization = {Technical Report~269, Fernuniversit{\"at} Hagen}, note = {Available from \url{http://tinyurl.com/j8esw}} } @TechReport{Mueller-Poetzsch-Heffter01a, key = {M{\"u}ller \& Poetzsch-Heffter}, author = {Peter M{\"u}ller and Arnd Poetzsch-Heffter}, title = {Universes: A Type System for Alias and Dependency Control}, institution = {Fernuniversit\"at Hagen}, year = 2001, number = 279, note = {Available from \url{http://tinyurl.com/j8esw}} } @PhDThesis{Mueller01a, key = {M{\"u}ller}, author = {Peter M{\"u}ller}, title = {Modular Specification and Verification of Object-Oriented programs}, school = {FernUniversit\"{a}t Hagen, Germany}, month = Mar, year = 2001, annote = {Universe type system to control aliasing. Modular treatment of frame conditions, static and dynamic dependencies, and invariants. 207 references.}, url = {http://tinyurl.com/jtwot} } @Book{Mueller02, key = {M{\"u}ller}, author = {Peter M{\"u}ller}, title = {Modular Specification and Verification of Object-Oriented Programs}, Publisher = SV, Series = LNCS, Volume = 2262, Year = 2002, URL = {http://tinyurl.com/jtwot} } @Book{Mullin89, Key = "Mullin", Author = "Mark Mullin", Title = "Object Oriented Program Design With Examples in {C}++", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989 } @Article{Murphy-etal01, key = {Murphy, {\em et al.}}, Author = "Gail C. Murphy and Robert J. Walker and Elisa L. A. Baniassad and Martin P. Robillard and Albert Lai and Mik A. Kersten", Title = "Does aspect-oriented programming work?", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "75--77" } @InProceedings{Musser80a, Key = "Musser", Author = "D. R. Musser", Title = "Abstract Data Type Specifications in the Affirm System", BookTitle = "IEEE Conference on the Specification of Reliable Software", Organization = IEEE, Year = 1979, Pages = "47-57" } @InProceedings{Musser80b, Key = "Musser", Author = "D. R. Musser", Title = "On Proving Inductive Properties of Abstract Data Types", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Year = 1980, Pages = "154-162", Annote = "Full specification notion like sufficient completeness. 29 references." } @Article{Myers92, Key = "Myers", Author = "Brad A. Myers", Title = "Demonstrational Interfaces: A Step Beyond Direct Manipulation", Journal = "Computer", Year = 1992, Volume = 25, Number = 8, Month = Aug, Pages = "61-73", Annote = "12 references." } @Proceedings{Najm-Stefani97, title = {Formal Methods for Open Object-Oriented Distributed Systems}, booktitle = {Formal Methods for Open Object-Oriented Distributed Systems}, year = 1997, key = {Najm \& Stefani}, editor = {Elie Najm and Jean-Bernard Stefani}, publisher = {Chapman \& Hall}, address = {London}, annote = {Proceedings of FMOODS '96} } @Article{Nakajima-Honda-Nakahara80, Key = "Nakajima \& Honda \& Nakahara", Author = "Reiji Nakajima and Michio Honda and Hayao Nakahara", Title = "Hierarchical Program Specification and Verification --- a Many-sorted Logical Approach", Journal = "Acta Informatica", Volume = 14, Number = 2, Year = 1980, Pages = "135-155", Annote = "IOTA allows one to build theories and write the implementations. Validation of data and procedural abstractions. Generalization of type parameterization. 22 references." } @Book{Nakajima-Yuasa83, Key = "Nakajima \& Yuasa", Editor = "R. Nakajima and T. Yuasa", Title = "The IOTA Programming System: A Modular Programming Environment", Series = LNCS, Volume = 160, Publisher = SV, Address = NY, Year = 1983, Annote = "51 references." } @InProceedings{Narayanan-Karsai06, key = {Narayanan \& Karsai}, author = {Anantha Narayanan and Gabor Karsai}, title = {Towards Verifying Model Transformations}, booktitle = {5th International Workshop on Graph Transformation and Visual Modeling Techniques, Vienna}, pages = {185-194}, year = 2006, editor = {Roberto Bruni and D\'{a}niel Varr\'{o}}, month = {Apr}, URL = {http://www.inf.mit.bme.hu/GT-VMT2006/ProceedingsGTVMT2006.pdf}, Annote = {16 references.} } @inproceedings{Naumann-Barnett04, key={Naumann \& Barnett}, author={David A. Naumann and Mike Barnett}, title={Towards Imperative Modules: Reasoning about Invariants and Sharing of Mutable State (extended abstract)}, year=2004, pages={313-323}, booktitle=LICS, oldnote={available from \textrm{http://www.cs.stevens-tech.edu/\~{}naumann/tim.pdf}} } @article{Naumann-Barnett06, key={Naumann \& Barnett}, author={David A. Naumann and Mike Barnett}, title={Towards Imperative Modules: Reasoning about Invariants and Sharing of Mutable State}, year=2006, journal=TCS, note={To appear.} } @article{Naumann01, Key = "Naumann", Author = "David A. Naumann", Title = "Predicate Transformer Semantics of a Higher Order Imperative Language with Record Subtypes", Journal = SCP, Volume = 41, Number = 1, Pages = "1-51", Year = 2000, Annote = "Gives a predicate-transformer semantics for an Oberon-like language with stored procedures (variables and record fields of procedural types), extensible record subtyping, and specification constructs. The semantics is used to prove procedure-call rules and some refinement laws which have received attention in the literature on Algol." } @article{Naumann01a, author = "David A. Naumann", title = "Calculating Sharp Adaptation Rules", journal = IPL, volume = 77, pages = {201-208}, year = 2001 } @article{Naumann02, Key = "Naumann", Author = "David A. Naumann", Title = "Soundness of Data Refinement for a Higher Order Imperative Language", Journal = TCS, volume = 278, number = {1-2}, pages = {271-301}, year = 2002, Annote = "Shows that forward simulation is a sound proof method for data refinement in an Oberon-like language." } @InProceedings{Naumann05, key = {Naumann}, author = {David A. Naumann}, title = {Observational Purity and Encapsulation}, booktitle = {Fundamental Aspects of Software Engineering (FASE)}, pages = {190-204}, year = 2005, url= "http://www.cs.stevens.edu/~naumann/publications/obspureWeb.pdf", annote = {Best Software Science Paper by the European Association of Software Sciences and Technology at the European Joint Conferences on Theory and Practice of Software (ETAPS) 2005.} } @inproceedings{obspure, author = "David A. Naumann", booktitle = {Fundamental Aspects of Software Engineering (FASE)}, title = {Observational Purity and Encapsulation}, year = 2005, } @inproceedings{Naumann05a, key = {Naumann}, author = {David A. Naumann}, title = {Assertion-based Encapsulation, Object invariants and Simulations}, year = 2005, editor = {Frank S. de Boer and Marcello M. Bonsangue and Susanne Graf and Willem P. de Roever}, booktitle = {Post-proceedings, Formal Methods for Components and Objects ({FMCO} 2004)}, series =LNCS, pages={251-273}, volume = 3657 } @inproceedings{Naumann05b, key = {Naumann}, author = {David A. Naumann}, title = {Verifying a Secure Information Flow Analyzer}, year = 2005, booktitle = {18th International Conference on Theorem Proving in Higher Order Logics {TPHOLS}}, editor = {Joe Hurd and Tom Melham}, pages = {211-226}, SERIES = LNCS, VOLUME = 3603 } @inproceedings{Naumann06, key = {Naumann}, author = {David A. Naumann}, title = {From Coupling Relations to Mated Invariants for Secure Information Flow}, year = 2006, booktitle={European Symposium on Research in Computer Security ({ESORICS})}, url= "http://www.cs.stevens.edu/~naumann/publications/crmi.pdf", note={To appear.} } @article{Naumann06a, key = {Naumann}, author = "David A. Naumann", title = {Observational Purity and Encapsulation}, journal=TCS, note={To appear.}, url= "http://www.cs.stevens.edu/~naumann/publications/obspureTCS.pdf", year = 2006 } @InProceedings{Naumann94, key = {Naumann}, author = "David A. Naumann", title = "Predicate transformer semantics of an Oberon-like language", booktitle = "Proceedings of the IFIP WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods, and Calculi", where = "San Miniato, Italy", publisher = "Elsevier", year = 1994, month = Jun, pages = "467--487" } @Article{Neil-etal98, key = {Neil, {\em et al.}}, author = {Martin Neil and Gary Ostrolenk and Mary Tobin and Mark Southworth}, title = {Lessons from Using Z to Specify a Software Tool}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = Jan, pages = {15-23}, annote = {Unsuccessful application of formal methods. 13 references.} } @Article{Nelson89, Key = "Nelson", Author = "Greg Nelson", Title = "A Generalization of {Dijkstra's} Calculus", Journal = TOPLAS, Volume = 11, Number = 4, Month = Oct, Year = 1989, Pages = "517-561", Annote = "28 references." } @Article{Netinant-Elrad-Fayad-01, key = "Netinant \& Elrad \& Fayad", Author = "Paniti Netinant and Tzilla Elrad and Mohamed E. Fayad", Title = "A layered approach to building open aspect-oriented systems: a framework for the design of on-demand system demodularization", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "83--85" } @Article{Netinant-Elrad-Fayad-01, key = "Netinant \& Elrad \& Fayad", Author = "Paniti Netinant and Tzilla Elrad and Mohamed E. Fayad", Title = "A layered approach to building open aspect-oriented systems: a framework for the design of on-demand system demodularization", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "83--85", Annote = "", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @Article{Newman82, Key = "Newman", Author = "P. S. Newman", Title = "Towards an Integrated Development Environment", Journal = "IBM Systems Journal", Volume = 21, Number = 1, Year = 1982, Pages = "81-107", Annote = "Systems development environment. Need for environment integration. Integration requires fundamental reworking of approaches, not superficial connections. Very high level languages. 60 references." } @InCollection{Nickl-Wirsing93, Key = "Nickl \& Wirsing", Author = "F. Nickl and M. Wirsing", Title = "A Formal Approach to Requirements Engineering", BookTitle = "Formal Methods in Programming and Their Applications", Publisher = SV, Year = 1993, Editor = "Dines Bjoerner and Manfred Broy and Igor V. Pottosin", Series = LNCS, Volume = 735, Pages = "312-334", Month = Jul, Annote = "21 references." } @InProceedings{Nielsen-etal88, Key = "Nielsen, {\em et al.}", Author = "Mogens Nielsen and Klaus Havelund and Kim Ritter Wagner and Chris George", Title = "The RAISE Language, Method and Tools", BookTitle = "VDM '88", Year = 1988, Pages = "376-405" } @Article{Nielsen-etal89, Key = "Nielsen, {\em et al.}", Author = "Mogens Nielsen and Klaus Havelund and Kim Ritter Wagner and Chris George", Title = "The RAISE Language, Method and Tools", Journal = "Formal Aspects of computing", Volume = 1, Number = 1, Month = "Jan-Mar", Year = 1989, Pages = "85-114" } @Article{Nielsen92, Key = "Nielsen", Author = "Jakob Nielsen", Title = "The usability Engineering Life Cycle", Journal = "Computer", Year = 1992, Volume = 25, Number = 3, Month = Mar, Pages = "12-22", Annote = "12 references." } @InCollection{Nierstrasz-Tsichritzis89, Key = "Nierstrasz \& Tsichritzis", Author = "O. M. Nierstrasz and D. C. Tsichritzis", Title = "Integerated Office Systems", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 9, Pages = "199-212", Annote = "33 references" } @Book{Nierstrasz-Tsichritzis95, key = {Nierstrasz \& Tsichritzis}, editor = {Oscar Nierstrasz and Dennis Tsichritzis}, title = {Object-Oriented Software Composition}, booktitle = {Object-Oriented Software Composition}, publisher = {Prentice-Hall}, address = {Hemel Hempstead, Hertfordshire, UK}, year = 1995, series = {The Object-Oriented Series} } @InCollection{Nimmer-Ernst01, key = "Nimmer \& Ernst", author = {Jeremy W. Nimmer and Michael D. Ernst}, title = {Static verification of dynamically detected program invariants: Integrating {Daikon} and {ESC/Java}}, booktitle = {Proceedings of RV'01, First Workshop on Runtime Verification}, month = jul, year = 2001, publisher = "Elsevier", URL = "http://people.csail.mit.edu/people/mernst/pubs/invariants-verify-rv2001.pdf" } @Book{Nino-Hosch05, author = {Jaime Ni\~{n}o and Frederick A. Hosch}, title = {An Introduction to Programming and Object Oriented Design Using Java 1.5}, publisher = {Wiley}, year = 2005, key = {Ni\~{n}o \& Hosch}, address = {Hoboken, NJ}, edition = {Second}, note = {With CD-ROM}, annote = {20 references.} } @InProceedings{Nipkow-Oheimb-Pusch00, key = {Nipkow \& Oheimb \& Pusch}, author = {Tobias Nipkow and David von Oheimb and Cornelia Pusch}, title = {{$\mu$Java}: Embedding a Programming Language in a Theorem Prover}, booktitle = {Foundations of Secure Computation}, series= {NATO Science Series F: Computer and Systems Sciences}, volume = {175}, year = {2000}, publisher = {IOS Press}, editor = {Friedrich L. Bauer and Ralf Steinbr{\"u}ggen}, URL = {http://isabelle.in.tum.de/Bali/papers/MOD99.html}, pages = {117--144} } @Book{Nipkow-Paulson-Menzel02, author = {Tobias Nipkow and Lawrence Paulson and Markus Menzel}, title = {{Isabelle/HOL} --- A Proof Assistant for Higher-Order Logic}, publisher = SV, year = 2002, key = {Nipkow \& Paulson \& Menzel}, volume = 2283, series = LNCS, URL = {http://www.in.tum.de/~nipkow/LNCS2283/} } @Article{Nipkow86, Key = "Nipkow", Author = "Tobias Nipkow", Title = "Non-deterministic Data Types: Models and Implementations", Journal = "Acta Informatica", Volume = 22, Number = 16, Pages = "629-661", Month = Mar, Year = 1986, Annote = "34 references." } @PhDThesis{Nipkow87, Key = "Nipkow", Author = "Tobias Nipkow", Title = "Behavioural Implementation Concepts for Nondeterministic Data Types", School = "University of Manchester", Month = May, Year = 1987, Annote = "97 references." } @InCollection{Nipkow89, Key = "Nipkow", Author = "T. Nipkow", Title = "Formal Verification of Data Type Refinement --- Theory and Practice", BookTitle = "Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop, Mook, The Netherlands", Month = "May/June", Year = 1989, Publisher = "Spring-Verlag", Series = LNCS, Volume = 430, Editor = "J. W. de Bakker and W.-P. de Roever and G. Rozenberg", Pages = "561-591" } @Article{Nishida-etal91, Key = "Nishida, {\em et al.}", Author = "Fujio Nishida and Shinobu Takamatsu and Yoneharu Fujita and Tadaaki Tani", Title = "Semi-Automatic Program Construction From Specifications Using Library Modules", Journal = IEEETSE, Year = 1991, Volume = 17, Number = 9, Month = Sep, Pages = "853-871", Annote = "Users write specifications, modify and rearrange them so that the specifications can be refined with the aid of library modules. 30 references." } @Book{Nissanke99, author = {Nimal Nissanke}, title = {Formal Specification: Techniques and Applications}, publisher = SV, year = 1999, key = {Nissanke}, address = NY, annote = {68 references} } @InProceedings{Noble-Vitek-Potter98, author = {James Noble and Jan Vitek and John Potter}, title = {Flexible Alias Protection}, BookTitle = {ECOOP '98 -- Object-Oriented Programming, 12th European Conference, Brussels, Belgium}, Editor = "Eric Jul", Series = LNCS, Volume = 1445, Month = Jul, Year = 1998, key = {Noble \& Vitek \& Potter}, publisher = SV, pages = {158-185} } @Article{Nord-Lee-Scherlis90, Key = "Nord \& Lee \& Scherlis", Author = "Robert L. Nord and Peter Lee and William L. Scherlis", Title = "Formal Manipulation and Modular Software Systems", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "90-99", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "23 references." } @InCollection{Nordberg98, key = {Nordberg}, author = {Martin E. Nordberg}, title = {Default and Extrinsic Visitor}, booktitle = {Pattern Languages of Program Design 3}, publisher = {Addison-Wesley Publishing Co.}, address = {Reading, MA}, year = 1998, editor = {Robert C. Martin and Dirk Riehle and Frank Buschmann}, pages = {105--123} } @InCollection{Norvell-Hehner93, Key = "Norvell \& Hehner", Author = "Theodore S. Norvell and Eric C.R. Hehner", Title = "Logical Specification for Functional Programs", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "269-290", Address = NY, Month = "June/July", Annote = "20 references." } @inproceedings{OHearn-Yang-Reynolds04, title={Separation and Information Hiding}, author={P. W. O'Hearn and H. Yang and J. C. Reynolds}, booktitle=POPL, editor = {Neil D. Jones and Xavier Leroy}, month = Jan, year=2004, pages={268-280} } @inproceedings{OHearn04, author = {Peter W. O'Hearn and Hongseok Yang and John C. Reynolds}, title = {Separation and information hiding}, booktitle = POPL, year = 2004, pages = {268-280}, publisher = ACM } @Misc{OMGMDA, key = {OMGMDA}, author = {Object Management Group}, title = {{OMG} Model Driven Architecture}, howpublished = {\url{http://www.omg.org/mda/}}, month = {May}, year = 2006 } @InCollection{Odenthal-Quibeldey-Cirkel97, key = {Odenthal \& Quibeldey-Cirkel}, author = {Georg Odenthal and Klaus Quibeldey-Cirkel}, title = {Using Patterns for Design and Documentation}, booktitle = {ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a}, Finland}, publisher = SV, year = 1997, editor = {Mehmet Ak\c{s}it and Satoshi Matsuoka}, volume = 1241, series = LNCS, address = NY, month = Jun, pages = {511-529}, annote = {27 references.} } @Article{Ogden-etal94, author = {William F. Ogden and Murali Sitaraman and Bruce W. Weide and Stuart H. Zweben}, title = {Part {I}: The {RESOLVE} Framework and Discipline --- A Research Synopsis}, journal = SIGSOFT, year = 1994, key = {Ogden, {\em et al.}}, volume = 19, number = 4, month = Oct, pages = {23-28} } @inproceedings{Oheimb-Nipkow02, author = {David von Oheimb and Tobias Nipkow}, author = {David von Oheimb and Tobias Nipkow}, title = {Hoare Logic for {NanoJava}: Auxiliary Variables, Side Effects and Virtual Methods revisited}, booktitle = {Formal Methods -- Getting {IT} Right (FME'02)}, editor = {Lars-Henrik Eriksson and Peter Alexander Lindsay}, conference = {International Symposium of Formal Methods Europe}, year = 2002, publisher = SV, series = LNCS, volume = {2391}, pages = {89-105} } @PhDThesis{Oheimb01, key = {Oheimb}, author = {David von Oheimb}, title = {Analyzing {Java} in {Isabelle/HOL}: Formalization, Type Safety and {Hoare} Logic}, school = {Technische Universit\"{a}t M\"{u}nchen}, year = 2001, url = {http://www4.in.tum.de/~oheimb/diss/}, annote = {Proved sound and complete Hoare Logic for a subset of sequential Java.} } @Article{Oheimb01a, key = {Oheimb}, author = {David von Oheimb}, title = {Hoare logic for {Java} in {Isabelle/HOL}}, Journal = "Concurrency and Computation: Practice and Experience", year = 2001, volume = 13, number = 13, URL = {http://dx.doi.org/10.1002/cpe.598}, pages = {1173-1214} } @InCollection{Olderog-Rossig, Key = "Olderog \& Rossig", Author = "E. R. Olderog and S. Rossig", Title = "A Case Study in Transformational Design of Concurrent Systems", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "90-104", Annote = "25 references" } @Article{Olderog83, Key = "Olderog", Author = {{Ernst-R\"{u}diger} Olderog}, Title = "On the notion of expressiveness and the rule of adaptation", Journal = TCS, Volume = 24, Pages = "337-347", Year = 1983 } @TechReport{Olender-Bieman91, Key = "Olender \& Bieman", Author = "Kurt M. Olender and James M. Bieman", Title = "Generating Sequencing Constraints From Algebraic Specifications", Institution = "Department of Computer Science, Colorado State University", Year = 1991, Number = "CS-91-104", Address = "Fort Collins, Colo.", Month = Mar, Annote = "22 references." } @Article{Olsson-etal91, Key = "Olsson, {\em et al,}", Author = "Ronald A. Olsson and Richard H. Crawford and W. Wilson Ho and Christopher E. Wee", Title = "Sequential Debugging at a High Level of Abstraction", Journal = "IEEE Software", Year = 1991, Volume = 8, Number = 3, Month = May, Pages = "27-36", Annote = "6 references." } @PhdThesis{Opdyke92, author = {William Opdyke}, title = {Refactoring Object-Oriented Frameworks}, school = {University of Illinois at Urbana-Champaign}, year = 1992, key = {Opdyke}, URL = {ftp://st.cs.uiuc.edu/pub/papers/refactoring/opdyke-thesis.ps.Z} } @Book{Orfali-Harkey-Edwards95, key = {Orfali \& Harkey \& Edwards}, author = {Robert Orfali and Dan Harkey and Jeri Edwards}, title = {The Essential Distributed Objects Survival Guide}, publisher = {John Wiley \& Sons}, year = 1995 } @Book{Orfali-Harkey-Edwards97, key = {Orfali \& Harkey \& Edwards}, author = {Robert Orfali and Dan Harkey and Jeri Edwards}, title = {Instant {CORBA}}, publisher = {John Wiley \& Sons}, year = 1997 } @Book{Orfali-Harkey98, key = {Orfali \& Harkey}, author = {Robert Orfali and Dan Harkey}, title = {Client/Server Programming with {Java} and {CORBA}}, publisher = {John Wiley \& Sons}, year = 1998, edition = {Second Editon} } @Article{Oshana98, key = {Oshana}, author = {Robert Oshana}, title = {Tailoring Cleanroom for Industrial Use}, journal = {IEEE Software}, year = 1998, volume = 15, number = 6, month = Nov, pages = {46-55}, annote = {15 references.} } @PhDThesis{Oskarsson82, Key = "Oskarsson", Author = {\"{O}sten Oskarsson}, Title = "Mechanisms of Modifiability in Large Software Systems", School = {Software Systems Research Center, Link\"{o}ping University, S-581 83 Link\"{o}ping, Sweden}, Year = 1982, Note = {Link\"{o}ping Studies in Science and Technology, Dissertations, Number 77}, Annote = "Relation between modifiability and modularization, measures of scattering of changes among modules caused by various kinds of change. Stability, extensibility, observability and simplicity are conjectured to aid modifiability. Case study of a release of a large telephone switching system. The following factors helped modifiability: prepared changes modules for external interfaces, indirection through data for some functions, general modules for important abstractions, encapsulated service functions and some application specific paradigms. The following factors hindered modifiability: features which were implemented in multiple modules, or with multiple alternate implementations, features spread among several modules, implementation of decisions in wrong places, changing hardware, data localized in less than general modules, indirect communication, and unnecessary software limits. Trade-offs among these concerns and other goals. 58 references." } @Article{Osterweil96, key = "Osterweil", author = "Leon Osterweil and others", title = "Strategic Directions in Software Quality", journal = ACMCS, volume = 28, number = 4, pages = "727-737", month = Dec, year = 1996, annote = "25 references." } @InCollection{Ostroff92, Key = "Ostroff", Author = "J.S. Ostroff", Title = "Formal Methods for the Specification and Design of Real-Time Safety Critical Systems", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "60-87", Address = "Los Alamitos, California", Month = Oct, Annote = "144 references." } @Article{Ostroff99, key = "Ostroff", author = "Jonathan S. Ostroff", title = "Composition and Refinement of Discrete Real-Time Systems", journal = TOSEM, publisher = "ACM Press", year = 1999, volume = 8, month = Jan, number = 1, pages = "1--48" } @phdthesis{Ovlinger03a, Key = {Ovlinger}, Author = {Johan Ovlinger}, Title = {Modular Programming with Aspectual Collaborations}, School = {Northeastern University}, Year = {2003} } @Article{Owre-etal95, author = "Sam Owre and John Rushby and Natarajan Shankar and Friedrich von Henke", title = "Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of {PVS}", key = "Owre, {\em et al.}", journal = IEEETSE, year = 1995, volume = 21, number = 2, pages = "107-125", month = Feb, annote = "84 references." } @TechReport{Paech-Rumpe94, Key = "Paech \& Rumpe", Author = "Barabara Paech and Berhard Rumpe", Title = "A new Concept of Refinement used for Behavior Modelling with Automata", Institution = "Institut fur Informatik", Year = 1994, Number = "TUM-I9413", Address = "Technische Universitat Munchen, D-80290 Munchen", Month = May, Annote = "14 references." } @InProceedings{Paech-Rumpe95, Key = "Paech \& Rumpe", Author = "Barabara Paech and Berhard Rumpe", Title = "A new Concept of Refinement used for Behavior Modelling with Automata", booktitle = "{FME '94}: Industrial Benefits of Formal Methods", publisher = SV, year = 1995, editor = "Maurice Naftalin and Tim Denvir and Miquel Bertran", volume = 873, series = LNCS, pages = "154-174", address = NY, annote = "14 references." } @InProceedings{Paige-Ostroff99, title = "Developing {BON} as an Industrial-Strength Formal Method", key = "Paige \& Ostroff", author = "Richard F. Paige and Jonathan S. Ostroff", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1708, pages = "834-853", publisher = SV, series = "Lecture Notes in Computer Science", annote = "Argues that BON is better suited to formal methods than UML. 23 references." } @Article{Paige86, Key = "Paige", Author = "Robert Paige", Title = "Programming with Invariants", Journal = "IEEE Software", Month = Jan, Year = 1986, Pages = "56-69", Annote = "Examples in extended SETL. 12+36 references." } @Article{Palasinska-Pigozzi95, author = {K. Pa{\l}asi\'{n}ska and D. Pigozzi}, title = {Gentzen-Style Axiomatizations in Equational Logic}, journal = {Algebra Universalis}, year = 1995, key = {Palasinska \& Pigozzi}, volume = 34, pages = {128-143} } @TechReport{Palasinska-Pigozzi95b, author = {K. Pa{\l}asi\'{n}ska and D. Pigozzi}, title = {Implication in Abstract Algebraic Logic}, institution = {Centre de Recerca Matematica}, address = {Barcelona, Spain}, key = {Palasinska \& Pigozzi}, year = 1995, month = Dec, type = {preprint}, number = "311" } @inproceedings{Palsberg-Jay98, key = "Palsberg \& Jay", author = "Jens Palsberg and C. Barry Jay", title = "The Essence of the Visitor Pattern", booktitle = "Proc. 22nd {IEEE} Int. Computer Software and Applications Conf., {COMPSAC}, Vienna, Austria", publisher = IEEE, address = {Los Alamitos, California}, month = Aug, pages = "9--15", year = "1998", url = "citeseer.nj.nec.com/palsberg97essence.html" } @InCollection{Palsberg92, Key = "Palsberg", Author = "Jens Palsberg", Title = "A Provably Correct Compiler Generator", BookTitle = "ESOP '92, 4th European Symposium on Programming, Rennes, France, February 1992, Proceedings", Publisher = SV, Year = 1992, Editor = "Bernd Krieg-Bruckner", Series = LNCS, Address = NY, Volume = 582, Pages = "418-434", Annote = "65 references" } @Article{Palsberg97, key = {Palsberg}, author = {Jens Palsberg}, title = {Class-Graph Inference for Adaptive Programs}, journal = TAPOS, year = 1997, volume = 3, number = 2, pages = {75-85}, annote = {25 references.} } @Article{Panzl78, Key = {Panzl}, Author = {D.J. Panzl}, Title = {Automatic Software Test Driver}, Journal = {IEEE Computer}, Year = 1978, Month = Apr, Pages = {44--50} } @Unpublished{ParasoftJcontract03, author = "{Parasoft Corporation}", title = {Using Design by Contract\textsuperscript{TM} to Automate {Java}\textsuperscript{TM} Software and Component Testing}, note = {Available from \url{http://www.parasoft.com/jsp/products/tech_papers.jsp?product=Jcontract}, as of Feb.~2003}, key = {Parasoft} } @Unpublished{ParasoftJtest03, author = "{Parasoft Corporation}", title = {Automatic {Java}\textsuperscript{TM} Software and Component Testing: Using {Jtest} to Automate Unit Testing and Coding Standard Enforcement}, note = {Available from \url{http://www.parasoft.com/jsp/products/tech_papers.jsp?product=Jtest}, as of Feb.~2003}, key = {Parasoft} } @Article{Parikh85, Key = "Parikh", Author = "Girish Parikh", Title = "Discovering the World of Software Maintenance: Selected Readings", Journal = SIGSOFT, Volume = 10, Number = 5, Month = Oct, Year = 1985, Pages = "79-88", Annote = "Annotated and graded bibliography with 47 references." } @Article{Parissis-Ouabdesselam96, key = {Parissis \& Ouabdesselam}, author = {Ioannis Parissis and Farid Ouabdesselam}, title = {Specification-based Testing of Synchronous Software}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {127-134}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {25 references.} } @Book{Parker93, key = "Parker", author = "Alan Parker", title = "Algorithms and Data Structures in {C++}", publisher = "CRC Press", year = 1993, address = "Boca Raton, LA" } @InCollection{Parkin-Wichman93, Key = "Parkin \& Wichman", Author = "Graeme I. Parkin and Brian Wichmann", Title = "Conformity Clause for VDM-SL", BookTitle = "Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, Odense, Denmark", Publisher = SV, Year = 1993, Editor = "J.C.P. Woodcock and P.G. Larsen", Series = LNCS, Volume = 670, Pages = "501-520", Address = NY, Month = Apr, Annote = "27 references." } @inproceedings{Parkinson-Bierman05, author = {Matthew Parkinson and Gavin Bierman}, title = {Separation logic and abstraction}, booktitle = POPL, editor = {Jens Palsberg and Mart\'{\i}n Abadi}, month = Jan, year = 2005, pages = {247-258}, publisher = ACM } @TechReport{Parkinson05, author = {Matthew J. Parkinson}, title = {Local Reasoning for {Java}}, institution = {University of Cambridge Computer Laboratory}, year = 2005, number = 654, month = Nov, note = {The author's Ph.D.\ dissertation.}, URL = {http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-654.pdf} } @Article{Parnas-Madey-Iglewski94, key = "Parnas \& Madey \& Iglewski", author = "David Lorge Parnas and Jan Madey and Michal Iglewski", title = "Precise Documentation of Well-Structured Programs", journal = "IEEE Transactions on Software Engineering", year = "1994", volume = "20", number = "12", pages = "948--976", month = Dec } @TechReport{Parnas-Madey91, key = "Parnas \& Madey", author = "D. L. Parnas and J. Madey", title = "Functional documentation for computer systems engineering", type = "CRL Report", number = "No.\ 237, Version 2", institution = "TRIO, Communications Research Laboratory", address = "Faculty of Engineering, McMaster University, Hamilton, Ontario, Canada L8S 4K1", month = Sep, year = 1991 } @Article{Parnas-Madey95, key = "Parnas \& Madey", title = "Functional documents for computer systems", author = "David Lorge Parnas and Jan Madey", pages = "41--61", journal = "Science of Computer Programming", month = Oct, year = 1995, volume = 25, number = 1 } @Article{Parnas-Siewiorek75, Key = "Parnas \& Siewiorek", Author = "D. L. Parnas and D. P. Siewiorek", Title = "Transparency in the Design of Hierarchically Structured Systems", Journal = CACM, Volume = 18, Year = 1975, Number = 7, Month = Jul, Pages = "401-408", Annote = "Design of hierarchically structured systems. Method for evaluating the cost of requiring programmers to work with an abstraction on a real machine. 18 references." } @TechReport{Parnas-Smith-Pearce88, Key = "Parnas \& Smith \& Pierce", Author = "David L. Parnas and David G. Smith and Trevor Pearce", Title = "Making Formal Software Documentation More Practical A Progress Report", Month = Nov, Year = 1988, Number = "88-236", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Annote = "21 references." } @TechReport{Parnas-Wang89, Key = "Parnas \& Wang", Author = "David Lorge Parnas and Yabo Wang", Title = "The Trace Assertion Method of Module Interface Specification", Month = Oct, Year = 1989, Number = "89-261", Institution = "Department of Computing and Information Science, Queen's University at Kingston", Address = "Kingston, Ontario, Canada", Annote = "Reference and summary of the trace assertion method. 18 references." } @InProceedings{Parnas71, Key = "Parnas", Title = "Information Distribution Aspects of Design Methodology", Author = "D. L. Parnas", BookTitle = "Proceedings of IFIP Congress 71", Organization = IFIP, Year = 1971, Pages = "339-344" } @Article{Parnas72a, Key = "Parnas", Author = "D. L. Parnas", Title = "A Technique for the Specification of Software Modules with Examples", Journal = CACM, Volume = 15, Year = 1972, Number = 5, Month = May, Pages = "330-336", Annote = "Complete but not overly constrained specifications are stressed. 6 references." } @Article{Parnas72b, Key = "Parnas", Title = "On the Criteria to be Used in Decomposing Systems into Modules", Author = "D. L. Parnas", Journal = CACM, Year = 1972, Month = Dec, Volume = 15, Number = 12, Pages = "1053-1058" } @InCollection{Parnas75, Key = "Parnas", Author = "D. L. Parnas", Title = "Software Engineering or Methods for the Multi-Person construction of Multi-Version Programs", BookTitle = "Programming Methodology, 4th Informatik Symposium, IBM Germany, Wildbad, 25-27 September, 1974", Series = LNCS, Editor = "Clemens E. Hackl", Publisher = SV, Address = NY, Volume = 23, Year = 1975, Pages = "225-235", Annote = "Overview of methods to achieve desired properties. Limitations of information hiding for efficiency. 13 references." } @Article{Parnas76, Key = "Parnas", Author = "David L. Parnas", Title = "On the Design and Development of Program Families", Journal = "IEEE Transactions on Software Engineering", Volume = "SE-2", Year = 1976, Number = 1, Month = Mar, Pages = "1-9", Annote = "Development of a whole set of programs. 16 references." } @Article{Parnas79a, Key = "Parnas", Author = "D. L. Parnas", Title = "Designing Software for Ease of Expansion and Contraction", Journal = IEEETSE, Volume = "SE-5", Year = 1979, Number = 2, Month = Mar, Pages = "128-138", Annote = "Focuses on design of software that can be subseted and expanded. Families of programs sharing subsets of modules. Loops in the 'uses' relation should be avoided. Minimal program subset and minimal increments. Virtual machines, modules, uses relation. Criteria for letting a module use another module. Example. 21 references." } @InCollection{Parnas79b, Key = "Parnas", Author = "David L. Parnas", Title = "The Role of Program Specifications", BookTitle = "Research Directions in Software Technology", Editor = "Peter Wegner", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1979, Pages = "364-370", Annote = "Requirements and design specifications should not be distinguished. Use of informal specifications is better than formal ones. Abstract specifications always better than operational specs. 11 references." } @Article{Parnas93, Key = "Parnas", Author = "D. L. Parnas", Title = "Predicate Logic for Software Engineering", Journal = IEEETSE, Volume = 19, Year = 1993, Number = 9, Month = Sep, Pages = "856-862", Annote = "Logic that deals with partial functions. 9 refenences." } @Article{Partsch-Steinbruggen83, Key = {Partsch \& Steinbr\"{u}ggen}, Author = {H. Partsch and R. Steinbr\"{u}ggen}, Title = "Program Transformation Systems", Journal = "Computing Surveys", Volume = 15, Number = 3, Month = Sep, Year = 1983, Pages = "199-236", Annote = "Comprehensive survey of current research efforts. 184 references." } @Book{Partsch90, Key = "Partsch", Author = "Helmut A. Partsch", Title = "Specification and transformation of programs: a formal approach to software development", Publisher = SV, Year = "1990", Series = "Texts and Monographs in Computer Science", Address = NY } @InCollection{Partsch93, Key = "Partsch", Author = "Helmut Partsch", Title = "Formal problem specification on an algebraic basisi", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "183-224", Address = NY, Month = Jul, Annote = "42 references." } @Article{Paulo-Masiero-deOliveira99, key = {Paulo \& Masiero \& de Oliveira}, author = {Fabiano Borges Paulo and Paulo Cesar Masiero and Maria Cristina Fierreira de Oliveira}, title = {Hypercharts: Extended Statecharts to Support Hypermedia Specification}, journal = IEEETSE, year = 1999, volume = 25, number = 1, month = Jan, pages = {33-49}, annote = {18 references.} } @Book{Paulson87, key = "Paulson", author = "Lawrence C. Paulson", title = "Logic and Computations: Interactive Proof with Cambridge {LCF}", publisher = "Cambridge University Press", year = "1987", Series = "Cambridge Tracts in Theoretical Computer Science, Volume 2" } @InProceedings{Paulson90, key = "Paulson", author = "Lawrence Paulson", title = "Isabelle: The next seven hundred theorem provers", booktitle = "Proceedings of the Tenth International Conference on Automated Deduction (Kaiserslautern, West Germany)", editor = "M. Stickel", series = LNCS, publisher = sv, address = "Berlin", volume = "449", year = "1990", pages = "7??--7??" } @Book{Paulson94, key = "Paulson", author = "Lawrence C. Paulson", title = "Isabelle: {A} Generic Theorem Prover", publisher = SV, Series = LNCS, Volume = 828, year = "1994", keywords = "Isabelle" } @InCollection{Penny-Holt-Godfrey91, Key = "Penny \& Holt \& Godfrey", Author = "David A. Penny and Richard C. Holt and Michael W. Godfrey", Title = "Formal Specification in Metamorphic Programming", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 1: Conference Contributions", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 551, Pages = "11-30", Address = NY, Month = Oct, Annote = "Tries to minimize gaps between analysis, specification, prototyping, implementation, and tuning. Idea is that the outside view of the software is a cocoon that doesn't change, and keeps metamorphis inside. 26 references." } @InCollection{Pepper93, Key = "Pepper", Author = "Peter Pepper", Title = "Program development in an algebraic setting", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "225-262", Address = NY, Month = Jul, Annote = "37 references." } @TechReport{Perl-Weihl-Noble98, Key = "Perl \& Weihl \& Noble", Author = "Sharon E. Perl and William E. Weihl and Brian Noble", Title = "Continuous Monitoring and Performance Specification", institution = DECSRC, Year = 1998, number = 153, Address = "130 Lytton Avenue, Palo Alto, CA 94301" } @InProceedings{Perl-Weihl93, Key = "Perl \& Weihl", Author = "Sharon E. Perl and William E. Weihl", Title = "Performance Assertion Checking", BookTitle = "14th ACM Symposium on Operating Systems Principles, December 5-8, 1993", Year = 1993, Pages = "134-145" } @Article{Perry-Kaiser90, Key = "Perry-Kaiser", Author = "D. E. Perry and G. E. Kaiser", Title = "Adequate Testing and Object-Oriented Programming", Journal = JOOP, Volume = 2, Number = 5, Pages = "13-19", Year = 1990, Month = "Jan/Feb" } @InProceedings{Perry89, author = "D. E. Perry", title = "The {Inscape} Environment", booktitle = "Proceedings of the~11th~International Conference on Software Engineering", pages = "2--12", month = may, year = "1989", abstract = "The Inscape Environment is an integrated software development environment for building large software systems by large groups of developers. It provides tools that are knowledgeable about the process of system construction and evolution and that work in symbiosis with the system builders and evolvers. These tools are integrated around the constructive use of formal module interface specifications. The author first discusses the problems that Inscape addresses, outlines his research strategies and approaches to solving these problems, and summarizes the contributions of the Inscape Environment. He then discusses the major aspects of the Inscape Environment: the specification language, system construction, system evolution, use and reuse, and validation. The author illustrates these various components with examples and discussions.", } @InProceedings{Perry89a, author = "Dewayne E. Perry", title = "An Overview of the {Inscape} environment", booktitle = "Proceedings of the International Workshop on Environments", year = "1989", editor = "Fred Long", pages = "131--135", address = "Chinon, France", organization = "Lecture Notes in Computer Science Nr. 467", publisher = "Springer--Verlag", month = sep, } @InProceedings{Peters-Parnas94, Key = {Peters \& Parnas}, Author = {Dennis Peters and David L. Parnas}, Title = {Generating a Test Oracle from Program Documentation}, Year = 1994, Month = Aug, Pages = {58--65}, Booktitle = {Proceedings of ISSTA 94, Seattle, Washington, August, 1994}, Publisher = {IEEE Computer Society}, } @Article{Peters-Parnas98, author = {Dennis K. Peters and David Lorge Parnas}, title = {Using Test Oracles Generated from Program Documentation}, journal = IEEETSE, year = 1998, key = {Peters \& Parnas}, volume = 24, number = 3, pages = {161-173}, month = Mar, annote = {LD-relations and tabular forms of specification. 37 references.} } @InProceedings{Petre-Winder88, Key = "Petre \& Winder", Author = "M. Petre and R. L. Winder", Title = "Issues Governing the Suitability of Programming Languages for Programming Tasks", BookTitle = "People and Computers IV: Proceedings of HCI'88", Year = 1988, Publisher = "Cambridge University Press", Address = "Cambridge" } @InCollection{Pettorossi-Proietti93, Key = "Pettorossi \& Proietti", Author = "Alberto Pettorossi and Maurizio Proietti", Title = "Rules and Strategies for program transformation", BookTitle = "Formal Program Development", Publisher = SV, Year = 1993, Editor = "Bernhard Moeller and Helmut Partsch and Steve Schuman", Series = LNCS, Volume = 755, Pages = "263-304", Address = NY, Month = Jul, Annote = "84 references." } @Article{Pfleeger-etal97, key = {Pfleeger, {\em et al.}}, author = {Shari Lawrence Pfleeger and Ross Jeffery and Bill Curtis and Barbara Kitchenham}, title = {Status Report on Software Measurement}, journal = {IEEE Software}, year = 1997, volume = 14, number = 2, month = Mar, pages = {33-43}, annote = {Software metrics. More than 23 references.} } @Book{Pfleeger98, author = {Shari Lawrence Pfleeger}, title = {Software Engineering: Theory and Practice}, publisher = {Prentice-Hall}, year = 1998, key = {Pfleeger}, address = {Upper Saddle River, NJ}, annote = {Annotated bibliography with many references.} } @article{Pichler-Ostermann-Mezini03, Key = {Pichler \& Ostermann \& Mezini}, Author = {Roman Pichler and Klaus Ostermann and Mira Mezini}, Title = {On aspectualizing component models}, Journal = SPandE, Number = {10}, Pages = {957-974}, Volume = {33}, Year = {2003} } @incollection{Pierik-Boer05, author={C. Pierik and F.S. de Boer}, title={On Behavioral Subtyping and Completeness}, booktitle={{ECOOP} Workshop on Formal Techniques for {Java}-like Programs}, URL={http://www.cs.ru.nl/ftfjp/2005/Pierik.pdf}, year=2005 } @PhdThesis{Pierik06, key = {Pierik}, author = {Cees Pierik}, title = {Validation Techniques for Object-Oriented Proof Outlines}, school = {Universiteit Utrecht}, year = 2006, URL = {http://igitur-archive.library.uu.nl/dissertations/2006-0502-200341/index.htm} } @Article{Pillai-Nair97, key = {Pillai \& Nair}, author = {Krishnakumar Pillai and V. S. Suhumaran Nair}, title = {A Model for Software Development Effort and Cost Estimation}, journal = IEEETSE, year = 1997, volume = 23, number = 8, month = Aug, pages = {485-497}, annote = {17 references.} } @InCollection{Pinci-Shapiro90, Key = "Pinci \& Shapiro", Author = "Valerio O. Pinci and Robert M. Shapiro", Title = "An Integrated Software Development Methodology Based on {Hierarchical Colored Petri Nets}", BookTitle = "Advances in Petra nets 1990", Publisher = SV, Year = 1990, Editor = "G. Rosenberg", Series = LNCS, Volume = 483, Address = NY, Annote = "10 references." } @Article{Plat-Larsen92, Key = "Plat \& Larsen", Author = "Nico Plat and Peter Gorm Larsen", Title = "An Overview of the {ISO/VDM-SL} Standard", Journal = SIGPLAN, Year = 1992, Volume = 27, Number = 8, Month = Aug, Pages = "76-82", Annote = "16 references." } @InCollection{Plat-vanKatwijk-Pronk91, Key = "Plat \& van Katwijk \& Pronk", Author = "N. Plat and J. van Katwijk and K. Pronk", Title = "A case for structured analysis/formal design", BookTitle = "{V}{D}{M} 91 - Formal Software Development Methods", Publisher = SV, Series = LNCS, Volume = 551, Year = 1991 } @article{Pnueli-Siegel-Singerman98, key = "Pnueli \& Siegel \& Singerman", author = "A. Pnueli and M. Siegel and E. Singerman", title = "Translation Validation", journal = "Lecture Notes in Computer Science", volume = 1384, pages = "151-166", year = "1998", url = "citeseer.ist.psu.edu/article/pnueli98translation.html" } @InCollection{Pnueli86, Key = "Pnueli", Author = "A. Pnueli", Title = "Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends", BookTitle = "Current trends in Concurrency: Overviews and Tutorials", Series = LNCS, Volume = 224, Editor = "W.-P. de Roever and G. Rozenberg", Publisher = SV, Address = NY, Year = 1986, Pages = "510-584" } @InCollection{Pnueli93, Key = "Pnueli", Author = "A. Pnueli", Title = "System Specification and Refinement in Temporal Logic", Series = LNCS, Volume = 652, Editor = "R. Shyamasundar", Publisher = SV, Address = NY, Year = 1993, Pages = "1-38", Annote = "30 references" } @Misc{Poetzsch-Heffter-Mueller-Schaefer06, key = {Poetzsch-Heffter \& M{\"u}ller \& Sch\"{a}fer}, author = {Arnd Poetzsch-Heffter and Peter M{\"u}ller and Jan Sch\"{a}fer}, title = {The {Jive} Tool}, howpublished = {\url{http://softech.informatik.uni-kl.de/twiki/bin/view/Homepage/Jive}}, month = Apr, year = 2006, note = {Checked August 2, 2006.} } @InProceedings{Poetzsch-Heffter-Mueller99, key = { Poetzsch-Heffter \& M{\"u}ller }, author = { A. Poetzsch-Heffter and P. M{\"u}ller }, title = { A Programming Logic for Sequential {J}ava }, booktitle = { European Symosium un Programming ({ESOP}~'99) }, editor = { S. D. Swierstra }, series = LNCS, volume = 1576, pages = {162-176}, year = 1999, publisher = { Springer-Verlag }, URL = "http://tinyurl.com/krjle" } @InProceedings{Poetzsch-Heffter95, author = {Arnd Poetzsch-Heffter}, title = {Interface Specifications for Program Modules Supporting Selective Updates and Sharing and their Use in Correctness Proofs}, booktitle = {Softwaretechnik 95}, editor = {G. Snelting}, year = 1995 } @Misc{Poetzsch-Heffter97, Key = "Poetzsch-Heffter", Author = { Arnd Poetzsch-Heffter }, Title = { Specification and Verification of Object-Oriented Programs }, HowPublished = { Habilitation thesis, Technical University of Munich }, Month = { January }, Year = 1997, URL = {http://tinyurl.com/g7xgm} } @InProceedings{Polak81, Key = "Polak", Author = "Wolfgang Polak", Title = "Program Verification Based on Denotational Semantics", BookTitle = "Conference Record of the Eighth ACM Symposium on Principles of Programming Languages", Publisher = ACM, Month = Jan, Year = 1981, Pages = "149-158", Annote = "24 references." } @inproceedings{Poll-Berg-Jacobs00, author = {Erik Poll and Joachim van den Berg and Bart Jacobs}, title = {{Specification of the \mbox{JavaCard} API in JML}}, booktitle = {Smart Card Research and Advanced Application Conference (CARDIS'2000)}, publisher = {Kluwer Acad. Publ.}, EDITOR = "J. Domingo-Ferrer and D. Chan and A. Watson", pages = "135--154", year = "2000" } @article{Poll-Berg-Jacobs01, author = {Erik Poll and Joachim van den Berg and Bart Jacobs}, title = {{Formal specification of the {Java Card API} in {JML}: the {APDU} class}}, journal = {Computer Networks}, publisher = {Elsevier Science}, year = {2001}, volume = {36}, number = {4}, pages = {407--421}, } @inproceedings{Poll-Hartel-deJong02, author = {Erik Poll and Pieter Hartel and Eduard de Jong}, title = {A {Java} Reference Model of Transacted Memory for Smart Cards}, booktitle = {Smart Card Research and Advanced Application Conference (CARDIS'2002)}, publisher = {USENIX}, pages = "75--86", year = "2002" } @InProceedings{Poll00a, Key = "Poll", Author = "Erik Poll", Title = "A Coalgebraic Semantics of Subtyping", BookTitle = "Coalgebraic Methods in Computer Science (CMCS)", Editor = "H. Reichel", Publisher = "Elsevier, Amsterdam", Series = ENTCS, Number = "33", Year = 2000 } @inproceedings{Poll98a, key = {Poll}, author = {Erik Poll}, booktitle = {Foundations of Object-Oriented Languages (FOOL5)}, title = {Behavioural Subtyping for a Type-Theoretic Model of Objects}, year = {1998}, place = "San Diego", url = {http://www.cs.ru.nl/~erikpoll/publications/fool5.ps.gz} } @Article{Ponder-Bush94, Key = "Ponder \& Bush", Author = "C. Ponder and B. Bush", Title = "Polymorphism Considered Harmful", Journal = "Software Engineering Notes", Year = 1994, Volume = 19, Number = 2, Month = Apr, Pages = "35-37", Annote = "3 references." } @Article{Porat-Fertig95, author = {Sara Porat and Paul Fertig}, title = {Class assertions in {C++}}, journal = JOOP, year = 1995, key = {Porat \& Fertig}, volume = 8, number = 2, month = {May}, pages = {30-37}, annote = {Similar to Eiffel. 15 references.} } @Book{Potter-Sinclair-Till91, Key = "Potter \& Sinclair \& Till", Author = "B. Potter and J. Sinclair and D. Till", Title = "An Introduction to Formal Specification and {Z}", Publisher = "Prentice-Hall", Year = 1991 } @InProceedings{Pratt80, Key = "Pratt", Author = "V. R. Pratt", Title = "On Specifying Verifiers", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, Las Vegas, Nevada", Organization = ACM, Month = Jan, Year = 1980, Pages = "106-116", Annote = "Reply to the De Millo, Lipton, Perlis paper. 11 references." } @InCollection{Presicce-Pierantonio91, Key = "Presicce-Pierantonio", Author = "F. Parisi Presicce and A. Pierantonio", Title = "An Algebraic View of Inheritance and Subtyping in Object Oriented Programming", BookTitle = "ESEC '91: 3rd European Software Engineering Conference, Milan, Italy", Publisher = SV, Year = 1991, Editor = "A. van Lamsweerde and A. Fugetta", Series = LNCS, Volume = 550, Pages = "364-379", Month = Oct, Annote = "19 references." } @Book{Pressman05, Key = "Pressman", Author = "Roger S. Pressman", Title = "Software Engineering: A Practitioner's Approach", Publisher = "McGraw-Hill", Year = 2005, Address = NY, Edition = "Sixth Edition", Annote = "Several references in each chapter." } @Book{Pressman86, Key = "Pressman", Author = "R. S. Pressman", Title = "Software Engineering: A Practitioner's Approach", Publisher = "McGraw-Hill", Year = 1986, Address = NY, Edition = "Second Edition" } @InProceedings{Pritchard77, Key = "Pritchard", Author = "P. Pritchard", Title = "Program Proving --- expression languages", BookTitle = "Information Processing 77", Year = 1977, Pages = "727-731", Publisher = "North-Holland", Address = "Amsterdam" } @Article{Puente-etal93, key = "Puente, {\em et al.}", author = "Juan A. de la Puente and Alejandro Alonso and Gonzalo Le\'{o}n and Juan Carlos Due\~{n}as", title = "Distributed Execution of Specifications", journal = "Real-Time Systems", year = 1993, volume = 5, pages = "235-248", annote = "The IPTES environment's method of prototyping. 20 references." } @InProceedings{Pun-Winder89, Key = "Pun \& Winder", Author = "Winnie W. Y. Pun and Russell L. Winder", Title = "A Design Method for Object-Oriented Programming", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "225-240", Annote = "9 references." } @Article{Qian-Goldberg93, Key = "Qian \& Goldberg", Author = "Xiaolei Qian and Allen Goldberg", Title = "Referential Opacity in Nondeterministic Data Refinement", Journal = "ACM Letters on Programming Languages and Systems", Year = 1993, Volume = 2, Number = "1-4", Month = "March-December", Pages = "233-241", Annote = "13 references." } @Article{Quiros-Millan97, key = {Quir\'{o}s \& Millan}, author = {Pedro de las Heras Quir\'{o}s and Jos\'{e} M. Olmo Millan}, title = {Inheritance Anomaly in {CORBA} Multithreaded Environments}, journal = TAPOS, year = 1997, volume = 3, number = 1, pages = {45-54}, annote = {27 references.} } @InProceedings{Rafsanjani-Colwill93, Key = "Rafsanjani \& Colwill", Author = "G-H. B. Rafsanjani and S. J. Colwill", Title = {From {Object-Z} to {C$^{++}$}: A Structural Mapping}, Crossref = "Bowen-Nicholls93", Pages = "166-179" } @TechReport{Raghavan-Leavens01, Key = "Raghavan \& Leavens", Author = "Arun D. Raghavan and Gary T. Leavens", Title = "Desugaring {JML} Method Specifications", Institution = "Iowa State University, Department of Computer Science", Year = 2001, Number = "00-03c", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-03/TR.ps.gz", Note = "This is an obsolete version.", Annote = "18 references." } @TechReport{Raghavan-Leavens03, Key = "Raghavan \& Leavens", Author = "Arun D. Raghavan and Gary T. Leavens", Title = "Desugaring {JML} Method Specifications", Institution = "Iowa State University, Department of Computer Science", Year = 2003, Number = "00-03d", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-03/TR.pdf", Note = "This is an obsolete version.", Annote = "27 references." } @TechReport{Raghavan-Leavens05, Key = "Raghavan \& Leavens", Author = "Arun D. Raghavan and Gary T. Leavens", Title = "Desugaring {JML} Method Specifications", Institution = "Iowa State University, Department of Computer Science", Year = 2005, Number = "00-03e", Month = May, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-03/TR.pdf", Annote = "31 references." } @TechReport{Raghavan00, Key = "Raghavan", Author = "Arun D. Raghavan", Title = "Design of a {JML} documentation generator", Institution = "Iowa State University, Department of Computer Science", Year = 2000, Number = "00-12", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-12/TR.ps.gz", Annote = "JMLDoc. 16 references." } @TechReport{Raj-Levy89, Key = "Raj \& Levy", Author = "Rajendra K. Raj and Henry M. Levy", Title = "A Compositional Model for Software Reuse", BookTitle = "{ECOOP'89}, European Conference on Object-Oriented Programming, British Computer Society Workshop Series", Editor = "Stephen Cook", Month = Jul, Year = 1989, Publisher = "Cambridge University Press", Pages = "3-24", Note = "Also TR 89-01-04, Department of Computer Science, University of Washington", Annote = "Discussion of Emerald, which has type inheritance, but not code inheritance. Other kinds of code sharing. The Jade system for programming in the large. 31 references." } @Article{Ram-Dwivedi-Ongole98, key = {Ram \& Dwivedi \& Ongole}, author = {D. Janaki Ram and R. A. Dwivedi and Ramakrishna Ongole}, title = {An Implementation Mechanism for Design Patterns}, journal = SIGSOFT, year = 1998, volume = 23, number = 5, month = Sep, pages = {52-56}, annote = {7 references.} } @Article{Ramesh98, key = {Ramesh}, author = {Balasubramaniam Ramesh}, title = {Factors Influencing Requirements Traceability Practice}, journal = CACM, year = 1998, volume = 41, number = 12, month = Dec, pages = {37-44}, annote = {Results from a survey. 12 references.} } @Book{Rann-Turner-Whitworth94, author = "David Rann and John Turner and Jenny Whitworth", title = "{Z}: {A} Beginner's Guide", publisher = "Chapman \& Hall", address = "London", ISBN = "0 412 55660 X", year = "1994", Annote = "A book for self-study" } @inproceedings{Rashid-Chitchyan03, key = {Rashid \& Chitchyan}, title = {Persistence as an aspect}, author = {Awais Rashid and Ruzanna Chitchyan}, crossref = {aosd03}, pages = {120-129} } @Misc{ReasoningInc06, key = {ReasoningInc}, author = {Reasoning Inc.}, title = {{Software Refinery}}, note = {\url{http://www.reasoning.com/}}, year = 2006, month = Mar } @Article{Reddy90, Key = "Reddy", Author = "Uday S. Reddy", Title = "Formal Methods in Transformational Derivation of Programs", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "104-114", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "30 references." } @PhdThesis{Reddy99, key = {Reddy}, author = {A. L. N. Reddy}, title = {Formalization of Storage Considerations in Software Deisgn}, school = {West Virgina University}, year = 1999, address = {Morgantown, WV} } @Article{Reed-Yeh88, Key = "Reed \& Yeh", Author = "Joylyn Reed and Raymond T. Yeh", Title = "Specification and Verification of Liveness Properties of Cyclic, Concurrent Processes", Journal = TOPLAS, Volume = 10, Number = 1, Month = Jan, Year = 1988, Pages = "156-177", Annote = "Specification and verification of concurrent, distributed systems. 25 references." } @InProceedings{Reichgelt-Shadbolt90, Key = "Reichgelt \& Shadbolt", Author = "Han Reichgelt and Nigel Shadbolt", Title = "A Specification Tool for Planning Systems", BookTitle = "Proceedings of the 9th European Conference on Artificial Intelligence (ECAI-90), Stockholm, Sweden", Year = "1990", Pages = "541-546", Annote = "25 references." } @Book{Rescher69, Key = "Rescher", author = "N. Rescher", title = "Many-valued Logic", publisher = "McGraw-Hill", address = "New York", year = "1969" } @MastersThesis{Restivo85, Key = "Restivo", Author = "James P. Restivo", Title = "Adding Type Information to the Argus Debugging System", School = MIT, Month = May, Year = 1985, Annote = "Describes the separation approach, where type information is available to the debugger for type checking but not to the program itself. 12 references." } @Article{Rettig91, Key = "Rettig", Author = "Marc Rettig", Title = "Practical Programmer: Nobody Reads Documentation", Journal = CACM, Year = 1991, Volume = 34, Number = 4, Month = Jul, Pages = "19-24", Annote = "0 references." } @inproceedings{Reus03, key={Reus}, author={Bernhard Reus}, title={Modular Semantics and Logics of Classes}, booktitle = {Computer Science Logic ({CSL})}, year=2003, pages={456--469}, editor = {Matthias Baaz and Johann A. Makowsky}, series = LNCS, volume = 2803 } @Article{Rich-Feldman92, Key = "Rich \& Feldman", Author = "Charles Rich and Yishai A. Feldman", Title = "Seven Layers of Knowledge Representation and Reasoning in Support of Software Development", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 6, Month = Jun, Pages = "451-469", Annote = "35 references." } @Article{Rich-Shrobe78, Key = "Rich \& Shrobe", Author = "C. Rich and H. L. Shrobe", Title = "Initial Report on a Lisp Programmer's Apprentice", Journal = IEEETSE, Year = 1978, Month = Jun, Volume = "SE-4", Number = 6, Pages = "454-467" } @TechReport{Rich-Waters81, Key = "Rich \& Waters", Author = "C. Rich and R. C. Waters", Title = "Abstraction, Inspection and Debugging in Programming", Institution = MITAI, Number = 634, Year = 1981, Month = Jun } @Book{Rich-Waters90, Key = "Rich \& Waters", Author = "Charles Rich and Richard C. Waters", Title = "The Programmer's Apprentice", Publisher = Addison-Wesley, Address = NY, Year = 1990, Series = "ACM Frontier Series", Annote = "158 references." } @InProceedings{Richardson94, Key = {Richardson}, Author = {Debra J. Richardson}, Title = {{TAOS}: Testing with Analysis and Oracle Support}, Year = 1994, Month = Aug, Pages = {138--152}, Booktitle = {Proceedings of ISSTA 94, Seattle, Washington, August, 1994}, Publisher = {IEEE Computer Society}, } @Book{Riddle-Fairley80, Key = "Riddle \& Fairley", Editor = "W. E. Riddle and R. E. Fairley", Title = "Software Development Tools", Note = "Proceedings of a workshop held at Pingree Park, Colorado in May 1979", Publisher = SV, Address = NY, Year = 1980 } @InProceedings{Riecke-Subrahmanyam93, Key = "Riecke \& Subrahmanyam", Author = "Jon G. Riecke and Ramesh Subrahmanyam", Title = "Algebraic Reasoning and Completeness in Typed Languages", BookTitle = " Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina", Organization = ACM, Year = 1993, Month = Jan, Pages = "185-195", Annote = "17 references" } @InProceedings{Riehle97, key = {Riehle}, author = {Riehle97}, title = {Composite Design Patterns}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {218-228}, annote = {34 references.} } @Book{Riel96, author = {Arthur J. Riel}, title = {Object-Oriented Design Heuristics}, publisher = {Addison-Wesley}, year = 1996 } @inproceedings{Rinard-Salcianu-Bugrara04, Key = {Rinard \& S{\u a}lcianu \& Bugrara}, Author = {Martin Rinard and Alexandur S{\u a}lcianu and Suhabe Bugrara}, Crossref = {FSE-04}, Pages = {147-158}, Title = {A Classification System and Analysis for Aspect-Oriented Programs} } @InProceedings{Rival04, key = {Rival}, author = {Xavier Rival}, title = {Symbolic transfer functions-based approaches to certified compilation}, booktitle = {31st Symposium on Principles of Programming Languages}, pages = {1-13}, year = {2004}, editor = {Xavier Leroy}, month = Jan, publisher = {ACM}, } @InProceedings{Roach-Gates01, key = "Roach \& Gates", author = "Steve Roach and Ann Q. Gates", title = "Synthesis of Runtime Constraint Monitoring Code", BookTitle = "Proceedings of the Second International Workshop on Automated Program Analysis, Testing and Verification in conjunction with the International Conference on Software Engineering (ICSE 2001), Toronto, Canada, May 13, 2001", Year = "2001" } @InProceedings{Robby-etal04, key = {Robby, {\em et al.}}, author = "Robby and Edwin Rodr\'{i}guez and Matthew Dwyer and John Hatcliff", title = {Checking Strong Specifications Using an Extensible Software Model Checking Framework}, booktitle = {Proceedings of the 10th International Conference on Tools and Algorithms for the Construction and Analysis of Systems}, publisher = SV, series = LNCS, volume = 2988, pages = "404-420", year = {2004}, isbn = {3-540-21299-X}, } @inproceedings{Robby-Dwyer-Hatcliff03, key = "Robby \& Dwyer \& Hatcliff", author = "Robby and Matthew B. Dwyer and John Hatcliff", title = "Bogor: An Extensible and Highly-Modular Model Checking Framework", booktitle = "Proceedings of the 9th European Software Engineering Conference held jointly with the 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering", year = 2003, pages = {267-276}, publisher = ACM, volume = {28 number 5}, series = {SIGSOFT Softw. Eng. Notes} } @Book{Robillard-Kruchten-dAstous03, author = {Pierre N. Robillard and Philippe Kruchten and Patrick d'Astous}, title = {Software Engineering Process with the {UPEDU}}, publisher = {Addison Wesley}, year = 2003, key = {Robillard \& Kruchten \& d'Astous}, address = {Boston}, annote = {A few references in each chapter.} } @Article{Robinson-Levitt77, Key = "Robinson", Author = "Lawrence Robinson and Karl N. Levitt", Title = "Proof Techniques for Hierarchically Structured Programs", Journal = CACM, Volume = 20, Number = 4, Pages = "271-283", Month = Apr, Year = 1977, Annote = "Program represented as levels of abstractions. Help for proofs of large programs. 44 references." } @Article{Robinson-etal75, Key = "Robinson, {\em et al.}", Author = "J. Robinson and K. N. Levitt and P. G. Neumann and A. R. Saxena", Title = "On attaining Reliable Software for a Secure Operating System", Journal = SIGPLAN, Year = 1975, Volume = 10, Number = 5, Month = May, Pages = "267-284", Note = "International Conference on Reliable Software" } @unpublished{Rodin06, key = {Rodin}, author = {{Rodin Partners}}, title = {Rodin: Rigorous open development environment for complex systems.}, year = 2006, note = {\url{http://rodin.cs.ncl.ac.uk/}} } @Article{Rodriguez-Dapena99, key = {Rodriguez-Dapena}, author = {Patricia Rodriguez-Dapena}, title = {Software Safety Certification: A Multidomain Problem}, journal = {IEEE Software}, year = 1999, volume = 16, number = 4, month = Jul, pages = {31-38}, annote = {12 references.} } @TechReport{Rodriguez-etal04, key = {Rodriguez, {\em et al.}}, author = {Edwin Rodr\'{i}guez and Matthew B. Dwyer and Cormac Flanagan and John Hatcliff and Gary T. Leavens and Robby}, title = {Extending Sequential Specification Techniques for Modular Specification and Verification of Multi-Threaded Programs}, institution = {Kansas State University, Department of Computing and Information Sciences}, year = 2004, number = {SAnToS-TR2004-10}, month = Dec, annote = {35 references.}, note = {To appear in \textit{ECOOP 2005}.}, URL = {http://spex.projects.cis.ksu.edu/papers/SAnToS-TR2004-10.pdf} } @InCollection{Rodriguez-etal05, key = {Rodriguez, {\em et al.}}, author = {Edwin Rodr\'{i}guez and Matthew B. Dwyer and Cormac Flanagan and John Hatcliff and Gary T. Leavens and Robby}, title = {Extending {JML} for Modular Specification and Verification of Multi-Threaded Programs}, booktitle = {ECOOP 2005 --- Object-Oriented Programming 19th European Conference, Glasgow, UK}, pages = {551-576}, year = 2005, editor = {Andrew P. Black}, volume = 3586, series = LNCS, address = {Berlin}, month = Jul, publisher = SV, annote = {39 references.} } @TechReport{Rodriguez-etal05a, key = {Rodriguez, {\em et al.}}, author = {Edwin Rodr\'{i}guez and Matthew B. Dwyer and Cormac Flanagan and John Hatcliff and Gary T. Leavens and Robby}, title = {Extending {JML} for Modular Specification and Verification of Multi-Threaded Programs}, institution = {Kansas State University, Department of Computing and Information Sciences}, year = 2005, number = {SAnToS-TR2004-10}, month = May, annote = {39 references.}, note = {To appear in \textit{ECOOP 2005}.}, URL = {http://spex.projects.cis.ksu.edu/papers/SAnToS-TR2004-10.pdf} } @Unpublished{Rollins-Wing91, Key = "Rollins \& Wing", Author = "Eugene J. Rollins and Jeannette M. Wing", Title = "Specifications as Search Keys for Software Libraries", Note = "To appear in the Proceedings of the International Conference on Logic Programming, Paris, June 1991.", Annote = "20 references.", Month = Jun, Year = 1991 } @InCollection{Rose-Duke94, author = "Gordon Rose and Roger Duke", title = "An {Object-Z} Specification of a Mobile Phone System", key = "Rose \& Duke", booktitle = "Object-Oriented Specification Case Studies", publisher = "Prentice-Hall", year = 1994, editor = "Kevin Lano and Howard Haughton", series = "The Object-Oriented Series", chapter = 5, Crossref = "Lano-Haughton94", pages = "110-129", address = NY } @InCollection{Rose92, Key = "Rose", Author = "Gordon Rose", Title = "Object-{Z}", Editor = "Susan Stepney and Rosalind Barden and David Cooper", BookTitle = "Object Orientation in Z", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Crossref = "Stepney-Barden-Cooper92", Pages = "59-77" } @InProceedings{Rosenblum92, author = "D. S. Rosenblum", title = "Towards a Method of Programming with Assertions", booktitle = "Proceedings of the~14th~International Conference on Software Engineering", pages = "92--104", month = may, year = "1992", abstract = "Embedded assertions have long been recognized as a potentially powerful tool for automatic runtime detection of software faults during debugging, testing and maintenance. However, they have seen little widespread use in practice because previous assertion processing tools did not integrate easily with existing programming environments, and it is not well understood what kinds of assertions are most effective at detecting software faults. The author describes experience using an assertion processing tool that was built to address the concerns of ease-of-use and effectiveness. The tool is called APP, an Annotation Pre-Processor for C programs developed in UNIX-based development environments. APP has been used to develop a number of software systems over three years. Based on this experience, the author presents a classification of the assertions that were most effective at detecting faults. While the assertions that are described guard against many common kinds of faults and errors, the very commonness of such faults demonstrates the need for an explicit, high-level, automatically checkable specification of required behavior.", } @Article{Rosenblum95, author = "David S. Rosenblum", title = "A Practical Approach to Programming With Assertions", journal = IEEETSE, year = 1995, volume = 21, number = 1, pages = "19-31", month = Jan } @InProceedings{Rossie98, key = {Rossie}, author = {Jonathan G. {Rossie Jr.}}, title = {Logical Observable Entities}, BookTitle = "OOPSLA '98 Conference Proceedings", Series = SIGPLAN, Volume = "33(10)", Month = Oct, Year = 1998, organization = ACM, pages = {154-165}, annote = {Subtyping for state machines. 42 references.} } @InProceedings{Roth-Schmidt04, key = {Roth \& Schmidt}, author = {Andreas Roth and Peter H. Schmidt}, title = {Ensuring Invariant Contracts for Modules in Java}, editor = {Erik Poll}, booktitle="ECOOP Workshop FTfJP'2004 Formal Techniques for Java-like Programs", Month = Jun, Year = 2004, Pages="93-102", note = {\url{http://www.cs.ru.nl/ftfjp/2004/InvariantContracts.pdf}}, annote = "21 references." } @InProceedings{Rouzaud99, key = "Rouzaud", author = "Yann Rouzaud", title = "Interpreting the {B}-Method in the refinement calculus", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1708, pages = "411-430", annote = "Explains B method in refinement calculus terms. 26 references." } @InProceedings{Ruby-Leavens00, Key = "Ruby \& Leavens", Author = "Clyde Ruby and Gary T. Leavens", Title = "Safely Creating Correct Subclasses without Seeing Superclass Code", BookTitle = "OOPSLA 2000 Conference on Object-Oriented Programming, Systems, Languages, and Applications, Minneapolis, Minnesota", Series = SIGPLAN, Volume = "35(10)", Month = Oct, Year = 2000, Pages = "208-228", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-05/TR.ps.gz", Annote = "39 references." } @TechReport{Ruby-Leavens00a, Key = "Ruby \& Leavens", Author = "Clyde Ruby and Gary T. Leavens", Title = "Safely Creating Correct Subclasses without Seeing Superclass Code", Institution = "Iowa State University, Department of Computer Science", Year = 2000, Number = "00-05d", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-05/TR.ps.gz", Note = "Appears in OOPSLA 2000 Conference Proceedings, pp. 208--228.", Annote = "39 references." } @PhdThesis{Ruby04, author = {Clyde Ruby}, title = {Safely Creating Correct Subclasses without Seeing Superclass Code}, school = {Iowa State University}, year = 2004, key = {Ruby}, address = {Ames, Iowa}, note = {To appear.} } @Book{Rumbaugh-Jacobson-Booch99, author = {James Rumbaugh and Ivar Jacobson and Grady Booch}, title = {The Unified Modeling Language Refrence Manual}, publisher = {Addison Wesley Longman}, year = 1999, key = {Rumbaugh \& Jacobson \& Booch}, series = {Object Technology Series}, address = {Reading, Mass.} } @Article{Rushby-Owre-Shankar98, author = {John Rushby and Sam Owre and Natarajan Shankar}, title = {Integration of Sequential Scenarios}, journal = IEEETSE, year = 1998, key = {Rushby \& Owre \& Shankar}, volume = 24, number = 9, month = Sep, pages = {709-720}, annote = {31 references.} } @Techreport{Rushby-vonHenke-Owre91, Key = "Rushby \& von Henke \& Owre", Author = "John Rushby, Friedrich von Henke and Sam Owre", Title = "An Introduction to Formal Specification and Verification Using EHDM", Institution = "SRI International", Month = Feb, Year = 1991, Number = "CSL-91-02", Annote = "28 references." } @Article{Rushby94, key = "Rushby", author = "J. Rushby", title = "Critical System Properties: Survey and Taxonomy", journal = "Reliability Engineering and System Safety", volume = 43, number = 2, pages = "189--219", year = 1994 } @InProceedings{Rushby99, key = "Rushby", title = "Mechanized Formal Methods: Where Next?", author = "John Rushby", booktitle = "FM99: The World Congress in Formal Methods", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1708, pages = "48-51", annote = "Some research directions." } @Article{Russell-Strom-Yellin94, Key = "Russell \& Strom \& Yellin", Author = "James R. Russell and Robert E. Strom and Daniel M. Yellin", Title = "A Checkable Interface Language for Pointer-Based Structures", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 8, Month = Aug, Pages = "59-73", Annote = "13 references." } @Unpublished{SUNAssert, Key = {Sun}, Author = {{Sun Microsystems, Inc.}}, Title = {A Simple Assertion Facility For the Java Programming Language}, Institution = {Sun Microsystems, Inc.}, Address = {901 San Antonio Road, Palo Alto, California 94303 U.S.A.}, Note = {Available from \url{http://java.sun.com/docs/books/jls/assert-spec.html} (Date retrieved: April 2, 2003)} } @Article{Sakkinen88b, Key = "Sakkinen", Author = "Markku Sakkinen", Title = "Comments on ``the Law of Demeter'' and C++", Journal = SIGPLAN, Year = 1988, Volume = 23, Number = 12, Month = Dec, Pages = "38-44", Annote = "7 references." } @InProceedings{Salcianu-Rinard05, author = {Alexandru Salcianu and Martin Rinard}, title = {Purity and Side Effect Analysis for Java Programs}, key = {Salcianu \& Rinard}, booktitle = {Proceedings of the 6th International Conference on Verification, Model Checking and Abstract Interpretation}, year = 2005, month = Jan, } @Book{Sametinger97, key = {Sametinger}, author = {Johannes Sametinger}, title = {Software Engineering with Reusable Components}, publisher = SV, year = 1997, address = NY } @InProceedings{Sands95, Key = {Sands}, Author = {David Sands}, Title = "Total Correctness by Local Improvement in Program Transformation", BookTitle = "Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, Calif.", Month = Jan, Year = 1995, Organization = ACM, Address = NY, Pages = "221-232", Annote = "Functional programming. 41 references." } @Article{Sangiorgi99, key = {Sangiorgi}, author = {Davide Sangiorgi}, title = {Typed $\pi$-Calculus at Work: A Correctness Proof of {Jones's} Parallelisation Transformation on Concurrent Objects}, journal = TAPOS, year = 1999, volume = 5, number = 1, pages = {25-33}, annote = {26 references.} } @article{Sankar-Hayes94, key = {Sankar \& Hayes}, author = {Sriram Sankar and Roger Hayes}, title = {{ADL}: An Interface Definition Language for Specifying and Testing Software}, journal = SIGPLAN, year = {1994}, month = Aug, volume = {29}, number = {8}, pages = {13--21}, note = {Proceedings of the Workshop on Interface Definition Language, Jeannette M. Wing (editor), Portland, Oregon.} } @article{Sankar-Rosenblum-Neff85, key = {Sankar \& Rosenblum \& Neff}, author = {Sriram Sankar and David Rosenblum and Randall Neff}, title = {An implementation of {Anna}}, journal = {ACM SIGAda Ada Letters}, year = {1985}, month = {Sep/Oct}, volume = {5}, number = {2}, pages = {285--296}, note = {Proceedings of the 1985 annual ACM SIGAda International Conference on Ada 1985 , Paris, France} } @Article{Sannella-Sokolowski-Tarlecki92, Key = "Sannella \& Sokolowski \& Tarlecki", Author = "Donald Sannella and Stefan Sokolowski and Andrzej Tarlecki", Title = "Towards formal development of programs from algebraic specifications: parameterisation revisited.", Journal = "Acta Informatica", Year = 1992, Volume = 29, Number = 8, Pages = "689-736" } @Article{Sannella-Tarlecki84, Key = "Sannella \& Tarlecki", Author = "Donald Sannella and Andrzej Tarlecki", Title = "Specifications in an Arbitrary Institution", Journal = "Information and Computation", Volume = 76, Number = "2/3", Month = "February/March", Year = 1988, Pages = "165-210", Note = "A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS 173, pages 337--356.", Annote = "59 references." } @InCollection{Sannella-Tarlecki85a, Key = "Sannella \& Tarlecki", Author = "Donald Sannella and Andrzej Tarlecki", Title = "On Observational Equivalence and Algebraic Specification", BookTitle = "Mathematical Foundations of Software Development, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT), Berlin. Volume 1: Colloquium on Trees in Algebra and Programming (CAAP '85)", Month = Mar, Year = 1985, Pages = "308-322", Editor = "Hartmut Ehrig and Christiane Floyd and Maurice Nivat and James Thatcher", Series = LNCS, Volume = 185, Publisher = SV, Address = NY, Annote = "38 references." } @InProceedings{Sannella-Tarlecki85b, Key = "Sannella \& Tarlecki", Author = "Donald Sannella and Andrzej Tarlecki", Title = "Program Specification and Developemnt in Standard ML", BookTitle = "Conference Record of the Twelveth ACM Symposium on Principles of Programming Languages", Publisher = ACM, Month = Jan, Year = 1985, Pages = "67-77" } @Article{Sannella-Tarlecki87, Key = "Sannella \& Tarlecki", Author = "Donald Sannella and Andrzej Tarlecki", Title = "On Observational Equivalence and Algebraic Specification", Journal = JCSS, Volume = 34, Number = "2/3", Month = "April/June", Year = 1987, Pages = "150-178", Note = "An earlier version appeared in the TAPSOFT, CAAP '85 proceedings, Springer-Verlag LNCS volume 185, pages 308-322." } @TechReport{Sannella-Tarlecki89, Key = "Sannella \& Tarlecki", Author = "Donald Sannella and Andrzej Tarlecki", Title = "Toward formal development of ML programs: foundations and methodology (preliminary version)", Organization = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Feb, Year = 1989, Number = "ECS-LFCS-89-71 (also CSR-289-89)", Annote = "59 references." } @TechReport{Sannella-Tarlecki91, Key = "Sannella \& Tarlecki", Author = "Donald Sannella and Andrzej Tarlecki", Title = "Extended {ML}: Past, present and future", Organization = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Feb, Year = 1991, Number = "ECS-LFCS-91-138", Annote = "60 references." } @TechReport{Sannella88, Key = "Sannella", Author = "Donald Sannella", Title = "A Survey of Formal Software Development Methods", Organization = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Jul, Year = 1988, Number = "ECS-LFCS-88-56", Annote = "76 references." } @TechReport{Sannella89, Key = "Sannella", Author = "Donald Sannella", Title = "Formal program development in Extended {ML} for the working programmer", Organization = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Month = Dec, Year = 1989, Number = "ECS-LFCS-89-102", Annote = "24 references." } @TechReport{Saxe-etal91, Key = "Saxe, {\em et al.}", Author = "James B. Saxe and Stephen J. Garland and John V. Guttag and James J. Horning", Title = "Using Transformation and Verification in Circuit Design", Institution = DECSRC, Year = 1990, Number = 78, Month = Sep, Address = "130 Lytton Avenue Palo Alto, CA 94301", Note = "Order from src-report@src.dec.com", Annote = "10 references." } @Book{Schach97, author = {Stephen R. Schach}, title = {Software Engineering with Java}, publisher = {Irwin}, year = 1997, key = {Schach}, address = {Chicago}, annote = {Textbook. Many references.} } @InProceedings{Scherlis-Scott83, Key = "Scherlis \& Scott", Author = "W. L. Scherlis and D. Scott", Title = "First Steps Toward Inferential Programming", BookTitle = "Proceedings IFIPS 83, Paris", Year = 1983, Pages = "199-212", Annote = "Good introduction to internal logics for reasoning." } @InProceedings{Scherlis81, Key = "Scherlis", Author = "William L. Scherlis", Title = "Program Improvement by Internal Specialization", BookTitle = "Conference Record of the Eighth ACM Symposium on Principles of Programming Languages", Publisher = ACM, Month = Jan, Year = 1981, Pages = "41-49", Annote = "Program transformation with a generalized procedure construct. 13 references." } @article{Schieder-Broy99, author = "Birgit Schieder and Manfred Broy", title = "Adapting Calculational Logic to the Undefined", journal = "The Computer Journal", volume = "5", number = "2", month = Feb, pages = "73--81", year = "1999", url = "citeseer.nj.nec.com/schieder99adapting.html" } @Article{Schmidt-Zimmerman94, key = {Schmidt \& Zimmerman}, author = {H. Schmidt and W. Zimmerman}, title = {A Complexity Calculus for Object-Oriented Programs}, journal = {Journal of Object-Oriented Systems}, year = 1994, pages = {117-147} } @InProceedings{Schmidt01, key = {Schmidt}, author = {H. Schmidt}, title = {Trusted Components --- Towards Automated Assembly with Predictable Properties}, booktitle = {Proceedings 4th ICSE Workshop on Component-Based Software Engineering}, year = 2001, editor = {Ivica Crnkovic and Heinz Schmidt and Judith Stafford and Kurt Wallnau}, organization = {IEEE}, URL = {http://www.sei.cmu.edu/pacc/CBSE4-Proceedings.html} } @Book{Schmuller04, author = {Joseph Schmuller}, title = {Teach Yourself UML in 24 Hours}, publisher = {SAMS}, year = 2004, key = {Schmuller}, address = {Indianapolis, Indiana} } @book{Shneiderman03, key = {Shneiderman}, author = {Ben Shneiderman}, title = {Leonardo's Laptop: Human Needs and the New Computing Technologies}, year = {2003}, isbn = {0262692996}, publisher = MITP, address = {Cambridge, MA, USA} } @InProceedings{Schoeller03, Key = "Schoeller", Author = "Bernd Schoeller", Title = "Strengthening {Eiffel} Contracts using Models", BookTitle = "Proceedings of the Workshop on Formal Aspects of Component Software (FACS 2003), Pisa, Italy", Month = Sep, Year = 2003, Pages = "143--158", note = "{UNU/IIST} Report No. 284" } @TechReport{Schoett82, Key = "Schoett", Author = "Oliver Schoett", Title = "A Theory of Program Modules, their Specifications and Implementation (Extended Abstract)", Institution = "Department of Computer Science, University of Edinburgh", Year = 1982, Month = Dec, Type = "Internal Report", Number = "CSR-155-83", Annote = "24 references." } @TechReport{Schoett85, Key = "Schoett", Author = "Oliver Schoett", Title = "Behavioural Correctness of Data Representations", Institution = "Department of Computer Science, University of Edinburgh", Year = 1985, Month = Apr, Type = "Internal Report", Number = "CSR-185-85", Annote = "16 references." } @TechReport{Schoett87, Key = "Schoett", Author = "Oliver Schoett", Title = "Data Abstraction and the Correctness of Modular Programming", Institution = "Department of Computer Science, University of Edinburgh", Year = 1987, Type = "Thesis", Number = "CST-42-87", Note = "also ECS-LFCS-87-19" } @Article{Schoett90, Key = "Schoett", Author = "Oliver Schoett", Title = "Behavioural Correctness of Data Representations", Journal = "Science of Computer Programming", Volume = 14, Number = 1, Month = Jun, Year = 1990, Pages = "43-57", Annote = "Two methods for proving the correctness of data representations. Behavioural equivalence relations and behavioural inclusion. Behavioural inclusion allows one to show `partial' implementations. Using relations as a more general technique than abstraction functions. 23 references." } @InCollection{Schoett91, Key = "Schoett", Author = "Oliver Schoett", Title = "An Observational Subset of First-Order Logic Cannot Specify the Behavior of a Counter", BookTitle = "STACS 91 8th Annual Symposium on Theoretical Aspects of Computer Science Hamburg, Germany, February 1991 Proceedings", Publisher = SV, Year = 1991, Editor = "C. Choffrut and M. Jantzen", Series = LNCS, Volume = 480, Pages = "499-510", Address = NY, Annote = "15 references." } @InCollection{Scholefield-Zedan-Jifeng93, Key = "Scholefield \& Zedan \& Jifeng", Author = "David Scholefield and Hussein Zedan and He Jifeng", Title = "A Categorical Interpretation of Landin's Correspondence Principle", BookTitle = "Mathematical Foundations of Programming Semantics 9th International Conference, New Orleans, LA, USA, Proceedings", Publisher = SV, Year = 1993, Editor = "S. Brookes and M. Main and A. Melton and M. Mislove and D. Schmidt", Series = LNCS, Volume = 802, Pages = "230-249", Address = NY, Month = Apr, Annote = "11 references." } @Book{Scott04, author = {Kendall Scott}, title = {Fast Track {UML} 2.0}, publisher = {Apress}, year = 2004, address = "Berkeley, CA", key = {Scott} } @Article{Seiter-Palsberg-Lieberherr98, key = {Seiter \& Palsberg \& Lieberherr}, author = {Linda Seiter and Jens Palsberg and Karl J. Lieberherr}, title = {Evolution of Object Behavior Using Context Relations}, journal = IEEETSE, year = 1998, volume = 24, number = 1, month = Jan, pages = {79-92}, annote = {Context relations model dynamic relationships, which allow one to easily express several design patterns. Extensions to the UML. Extension of Java. Context relations can be seen as a replacement for delegation. 37 references.} } @InProceedings{Sekerinski-Erasmy94, key = "Sekerinski \& Erasmy", author = "Emil Sekerinski Francois Erasmy", editor = "M. Bertran and M. Naftalin and T. Denvir", title = "Stepwise Refinement of Control Software - {A} Case Study Using {RAISE}", booktitle = "FME'94: Industrial Benefit of Formal Methods", publisher = SV, year = "1994", month = oct, pages = "547--566" } @InCollection{Sekerinski93, Key = "Sekerinski", Author = "Emil Sekerinski", Title = "A Calculus for Predicative Programming", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "302-322", Address = NY, Month = "June/July", Annote = "15 References." } @TechReport{Sekerinski96, author = "Emil Sekerinski", title = "Deriving Control Programs by Weakest Preconditions", institution = "TUCS - Turku Centre for Computer Science", number = "TUCS-TR-4", month = apr, year = "1996", url = "http://www.tucs.abo.fi/publications/techreports/TR4.html", abstract = "A control program is understood as a reactive component that maintains a continuous interaction with its environment. A formal criterion for the correctness of a control program is given. This criterion can be applied in reverse for deriving a control program from properties of the whole control system. This is illustrated by an example of two conveyor belts. The formal reasoning is based on the weakest precondition calculus. Action systems are used for modeling the control system." } @InProceedings{Semmens-Allen91, Key = "Semmens \& Allen", Author = "L. Semmens and P. Allen", Title = "Using {Y}ourdon and {Z}: An Approach to Formal Specification", BookTitle = "{Z} User Workshop", Publisher = SV, Year = 1991 } @Article{Semmens-France-Docker92, Key = "Semmens \& France \& Docker", Author = "L. Semmens and R. B. France and T. W. G. Docker", Title = "Integrated Structured Analysis and Formal Specification Techniques", Journal = "The Computer Journal", Volume = 35, Number = 6, Year = 1992 } @Book{Sessions97, key = {Sessions}, author = {Roger Sessions}, title = {{COM} and {DCOM}: Microsoft's Vision for Distributed Objects}, publisher = {John Wiley \& Son}, year = 1997 } @Book{Shalloway-Trott, author = {Alan Shalloway and James R. Trott}, title = {Design Patterns Explained}, publisher = {Addison-Wesley}, year = 2002, key = {Shalloway-Trott}, series = {Software Patterns Series}, annote = {Several recommendations for further study.} } @TechReport{Shapiro-Pinci-Mameli90, Key = "Shapiro \& Pinci \& Mameli", Author = "Robert M. Shapiro and Valerio Pinci and Roberto Mameli", Title = "Modeling a {NORAD} Command Post Using {SADT} and {Colored Petri Nets}", Institution = "IDEF Users Group", Year = 1990, Address = "Washington, DC", Month = May, Annote = "12 references." } @Book{Shaw-Garlan96, author = {Mary Shaw and David Garlan}, title = {Software Architecture: Perspectives on an Emerging Discipline}, publisher = {Prentice-Hall}, year = {1996} } @Book{Shaw01, key = "Shaw", author = {Alan Shaw}, title = {Real-Time Systems and Software}, publisher = {John Wiley \& Sons}, year = 2001, key = {Shaw}, address = NY, annote = {Many references.} } @TechReport{Shaw79, key = "Shaw", author = "Mary Shaw", title = "A Formal System for Specifying and Verifying Program Performance", institution = "Carnegie-Mellon University", month = Jun, year = "1979", } @Article{Shaw89, title = "Reasoning About Time in Higher-Level Language Software", key = "Shaw", author = "Alan C. Shaw", pages = "875--889", journal = "IEEE Transactions on Software Engineering", year = "1989", volume = "15", month = jul, number = 7 } @Article{Sheil81, Key = "Sheil", Author = "B. A. Sheil", Title = "The Psychological Study of Programming", Journal = ACMCS, Volume = 13, Number = 1, Year = 1981, Month = Mar, Pages = "101-120", Annote = "Review of Gannon's results, concludes that most of the benefits of a strongly typed language are in providing data representations and that it does not present a really strong case for strong typing. Good analysis of the problems in Computer Science and what needs to be learned and done to solve them. 42 references." } @Article{Siff-Reps96, key = {Siff \& Reps}, author = {Michael Siff and Thomas Reps}, title = {Program Generalization for Software Reuse From {C} to {C++}}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {135-146}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {20 references.} } @article{Sihman-Katz03a, Key = {Sihman and Katz}, Author = {Marcelo Sihman and Shmuel Katz}, Title = {Superimpositions and Aspect-Oriented Programming}, Journal = {The Computer Journal}, Number = {5}, Page = {529-541}, Volume = {46}, Year = {2003} } @InCollection{Simmons-Graham98, author = {Anthony J. H. Simmons and Ian Graham}, title = {37 Things that Don't Work in Object-Oriented Moideling with {UML}}, booktitle = {Second ECOOP Workshop on Precise Behavioral Semantics (with an Emphasis on OO Business Specifications)}, key = {Simmons \& Graham}, publisher = {Technical University of Munich, Institut f\"{u}r Informatik}, year = 1998, month = Jun, editor = {Hiam Kilov and Bernhard Rumpe}, number = {TUM-I9838}, series = {Technical Report}, pages = {209-232}, note = {16 references.} } @Book{Singh-Stearns-Johnson02, key = {Singh \& Stearns \& Johnson}, author = {Inderjeet Singh and Beth Stearns and Mark Johnson}, title = {Designing Enterprise Applications with the J2EE Platform, Second Edition}, publisher = {Addison-Wesley Professional}, year = 2002, month = Jun, URL = {http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/titlepage.html} } @Unpublished{Sitaraman-Weide-Ogden03, key = "Sitaraman \& Weide \& Ogden", author = "Murali Sitaraman and Bruce W. Weide and William F. Ogden", title = {Design, Specification, and Analysis of Software Components}, note = {CS 372 Course Notes, Clemson University}, year = 2003 } @Article{Sitaraman-Weide-Ogden97, key = "Sitaraman \& Weide \& Ogden", author = "Murali Sitaraman and Bruce W. Weide and William F. Ogden", title = "On the Practical Need for Abstraction Relations to Verify Abstract Data Type Representations", journal = IEEETSE, pages = "157--170", month = Mar, year = 1997, volume = 23, number = 3, annote = "26 references." } @Article{Sitaraman-Weide94, author = {Murali Sitaraman and Bruce W. Weide}, title = {Special Feature: Component-Based Software Using {RESOLVE}}, journal = SIGSOFT, year = 1994, key = {Sitaraman \& Weide}, volume = 19, number = 4, month = {Oct}, pages = {21-22}, annote = {Introduction to a series of articles on RESOLVE.} } @Article{Sitaraman-Welch-Harms93, author = "Murali Sitaraman and Lonnie R. Welch and Douglas E. Harms", title = "On Specification of Reusable Software Components", key = "Sitaraman \& Welch \& Harms", journal = "International Journal of Software Engineering and Knowledege Engineering", year = 1993, volume = 3, number = 2, pages = "207-229", annote = "34 references." } @InProceedings{Sitaraman-etal00, key = "Sitaraman", author = "Murali Sitaraman and Steven Atkinson and Gregory Kulczycki and Bruce W. Weide and Timothy J. Long and Paolo Bucci and Scott Pike and Wayne Heym and Joseph E. Hollingsworth", title = "Reasoning About Software-Component Behavior", BookTitle = "Software Reuse: Advances in Software Reusability (Proceedings Sixth International Conference on Software Reuse", editor = "W. B. Frakes", URL = "http://www.cis.ohio-state.edu/~weide/rsrg/RSRG-instruction.html", year = 2000, series = LNCS, publisher = SV, volume = 1844, pages = "266-283" } @InProceedings{Sitaraman-etal01, author = "M. Sitaraman and G. Kulczycki and J. Krone and W. F. Ogden and A. L. N. Reddy", title = "Performance Specifications of Software Components", pages = "3--10", booktitle = "Proceedings of the 2001 Symposium on Software Reusability ({SSR}-01)", month = may # "~18--20", series = "SSR Record", volume = "26, 3", publisher = "ACM Press", address = "New York", year = "2001" } @InProceedings{Sitaraman-etal01a, author = {Murali Sitaraman and Timothy J. Long and Bruce W. Weide and E. James Harner and Liqing Wang}, title = {A Formal Approach to Component-Based Software Engineering: Education and Evaluation}, key = {Sitaraman}, booktitle = {Twenty Third International Conference on Software Engineering}, pages = {601-609}, year = 2001, organization = {IEEE}, location = {Toronto, Canada} } @TechReport{Sitaraman-etal03, author = {M. Sitaraman and D. P. Gandi and W. Kuechlin and C. Sinz and B. W. Weide}, title = {The Humane Bugfinder: Modular Static Analysis Using a {SAT} Solver}, institution = {Department of Computer Science, Clemson University}, year = 2003, key = {Sitaraman, et al.}, number = {RSRG-03-05}, address = {Clemson, SC}, month = May, URL = {http://www.cs.clemson.edu/~resolve/reports/RSRG-03-05.pdf} } @InProceedings{Sitaraman-etal04, author = "M. Sitaraman and D. P. Gandi and W. Kuechelin and C. Sinz and B. W. Weide", title = "{DEET} for Component-Based Software", pages = "1--10", booktitle = "Proceedings of the Workshop on Specification and Verification of Component-Based Systems (SAVCB04)", year = "2004", note = "Held in conjunction with ACM SIGSOFT/FSE, Newport Beach, CA, October 2004" } @InProceedings{Sitaraman01, author = {Murali Sitaraman}, title = {Compositional Performance Reasoning}, key = {Sitaraman}, booktitle = {Proceedings 4th ICSE Workshop on Component-Based Software Engineering}, year = 2001, editor = {Ivica Crnkovic and Heinz Schmidt and Judith Stafford and Kurt Wallnau}, organization = {IEEE}, URL = {http://www.sei.cmu.edu/pacc/CBSE4-Proceedings.html} } @InProceedings{Sitaraman92, author = "M. Sitaraman", title = "A Class of Programming Language Mechanisms to Facilitate Multiple Implementations of the Same Specification", booktitle = "Proceedings: 4th International Conference on Computer Languages", publisher = "IEEE Computer Society Press", ISBN = "0-8186-2587-2", year = "1992", pages = "272--281", annote = "incomplete", } @InProceedings{Sitaraman94, author = "Murali Sitaraman", title = "On Tight Performance Specification of Object-Oriented Software Components", editor = "W. Frakes", booktitle = "Proceedings: 3rd International Conference on Software Reuse", publisher = "IEEE Computer Society Press", year = "1994", pages = "149--157" } @Unpublished{Sitaraman97, key = "Sitaraman", author = "Murali Sitaraman", title = "Impact of Performance Considerations on Formal Specification Design", Note = "To appear in Formal Aspects of Computing", year = 1997 } @TechReport{Sivaprasad95, key = "Sivaprasad", author = "Gowri Sivaprasad", title = "{Larch/CORBA}: Specifying the Behavior of {CORBA-IDL} Interfaces", institution = "Department of Computer Science, Iowa State University", year = 1995, number = "95-27a", address = "Ames, Iowa, 50011", month = Dec, annote = "18 references." } @InProceedings{Skoglund02, key = "Skoglund", author = "Mats Skoglund", editor = "H. Kirchner and C. Ringeissen", title = "Sharing Objects by Read-Only References", booktitle = "Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology", series = "Lecture Notes in Computer Science", volume = 2422, pages = "457-472", publisher = SV, address = NY, year = 2002, Annote = "20 references." } @Unpublished{Smith-Duke-King90, Key = "Smith \& Duke \& King", Author = "Graeme Smith and Roger Duke and Paul King", Title = "Formalization of Object-Oriented Concepts", Year = 1990, Note = "Submitted to ECOOP/OOPSLA '90, obtained from Roger Duke", Annote = "Concepts of an object being observationally compatible with a type (obeys its spec) and being operationally compatible (obeys its spec but may be more deterministic). Histories and transitions. 22 references." } @Book{Smith90, key = "Smith", author = "Connie U. Smith", title = "Performance Engineering of Software Systems", publisher = "Addison-Wesley Publishing Company", address = "Reading, Mass.", year = "1990" } @article{Smith90b, key = "Smith", author = "Douglas R. Smith", title = "{KIDS} -- A Semi-Automatic Program Development System", year = 1990, journal = IEEETSE, volume = 16, number = 9, pages = "1024-1043", url = "citeseer.ist.psu.edu/article/smith90kids.html" } @Book{Smith91b, Key = "Smith", Author = "David N. Smith", Title = "Concepts of Object-Oriented Programming", Publisher = "McGraw-Hill", Year = 1991, Address = NY, Annote = "23 referrences." } @Article{Smith92, Key = "Smith", Author = "Leslie S. Smith", Title = "A Framework for Neural Net Specification", Journal = IEEETSE, Year = 1992, Volume = 18, Number = 7, Month = Jul, Pages = "601-612", Annote = "19 references." } @incollection{Smith99, key = "Smith", author = "Douglas R. Smith", title = "Mechanizing the Development of Software", year = 1999, editor = "M. Broy and R. Steinbrueggen", booktitle = "Calculational System Design, Proceedings of the NATO Advanced Study Institute", publisher = "IOS Press, Amsterdam", pages = "251-292" } @InProceedings{Snelting-Tip02, key = {Snelting \& Tip}, author = {Gregor Snelting and Frank Tip}, title = {Semantics-Based Composition of Class Hierarchies}, booktitle = {ECOOP 2002 --- Object-Oriented Programming, 16th European Conference, M\'{a}alaga, Spain, Proceedings}, pages = {562-584}, year = 2002, editor = {Boris Magnusson}, volume = 2374, series = LNCS, address = {Berlin}, month = Jun, publisher = SV, annote = {24 references.} } @Article{Snelting-Tip98, key = {Snelting \& Tip}, author = {Gregor Snelting and Frank Tip}, title = {Reengineering Class Hierarchies Using Concept Analysis}, journal = SIGSOFT, year = 1998, volume = 23, number = 6, month = Nov, pages = {99-110}, note = {Proceedings of the ACM SIGSOFT Sixth Internatioal Symposium on the Foundations of Software Engineering}, annote = {28 references.} } @Article{Snoeck-Dedene98, key = {Snoeck \& Dedene}, author = {Monique Snoeck and Guido Dedene}, title = {Existence Dependency: The Key to Semantic Integrity Between Structural and Behavioral Aspects of Object Types}, journal = IEEETSE, year = 1998, volume = 24, number = 4, month = Apr, pages = {233-251}, annote = {For use in conceptual modeling along with generalization/specialization. 25 references.} } @Article{Snyder93, Key = "Snyder", Author = "Alan Snyder", Title = "The Essence of Objects: Concepts and Terms", Journal = "IEEE Software", Year = 1993, Month = Jan, Volume = 10, Number = 1, Pages = "31-42", Annote = "1 reference." } @Book{Sommerville-Sawyer97, author = "Ian Sommerville and Pete Sawyer", title = "Requirements Engineering: A good practice guide", publisher = "Wiley", address = "Chichester", year = "1997", ISBN = "0-471-97444-7" } @Book{Sommerville96, author = "Ian Sommerville", title = "Software Engineering", publisher = "Addison-Wesley", year = "1996", edition = "Fifth Edition", address = "Harlow, UK" } @Book{Soukup94, key = {Soukup}, author = {Jiri, Soukup}, title = {Taming C++: Pattern Classes and Persistence for Large Projects}, publisher = {Addison-Wesley}, year = 1994, address = {Reading, Mass.} } @InProceedings{Soundarajan-Fridella00, key = {Soundarajan \& Fridella}, author = {Neelam Soundarajan and Stephen Fridella}, title = {Behavioral subtyping and behavioral enrichment of multimethods}, booktitle = {Technology of Object Oriented Languages and Systems 34}, editor = {Q. Li and D. Firesmth and R. Riehle and G. Pour and B. Meyer}, publisher = {IEEE Computer Society Press}, year = {2000}, pages = {105-114} } @InProceedings{Soundarajan-Fridella00b, key = {Soundarajan \& Fridella}, author = {Neelam Soundarajan and Stephen Fridella}, title = {Framework-Based Applications: From Incremental Development to Incremental Reasoning}, editor = {William B. Frakes}, booktitle = {Software Reuse: Advances in Software Reusability, 6th International Conference, ICSR-6, Vienna, Austria, June 27-29, 2000, Proceedings}, publisher = SV, series = {Lecture Notes in Computer Science}, volume = {1844}, year = {2000}, pages = {100--116} } @InProceedings{Soundarajan-Fridella04, title = "Incremental Reasoning for Object Oriented Systems", author = "Neelam Soundarajan and Stephen Fridella", booktitle = "From Object-Orientation to Formal Methods, Essays in Memory of Ole-Johan Dahl", publisher = SV, year = 2004, volume = 2635, editor = "Olaf Owe and Stein Krogdahl and Tom Lyche", pages = "302-333", series = LNCS, URL = "\url{http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2635&spage=302}" } @InProceedings{Soundarajan-Fridella98, key = {Soundarajan \& Fridella}, author = {Neelam Soundarajan and Stephen Fridella}, title = {Reasoning about Polymorphic Behavior}, year = 1998, booktitle = {Proceedings of TOOLS 26}, editor = {Ege and Singh and Meyer and Riehle and Mitchell}, publisher = {IEEE Computer Society Press}, pages = {346-358} } @Article{Soundarajan00, key = "Soundarajan", author = "Neelam Soundarajan", title = "Documenting framework behavior", journal = ACMCS, volume = 32, number = "1es", month = Mar, year = 2000, URL = "\url{http://doi.acm.org/10.1145/351936.351950}" } @misc{Soundarajan99, Key = "Soundarajan", author = "Neelam Soundarajan", title = "Understanding Frameworks", Month = Jun, year = 1999 } @InProceedings{Sousa-Garlan99, key = "Sousa \& Garlan", author = "Joao Sousa and David", title = "Formal Modeling of the Enterprise {JavaBeans} Component Integration Framework", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "1281-1300", annote = "Architectural model. 18 references." } @manual{Specware04, key = "Specware", title = "Specware System and documentation", year = "2004", organization = "Kestrel Development Corporation", note = "\url{http://www.specware.org/}" } @Article{Spitzen-Wegbreit75, Key = "Spitzen \& Wegbreit", Author = "J. Spitzen and B. Wegbreit", Title = "The Verification and Synthesis of Data Structures", Journal = "Acta Informatica", Year = 1975, Volume = 4, Pages = "127-144", Annote = "Generator induction." } @Book{Spivey88, Key = "Spivey", Author = "J. M. Spivey", Title = "Understanding {Z}: a Specification Language and its Formal Semantics", Publisher = "Cambridge University Press", Address = NY, Year = 1988, Annote = "Meta-circular definition. 42 references." } @Book{Spivey89a, Key = "Spivey", Author = "J. Michael Spivey", Title = "The {Z} Notation: A Reference Manual", Publisher = "Prentice-Hall", Series = "International Series in Computer Science", Year = "1989", Address = NY, Note = "ISBN 013983768X" } @Article{Spivey89b, Key = "Spivey", Author = "J. Spivey", Title = "An Introduction to {Z} and Formal Specifications", Journal = "Software Engineering Journal", Year = 1989, Month = Jan, volume = "4", number = "1", pages = "40--50", } @Article{Spivey90, Key = "Spivey", Author = "J. Michael Spivey", Title = "Specifying a Real-Time Kernel", Journal = "IEEE Software", Volume = 7, Number = 5, Month = Sep, Year = 1990, Pages = "21-28", Annote = "3 references." } @Book{Spivey92, Key = "Spivey", Author = "J. Michael Spivey", Title = "The {Z} Notation: A Reference Manual", Publisher = "Prentice-Hall", Edition = "Second", Series = "International Series in Computer Science", Year = "1992", Address = NY } @TechReport{Sridhar-Hoare85, Key = "Sridhar \& Hoare", Author = "K. T. Sridhar and C. A. R. Hoare", Title = "{JSD} Expressed in {CSP}", Institution = "Oxford University Computing Laboratory, Programming Research Group", Address = "Oxford OX1 3QD, England", Number = "PRG-51", Type = "Technical Monograph", Month = Jul, Year = 1985, Annote = "8 references." } @Article{Srinivasan99, key = {Srinivasan}, author = {Savitha Srinivasan}, title = {Design Patterns in Object-Oriented Frameworks}, journal = {Computer}, year = 1999, volume = 32, number = 2, month = Feb, pages = {24-32}, annote = {12 references.} } @Article{Stal02, key = "Stal", author = "Michael Stal", title = "Web Services: beyond component-based computing", journal = CACM, volume = 45, number = 10, pages = "71-76", month = Oct, year = "2002", annote = "2 references." } @TechReport{Standish-etal76a, Key = "Standish, {\em et al.}", Author = "T. A. Standish and A. Harriman and D. Kibler and J. M. Neighbors", Title = "The Irvine Program Transformation Catalogue", Institution = "Dept. of Computer and Information Sciences, U.C. Irvine", Year = 1976, Month = Jan } @InProceedings{Standish-etal76b, Key = "Standish, {\em et al.}", Author = "T. A. Standish and A. Harriman and D. Kibler and J. M. Neighbors", Title = "Improving and refining programs by program manipulation", BookTitle = "Proceedings of the 1976 ACM Annual Conference", Organization = ACM, Year = 1976, Pages = "509-516" } @Article{Staringer94, key = {Staringer}, author = {Werner Staringer}, title = {Constructing Applications from Reusable Software}, journal = {IEEE Software}, year = 1994, volume = 11, number = 5, month = Sep, pages = {61-68}, annote = {8 references.} } @Article{Stata-Guttag95, author = {Raymie Stata and John V. Guttag}, title = {Modular Reasoning in the Presence of Subclassing}, key = {Stata \& Guttag}, journal = SIGPLAN, volume = 30, number = 10, year = 1995, publisher = ACM, month = Oct, pages = {200-214}, note = "{\em Proceedings of OOPSLA '95 Tenth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications}", annote = {15 references.} } @TechReport{Stata97, author = "Raymie Stata", title = {Modularity in the Presence of Subclassing}, institution = DECSRC, year = 1997, key = "Stata", number = 145, address = {130 Lytton Avenue Palo Alto, CA 94301}, month = {Apr}, note = {Order from src-report@pa.dec.com or ftp from gatekeeper.dec.com}, annote = {57 references.} } @Article{Stavstrup92, author = {Bjorn Stavstrup}, title = {A Proposal Regarding Invisible Logic for Object-Oriented Languages}, journal = {Journal of Object-Oriented Programming}, year = 1992, month = {March/April} } @TechReport{Steele81, Key = "Steele", Author = "Barbara Sue Kerns Steele", Title = "An Accountable Source-to-Source Transformation System", Institution = MITAI, Number = "TR-636", Year = 1981, Month = Jun } @TechReport{Steffen-etal93, Key = "Steffen {\em et al}", Author = "Bernhard Steffen and Tiziana Margaria and Burkhard Freitag", Title = "Module Configuration by Minimal Model Construction", Institution = "University of Passau, Germany", Number = "MIP-9313", Year = 1993, Month = Dec, Annote = "19 refernces" } @Book{Steinberg-Palmer04, author = {Daniel H. Steinberg and Daniel W. Palmer}, title = {Extreme Software Engineering: A Hands-On Approach}, publisher = {Pearson/Prentice Hall}, year = 2004, key = {Steinberg \& Palmer}, annote = {28 references.} } @Book{Stepney-Barden-Cooper92, Key = "Stepney \& Barden \& Cooper", Editor = "Susan Stepney and Rosalind Barden and David Cooper", Title = "Object Orientation in Z", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Annote = "64 references." } @TechReport{Stepney-Cooper-Woodcock00, key = "Stepney \& Cooper \& Woodcock", author = "Susan Stepney and David Cooper and Jim Woodcock", title = "An Electronic Purse: Specification, Refinement, and Proof", institution = "Oxford University Computing Laboratory", type = "Technical monograph", number = "PRG-126", month = Jul, year = 2000, annote = "The Mondex case study." } @Article{Stevens-Myers-Constantine74, author = {W. P. Stevens and G. J. Myers and L. L. Constantine}, title = {Structured Design}, journal = {IBM Systems Journal}, year = 1974, key = {Stevens \& Myers \& Constantine}, volume = 2, pages = {115-139} } @Book{Stewart84, Key = "Stewart", Author = "George Stewart", Title = "The Apple Program Factory", Publisher = "Osborne McGraw-Hill", Year = 1984, Address = "Berkeley, California" } @InProceedings{Steyaert-etal96, author = {Patrick Steyaert and Carine Lucas and Kim Mens and Theo D'Hondt}, title = {Reuse Contracts: Managing the Evolution of Reusable Assets}, booktitle = {OOPSLA '96 Conference on Object-Oriented Programming Systems, Languages and Applications}, key = {Steyaert, {\em et al.}}, year = 1996, publisher = {ACM Press}, month = {October}, pages = {268-285}, note = {ACM SIGPLAN Notices, Volume 31, Number 10}, annote = {16 references} } @incollection{Stickel-etal94, key = "Stickel, {\em et al.}", author = "M. E. Stickel and R. Waldinger and M. Lowry and T. Pressburger and I. Underwood", title = "Deductive Composition of Astronomical Software from Subroutine Libraries", editor = "A. Bundy", booktitle = "12th Conference on Automated Deduction", series = LNCS, volume = 814, publisher = SV, year = 1994 } @InProceedings{Stocks-Carrington93, Key = {Stocks \& Carrington}, Author = {P. Stocks and D. Carrington}, Title = {Test Template Framework: A Specification-based Test Case Study}, Year = 1993, Month = Jun, Pages = {11--18}, Booktitle = {Proceedings of the 1993 International Symposium on Software Testing and Analysis (ISSTA)}, Publisher = {IEEE Computer Society}, } @Article{Stocks-Carrington96, key = {Stocks \& Carrington}, author = {Phil Stocks and David Carrington}, title = {A Framework for Specification-Based Testing}, journal = IEEETSE, year = 1996, volume = 22, number = 11, month = Nov, pages = {777-793}, annote = {A formal method for defining and structuring testing. Test templates. 41 references.} } @InCollection{Stoyenko92, Key = "Stoyenko", Author = "A.D. Stoyenko", Title = "The Evolution and State-of-the-Art of Real-Time Languages", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "394-416", Address = "Los Alamitos, California", Month = Oct, Annote = "161 references." } @Article{Sullivan-Notkin92, author = {Kevin J. Sullivan and David Notkin}, title = {Reconciling Environment Integration and Software Evolution}, journal = TOSEM, year = 1992, key = {Sullivan \& Notkin}, volume = 1, number = 3, month = Jul, pages = {229-268}, annote = {Implicit invocation to promote component independence. 34 references.} } @inproceedings{Sullivan-etal05a, Author = {Sullivan, Kevin and Griswold, William and Song, Yuanyuan and Cai, Yuanfang and Shonle, Macneil and Tewari, Nishit and Rajan, Hridesh}, Crossref = {FSE-05}, Month = {May}, Title = {Information Hiding Interfaces for Aspect-Oriented Design}, Year = {2005}} @Article{Sullivan01, key = "Sullivan", Author = "Gregory T. Sullivan", Title = "Aspect-oriented programming using reflection and metaobject protocols", Journal = CACM, Year = 2001, Volume = 44, Number = 10, Month = Oct, Pages = "95--97", url = "http://portal.acm.org/toc.cfm?id=383845&type=issue&coll=portal&dl=ACM&idx=J79&part=magazine&WantType=Magazines&title=CACM" } @inproceedings{Sutton-Rouvellou02, key = {{Sutton, Jr.} \& Rouvellou}, Author = {Stanley M. Sutton, Jr. and Isabelle Rouvellou}, Booktitle = {AOSD 2002}, Keywords = {Cosmos, concern-space modeling, aspect-oriented software development, AOSD, multidimensional separation of concerns, MDSOC, hyperspaces, software information modeling}, Local-Url = {file://localhost/Users/cclifton/Documents/OthersPapersAndTalks/p127-sutton.pdf}, Title = {Modeling of Software Concerns in Cosmos}, Year = {2002} } @Article{Sweet85, Key = "Sweet", Author = "Richard E. Sweet", Title = "The Mesa Programming Environment", Journal = SIGPLAN, Volume = 20, Number = 20, Month = Jul, Year = 1985, Note = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments", Pages = "216-229", Annote = "Survey and retrospective evaluation of Mesa's environment. 23 references." } @Article{Swinehart-Zellweger-Hagmann85, Key = "Swinehart \& Zellweger \& Hagmann", Author = "Daniel C. Swinehart and Polle T. Zellweger and Robert B. Hagmann", Title = "The Structure of Cedar", Journal = SIGPLAN, Volume = 20, Number = 20, Month = Jul, Year = 1985, Note = "Proceedings of the ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments", Pages = "230-244", Annote = "Description of the Cedar environment, especially layering of modules. Strong typing and explicit interfaces help support the layered structure. Safe storage, i.e. garbage collection helps too. Comparison to Interlisp-D, Smalltalk-80, and UNIX. 40 references." } @Article{Swinehart-etal86, Key = "Swinehart, {\em et al.}", Author = "Daniel C. Swinehart and Polle T. Zellweger and Richard J. Beach and Robert B. Hagmann", Title = "A Structural View of the Cedar Programming Environment", Journal = TOPLAS, Volume = 8, Number = 4, Month = Oct, Year = 1986, Pages = "419-490", Annote = "59 references." } @Article{Szczepanska91, Key = "Szczepanska", Author = "Danuta Szczepanska", Title = "A Hoare-like verification system for a language with an exception handling mechanism", Journal = TCS, Year = 1991, Volume = 80, Number = 2, Month = Mar, Pages = "319-335" } @InCollection{Szyperski-Pfister97, author = {C. Szyperski and C. Pfister}, title = {Workshop on Component-Oriented Programming, Summary}, booktitle = {Special Issues in Object-Oriented Programming---{ECOOP} '96 Workshop Reader}, key = {Szyperski \& Pfister}, publisher = {dpunkt Verlag}, year = 1997, editor = {M. M\"{u}hlh\"{a}user} } @InCollection{Szyperski00, Key = "Szyperski", Author = "Clemens Szyperski", Title = "Component Software and the Way Ahead", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Pages = "1-20", Annote = "16 references." } @Book{Szyperski02, key = {Szyperski \& Gruntz \& Murer}, author = {Clemens Szyperski and Domiinik Gruntz and Stephan Murer}, title = {Component Software: Beyond Object-Oriented Programming}, publisher = {ACM Press and Addison-Wesley}, year = 2002, edition = "Second edition", address = NY, annotate = "An excellent overview of component-based programming. Many references." } @Book{Szyperski98, key = {Szyperski}, author = {Clemens Szyperski}, title = {Component Software: Beyond Object-Oriented Programming}, publisher = {ACM Press and Addison-Wesley}, year = 1998, address = NY, annotate = "An excellent overview of component-based programming. Many references." } @Article{Talcott92, Key = "Talcott", Author = "Carolyn Talcott", Title = "A Theory for program and data type specification", Journal = TCS, Volume = 104, Number = 1, Month = Oct, Year = 1992, Pages = "129-159" } @InCollection{Tan92, Key = "Tan", Author = "Y. M. Tan", Title = "Semantic Analysis of Larch Interface Specifications", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "246-261", Annote = "16 references" } @Unpublished{Tan92b, Key = "Tan", Author = "Yang Meng Tan", Title = "Semantic Analysis of Formal Specifications", Note = "MIT EECS Ph.D. Thesis Proposal", Annote = "26 references.", Month = Nov, Year = 1992 } @Article{Tan94, Key = "Tan", Author = "Yang Meng Tan", Title = "Interface Language for Supporting Programming Styles", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 8, Month = Aug, Pages = "74-83", Note = "Proceedings of the Workshop on Interface Definition Languages.", Annote = "13 references." } @TechReport{Tan94b, Key = "Tan", Author = "Yang Meng Tan", Title = "Formal Specification Techniques for Promoting Software Modularity, Enhancing Documentation, and Testing Specifications", Institution = MITLCS, Year = 1994, Number = 619, Address = "545 Technology Square, Cambridge, Mass.", Month = Jun } @Book{Tan95, author = "Yang Meng Tan", title = {Formal Specification Techniques for Engineering Modular C Programs}, publisher = {Kluwer Academic Publishers}, year = 1995, key = {Tan}, volume = 1, series = {Kluwer International Series in Software Engineering}, address = {Boston} } @InCollection{Tarlton-Tarlton89, Key = "Tarlton \& Tarlton", Author = "Mark A. Tarlton and P. Nong Tarlton", Title = "Pogo: A Declarative Representation System for Graphics", Editor = "Won Kim and Frederick H. Lochovsky", BookTitle = "Object-Oriented Concepts, Databases, and Applications", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1989, Chapter = 7, Pages = "151-176", Annote = "7 references" } @Article{Terwilliger93, Key = "Terwilliger", Author = "Robert B. Terwilliger", Title = "Towards Tools to Support the Gries/Djikstra Design Process", Journal = SIGSOFT, Volume = 18, Number = 2, Month = Apr, Year = 1993, Pages = "50-59", Annote = "52 references" } @Article{Thatcher-Wagner-Wright82, Key = "Thatcher \& Wagner \& Wright", Author = "J. W. Thatcher and E. G. Wagner and J. B. Wright", Title = "Data Type Specification: Parameterization and the Power of Specification Techniques", Journal = TOPLAS, Volume = 4, Number = 4, Month = Oct, Year = 1982, Pages = "711-732", Annote = "Shows need for conditionals to augment the equational approach to specification of abstract types. Gives a formal basis for parameterized types. 26 references." } @Article{Theiling-Ferdinand-Wilhelm00, Key = "Theiling \& Ferdinand \& Wilhel", Author = "H. Theiling and C. Ferdinand and R. Wilhelm", Title = "Fast and precise {WCET} prediction by separate cache and path analyses", Journal = "Real-Time Systems", Volume = 18, Number = "2/3", Month = May, Year = 2000, Pages = "157--179" } @Book{Thimbleby90, Key = "Thimbleby", Author = "Harold Thimbleby", Title = "User Interface Design", Publisher = "ACM Press, Addison-Wesley", Year = 1990, Series = "Frontier Series", Address = "NY", Annote = "ISBN 0-201-41618-2. 72 references." } @InProceedings{Thompson-Heimdahl-Miller99, author = {Jeffrey M. Thompson and Mats P. E. Heimdahl and Steven P. Miller}, key = {Thompson \& Heimdahl \& Miller}, title = "Specification-Based Prototyping for Embedded Systems", booktitle = "Software Engineering -- ESEC/FSE '99", month = Nov, year = "1999", editor = "Oscar Nierstrasz and Michel Lemoine", volume = "1687", series = LNCS, publisher = SV, pages = {163-179}, note = {Also ACM SIGSOFT {\em Software Engineering Notes}, volume 24, number 6.}, annote = {26 references.} } @InProceedings{Thompson86, Key = "Thompson", Author = "Thompson", Title = "Laws in Miranda", BookTitle = "ACM Conference on LISP and Functional Programming", Year = 1986, Pages = "1-12", Organization = ACM, Month = Aug, Annote = "13 references." } @Article{Thompson90, Key = "Thompson", Author = "Simon Thompson", Title = "Lawful Functions and Program Verification in Miranda", Journal = "Science of Computer Programming", Volume = 13, Number = "2-3", Month = May, Year = 1990, Pages = "181-218", Annote = "A type with equations (an invariant) has an associated free type (AFT) that is the same except it has not equations. Problem is how to use transformational reasoning about operators of types with equations. Idea is to reason about the AFT equationally. Use normalizer function as a retract from AFT carrier to subset satisfying type's invariant. To prove property of x:T, prove if for (norm y), where y:AFT. Or if can show property holds for AFT, then holds for the type. A function is faithful if it preserves equivalence classes of the normalizer. Equations for faithful functions can be used regardless of the laws. If associated function is not faithful, can sometimes find a faithful representing function to reason with. 10 references." } @Article{Tockey97, key = {Tockey}, author = {Steve Tockey}, title = {A Missing Link in Software Engineering}, journal = {IEEE Software}, year = 1997, volume = 14, number = 6, month = Nov, pages = {31-36}, annote = {Engineering economy and other educational needs. 15 references.} } @Article{Tracey-Clark-Mander98, key = {Tracey \& Clark \& Mander}, author = {Nigel Tracey and John Clark and Keith Mander}, title = {Automated Program Flaw Finding using Simulated Annealing}, journal = SIGSOFT, year = 1998, volume = 23, number = 2, month = Mar, pages = {73-81}, note = {ISSTA 98: Proceedings of the ACM SIGSOFT Internatioal Symposium on Software Testing and Analysis}, annote = {22 references.} } @Book{Tracez95, author = {Will Tracez}, title = {Confessions of a Used Program Salesman: Institutionalizing Software Reuse}, publisher = {Addison-Wesley}, year = 1995, key = {Tracez}, address = {Reading, Mass.}, annote = {Many references.} } @Book{Tremblay-Cheston03, key = "Tremblay \& Cheston", author = "Jean-Paul Tremblay and Grant A. Cheston", title = "Data Structures and Software Development in an Object-Oriented Domain", edition = "Java edition", publisher = "Prentice Hall", address = "Upper Saddle River, NJ", year = "2003", annote = "53 references." } @Article{Tse-Pong89, Key = "Tse \& Pong", Author = "T. H. Tse and L. Pong", Title = "Towards a Formal Foundation for {Demarco} Data Flow Diagrams", Journal = "The Computer Journal", Year = 1989, Volume = 32, Number = 1, Month = Feb, Pages = "1-12", Annote = "36 references." } @Book{Tse91, Key = "Tse", Author = "T. H. Tse", Title = "A Unifying Framework for Structured Analysis and Design Models", Publisher = "Cambridge Univerity Press", Year = 1991, Volume = 11, Series = "Cambridge Tracts in Theoretical Computer Science", Address = NY, Annote = "Algebraic description of the syntax of Yourdon structure charts, DeMarco flow diagrams and Jackson structure texts. Mappings between these. Over 100 references." } @InCollection{Tucker-Zucker91, Key = "Tucker \& Zucker", Author = "J. V. Tucker and J. I. Zucker", Title = "Toward a General Theory of Computation and Specification over Abstract Data Types", BookTitle = "Advances in Computing and Information ICCI '90, International Conference on Computing and Information, Niagara Falls, Canada, May 1990", Publisher = SV, Year = 1991, Editor = "S. G. Akl and F. Fiala and W. W. Koczkodaj", Series = LNCS, Volume = 468, Pages = "129-133", Address = NY, Annote = "10 references." } @InProceedings{Turk-etal02, key = "Turk, {\em et al.}", title = "Model-Driven Approaches to Software Development", author = "Daniel E. Turk and Robert B. France and Bernhard Rumpe and Geri Georg", year = "2002", booktitle = "OOIS Workshops", pages = "229-230", URL = "http://link.springer.de/link/service/series/0558/bibs/2426/24260229.htm" } @InCollection{Turner82, Key = "Turner", Author = "D. A. Turner", Title = "Functional programming and proofs of program correctness", BookTitle = "Tools and Notions for Program Construction", Editor = "D. Neel", Publisher = "Cambridge University Press", Address = NY, Year = 1982 } @Book{Turski-Maibaum87, Key = "Turski \& Maibaum", Author = "W. M. Turski and T. S. E. Maibaum", Title = "The Specification of Computer Programs", Publisher = "Addison-Wesley", Year = 1987 } @InProceedings{Tyler-Soundarajan03, title = "Black-Box Testing of Grey-Box Behavior", author = "Benjamin Tyler and Neelam Soundarajan", publisher = "Springer", year = "2003", volume = "2931", editor = {Alexandre Petrenko and Andreas Ulrich}, booktitle = {Formal Approaches to Software Testing, Third International Workshop on Formal Approaches to Testing of Software, FATES 2003, Montreal, Quebec, Canada, October 6th}, ISBN = "3-540-20894-1", pages = "1-14", series = LNCS, URL = "\url{http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2931&spage=1}" } @InProceedings{Unnikrishnan-Stoller-Liu01, key = "Unnikrishnan \& Stoller \& Liu", author = "Leena Unnikrishnan and Scott D. Stoller and Liu Liu", title = "Automatic {Accurate Live Memory Analysis} for {Garbage-Collected Languages}", booktitle = "LCTES'01: The Workshop on Languages, Compilers and Tools for Embedded Systems", series = SIGPLAN, volume = "36, 8", pages = "102-111", month = Aug, year = 2001 } @InProceedings{Utting-Fidge96, author = {M. Utting and C. J. Fidge}, title = {A Real-Time Refinement Calculus that Changes Only Time}, booktitle = {Procs. 7th BCS/FACS Refinement Workshop}, year = 1996, month = Jul, publisher = SV } @InCollection{Utting-Robinson92, Key = "Utting \& Robinson", Author = "Mark Utting and Ken Robinson", Title = "Modular Reasoning in an Object-Oriented Refinement Calculus", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K., June/July", Publisher = SV, Year = 1992, Editor = "R. S. Bird and C. C. Morgan and J. C. P. Woodcock", Series = LNCS, Volume = 669, Pages = "344-367", Address = NY, Annote = "25 references." } @PhdThesis{Utting92, Key = "Utting", Author = "Mark Utting", Title = "An Object-Oriented Refinement Calculus with Modular Reasoning", School = "University of New South Wales", Year = 1992, Address = "Kensington, Australia", Note = "Draft of February 1992 obtained from the Author." } @InProceedings{Utting95, key = "Utting", author = "Mark Utting", title = "Reasoning about Aliasing", pages = "195-211", booktitle = "Proceedings of the {Fourth Australasian Refinement Workshop (ARW-95)}", year = 1995, publisher = "School of Computer Science and Engineering, The University of New South Wales", month = apr, note = {Available from \url{http://www.cs.waikato.ac.nz/~marku}} } @Article{Utting97, author = {Mark Utting}, title = {Reasoning about Aliasing}, journal = {Formal Aspecs of Computing}, year = 1997, key = {Utting}, volume = 3, pages = {1-15} } @Book{Valenti02, editor = {Sal Valenti}, title = {Successful Software Reengineering}, publisher = {IRM Press}, year = 2002, key = {Valenti}, address = {Hershey, PA} } @Article{Valle-etal00, key = {Valle, {\em et al.}}, author = {Bego\~{n}a Moros Valle and Joaqu\'{i}n Nicol\'{a}s Ros and Jes\'{u}s Garc\'{i}a MOlina and Jos\'{e} Ambrosio Toval \'{A}lvarez}, title = {Combining Formal Specifications with Design by Contract}, journal = JOOP, year = 2000, volume = 12, number = 9, pages = {16-21,46}, month = Feb, annote = {22 references.} } @Article{VanHilst-Notkin96, key = {VanHilst \& Notkin}, author = {Micheal VanHilst and David Notkin}, title = {Decoupling Change from Design}, journal = SIGSOFT, year = 1996, editor = {David Garlan}, volume = 21, number = 6, month = Nov, pages = {58-69}, note = {SIGSOFT '96: Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Francisco, California}, annote = {Letting change be addressed at the submodule level, while allowing high level modularization to address other issues. 18 references.} } @Article{VanderLinden94, Key = "VanderLinder", Author = "Frank J. VanderLinden", Title = "Formal methods: from object-based to object-oriented", Journal = SIGPLAN, Year = 1994, Volume = 29, Number = 7, Month = Jul, Pages = "29-38", Annote = "14 references." } @InCollection{Vandevoorde92, Key = "Vandevoorde", Author = "M. T. Vandevoorde", Title = "Optimizing Programs with Partial Specifications", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "262-281", Annote = "14 references" } @InCollection{Vandevoorde93, Key = "Vandervoode", Author = "M. T. Vandervoode", Title = "Specifications can make the Programs run faster", Journal = LNCS, Number = 668, Publisher = SV, Address = NY, Editor = "M. C. Gaudel and J. P. Jouannaud", Year = 1993, Note = "TAPSOFT '93: Theory and Practice of Software Development. 4th International Joint Conference CAAP/FASE France, April 1993. Proceedings.", Pages = "215-229", Annote = "17 references" } @Unpublished{Vaziri-Jackson99, key = {Vaziri \& Jackson}, author = "Mandana Vaziri and Daniel Jackson", title = "Some Shortcomings of {OCL}, the {O}bject {C}onstraint {L}anguage of {UML}", note = "Response to {O}bject {M}anagement {G}roup's Request for Information on {UML} 2.0, \url{http://sdg.lcs.mit.edu/~dnj/pubs/omg.ps}", month = Dec, year = 1999 } @InProceedings{Veanes-etal05, title = "Online testing with model programs", key = "Veanes, {\em et al.}", author = "Margus Veanes and Colin Campbell and Wolfram Schulte and Nikolai Tillmann", year = "2005", editor = "Michel Wermelinger and Harald Gall", booktitle = "Proceedings of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering", pages = "273-282", organization = ACM, URL = "http://doi.acm.org/10.1145/1081706.1081751", } @TechReport{Veloso-Maibaum92, author = {P. Veloso and T. Maibaum}, title = {On the modularisation theorem for logical specifications}, institution = {Imperial College of Science, Technology and Medicine, Department of Computing}, year = 1992, key = {Veloso \& Maibaum}, type = {Research Report}, number = {DoC 92/35}, month = Oct } @Article{Veloso93, author = {P. Veloso}, title = {A new, simpler proof of the modularization theorem for logical specifications}, journal = {Journal Bulletin of the IGPL}, year = 1993, key = {Veloso}, volume = 1, pages = {3-12} } @TechReport{Venkatesh-Fischer89, Key = "Venkatesh \& Fischer", Author = "G. A. Venkatesh and Charles N. Fischer", Title = "{SPARE}: Reference Manual", Institution = "Computer Sciences Department, University of Wisconsin-Madison", Number = 850, Month = Jun, Year = 1989, Annote = "Structured Program Analysis Refinement Environment is a tool for rapid prototyping. 7 references." } @InProceedings{Verhoeven&Backhouse:FM99, key = "Verhoeven \& Backhouse", title = "Interfacing Program Construction and Verification", author = "Richard Verhoeven and Roland Backhouse", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "1128-1146", annote = "Uses PVS for verification. 22 references.", } @InProceedings{Vetter-Worley02, Key = "Vetter \& Worley", Author = "Jeffrey S. Vetter and Patrick H. Worley", Title = "Asserting Performance Expectations", BookTitle = "ACM/IEEE Conference on High Performance Networking and Computing (SC02), Baltimore, MD, November 16-22, 2002", Year = 2002, Pages = "1-13" } @InProceedings{Viswanadha-Sankar96, author = {Sreenivasa Rao Viswanadha and Sriram Sankar}, title = {Preliminary Design of {ADL/C++} --- A Specification Language for {C++}}, booktitle = {Second Conference on Object-Oriented Technologies and Systems (COOTS), Toronto, Canada}, key = {Viswanadha \& Sankar}, year = 1996, month = Jun, note = "Obtained from http://www.cs.albany.edu/\verb|~|sreeni/cootsfinal.ps" } @Article{Vitek-Bokowski01, key = "Vitek \& Bokowski", author = "Jan Vitek and Boris Bokowski", title = "Confined types in {Java}", journal = "Software --- Practice and Experience", volume = 31, number = 6, pages = "507--532", year = 2001 } @InProceedings{Vitek-Bokowski99, key = "Vitek \& Bokowski", author = "Jan Vitek and Boris Bokowski", title = "Confined Types", pages = "82-96", editor = "Loren Meissner", booktitle = "Proceeings of the 1999 {ACM} {SIGPLAN} Conference on Object-Oriented Programming, Systems, Languages {\&} Applications ({OOPSLA}`99)", month = Nov, series = SIGPLAN, volume = "34(10)", publisher = "ACM Press", address = NY, year = "1999", } @Article{Vlissides99, key = {Vlisides}, author = {John Vlissides}, title = {Visitor in Frameworks}, journal = {{C++} Report}, year = 1999, volume = 11, number = 10, pages = {40--46}, month = "November/December" } @Article{Voas97, key = {Voas}, author = {Jeffrey Voas}, title = {How Assertions Can Increase Test Effictiveness}, journal = {IEEE Software}, year = 1997, volume = 14, number = 2, month = Mar, pages = {118-119,122} } @Article{Voas98, key = {Voas}, author = {Jeffrey M. Voas}, title = {Certifying Off-the-Shelf Software Components}, journal = {Computer}, year = 1998, volume = 31, number = 6, month = Jun, pages = {53-59}, annote = {9 references.} } @Article{Voas99, key = {Voas}, author = {Jeffrey Voas}, title = {Certifying Software for High-Assurance Environments}, journal = {IEEE Software}, year = 1999, volume = 16, number = 4, month = Jul, pages = {48-54}, annote = {12 references.} } @unpublished{Voda03, key="Voda", author="P. Voda", title={What Can We Gain by Integrating a Language Processor with a Theorem Prover}, note="unpublished; available from the author's web site", year=2003 } @InCollection{Wagner-Thatcher-Wright78, Key = "Wagner \& Thatcher \& Wright", Author = "E. G. Wagner and J. W. Thatcher and J. B. Wright", Title = "Programming languages as mathematical objects", BookTitle = "Mathematical Foundations of Computer Science", Publisher = SV, Year = 1978, Editor = "J. Winkowski", Series = LNCS, Volume = 10, Pages = "84-101", Address = NY } @InCollection{Wagner-etal76, author = "Eric Wagner and Jesse Wright and Joseph Goguen and James Thatcher", title = "Some Fundamentals of Order-Algebraic Semantics", booktitle = "Proceedings, Fifth Symposium on Mathematical Foundations of Computer Science", editor = "Andrzej Mazurkiewicz", publisher = "Springer", year = "1976", location = "Gda\'nsk, Poland", volume = 45, series = LNCS, pages = "153--168" } @MastersThesis{Wagner85, Key = "Wagner", Author = "Richard Martin Wagner", Title = "Program Animation Tools and Techniques", School = MIT, Address = "Cambridge, Mass.", Year = 1985, Month = Nov, Annote = "All done in Smalltalk-80. 26 references." } @TechReport{Wahls-Baker-Leavens93, Key = "Wahls \& Baker \& Leavens", Author = "Tim Wahls and Albert L. Baker and Gary T. Leavens", Title = "An Executable Semantics for a Formalized Data Flow Diagram Specification Language", Institution = "Department of Computer Science, Iowa State University", Year = 1993, Number = "93-27", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Nov, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR93-27/TR.ps.Z", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu.", Annote = "21 references." } @TechReport{Wahls-Baker-Leavens94, Key = "Wahls \& Baker \& Leavens", Author = "Tim Wahls and Albert L. Baker and Gary T. Leavens", Title = "The Direct Execution of {SPECS-C++}: A Model-Based Specification Language for {C++} Classes", Institution = "Department of Computer Science, Iowa State University", Year = 1994, Number = "94-02b", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Mar, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-02/TR.ps.Z", Annote = "36 references." } @Article{Wahls-Leavens-Baker00, key = "Wahls \& Leavens \& Baker", author = "Tim Wahls and Gary T. Leavens and Albert L. Baker", title = "Executing Formal Specifications with Concurrent Constraint Programming", journal = "Automated Software Engineering", volume = 7, number = 4, month = Dec, pages = "315 - 343", year = 2000, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR97-12/TR.ps.gz" } @TechReport{Wahls-Leavens-Baker00a, Key = "Wahls \& Leavens \& Baker", Author = "Tim Wahls and Gary T. Leavens and Albert L. Baker", Title = "Executing Formal Specifications with Constraint Programming", Institution = "Department of Computer Science, Iowa State University", Year = 2000, Number = "97-12c", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Jul, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR97-12/TR.ps.gz", Note = "To appear in {\em Automated Software Engineering}, volume 7, number 4, pp 315--343, December 2000." } @TechReport{Wahls-Leavens00, Key = "Wahls \& Leavens", Author = "Tim Wahls and Gary T. Leavens", Title = "Formal Semantics and Soundness of an Algorithm for Translating Model-based Specifications to Concurrent Constraint Programs", Institution = "Department of Computer Science, Iowa State University", Year = 2000, Number = "00-02a", Address = "226 Atanasoff Hall, Ames, Iowa 50011", Month = Aug, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR00-02/TR.ps.gz", Note = "Available by anonymous ftp from \url{ftp.cs.iastate.edu} or by e-mail from almanac@cs.iastate.edu." } @InProceedings{Wahls-Leavens01, Key = "Wahls \& Leavens", Author = "Tim Wahls and Gary T. Leavens", Title = "Formal Semantics of an Algorithm for Translating Model-based Specifications to Concurrent Constraint Programs", booktitle = {Proceedings of the 16th ACM Symposium on Applied Computing, Las Vegas, Nevada}, pages = {567-575}, year = 2001, month = Mar, organization = ACM } @Article{Wakid-Kuhn-Wallace99, key = {Wakid \& Kuhn \& Wallace}, author = {Shukri A. Wakid and D. Richard Kuhn and Delores R. Wallace}, title = {Towards Credible IT Testing and Certification}, journal = {IEEE Software}, year = 1999, volume = 16, number = 4, month = Jul, pages = {39-47}, annote = {7 references.} } @Book{Walden-Nerson95, Key = {Walden \& Nerson}, Author = {Kim Walden and Jean-Marc Nerson}, Title = {Seamless Object-Oriented Software Architecture, Analysis and Design of Reliable Systems}, Publisher = {Prentice Hall}, Series = {The Object-Oriented Series}, Year = {1995}, Annote = {BON notation and method} } @article{Walicki-Broy95, key = "Walicki \& Broy", author = "Micha{\l} Walicki and Manfred Broy", title = "Structured Specifications and Implementation of Nondeterministic Data Types", journal = "Nordic Journal of Computing", volume = 2, number = 3, month = "Fall", pages = "358-395", year = 1995 } @Article{Walicki-Meldal97, author = {Micha{\l} Walicki and Sigurd Meldal}, title = {Algebraic Approaches to Nondeterminism: An Overview}, journal = ACMCS, year = 1997, key = {Walicki \& Meldal}, volume = 29, number = 1, month = Mar, pages = {30-81}, annote = {Many references.} } @Article{Wand79, Key = "Wand", Author = "Mitchell Wand", Title = "Final Algebra Semantics and Data Type Extensions", Journal = JCSS, Volume = 19, Number = 1, Month = Aug, Year = 1979, Pages = "27-44", Annote = "Final algebras in a category of extensions of some base type. 24 references." } @Article{Wang-Musser97, Key = "Wang \& Musser", Author = "Changqing Wang and David R. Musser", title = "Dynamic Verification of {C++} Generic Algorithms", journal = IEEETSE, pages = "314-323", month = May, year = 1997, volume = 23, number = 5, annote = "32 references." } @Article{Ward-Fayad-Laitinen01, author = {Robert P. Ward and Mohamed E. Fayad and Mauri Laitinen}, title = {Software process Improvement in the Small}, journal = CACM, year = 2001, key = {Ward \& Fayad \& Laitinen}, volume = 44, number = 4, pages = {105-107}, month = Apr, annote = "How processes should match a development's circumstances." } @Book{Ward-Mellor85a, Key = "Ward \& Mellor", Author = "Paul T. Ward and Stephen J. Mellor", Title = "Structured Development for Real-Time Systems", Publisher = "Yourdon, Inc.", Year = 1985, Volume = "1: Introduction and Tools", Address = "Englewood Cliffs, New Jersey" } @Book{Ward-Mellor85b, Key = "Ward \& Mellor", Author = "Paul T. Ward and Stephen J. Mellor", Title = "Structured Development for Real-Time Systems", Publisher = "Yourdon, Inc.", Year = 1985, Volume = "volume 2: Essential Modeling Techniques", Address = "Englewood Cliffs, New Jersey" } @Book{Ward-Mellor86, Key = "Ward \& Mellor", Author = "Paul T. Ward and Stephen J. Mellor", Title = "Structured Development for Real-Time Systems", Publisher = "Yourdon, Inc.", Year = 1986, Volume = "volume 3: Implementation Modeling Techniques", Address = "Englewood Cliffs, New Jersey" } @Article{Ward86, Key = "Ward", Author = "Paul T. Ward", Title = "The Transformation Schema: An Extension of the Data Flow Diagram to Represent Control and Timing", Journal = IEEETSE, Year = "1986", Volume = "SE-12", Number = 2, Month = Feb, Pages = "198-210", Annote = "11 references." } @InCollection{Ward92, Key = "Ward", Author = "S.A. Ward", Title = "An Approach to Real Time Computation", BookTitle = "Real-Time Systems: Abstractions, Languages, and Design Methodologies", Publisher = "IEEE Computer Society Press", Year = 1992, Editor = "Krishna M. Kavi", Pages = "430-438", Address = "Los Alamitos, California", Month = Oct, Annote = "27 references." } @InCollection{Ward93, Key = "Ward", Author = "Nigel Ward", Title = "Adding Specification Constructors to the Refinement Calculus", BookTitle = "Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, Odense, Denmark", Publisher = SV, Year = 1993, Editor = "J.C.P. Woodcock and P.G. Larsen", Series = LNCS, Volume = 670, Pages = "652-670", Address = NY, Month = Apr, Annote = "12 references." } @Book{Warmer-Kleppe99, author = {Jos Warmer and Anneke Kleppe}, title = {The Object Constraint Language: Precise Modeling with UML}, publisher = {Addison Wesley Longman}, year = 1999, key = {Warmer \& Kleppe}, address = {Reading, Mass.}, annote = {The OCL. 18 references.} } @Article{Warmer-Kleppe99b, key = {Warmer \& Kleppe}, author = {Jos Warmer and Anneke Kleppe}, title = {{OCL}: The Constraint Language of the {UML}}, journal = JOOP, year = 1999, volume = 12, number = 1, month = Mar, pages = {10-13,28}, annote = {3 references.} } @Article{Wasserman-Pircher90, Key = "Wasserman \& Pircher", Author = "Anthony J. Wasserman and Peter A. Pircher", Title = "The object-oriented structured design notation for software design representation", Journal = "Computer", Year = 1990, Volume = 23, Number = 3, Month = Mar, Pages = "50-63" } @Article{Waters82, Key = "Waters", Author = "R. C. Waters", Title = "The Programmer's Apprentice: Knowledge Based Program Editing", Journal = IEEETSE, Year = 1981 , Month = Jan, Volume = "SE-1", Number = 1, Pages = "1-12" } @InProceedings{Webber01, key = "Webber", author = "Adam Brooks Webber", title = "What Is a Class Invariant", editor = "{ACM}", booktitle = "{ACM} {SIGPLAN} -- {SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering: {PASTE}'01", publisher = "ACM Press", address = NY, pages = "86-89", year = "2001", annote = "13 references." } @Article{Wegbreit76, Key = "Wegbreit", Author = "B. Wegbreit", Title = "Goal-Directed Program Transformation", Journal = IEEETSE, Year = 1976, Month = Jun, Volume = 2, Number = 2, Pages = "69-80" } @Article{Wegbreit77, Key = "Wegbreit", Author = "Ben Wegbreit", Title = "Constructive Methods in Program Verification", Journal = IEEETSE, Year = 1977, Volume = "SE-3", Number = 3, Month = May, Pages = "193-209", Annote = "17 references." } @Book{Wegner80, Key = "Wegner80", Editor = "Peter Wegner", Title = "Research Directions in Software Technology", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1980 } @Article{Wegner92, Key = "Wegner", Author = "Peter Wegner", Title = "Dimensions of Object-Oriented Modeling", Journal = "Computer", Year = 1992, Volume = 25, Number = 10, Month = Oct, Pages = "12-20", Annote = "10 references." } @InProceedings{Wehrheim99, key = "Wehrheim", author = "Heike Wehrheim", title = "Data Abstraction for {CSP-OZ}", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "1028-1047", annote = "CSP-OZ combines Object-Z and CSP. 24 references.", } @TechReport{Weide-Heym-Hollingsworth94, key = "Weide \& Heym \& Hollingsworth", author = "Bruce W. Weide and Wayne D. Heym and Joseph E. Hollingsworth", title = "Reverse Engineering of Legacy Code is Intractable", institution = "Dept. of Computer and Information Science, The Ohio State University", year = 1994, number = "OSU-CISRC-10/94-TR55", address = "Columbus, Ohio", month = "Oct", note = "Available from \url{ftp://ftp.cis.ohio-state.edu/pub/tech-report/1994/TR55.ps.gz}" } @InProceedings{Weide-Ogden-Sitaraman03, author = {Bruce W. Weide and William F. Ogden and Murali Sitaraman}, title = {Expressiveness Issues in Compositional Performance Reasoning}, key = {Sitaraman}, booktitle = {Proceedings 6th ICSE Workshop on Component-Based Software Engineering}, year = 2003, editor = {Ivica Crnkovic and Heinz Schmidt and Judith Stafford and Kurt Wallnau}, URL = {http://www.csse.monash.edu.au/~hws/cgi-bin/CBSE6/Proceedings/papersfinal/p4.pdf} } @Article{Weide-Ogden-Sitaraman94, key = {Weide \& Ogden \& Sitaraman}, author = {Bruce W. Weide and William F. Ogden and Murali Sitaraman}, title = {Recasting Algorithms to Encourage Reuse}, journal = {IEEE Software}, year = 1994, volume = 11, number = 5, month = Sep, pages = {80-88}, annote = {8 references.} } @InCollection{Weide-Ogden-Zeben91, key = {Weide \& Ogden \& Zeben}, author = {B. W. Weide and W. F. Ogden and S. H. Zeben}, title = {Reusable Software Components}, booktitle = {Advances in Computers}, publisher = {Academic Press}, year = 1991, editor = {M. Yovits}, volume = 33, pages = {1-65} } @Article{Weide-etal94, key = {Weide, {\em et al.}}, author = {Bruce W. Weide and Stephen H. Edwards and Douglas E. Harms and David Alex Lamb}, title = {Design and Specification of Iterators Using the Swapping Paradigm}, journal = IEEETSE, year = 1994, volume = 20, number = 8, month = Aug, pages = {631-643}, annote = {Iterators in RESOLVE. 20 references.} } @InProceedings{Weihe97, key = {Weihe}, author = {Karsten Weihe}, title = {Reuse of Algorithms: Still a Challenge to Object-Oriented Programming}, BookTitle = "Conference Proceedings of OOPSLA '97, Atlanta", Series = SIGPLAN, Volume = "32(10)", Month = Oct, Year = 1997, organization = ACM, pages = {34-48}, annote = {39 references.} } @Book{Weinberg98, key = {Weinberg}, author = {Gerald M. Weinberg}, title = {The Psychology of Computer Programming : Silver Anniversary Edition}, publisher = {Dorset House}, year = 1998, address = NY } @Article{Weinberg99, key = {Weinberg}, author = {Gerald M. Weinberg}, title = {Egoless Programming}, journal = {IEEE Software}, year = 1999, volume = 16, number = 1, month = Jan, pages = {118-120}, note = {Reprinted from {\em The Psychology of Computer Programming}, (Dorset House, 1998), chapter 4.}, annote = {1 reference.} } @Book{Weisfeld-McCarty00, Key = "Weisfield \& McCarty", Author = "Matt Weisfeld and Bill McCarty", Title = "The Object-Oriented Thought Process", Publisher = "Sams", Year = 2000 } @Book{Weisfeld04, Key = "Weisfield", Author = "Matt Weisfeld", Title = "The Object-Oriented Thought Process", Publisher = "Sams", Edition = "Second edition", Year = 2004 } @Book{Weiss91, Key = "Weiss", Author = "Edmond H. Weiss", Title = "How to Write Usable User Documentation", Publisher = "Oryx Press", Year = 1991, Edition = "Second", Annote = "Categorized list of 21 references." } @Article{Welch-Strong98, key = {Welch \& Strong}, author = {David Welch and Scott Strong}, title = {An Exception-Based Assertion Mechanism for {C++}}, journal = JOOP, year = 1998, volume = 11, number = 4, month = Jul, pages = {50-60}, annote = {1 reference.} } @inproceedings{Westbrook-Stump-Wehrman05, key="Westbrook \& Stump \& Wehrman", author="E. Westbrook and A. Stump and I. Wehrman", title={A Language-based Approach to Functionally Correct Imperative Programming}, booktitle="Proceedings of the 10th International Conference on Functional Programming (ICFP05)", location="Tallinn, Estonia", year=2005 } @Article{Weyuker-Vokolos00, key = {Weyuker \& Vokolos}, author = {Elaine J. Weyuker and F. I. Vokolos}, title = {Experience with Performance Testing of Software Systems: Issues, An Approach, and Case Study}, journal = IEEETSE, year = 2000, volume = 26, number = {11/12}, pages = {1147-1156}, month = Nov } @Article{Weyuker98, key = {Weyuker}, author = {Elaine J. Weyuker}, title = {Testing Component-Based Software: A Cautionary Tale}, journal = {IEEE Software}, year = 1998, volume = 15, number = 5, month = Sep, pages = {54-59}, annote = {Need specification, test suite, and links between them for components. 7 references.} } @Article{Wiener98, key = {Wiener}, author = {Richard Wiener}, title = {Watch Your Language!}, journal = {IEEE Software}, year = 1998, volume = 15, number = 3, month = May, pages = {55-56}, annote = {A reply to a paper by Hatton, claiming that C++ is not a representative OO language. No references.} } @Book{Wieringa03, author = {R. J. Wieringa}, title = {Deisgn Methods for Reactive Systems: Yourdon, Statemate, and the UML}, publisher = {Morgan Kaufmann Publishers}, year = 2003, key = {Wieringa}, annote = {Many references.} } @InCollection{Wieringa91, Key = "Wieringa", Author = "R. J. Wieringa", Title = "A formalization of objects using equational dynamic logic", BookTitle = "Deductive and object-Oriented Databases", Publisher = SV, Year = 1991, Editor = "C. Delobel and M. Kifer and Y. Masanaga", Series = LNCS, Volume = 566, Pages = "431-452", Address = NY, Annote = "51 references." } @Article{Wieringa98, author = {Roel Wieringa}, title = {A Survey of Structured and Object-Oriented Software Specification Methods and Techniques}, journal = ACMCS, year = 1998, key = {Wieringa}, volume = 30, number = 4, month = Dec, pages = {459-527}, annote = {Many references.} } @Article{Wilde-Huitt92, Key = "Wilde \& Huitt", Author = "Norman Wilde and Ross Huitt", Title = "Maintenance Support for Object-Oriented Programs", Journal = IEEETSE, Volume = 18, Number = 12, Month = Dec, Year = 1992, Pages = "1038-1044", Annote = "32 references." } @Book{Wilkie93, Key = "Wilkie", Author = "George Wilkie", Title = "Object-Oriented Software Engineering", Publisher = "Addison-Wesley", Year = 1993, Address = "Reading, Mass.", Annote = "77 references." } @Article{Williams94, Key = "Williams", Author = "Lloyd Williams", Title = "Assessmant of Safety-Critical Specifications", Journal = "IEEE Software", Volume = 11, Number = 1, Year = 1994, Month = Jan, Pages = "51-60", Annote = "10 references." } @InCollection{Wills91, Key = "Wills", Author = "Alan Wills", Title = "Capsules and Types in {Fresco}: Program Validation in {Smalltalk}", BookTitle = "ECOOP '91: European Conference on Object Oriented Programming", Publisher = SV, Year = 1991, Editor = "P. America", Series = LNCS, Volume = 512, Pages = "59-76", Address = NY } @InCollection{Wills92b, Key = "Wills", Author = "Alan Wills", Title = "Specification in {Fresco}", BookTitle = "Object Orientation in {Z}", Editor = "Susan Stepney and Rosalind Barden and David Cooper", Publisher = SV, Year = 1992, Address = "Cambridge CB2 1LQ, UK", Series = "Workshops in Computing", Chapter = 11, Crossref = "Stepney-Barden-Cooper92", Pages = "127-135", Annote = "64 references." } @InCollection{Wills94, Key = "Wills", Author = "Alan Wills", Title = "Refinement in {Fresco}", BookTitle = "Object-Oriented Specification Case Studies", Chapter = "9", Publisher = "Prentice-Hall", Year = 1994, Editor = "Kevin Lano and Howard Houghton", Crossref = "Lano-Haughton94", Pages = "184-201", Address = "Englewood Cliffs, NJ" } @InProceedings{Wilson-Maharaj-Clark05, key = "Wilson \& Maharaj \& Clark", author = "Thomas Wilson and Savi Maharaj and Robert G. Clark", title = "Omnibus Verification Policies: A flexible, configurable approach to assertion-based software verification", booktitle = "Third IEEE International Conference on Software Engineering and Formal Methods (SEFM)", editor = "Bernhard K. Aichernig and Bernhard Beckert", month = Sep, year = 2005, pages = "150-159", publisher = "IEEE Computer Society" } @Book{Winblad-Edwards-King90, Key = "Winblad \& Edwards \& King", Author = "Ann L. Winblad and Samuel D. Edwards and David R. King", Title = "Object-Oriented Software", Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1990, Annote = "82 references." } @Article{Wing-Gong90, Key = "Wing \& Gong", Author = "Jeannette M. Wing and Chun Gong", Title = "Experience with the {Larch Prover}", Journal = SIGSOFT, Year = 1990, Volume = 15, Number = 4, Month = Sep, Pages = "140-143", Note = "Proceedings of the ACM SIGSOFT: International Workshop on Formal Methods in Software Development, Mark Moriconi (editor).", Annote = "18 references." } @InCollection{Wing-Ockerbloom00, Key = "Wing \& Ockerbloom", Author = "Jeannette M. Wing and John Ockerbloom", Title = "Respectful Type Converters for Mutable Types", BookTitle = {Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Year = 2000, Publisher = {Cambridge University Press}, Address = NY, ISBN = {0-521-77164-1}, Chapter = 8, Pages = "161-186", Annote = "11 references." } @InCollection{Wing-Rollins-Zaremski92, Key = "Wing \& Rollins \& Zaremski", Author = "J. M. Wing and E. Rollins and A. M. Zaremski", Title = "Thoughts on a Larch/ML and a new Application for LP", Editor = "Ursala Martin and Jeannette M. Wing", BookTitle = "First International Workshop on Larch, Dedham 1992", Publisher = SV, Year = 1992, Pages = "297-312", Annote = "14 references" } @InCollection{Wing-Rollins-Zaremski93, Key = "Wing \& Rollins \& Zaremski", Author = "Jeannette M. Wing and Eugene Rollins and Amy Moormann Zaremski", Title = "Thoughts on a Larch/{ML} and a New Application for {LP}", BookTitle = "Proceedings of the First International Workshop on Larch, July, 1992", Publisher = SV, Editor = "U. Martin and J. Wing", Series = "Workshops in Computing", Pages = "297-312", Address = NY, Year = 1993, Note = "Also Technical Report CMU/CS-92-135, Carnegie Mellon University, School of Computer Science, May 1992.", Annote = "14 references." } @InCollection{Wing-Zaremski91, Key = "Wing \& Zaremski", Author = "Jeannette M. Wing and Amy Moormann Zaremski", Title = "Unintrusive Ways to Integrate Formal Specifications in Practice", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 1: Conference Contributions", Publisher = SV, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 551, Pages = "545-569", Address = NY, Month = Oct, Annote = "28 references." } @TechReport{Wing83, Key = "Wing", Author = "Jeannette Marie Wing", Title = "A Two-Tiered Approach to Specifying Programs", Institution = MITLCS, Number = "TR-299", Year = 1983, Annote = "Semantics of two-tiered approach, design of a CLU interface language, framework for reasoning about two-tiered specifications, and ways of exploiting the framework for specification evaluation. 84 references." } @Article{Wing87, Key = "Wing", Author = "Jeannette M. Wing", Title = "Writing {Larch} Interface Language Specifications", Journal = TOPLAS, Month = Jan, Year = 1987, Volume = 9, Number = 1, Pages = "1-24", Annote = "Describes Larch interface specifications for CLU. Description of the two-tiered approach. 56 references." } @InProceedings{Wing88, Key = "Wing", Author = "Jeannette M. Wing", Title = "Specifying Recoverable Objects", BookTitle = "Proceedings of the Sixth Annual Pacific Northwest Software Quality Conference, Portland, OR", Month = Sep, Year = 1988, Note = "CMU-CS-88-170", Annote = "10 references." } @InCollection{Wing89a, Key = "Wing", Author = "J. M. Wing", Title = "Verifying Atomic Data Types", BookTitle = "Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop, Mook, The Netherlands", Month = "May/June", Year = 1989, Publisher = "Spring-Verlag", Series = LNCS, Volume = 430, Editor = "J. W. de Bakker and W.-P. de Roever and G. Rozenberg", Pages = "731-758" } @TechReport{Wing89b, Key = "Wing", Author = "Jeannette M. Wing", Title = "What is a Formal Method?", Institution = CMU, Number = "CMU-CS-89-200", Month = Nov, Year = 1989, Annote = "Survey of Formal methods with some examples. 76 references." } @Article{Wing90a, Key = "Wing", Author = "Jeannette M. Wing", Title = "A Specifier's Introduction to Formal Methods", Journal = "Computer", Volume = 23, Number = 9, Month = Sep, Year = 1990, Pages = "8-24", Annote = "Survey with categorized references on formal methods and specification languages." } @Article{Wing90b, Key = "Wing", Author = "Jeannette M. Wing", Title = "Using {Larch} to Specify {Avalon/C++} Objects", Journal = IEEETSE, Volume = 16, Number = 9, Month = Sep, Year = 1990, Pages = "1076-1088", Annote = "29 references." } @TechReport{Wing95, author = "Jeannette M. Wing", title = "Hints to Specifiers", institution = "School of Computer Science Carnegie Mellon University", year = 1995, key = "Wing", number = "CMU-CS-95-118R", address = "Pittsburgh, PA 15213", month = "May", annote = "19 references." } @article{Winkler-Kauer97, key = {Winkler \& Kauer}, author = {Jurgen F.H. Winkler and Stefan Kauer}, title = {Proving Assertions Is Also Useful}, journal = SIGPLAN, year = {1997}, month = Mar, volume = {32}, number = {3}, pages = {38--41}, annote = {refer to Rosenblum95, Martin96} } @Article{Wirfs-Brock-Johnson90, Key = "Wirfs-Brock \& Johnson", Author = "Rebecca J. Wirfs-Brock and Ralph E. Johnson", Title = "Surveying Current Research in Object-Oriented Design", Journal = CACM, Year = 1990, Volume = 33, Number = 9, Month = Sep, Pages = "105-124", Annote = "61 references." } @Book{Wirfs-Brock-Wilkerson-Wiener90, Key = "Wirfs-Brock \& Wilkerson \& Wiener", Author = "Rebecca Wirfs-Brock and Brian Wilkerson and Lauren Wiener", Title = "Designing Object-Oriented Software", Publisher = "Prentice-Hall", Year = 1990, Address = "Englewood Cliffs, NJ 07632", Annote = "Model of responsibility-driven design. Hierarchy and collaborations graphs. No references." } @Article{Wirfs-Brock-Wilkerson89, Key = "Wirfs-Brock \& Wilkerson", Author = "Rebecca Wirfs-Brock and Brian Wilkerson", Title = "Object-Oriented Design: A Responsibility-Driven Approach", Journal = SIGPLAN, Volume = 24, Number = 10, Month = Oct, Year = 1989, Pages = "71-75", Note = "OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor), October 1989, New Orleans, Louisiana.", Annote = "Distinguishes data-driven design from responsibility-driven design. 13 references." } @InCollection{Wirsing-Broy82, Key = "Wirsing \& Broy", Author = "Martin Wirsing and Manfred Broy", Title = "An Analysis of Semantic Models for Algebraic Specifications", BookTitle = "Theoretical Foundations of Programming Methodology: Lecture Notes of an International Summer School directed by F. L. Bauer, E. W. Dijkstra and C. A. R. Hoare", Editor = "Manfred Broy and Gunther Schmidt", Year = 1982, Publisher = "D. Ridel", Address = "Dordrecht, Holland", Pages = "351-412", Series = "C", Volume = 91, Annote = "44 references." } @Article{Wirsing-etal83, Key = "Wirsing, {\em et al.}", Author = "Martin Wirsing and Peter Pepper and Helmut Partsch and Walter Dosch and Manfred Broy", Title = "On Hierarchies of Abstract Data Types", Journal = "Acta Informatica", Volume = 20, Number = 1, Month = Oct, Year = 1983, Pages = "1-33", Annote = "43 references." } @InCollection{Wirsing90, Key = "Wirsing", Author = "Martin Wirsing", Booktitle = "Handbook of Theoretical Computer Science", Title = "Algebraic Specification", Chapter = 13, Publisher = MITP, Year = 1990, Editor = "J. van Leewen", Pages = "675-788", Volume = "B: Formal Models and Semantics", Address = NY, Annote = "186 references." } @Article{Wirth71b, Key = "Wirth", Author = "Wirth, N.", Title = "Program Development by Stepwise Refinement", Journal = CACM, Year = 1971, Month = Apr, Volume = 14, Number = 4, Pages = "221-227" } @Book{Wirth73, Key = "Wirth", Author = "Niklaus Wirth", Title = "Systematic Programming: An Introduction", Publisher = "Prentice-Hall", Year = 1973, Series = "Series in Automatic Computation", Address = "Englewood Cliffs, NJ" } @Article{Wirth77b, Key = "Wirth", Author = "N. Wirth", Title = "Algorithms + Data Structures = Programs", Journal = SPandE, Year = 1977, Volume = 7, Number = 1 } @InCollection{Wolter-etal95, key = "Wolter, {\em et al.}", author = {U. Wolter and K. Didrich and F. Cornelius and M. Klar and R. Wess\"{a}ly and H. Ehrig}, title = "How to cope with the Spectrum of {\sc Spectrum}", pages = "173-189", annote = "17 references.", editor = {Manfred Broy and Stefan J\"{a}hnichen}, booktitle = "{KORSO}: Methods, Languages and Tools for the Construction of Correct Software", Publisher = SV, address = NY, Series = LNCS, Volume = 1009, Year = 1995 } @Article{Woo-Dunlop-Wolf, Key = "Woo \& Dunlop \& Wolf", Author = "Nam-Sung Woo and Alfred E. Dunlop and Wayne Wolf", Title = "Codesign from Cospecification", Journal = "Computer", Volume = 27, Number = 1, Month = Jan, Year = 1994, Pages = "42-48" } @Book{Woodcock-Davies96, key = "Woodcock \& Davies", author = "Jim Woodcock and Jim Davies", title = "Using {Z}: Specification, Refinement, and Proof", publisher = "Prentice Hall International Series in Computer Science", url = "http://www.comlab.ox.ac.uk/usingz.html", ISBN = "0-13-948472-8", year = "1996", annote = "Provides an introduction to the world of logic, sets and relations. It explains the use of the Z notation in the specification of realistic systems. ", } @article{Woodcock89, Key = "Woodcock", Author = "J. C. P. Woodcock", Title = "Structuring Specifications in {Z}", Journal = "Software Engineering Journal", Volume = 4, Number = 1, Month = Jan, Year = 1989, Pages = "51-66", Annote = "Extended tutorial on Z's schema calculus." } @InCollection{Woodcock91, Key = "Woodcock", Author = "J. C. P. Woodcock", Title = "A Tutorial on the Refinement Calculus", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 2: Tutorials", Publisher = SV, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 552, Pages = "79-140", Address = NY, Month = Oct, Annote = "Part 1 is a tutorial on the refinement calculus. Part 2 is an introduction to refinement in Z. Part 3 is two refinement case studies." } @Book{Wulf-etal81, Key = "Wulf, {\em et al.}", Author = "William A. Wulf and Mary Shaw and Paul N. Hilfinger and Lawrence Flon", Title = "Fundamental Structures of Computer Science", Publisher = Addison-Wesley, Year = 1981, Address = "Reading, Mass.", Annote = "56 references." } @InProceedings{Xie-etal05, author = {Tao Xie and Darko Marinov and Wolfram Schulte and David Notkin}, title = {Symstra: A Framework for Generating Object-Oriented Unit Tests using Symbolic Execution}, booktitle = {Proceedings of the 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 05)}, year = 2005, pages = {365-381}, month = Apr, location = {Edinburgh, UK}, url = {http://www.csc.ncsu.edu/faculty/xie/publications/tacas05.pdf}, } @inproceedings{Xie-Aiken05, author = {Yichen Xie and Alexander Aiken}, title = {Scalable error detection using boolean satisfiability}, booktitle = POPL, month = Jan, year = 2005, pages = {351-363}, editor = {Jens Palsberg and Mart\'{\i}n Abadi}, publisher = ACM } @Article{Yamaura98, key = {Yamaura}, author = {Tsuneo Yamaura}, title = {How to Design Practical Test Cases}, journal = {IEEE Software}, year = 1998, volume = 15, number = 6, month = Nov, pages = {30-36}, annote = {4 references.} } @Article{Yar-Tsai86, Author = "Stephen S. Yau and Jeffery J.-P. Tsai", Title = "A Survey of Software Design Techniques", Journal = IEEETSE, Volume = "SE-12", Number = 6, Month = Jun, Year = 1986, Pages = "713-721", Annote = "83 references." } @TechReport{Ye06, key = {Ye}, author = {Cui Ye}, title = {Improving JML's assignable clause analysis}, institution = {Department of Computer Science, Iowa State University}, year = 2006, number = {06-19}, address = {226 Atanasoff Hall, Ames, Iowa 50011}, month = Jul, URL = {ftp://ftp.cs.iastate.edu/pub/techreports/TR06-19/TR.pdf}, annote = {12 references.} } @TechReport{Yelick91, Key = "Yelick", Author = "Katherine Yelick", Title = "Using Abstraction In Explicitly Parallel Programs", Institution = "Laboratory for Computer Science, MIT", Year = 1991, Number = "MIT/LCS/TR-507", Address = "545 Technology Square, Cambridge, MA 02139", Month = Jul, Annote = "79 references." } @Article{Yemini-Berry87, Key = "Yemini \& Berry", Author = "Shaula Yemini and Daniel M. Berry", Title = "An Axiomatic Treatment of Exception Handling in an Expression-Oriented Language", Journal = TOPLAS, Volume = 9, Number = 3, Month = Jul, Year = 1987, Pages = "390-407", Annote = "Axiomatic semantics of the replacement model of exception handling 27 references." } @InCollection{Yodaiken90, Key = "Yodaiken", Author = "Victor Yodaiken", Title = "A logic-free method for modular compostion of specifications", BookTitle = "Advances in Computing and Information - ICCI'90", Publisher = SV, Year = 1990, Editor = "S.G. Akl and F. Fiala and W.W. Koczkodaj", Series = LNCS, Volume = 468, Pages = "196-205", Address = NY, Annote = "14 references." } @TechReport{Yonezawa77, Key = "Yonezawa", Author = "Akinori Yonezawa", Title = "Specification and Verification Techniques for Parallel Programs based on Message Passing Semantics", Institution = MITLCS, Number = 191, Month = Dec, Year = 1977, Annote = "Specification using an abstract model approach called conceptual representations. Deals with mutable objects, message passing in actor systems and parallel processing. 59 references." } @Article{Young97, key = {Young}, author = {William D. Young}, title = {Comparing Verification Systems: Interactive Consistency in {ACL2}}, journal = IEEETSE, year = 1997, volume = 23, number = 4, month = Apr, pages = {214-223}, annote = {First-order logic may be good enough for some problems. Comparisons with PVS. 23 references.} } @Book{Yourdon89, Key = "Yourdon", Author = "Edward Yourdon", Title = "Modern Structured Analysis", Publisher = "Prentice-Hall", Year = 1989, Series = "Yourdon Press computing series", Address = "Englewood Cliffs, New Jersey" } @InCollection{Zamulin93, Key = "Zamulin", Author = "A. V. Zamulin", Title = "Algebraic Modelling of Imperative Languages with Pointers", BookTitle = "Formal Methods in Programming and Their Applications", Publisher = SV, Year = 1993, Editor = "Dines Bjoerner and Manfred Broy and Igor V. Pottosin", Series = LNCS, Volume = 735, Pages = "81-97", Month = Jul, Annote = "18 references." } @TechReport{Zamulin94a, Key = "Zamulin", Author = "Alexandre Zamulin", Title = "The Database Specification Language Ruslan (a preliminary communication)", Institution = "Siberian Division of the Russian Academy of Sciences Institute of Informatics Sytems", Year = 1994, Number = "Preprint 28", Address = "Novosibirsk", Annote = "12 references." } @TechReport{Zamulin94b, Key = "Zamulin", Author = "Alexandre Zamulin", Title = "The Database Specification Language Ruslan (specification examples)", Institution = " Division of the Russian Academy of Sciences Institute of Informatics Sytems", Year = 1994, Number = "Preprint 29", Address = "Novosibirsk", Annote = "2 references." } @InProceedings{Zaremski-Wing95, key = "Zaremski \& Wing", author = "Amy Moormann Zaremski and Jeannette M. Wing", title = "Specification Matching of Software Components", booktitle = "Proceedings of SIGSOFT'95 Third ACM SIGSOFT Symposium on the Foundations of Software Engineering", pages = "6--17", month = Oct, year = 1995 } @Article{Zaremski-Wing97, key = "Zaremski \& Wing", author = "Amy Moormann Zaremski and Jeannette M. Wing", title = "Specification Matching of Software Components", journal = TOSEM, year = 1997, volume = 6, number = 4, month = Oct, pages = {333-369}, annote = {46 references} } @InProceedings{Zave-Jackson89, Key = "Zave \& Jackson", Author = "Pamela Zave and Daniel Jackson", Title = "Practical Specification Techniques for Control-Oriented Systems", BookTitle = "Information Processing '89", Editor = "G. X. Ritter", Year = 1989, Publisher = "Elsevier Science publishers B. V. (North-Holland)", Pages = "83-88", Annote = "Combination of structure diagrams (from JSP and JSD) with Statecharts. 16 references." } @Article{Zave-Jackson93, Key = "Zave \& Jackson", Author = "P. Zave and Michael Jackson", Title = "Conjunction as composition", Journal = "ACM Transactions on Software Engineering and Methodology", Volume = 2, Number = 4, Month = Oct, Year = 1993, Pages = "379-411", Annote = "36 References" } @Article{Zave-Jackson97, Key = "Zave \& Jackson", Author = "P. Zave and M. Jackson", Title = "Four Dark Corners of Requirements Engineering", Journal = "ACM Transactions on Software Engineering and Methodology", Volume = 6, Number = 1, Month = Jan, Year = 1997, Pages = "1-30", URL = "http://doi.acm.org/10.1145/237432.237434" } @Article{Zave-Jackson98, key = {Zave \& Jackson}, author = {Pamela Zave and Michael Jackson}, title = {A Component-Based Approach to Telecommunications Software}, journal = {IEEE Software}, year = 1998, volume = 15, number = 5, month = Sep, pages = {70-87}, annote = {10 references.} } @Article{Zave72, Key = "Zave", Author = "P. Zave", Title = "An Operational Approach to Requirements Specification for Embedded Systems", Journal = IEEETSE, Volume = 8, Number = 3, Month = May, Year = 1972, Pages = "250-269" } @Article{Zave84, Key = "Zave", Author = "Pamela Zave", Title = "The Operational Versus the Conventional Approach to Software Development", Journal = CACM, Volume = 27, Number = 2, Month = Feb, Year = 1984, Pages = "104-118", Annote = "Operational approach specifies systems operationally, that is, at problem-level and transforms it to an implementation level program. Separation of problem-oriented from implementation oriented concerns. Executable specifications. Efficiency versus maintenance trade-off is between localizing information or spreading it around. 42 references." } @Article{Zave97, author = {Pamela Zave}, title = {Classification of Research Efforts in Requirements Engineering}, journal = ACMCS, year = 1997, key = {Zave}, volume = 29, number = 4, month = Dec, pages = {315-321}, annote = {39 references.} } @Book{Zeigler97, key = {Zeigler}, author = {Bernard P. Zeigler}, title = {Objects and systems: principled design with implementations in C++ and Java}, publisher = SV, year = 1997, series = {Springer undergraduate texts in computer science}, address = NY, annote = {Includes formal specification and verification.} } @Article{Zelkowitz90, Key = "Zelkowitz", Author = "Marvin V. Zelkowitz", Title = "A Functional Correctness Model of Program Verification", Journal = "Computer", Year = 1990, Volume = 23, Number = 1, Month = Nov, Pages = "30-39", Note = "This model's verification conditions depend only on elementary symbolic execution of a trace table. An easy-to-learn technique, it's used in a freshman computer science class", Annote = "8 references." } @Article{Zeller01, author = {Andreas Zeller}, title = {Automated Debugging: Are We Close?}, journal = {Computer}, year = 2001, key = {Zeller}, volume = 34, number = 11, pages = {26-31}, month = Nov, annote = {7 references.} } @TechReport{Zhang88, Key = "Zhang", Author = "Hantao Zhang", Title = "Reduction, Superposition and Induction: Automated Reasoning in an Equational Logic", Institution = "Department of Computer Science, The University of Iowa", Address = "Iowa City, Iowa", Number = "86-06", Month = Nov, Year = 1988, Note = "The author's Ph.D. thesis, from RPI", Annote = "Systematic study of automated reasoning techniques based on equational logic. About a hundred references." } @InProceedings{Zhao-Rinard03, key = {Zhao \& Rinard}, title = {Pipa: A Behavioral Interface Specification Language for AspectJ}, author = {Jianjun Zhao and Martin C. Rinard}, year = {2003}, booktitle = {Proc. Fundamental Approaches to Software Engineering (FASE'2003) of ETAPS'2003}, series = {Lecture Notes in Computer Science}, month = Apr, publisher = SV, } @Article{Zhao99, key = {Zhao}, author = {Jianjun Zhao}, title = {Bibliography on Software Architecture Analysis}, journal = SIGSOFT, year = 1999, volume = 24, number = 3, month = May, pages = {61-62}, URL = "http://www.fit.ac.jl/~zhaz/pub/sa.html", annote = {44 references.} } @Article{Zheng-Zhang-Wang98, key = {Zheng \& Zhang \& Wang}, author = {Mingchun Zheng and Jiahong Zhang and Yanbing Wang}, title = {Integrating a Formal Specification Notation with {HOOD}}, journal = SIGSOFT, year = 1998, volume = 23, number = 5, month = Sep, pages = {47-61}, annote = {Integration with Z. 8 references.} } @Article{Zhu-Hall-May97, author = {Hong Zhu and Patrick A. V. Hall and John H. R. May}, title = {Software Unit Test Coverage and Adequacy}, journal = ACMCS, year = 1997, key = {Zhu \& Hall \& May}, volume = 29, number = 4, month = Dec, pages = {366-427}, annote = {Many references.} } @Article{Zhu94, Key = "Zhu", Author = "Hong Zhu", Title = "How powerful are folding/unfolding transformations?", Journal = "Journal of Functional Programming", Year = 1994, Volume = 4, Number = 1, Month = Jan, Pages = "89-112", Annote = "24 references." } @Article{Zwaenpoel-Lantz84, Key = "Zwaenpoel \& Lantz", Author = "Willy Zwaenpoel and Keith A. Lantz", Title = "Perseus: Retrospective on a Portable Operating System", Journal = SPandE, Volume = 14, Number = 1, Month = Jan, Year = 1984, Pages = "31-48" } @Unpublished{cme03, key = "Concern Manipulation Environment", author = {IBM}, title = {Concern Manipulation Environment}, note = {Available from \url{http://www.research.ibm.com/cme/papers/handout.html}}, year = {2003}, annote = {Handout from AOSD presentation} } @Book{deBakker80, Key = "de Bakker", Author = "Jaco de Bakker", Title = "Mathematical Theory of Program Correctness", Publisher = Prentice-Hall, Address = "Englewood Cliffs, N.J.", Year = 1980, Series = "International Series in Computer Science", Annote = "Program verification. Bibliographical notes and 134 references." } @InProceedings{deBoer-Hannemann-deRoever99, key = "de Boer \& Hannemann \& de Roever", author = "F. S. de Boer and U. Hannemann and W.-P. de Roever", title = "Formal Justification of the Rely-Guarantee Paradigm for Shared-Variable Concurrency: {A} Semantic Approach", Editor = "Jeannette M. Wing and Jim Woodcock and Jim Davies", BookTitle = "FM'99 --- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, Toulouse, France, September 1999, Proceedings", Year = 1999, Series = LNCS, Publisher = SV, Volume = 1709, pages = "1245-1265", annote = "Completeness proof for the rely-guarantee technique. 15 references.", } @inproceedings{deBoer-Pierik02, key={de Boer \& Pierik}, author={F.S. de Boer and C. Pierik}, title={Computer-Aided Specification and Verification of Annotated Object-Oriented Programs}, editor={B. Jacobs and A. Rensink}, booktitle={Formal Methods for Open Object-Based Distributed Systems}, pages={163-177}, year=2002 } @InProceedings{deBoer90, Key = "de Boer", Author = "Frank S. de Boer", Title = "A Proof System for the Parallel Object-Oriented Language POOL", BookTitle = "17th International Colloquium on Automata, Languages, and Programming (ICALP), Warwick, England", Month = Jul, Year = 1990, Annote = "Hoare-style proof system for partial correctness. Deals with aliasing. Does not allow use of subtyping for assignments or message passing." } @InCollection{deBoer91, Key = "de Boer", Author = "Frank S. de Boer", Title = "A Proof System for the Language {POOL}", BookTitle = "Foundations of Object-Oriented Languages, REX School/Workshop, Noordwijkerhout, The Netherlands, May/June 1990", Publisher = SV, Year = 1991, Editor = "J. W. de Bakker and W. P. de Roever and G. Rozenberg", Series = LNCS, Volume = 489, Pages = "124-150", Address = NY, Annote = "Hoare-logic for POOL. Deals with pointers. 15 references." } @InProceedings{deBoer99, author = {Frank S. de Boer}, title = {A {WP}-calculus for {OO}}, booktitle = {Foundations of Software Science and Computation Structures (FOSSACS)}, pages = {135-149}, year = 1999, editor = {Wolfgang Thomas}, volume = 1578, series = LNCS, publisher = SV } @Article{deChampeaux-Faure92, Key = "deChampeaux \& Faure", Author = "Dennis de Champeaux and Penelope Faure", Title = "A Comparative Study of object-oriented analysis methods", Journal = JOOP, Year = 1992, Volume = 5, Number = 1, Month = Mar, Pages = "21-33", Annote = "33 references." } @Article{deChampeaux-Lea-Faure92, Key = "de Champeaux \& Lean \& Faure", Author = "Dennis de Champeaux and Doug Lea and Penelope Faure", Title = "The Process of Object-Oriented Design", Journal = SIGPLAN, Volume = 27, Number = 10, Month = Oct, Year = 1992, Pages = "45-62", Note = "{\em OOPSLA '92 Proceedings}, Andreas Papecke (editor).", Annote = "20 references." } @Book{deChampeaux-Lea-Faure93, Key = "de Champeaux \& Lean \& Faure", Author = "Dennis de Champeaux and Doug Lea and Penelope Faure", Title = "Object Oriented System Development", Year = 1993, Publisher = Addison-Wesley, Address = "Mass,", Annote = "20 references." } @InProceedings{deChampeaux-etal91, Key = "deChampeaux, {\em et al.}", Author = "Dennis de Champeaux and Pierre America and Derek Coleman and Roger Duke and Doug Lea and Gary Leavens", Title = "Formal Techniques for {OO} Software Development", BookTitle = "OOPSLA '92 Proceedings", Editor = "Andreas Paepcke", Series = SIGPLAN, Year = 1991, Volume = "26(11)", Month = Nov, Pages = "166-170", Annote = "no references" } @Article{deChampeaux91, Key = "de Champeaux", Author = "Dennis de Champeaux", Title = "Formal Techniques for Object Oriented Software Development", Journal = "OOPS Messenger", Volume = 3, Number = 4, Month = Oct, Year = 1992, Pages = "49", Note = "{\em OOPSLA '91 Addendum to the Proceedings}, Jerry L. Archibald (editor)." } @Book{deRoever-Englhardt98, author = {Willem-Paul de Roever and Kai Engelhardt}, title = {Data Refinement: Model-Oriented Proof Methods and their Comparison}, publisher = {Cambridge University Press}, year = 1998, key = {deRoever \& Englhardt}, volume = 47, series = {Cambridge Tracts in Theoretical Computer Science}, address = NY, annote = {Comprehensive and systematic introduction to data refinement. Many references.} } @InProceedings{duBousquet-etal04, author = {Lydie du Bousquet and Yves Ledru and Olivier Maury and Pierre Bontron}, title = {A case study in {JML}-based software validation}, key = {du Bosquet, {\em et al.}}, booktitle = {Proceedings of 19th Int. IEEE Conf. on Automated Sofware Engineering (ASE'04)}, pages = {294-297}, year = 2004, month = Sep, publisher = {IEEE Computer Society Press}, URL = {http://www-lsr.imag.fr/Les.Personnes/Yves.Ledru/Publications/duBousquetASE04.pdf} } @InCollection{vanHee-Somers-Voorheve91, Key = "van Hee \& Somers \& Voorhoeve", Author = "K. M. van Hee and L. J. Somers and M. Voorhoeve", Title = "{Z and High Level Petri Nets}", BookTitle = "VDM '91 Formal Software Development Methods 4th International Symposium of VDM Europe Noordwijkerhout, The Netherlands, Volume 1: Conference Contributions", Publisher = Springer-Verlag, Year = 1991, Editor = "S. Prehn and W. J. Toetenel", Series = LNCS, Volume = 551, Pages = "204-219", Address = NY, Month = Oct, Annote = "11 references." } @Article{vanLamsweerde-Darimont-Letier98, key = {vanLamsweerde \& Darimont \& Letier}, author = {Axel van Lamsweerde and Robert Darimont and Emmanuel Letier}, title = {Managing Conflicts in Goal-Directed Requirements Engineering}, journal = IEEETSE, year = 1998, volume = 24, number = 11, month = Nov, pages = {908-925}, annote = {57 references.} } @InProceedings{vanLamsweerde00, author = {Axel van Lamsweerde}, key = {van Lamsweerde}, title = "Requirements Engineering in the Year 00: A Research Perspective", booktitle = {Proceedings of the 22nd International Conference on Software Engineering}, month = Jun, publisher = "ACM Press", address = NY, year = 2000, pages = {5-19}, annote = {Many references.} } @Article{vanVliet-Gladney85, Key = "van Vliet \& Gladney", Author = "J. C. van Vliet and H. M. Gladney", Title = "An Evaluation of Tagging", Journal = SPandE, Volume = 15, Number = 9, Month = Sep, Year = 1985, Pages = "823-837", Annote = "Two programs coded in object-oriented languages and compared to codings done in PL/1. The object-oriented version was found to be easier to understand, easier to change, and easier to maintain. But other factors besides dynamic binding also helped, e.g., storage allocation and abstract data type support." } @InProceedings{vandeSnepscheut94, author = {Jan L. van de Snepscheut}, title = {Mechanized Support for Stepwise Refinement}, booktitle = {Programming Languages and System Architecture}, key = {van de Snepscheut}, editor = {J. Gutknecht}, year = 1994, publisher = SV, address = NY, pages = {35-48} } @InProceedings{vandenBerg-Poll-Jacobs00, AUTHOR = {Joachim van den Berg and Erik Poll and Bart Jacobs}, TITLE = {First steps in formalising {JML}: exceptions in predicates}, EDITOR = {Sophia Drossopoulou and Susan Eisenbach and Bart Jacobs and Gary T. Leavens and Peter M{\"u}ller and Arnd Poetzsch-Heffter}, BOOKTITLE = {Formal Techniques for Java Programs. Proceedings of the ECOOP'00 Workshop}, PUBLISHER = {Techn. Rep., Fernuniversit{\"a}t Hagen}, YEAR = {2000}, URL = {http://www.cs.ru.nl/~erikpoll/publications/ftfjp00.ps.gz} } @inproceedings{vandenBerg-etal01, key = {Berg, {\em et al.}}, author = {Joachim van den Berg and Cees-Bart Breunesse and Bart Jacobs and Erik Poll}, title = {On the Role of Invariants in Reasoning about Object-Oriented Languages}, year = 2001, booktitle = {{Formal Techniques for Java Programs. Proceedings of the ECOOP'2001 Workshop}}, url = {http://www.cs.ru.nl/~erikpoll/publications/ftfjp01.pdf}, annote = {14 references.} } @InProceedings{vandenBerg-Jacobs01, author = {Joachim van den Berg and Bart Jacobs}, title = {The {LOOP} compiler for {Java} and {JML}}, key = {van den Berg \& Jacobs}, booktitle = {Tools and Algorithms for the Construction and Analysis of Software (TACAS)}, pages = {299-312}, year = 2001, editor = {T. Margaria and W. Yi}, volume = 2031, series = LNCS, publisher = SV, } % $Id: etc.bib,v 1.28 2006/08/13 23:14:00 leavens Exp $ % Math, general stuff that doesn't go elsewhere. @Book{Abelson-diSessa80, Key = "Abelson \& diSessa", Author = "Harold Abelson and Andrea diSessa", Title = "Turtle Geometry", Publisher = MITP, Address = "Cambridge, Mass.", Year = 1980, Annote = "Math using turtles as in Logo." } @Book{Abrahams-Larson92, Key = "Abrahams \& Larson", Author = "Paul W. Abrahams and Bruce R. Larson", Title = "Unix for the Impatient", Publisher = "Addison-Wesley", Year = 1992, Address = "Reading, Mass." } @Book{Adamek-Herrlich-Strecker90, Key = "Adamek \& Herrlich \& -Strecker", Author = "Jiri Adamek and HoirstHerrlich and George Strecker", Title = "Abstract and Concrete Catagories", Publisher = "Wiley-Interscience", Year = 1990, Series = "Pure and Applied Mathematics series", Address = NY } @Book{Adobe91, Key = "Adobe", Author = "Adobe Systems Incorporated", Title = "POSTSCRIPT Language: Tutorial and CookBook", Year = 1991, Publisher = "Addison-Wesley Publishing Company, Inc", Annote = "6 references" } @InCollection{Airasian-Madaus74, Key = "Airasian \& Madaus", Author = "Peter W. Airasian and George F. Madaus", Title = "Criterion-Referenced Testing in the Classroom", BookTitle = "Crucial Issues in Testing", Publisher = "McCutchan Publishing Corp.", Year = 1974, Editor = "Ralph W. Tyler and Richard M. Wolf", Series = "Contemporary Educational Issues", Chapter = 8, Pages = "73-88", Address = "Berkeley, Calif.", Annote = "30 references." } @Article{Anderson-Block85, Key = "Anderson \& Block", Author = "L. W. Anderson and J. H. Block", Title = "Mastery Learning Model of Teaching", Journal = "International Encyclopedia of Education", Year = 1985, Pages = "3219-3230", Annote = "31 references." } @Book{Arbib-Manes75, Key = "Arbib \& Manes", Author = "Michael A. Arbib and Ernest G. Manes", Title = "Arrows, Structures, and Functors: The Categorical Imperative", Publisher = "Academic Press", Address = NY, Year = 1975, Annote = "Category theory for computer scientists." } @Book{Arick95, author = "Martin Arick", title = "{UNIX} for {DOS} users", publisher = "Wiley", year = 1995, address = NY } @Book{Aristotle61, Key = "Aristotle", Author = "Aristotle", Title = "Physics", Publisher = "University of Nebraska Press", Year = 1961, Address = "Lincoln, Nebraska" } @Article{Arnstein-etal02, author = "Larry Arnstein and Chia-Yang Hung and Robert Franza and Qing Hong Zhou and Gaetano Borriello and Sunny Consolvo and Jing Su", title = "Labscape: A Smart Environment for the Cell Biology Laboratory", journal = "IEEE Pervasive Computing", year = 2002, pages = "13-21", month = jul, volume = 1, number = 3, } @Article{Arya94, Key = "Arya", Author = "Kavi Arya", Title = "A functional animation starter-kit", Journal = "Journal of Functional Programming", Year = 1994, Volume = 4, Number = 1, Month = Jan, Pages = "1-18", Annote = "11 references." } @Book{Asperti-Longo91, Key = "Asperti \& Longo", Author = "Andrea Asperti and Guiseppe Longo", Title = "Categories, Types and Structures", Publisher = MITP, Year = 1991, Address = "Cambridge, Mass", Annote = " around 180 references." } @Article{Austing-etal79, key = "Austing, {\em et al.}", author = "Righard H. Austing and Bruce H. Barnes and Della T. Bonnette and Gerald L. Endgel and Gordon Stokes", title = "Curriculum '78: Recommendations for the Undergraduate Program in Computer Science", journal = CACM, year = 1979, volume = 22, number = 3, pages = "147-166", month = Mar, annote = "10 references." } @Book{Babbage82, Key = "Babbage", Author = "Charles Babbage", Title = "Babbage's calculating engines : a collection of papers", Publisher = "Tomash", Year = 1982, Editor = "Henry Prevost Babbage", Volume = "2", Series = "The Charles Babbage Institute reprint series for the history of computing", Address = "Los Angeles" } @Unpublished{Babyonyshev03, author = {Sergei Babyonyshev}, title = {Fully Fregean Logics}, note = {Submitted for publication}, year = 2003 } @Book{Balcazar-Diaz-Gabarro88, Key = "Balcazar \& Diaz \& Gabarro", Author = "Jos\'{e} Luis Balc\'{a}zar and Josep D\'{i}az and Joaquim Gabarr\'{o}", Title = "Structural Complexity I", Year = 1988, Publisher = SV, Address = NY, Annote = "Hundreds of references." } @Book{Bandemer-Gottwald95, author = {Hans Bandemer and Siegfried Gottwald}, title = {Fuzzy Sets, Fuzzy Logic Fuzzy Methods with Applications}, publisher = {John Wiley \& Sons}, year = 1995, key = {Bandemer \& Gottwald}, address = NY, annote = {Many references.} } @Book{Barkakati91, Key = "Barkakati", Author = "Nabajyoti Barkakati", Title = "Unix Desktop Guide to X/Motif", Publisher = "SAMS", Year = 1991, Address = "Carmel, Indiana" } @Article{Baroody-DeWitt81, Key = "Baroody \& DeWitt", Author = "A. James Baroody, Jr. and David J. DeWitt", Title = "An Object-Oriented Approach to Database System Implementation", Journal = TODS, Volume = 6, Number = 4, Month = Dec, Year = 1981, Pages = "576-601", Annote = "32 references." } @Book{Barr-Wells90, Key = "Barr \& Wells", Author = "Michael Barr and Charles Wells", Title = "Category Theory for Computing Science", Publisher = Prentice-Hall, Series = "International Series in Computer Science", Address = "Englewood Cliffs, N.J.", Year = 1990, Note = "ISBN 0-13-120486-6", Annote = "Excellent introductory text, with hundreds of references." } @Article{Beer-Chiel-Drushel99, key = {Beer \& Chiel \& Drushel}, author = {Randall D. Beer and Hillel J. Chiel and Richard F. Drushel}, title = {Using Autonomous Robotics to Teach Science and Engineering}, journal = CACM, year = 1999, volume = 42, number = 6, month = Jun, pages = {85-92}, annote = {12 references.} } @Book{Bergman-Maddux-Pigozzi90, Key = "Bergman \& Maddux \& Pigozzi", Editor = "C. H. Bergman and R. D. Maddux and D. L. Pigozzi", Title = "Algebraic Logic and Universal Algebra in Computer Science, Conference, Ames, Iowa, USA, June, 1988", Series = LNCS, Volume = 425, Year = 1990, Publisher = Spriner-Verlag, Address = NY } @Book{Berkson74, Key = "Berkson", Author = "William Berkson", Title = "Fields of Force: The Development of a World View from Faraday to Einstein", Publisher = "John Wiley and Sons", Year = 1974, Address = NY } @Book{Birkhoff67, Key = "Birkhoff", Author = "Garrett Birkhoff", Title = "Lattice Theory", Publisher = "American Mathematical Society", Year = 1967, Volume = 25, Series = "American Mathematical Societ Colloquium Publications", Address = NY, Edition = "Third edition", Annote = "Many references." } @Article{Blok-Pigozzi89, key = {Blok \& Pigozzi}, author = {W. J. Blok and D. Pigozzi}, title = {Algebraizable Logics}, journal = {Memoirs of the American Mathematical Society}, year = 1989, month = Jan, volume = 396 } @Article{Blok-Pigozzi97, key = {Blok \& Pigozzi}, author = {W. J. Blok and D. Pigozzi}, title = {Abstract Algebraic Logic and the Deduction Theorem}, journal = {Journal of Symbolic Logic}, year = 1997, note = {To appear.} } @Book{Bloom-Hastings-Madaus71, Key = "Bloom \& Hastings \& Madaus", Author = "Benjamin S. Bloom and J. Thomas Hastings and George F. Madaus", Title = "Handbook on Formative and Summative Evaluation of Student Learning", Publisher = "McGraw-Hill", Year = 1971, Address = NY } @InCollection{Bowers-Lewin-Pigozzi01, author = {S. E. Bowers and R. A. Lewin and Don Pigozzi}, title = {An annotated logic defined by a matrix.}, booktitle = {Unsolved Problems on Mathematics for the 21th Century --- A Tribute to Kioshi Iseki's 80th Birthday}, key = {Bowers \& Lewin \& Pigozzi}, publisher = {IOS Press}, year = 2001, editor = {J. Abe and S. Tanak}, address = {Amsterdam} } @InProceedings{Bridges-etal03, author = "Seth Bridges and Miguel Figueroa and David Hsu and Chris Diorio", title = "Field-Programmable Learning Arrays", booktitle = "Advances in Neural Information Processing Systems 15", year = 2003, publisher = "MIT Press", address = "Cambridge, MA", } @Book{Brown88, Key = "Brown", Author = "C. Marlin Brown", Title = "Human-computer interface design guidelines", Publisher = "Ablex Pub. Corp.", Year = 1988, Address = "Norwood, NJ", Note = "Call Number: QA76.76.D47 B76 1988" } @Book{Cameron-Rosenblatt91, Key = "Cameron \& Rosenblatt", Editor = "Debra Cameron and Bill Rosenblatt", Title = "Learning GNU Emacs", Publisher = "O'Reilly \& Associates", Year = 1991, Address = "Sebastopol, CA", Note = "ISBN 0-937175-84-6" } @Book{Cardenas-McLeod90, Key = "Cardenas \& McLeod", Editor = "Alfonso F. Cardenas and Dennis McLeod", Title = "Research foundations in object-oriented and semantic database systems", Publisher = "Prentice Hall", Year = 1990, Series = "Prentice Hall series in data and knowledge base systems", Address = "Englewood Cliffs, NJ" } @Book{Caroll90, key = {Carroll}, author = {John M. Carroll}, title = {The Nurnberg funnel: designing minimalist instruction for practical computer skill}, year = 1990, isbn = {0-262-0316390}, publisher = {MIT Press}, address = {Cambridge, MA, USA}, } @book{Cattel94, key = {Cattel}, author = {R.G.G. Cattell}, title = {The Object Database Standard: {ODMG--93}}, year = {1994}, publisher = {Morgan Kaufmann Publishers}, address = {San Mateo, California} } @Book{Church41, Key = "Church", Author = "A. Church", Title = "The Calculi of Lambda Conversion", Series = "Annals of Mathematics Studies", Volume = 6, Publisher = "Princeton University Press", Address = "Princeton, N.J.", Year = 1941, Note = "Reprinted by Klaus Reprint Corp., New York in 1965." } @Book{Cormen-Leiserson-Rivest90, author = {T. H. Cormen and C. E. Leiserson and R. Rivest}, title = {Introduction to Algorithms}, publisher = MITP, year = 1990 } @Book{Crevier93, Key = "Crevier", Author = "Daniel Crevier", Title = "AI: The Tumultuous History of the Search for Artificial Intelligence", Publisher = "Basic Books", Year = 1993, Annote = "Hundreds of references." } @Book{Crole94, Key = "Crole", Author = "Roy L. Crole", Title = "Categories for Types", Publisher = "Cambridge", Year = 1994, Series = "Cambridge Mathematical Textbooks", Address = "Cambridge, UK" } @TechReport{Czelakowski-Pigozzi96, author = {J. Czelakowski and D. Pigozzi}, title = {Amalgamation and interpolation in abstract algebraic logic}, institution = {Centre de Recerca Matematica}, address = {Barcelona, Spain}, key = {Czelakowski \& Pigozzi}, year = 1996, month = Sep, type = {preprint}, number = 343 } @InProceedings{Czelakowski-Pigozzi99, author = {J. Czelakowski and D. Pigozzi}, title = {Amalgamation and interpolation in abstract algebraic logic}, booktitle = {Models, Algebras, and Proofs: selected papers of the X Latin American symposium on mathematical logic held in Bogota}, year = 1999, editor = {X. Caicedo and C. H. Montenegro}, series = {Lecture Notes in Pure and Applied Mathematics}, volume = 203, publisher = {Marcel Dekker, Inc.}, address = NY, pages = {187--265} } @Book{Cziko95, key = {Cziko}, author = {Gary Cziko}, title = {Without Miracles: Universal Selection Theory and the Second Darwinian Revolution}, publisher = MITP, year = 1995, annote = {Basic idea is that selection theory can explain more than just biological evolution, but all instances of adaptive fit. Many references.} } @Book{Davey-Priestley90, Key = "Davey \& Priestley", Author = "B. A. Davey and H. A. Priestley", Title = "Introduction to Lattices and Order", Publisher = "Cambridge", Year = 1990, Series = "Cambridge Mathematical Series", Address = NY, Annote = "57 references." } @Book{Deming82, Key = "Deming", Author = "W. Edwards Deming", Title = "Quality, productivity and competative position", Publisher = "MIT Center for Advanced Engineering Study", Year = 1982 } @Article{Denning-etal89, Key = "Denning, {\em et al.}", Author = "Peter J. Denning and Douglas E Comer and David Gries and Michael C. Mulder and Allen Tucker and A. Joe Turner and Paul R. Young", Title = "Computing as a Discipline", Journal = CACM, Year = 1989, Volume = 32, Number = 1, Month = Jan, Pages = "9-23", Annote = "5 references." } @Article{Denning92, Key = "Denning", Author = "Peter J. Denning", Title = "Educating a New Engineer", Journal = CACM, Year = 1992, Volume = 35, Number = 17, Month = Dec, Pages = "82-97", Annote = "How to save the university. 29 references." } @Article{Denning93, Key = "Denning", Author = "Peter J. Denning", Title = "Designing New Principles to Sustain Research in our Universities", Journal = CACM, Year = 1993, Volume = 36, Number = 7, Month = Jul, Pages = "98-104", Annote = "6 references." } @Book{Devaney90, Key = "Devaney", Author = "Robert L. Devaney", Title = "Chaos, fractals, and dynamics: computer experiments in mathematics", Publisher = "Addison-Wesley", Year = 1990, Address = "Reading, Mass.", Annote = "ISBN 0-201-23228-X" } @Book{Dewdney84, Key = "Dewdney", Author = "A. K. Dewdney", Title = "The planiverse : computer contact with a two-dimensional world", Publisher = "Poseidon Press", Year = 1984, Address = NY } @Book{Dewdney88, Key = "Dewdney", Author = "A. K. Dewdney", Title = "The Armchair Universe: An Exploration of Computer Worlds", Publisher = "W. H. Freeman", Year = 1988, Address = NY } @Book{Dewdney89, Key = "Dewdney", Author = "A. K. Dewdney", Title = "The Turing Omnibus : 61 excursions in computer science", Publisher = "Computer Science Press", Year = 1989, Address = "Rockville, MD" } @Book{Dewdney90, Key = "Dewdney", Author = "A. K. Dewdney", Title = "The magic machine : a handbook of computer sorcery", Publisher = "W.H. Freeman", Year = 1990, Address = NY } @Book{Dewdney93, Key = "Dewdney", Author = "A. K. Dewdney", Title = "The Tinkertoy Computer and other machinations", Publisher = "W.H. Freeman", Year = 1993, Address = NY } @Book{Dugas55, Key = "Dugas", Author = "Rene Dugas", Title = "A History of Mechanics", Publisher = "Editions du Griffon", Year = 1955, Address = "Neuchatel, Switzerland", Note = "Translated by J. R. Maddox" } @Book{Enderton72, Key = "Enderton", Author = "Herbert B. Enderton", Title = "A Mathematical Introduction to Logic", Publisher = "Academic Press, Inc.", Address = "Orlando, Florida", Year = 1972, Annote = "Basic results in logic." } @Article{Faraday52, Key = "Faraday", Author = "Michael Faraday", Title = "On the Physical Lines of Magnetic Force", Journal = "Royal Institution Proceedings", Year = 1852, Month = Jun, Note = "Reprinted in volume 45 of the Great Books Series, Encyclopaedia Britannica, Inc., Chicago, Illinois, 1952" } @Article{Felder-Silverman88, Key = "Felder \& Silverman", Author = "R. M. Felder and L. K. Silverman", Title = "Learning and Teaching Styles in Engineering Education", Journal = "Engineering Education", Year = 1988, Volume = 78, Number = 7, Pages = 674 } @Article{Felder90, Key = "Felder", Author = "Richard M. Felder", Title = "Meet Your Students: 2. {Susan and Glenda}", Journal = "Chemical Engineering Education", Year = 1990, Volume = 24, Number = 1, Month = "Winter", Pages = "7,11", Annote = "1 reference." } @Unpublished{Felder93, Key = "Felder", Author = "Richard M. Felder", Title = "Effective Teaching: a Workshop", Note = "Participant's notebook.", Month = Sep, Year = 1993 } @Book{Feynman-Leighton-Sands63, Key = "Feynman-Leighton-Sands", Author = "Richard P. Feynman and Robert B. Leighton and Matthew Sands", Title = "The Feynman Lectures on Physics", Publisher = "Addison-Wesley", Year = 1963, Volume = "I", Address = "Reading, Massachusetts" } @Book{Font-Jansana96, author = {Josep M. Font and Ramon Jansana}, title = {A General Algebraic Semantics for Sentential Logics}, publisher = SV, year = 1996, key = {Font \& Jansana}, volume = 7, series = {Lecture Notes in Logic}, address = {Berlin}, annote = {119 references} } @Book{Freeman-Skapura91, Key = "Freeman \& Skapura", Author = "James Freeman and David skapura", Title = "Neural Networks: algorithms, applications, and programming techniques", Publisher = "Addison-Wesley Publishing co", Address = "Redwood City, CA", Year = 1991, Annote = "ISBN 0-201-51376-5" } @InBook{Frege91, Key = "Frege", Author = "Gottlob Frege", Title = "Collected Papers", Chapter = "Function and Concept", Publisher = "Basil Blackwell", Year = 1891, Pages = "137-156", Address = "Jena", Edition = "1984", Note = "Translated by Peter Geach, edited by Brian McGuinness." } @Book{Gabriel02, Key = "Gabriel", Author = "Richard P. Gabriel", Title = "Writers' Workshops \& the Work of Making Things: Patterns, Poetry...", Publisher = "Addison-Wesley Publishing Co.", Year = 2002, Address = "Boston, MA", Annote = "0-201-72183-X", Note = "Library of Congress number QA76.76.D47 G34 2002" } @Book{Gardner91, Key = "Gardner", Author = "James Gardner", Title = "Learning Unix", Publisher = "SAMS", Year = 1991, Address = "Carmel, Indiana", Note = "Includes disk of MKS tools." } @Book{Garey-Jhonson79, key = "Garey \& Jhonson", author = "Michael R. Garey and David S. Jhonson", title = "Computers and Intractability", publisher = "W.H. Freeman and Co.", year = 1979, address = "San Francisco" } @Book{Gaylord-Kamin-Wellin93, Key = "Gaylord-Kamin-Wellin", Author = "Richard J. Gaylord and Samuel N. Kamin and Paul R. Wellin", Title = "Introduction to Programming with {Mathematica}", Publisher = SV, Year = 1993, Series = "The Electronic Library of Science", Address = NY } @InCollection{Gibbons93, Key = "Gibbons", Author = "Jeremy Gibbons", Title = "Upwards and Downwards Accumulations on Trees", BookTitle = "Mathematics of Program Construction, Second International Conference, Oxford, U.K.", Publisher = SV, Year = 1993, Editor = "R.S. Bird and C.C. Morgan and J.C.P. Woodcock", Series = LNCS, Volume = 669, Pages = "122-138", Address = NY, Month = "June/July", Annote = "15 references." } @Article{Goldberg91, Key = "Goldberg", Author = "David Goldberg", Title = "What Every Computer Scientist Should Know About Floating-Point Arithmetic", Journal = ACMCS, Year = 1991, Volume = 23, Number = 1, Month = Mar, Pages = "5-48", Annote = "32 references." } @Book{Goldblatt84, Key = "Goldblatt", Author = "R. Goldblatt", Title = "Topoi: The Categorical Analysis of Logic (Revised Edition)", Publisher = "North-Holland", Address = NY, Year = 1984, Series = "Studies in Logic and the Foundations of Mathematics", Volume = 98, Annotation = "ISBN 0-444-86711-2. This book defines Logic using Category Theory as a basis. The real value of this book is that its first 5 chapters are the most readable introduction to category theory that this reader has encountered." } @Article{Gopen-Swan90, Key = "Gopen \& Swan", Author = "George D. Gopen and Judith A. Swan", Title = "The Science of Scientific Writing", Journal = "American Scientist", Year = 1990, Volume = 78, Month = "November-December", Pages = "550-558", Annote = "First part of sentence provides context, last part is emphasis. 4 references." } @Book{Gould81, Key = "Gould", Author = "Stephen Jay Gould", Title = "The Mismeasure of Man", Publisher = "Norton", Year = 1981, Address = NY } @Book{Gratzer79, Key = "Gratzer", Author = {George Gratzer}, Title = "Universal Algebra", Publisher = SV, Address = NY, Year = 1979, Edition = "second", Annote = "Thousands of references." } @Article{Gries91, Key = "Gries", Author = "David Gries", Title = "Teaching Calculation and Discrimination: A More Effective Curriculum", Journal = CACM, Year = 1991, Volume = 34, Number = 3, Month = Mar, Pages = "44-55", Annote = "10 references." } @TechReport{Grimm-etal01, author = "Robert Grimm and Janet Davis and Eric Lemar and Adam MacBeth and Steven Swanson and Steven Gribble and Tom Anderson and Brian Bershad and Gaetano Borriello and David Wetherall", title = "Programming for Pervasive Computing Environments", institution = "Department of Computer Science and Engineering, University of Washington", number = "UW-CSE-01-06-01", year = "June 2001", } @Book{Gronlund73, Key = "Gronlund", Author = "Norman E. Gronlund", Title = "Preparing Criterion-Referenced Tests for Classroom Instruction", Publisher = "Macmillan Co.", Year = 1973, Series = "Current Topics in Classroom Instruction", Address = NY, Annote = "12 references." } @Article{Guzdial-Soloway02, key = "Guzdial \& Soloway", author = "Mark Guzdial and Elliot Soloway", title = "Log on education: Teaching the {Nintendo} generation to program", journal = CACM, volume = "45", number = "4", pages = "17-21", month = Apr, year = "2002", annote = "Using multimedia enabled by Squeak Smalltalk. 6 references." } @Book{Harel87b, Key = "Harel", Author = "David Harel", Title = "Algorithmics: the spirit of computing", Publisher = "Addison-Wesley", Year = 1987, Address = "Reading, Mass." } @InCollection{Hartmanis93, Key = "Hartmanis", Author = "J. Hartmanis", Title = "Some Observations about the Nature of Computer Science", BookTitle = "Foundations of Software Technology and Theorectical Computer Science", Publisher = SV, Year = 1993, Editor = "R. K. Shyamasundar", Series = LNCS, Volume = 761, Pages = "1-12", Month = Oct, Annote = "7 references." } @Article{Hartmanis95, author = "Juris Hartmanis", title = "{Turing} Award Lecture: On Computational Complexity and the Nature of Computer Science", journal = ACMCS, year = 1995, volume = 27, number = 1, pages = "7-16", month = Mar, annote = "16 references." } @Article{Hayes84, Key = "Hayes", Author = "B. Hayes", Title = "Computer Recreations: On the Ups and Downs of Hailstone Numbers", Journal = "Scientific American", Volume = 250, Number = 1, Month = Jan, Year = 1984, Pages = "10-16" } @Book{Heijenoort70, Key = "Heijenoort", Author = "Jean van Heijenoort", Title = {Frege and G\"{o}del: Two Fundamental Texts in Mathematical Logic}, Publisher = "Harvard University Press", Address = "Cambridge, Mass.", Year = 1970, Annote = {Contains Frege's Begriffsschrift (1879) and G\"{o}del's incompleteness paper (1931).} } @Manual{Heller90, Key = "Heller", Author = "Dan Heller", Title = "XView Programming Manual", Edition = 2, Month = Jul, Year = 1990, Address = "Sebastopol, CA", Note = "Volume 7 in a series; for version 11 of the X Window System", Annote = "0 references." } @Book{Hennessy-Patterson90, Key = "Hennessy \& Patterson", Author = "John L. Hennessy and David A. Patterson", Title = "Computer Architecture A Quantative Approach", Publisher = "Morgan Kaufman", Year = 1990, Address = "San Mateo, California", Annote = "Hundreds of references." } @INPROCEEDINGS{Hightower-Brumitt-Borriello02, author = "Jeffrey Hightower and Barry Brumitt and Gaetano Borriello", title = "The Location Stack: A Layered Model for Location in Ubiquitous Computing", booktitle = "Proceedings of the 4th IEEE Workshop on Mobile Computing Systems \& Applications (WMCSA 2002)", publisher = "IEEE Computer Society Press", address = "Callicoon, NY", pages = "22-28", month = "June", year = {2002} } @InProceedings{Hill87, Key = "Hill", Author = "Walter L. Hill", Title = "Machine Learning for Software Reuse", BookTitle = "Proceedings of the Tenth International Joint Conference on Artifical Intelligence, Milan, Italy", Month = Aug, Year = 1987, Note = "Also Hewlett-Packard Laboratories, Software Technology Laboratory, STL-87-01, April, 1987", Annote = "18 references." } @Book{Hindley-Lercher-Seldin72, Key = "Hindley \& Lercher \& Seldin", Author = "J. R. Hindley and B. Lercher and J. P. Seldin", Title = "Introduction to Combinatory Logic", Series = "London Mathematical Society Lecture Note Series", Volume = 7, Year = 1972, Publisher = "Cambridge University Press", Address = NY, Annote = "Includes material on the lambda calculus. 53 references." } @InCollection{Hoare89, Key = "Hoare", Author = "C. A. R. Hoare", Title = "Notes on an Approach to Category Theory for Computer Scientists", Booktitle = "Constructive Methods in Computing Science", Series = "NATO ASI Series", Volume = "F55", Editor = "Manfred Broy", Publisher = SV, Address = NY, Pages = "245-305", Year = 1989, Annote = "Example-based approach to introducing category theory." } @InBook{Hoc-Nguyen-Xuan90, Key = "Hoc \& Nguyen-Xuan", Author = "Jean-Michel Hoc and Anh Nguyen-Xuan", Title = "Language Semantics, Mental Models and Analogy", BookTitle = "Psychology of Programming", Chapter = "2.3", Pages = "139-156", Year = 1990, Publisher = "Academic Press", Annote = "51 references" } @Book{Hodges83, Key = "Hodges", Author = "Andrew Hodges", Title = "Alan Turing: the enigma", Year = 1983, Publisher = "Burnett Books", Address = "London", Annote = "QA29.T8 H63 1983b" } @Book{Hofstadter79, Key = "Hofstadter", Author = "Douglas R. Hofstadter", Title = {G\"{o}del, Escher, Bach : an Eternal Golden Braid}, Publisher = "Basic Books", Year = 1979, Address = NY } @Book{Hofstadter85, Key = "Hofstadter", Author = "Douglas R. Hofstadter", Title = "Metamagical Themas: Questing for the Essence of Mind and Pattern", Publisher = "Basic Books, Inc.", Address = NY, Year = 1985 } @Book{Horowitz-Sahni78, Key = "Horowitz \& Sahni", Author = "Ellis Horowitz and Sartaj Sahni", Title = "Fundamentals of Computer Algorithms", Publisher = "Computer Science Press, Inc.", Year = 1978, Series = "Computer Software Engineering Series", Address = "Potomac, Maryland" } @Book{IEEE754, author = "{IEEE Standards Committee 754}", title = "{IEEE} Standard for binary floating-point arithmetic, {ANSI}/{IEEE} {Standard} 754-1985", year = "1985", publisher = "Institute of Electrical and Electronics Engineers, New York", note = "Reprinted in ACM SIGPLAN Notices, 22(2):9-25, 1987." } @Article{Immerman87a, Key = "Immerman", Author = "Neil Immerman", Title = "Languages that Capture Complexity Classes", Journal = SIAMJC, Volume = 16, Number = 4, Month = Aug, Year = 1987, Pages = "760-778", Annote = "Logical expressive power. 30 references." } @InProceedings{Immerman87b, Key = "Immerman", Author = "Neil Immerman", Title = "Expressibility as a Complexity Measure: Results and Directions", Organization = IEEE, BookTitle = "FOCS '87 (?)", Year = 1987, Pages = "194-202" } @Book{Impagliazzo-Nagin95, key = "Impagliazzo \& Nagin", author = "John Impagliazzo and Paul Nagin", title = "Computer Science: A Breadth-First Approach with {C}", publisher = "John Wiley \& Sons", year = 1995, address = NY } @Book{Ishikawa76, Key = "Ishikawa", Author = "Karou Ishikawa", Title = "Guide to Quality Control", Publisher = "Asian Productivity Organization", Year = 1976, Series = "Indurstrial Engineering and Technology", Annote = "13 references" } @Book{James88, Key = "James", Author = "Geoffrey James", Title = "The Zen of Programming", Publisher = "Info Books", Year = 1988, Address = "P. O. Box 1018, Santa Monica, CA" } @Book{Jeffrey67, Key = "Jeffrey", Author = "Richard C. Jeffrey", Title = "Formal Logic: Its Scope and Limits", Publisher = McGraw-Hill, Address = NY, Year = 1967, Annote = "Undergraduate text. 36 references." } @Book{Johnson90, Key = "Johnson", Author = "Glenn Ross Johnson", Title = "First Steps to Excellence in College Teaching", Publisher = "Magna Publications, Inc.", Year = 1990, Address = "2718 Dryden Dr., Madison, Wisc." } @Book{Kidder81, Key = "Kidder", Author = "Tracy Kidder", Title = "The soul of a new machine", Publisher = "Little, Brown", Year = 1981, Address = "Boston" } @Book{King92, Key = "King", Author = "Jerry P. King", Title = "The Art of Mathematics", Publisher = "Plenum Press", Year = 1992, Address = NY, Annote = "155 references" } @Book{Knuth-Larrabee-Roberts89, Key = "Knuth \& Larrabee \& Roberts", Author = "Donald E. Knuth and Tracy Larrabee and Paul M. Roberts", Title = "Mathematical Writing", Publisher = "The Mathematical Association of America", Year = 1989, Volume = "14", Series = "MAA Notes" } @Book{Knuth69, Key = "Knuth", Author = "Donald E. Knuth", Title = "Seminumerical Algorithms", Series = "The Art of Computer Programming", Volume = 2, Publisher = Addison-Wesley, Address = "Reading, Mass.", Year = 1969, Annote = "Hundreds of references." } @Book{Knuth74, Key = "Knuth", Author = "Donald E. Knuth", Title = "Surreal Numbers", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1974, Annote = "No references." } @Book{Knuth93, Key = "Knuth", Author = "Donald E. Knuth", Title = "The Stanford GraphBase: A platform for Combinatorial Computing", Publisher = "Addison-Wesley", Address = "Reading, Mass.", Year = 1993, Annote = "32 references." } @Book{Korfhage66, Key = "Korfhage", Author = "Robert F. Korfhage", Title = "Logic and Algorithms", Publisher = Wiley, Address = NY, Year = 1966 } @Book{Lacey90, Key = "Lacey", Author = "Julia Lacey", Title = "How to Survive your Computer Workstation", Publisher = "CRT Services, Inc.", Year = 1990, Address = "P.O. Box 420127, Laredo, Texas 78042, (800)256-4379" } @Article{Lagarias85, Key = "Lagarias", Author = "J. C. Lagarias", Title = "The 3x+1 Problem and its Generalizations", Journal = "The American Mathematical Monthly", Volume = 92, Number = 1, Month = Jan, Year = 1985, Pages = "3-23" } @Book{Lambek-Scott86, Key = "Lambek \& Scott", Author = "J. Lambek and P. J. Scott", Title = "Introduction to higher order categorical logic", Series = "Cambridge Studies in Advanced Mathematics", Volume = 7, Year = 1986, Publisher = "Cambridge University Press", Address = NY, Annote = "Cartesian Closed Categories and the lambda calculus, type theory and toposes. Hundreds of references." } @Article{Lamport93, Key = "Lamport", Author = "Leslie Lamport", Title = "How to Write a Proof", Institution = DECSRC, Number = 94, Year = 1993, Annote = "95 references." } @Book{Lamport94a, author = {Leslie Lamport}, title = {LaTeX: A Document Preparation System, User's Guide and Reference Manual}, publisher = {Addison-Wesley}, year = 1994, key = {Lamport}, address = {New York, NY}, edition = {second}, annote = {8 references.} } @InCollection{Lassez-Maher-Marriott88, Key = "Lassez \& Maher \& Marriott", Author = "J.-L. Lassez and M. J. Maher and K. Marriott", Title = "Unification Revisited", BookTitle = "Foundations of Logic and Functional Programming, Workshop Proceedings, Trento, Italy, (Dec. 1986)", Editor = "M. Boscarol and L Carlucci Aiello and G Levi", Series = LNCS, Volume = 306, Pages = "67-113", Year = 1988, Annote = "28 references." } @Book{Latterell05, author = {Carmen M. Latterell}, title = {Math Wars: A Guide for Parents and Teachers}, publisher = {Praeger}, year = 2005, address = {Westport, Connecticut} } @Book{Lawvere-Schanuel91, Key = "Lawvere \& Schanuel", Author = "F. W. Lawvere and Stephen H. Schanuel", Title = "Conceptual Mathematics: a first introduction to categories", Publisher = "Buffalo Workshop Press", Year = 1991, Address = "Buffalo, NY", Annote = "347pp, ISBN 0-9631805-0-9" } @Book{Leach93, Key = "Leach", Author = "George W. Leach", Title = "UNIX, Self-teaching Guide", Publisher = "John Wiley & Sons", Year = 1993, Address = NY, Annote = "25 references." } @Article{Leavens-Vermeulen92, Key = "Leavens-Vermeulen", Author = "Gary T. Leavens and Mike Vermeulen", Title = "$3x+1$ Search Programs", Journal = "Computers and Mathematics with Applications", Month = Dec, Year = 1992, Volume = 24, Number = 11, Pages = "79-99", Annote = "11 references." } @Article{Leavens-etal98, Key = "Leavens, {\em et al.}", Author = "Gary T. Leavens and Albert L. Baker and Vasant Honavar and Steven Lavalle and Gurpur Prabhu", Title = "Programming is Writing: Why Student Programs must be Carefully Evaluated", Journal = "Mathematics and Computer Education", Institution = "Iowa State University, Department of Computer Science", Year = 1998, Volume = 32, Number = 3, Pages = "284-295", Month = "Fall", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR97-23/TR.ps.gz" } @TechReport{Leavens-etal98a, Key = "Leavens, {\em et al.}", Author = "Gary T. Leavens and Albert L. Baker and Vasant Honavar and Steven Lavalle and Gurpur Prabhu", Title = "Programming is Writing: Why Student Programs must be Carefully Read", Institution = "Iowa State University, Department of Computer Science", Year = 1998, Number = "97-23a", Month = Jun, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR97-23/TR.ps.gz" } @TechReport{Leavens89b, Key = "Leavens", Author = "Gary T. Leavens", Title = "A Distributed Search Program for the $3x+1$ problem", Institution = "Iowa State University, Department of Computer Science", Year = 1989, Number = "89-22", Address = "Ames, Iowa", URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR89-22/TR.ps.Z", Month = Nov } @TechReport{Leavens94b, Key = "Leavens", Author = "Gary T. Leavens", Title = "Fields in Physics are like Curried Functions or Physics for Functional Programmers", Institution = "Department of Computer Science, Iowa State University", Address = "Ames, Iowa, 50011", Number = "94-06b", Year = 1994, Month = May, URL = "ftp://ftp.cs.iastate.edu/pub/techreports/TR94-06/TR.ps.Z", Note = "Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu", Annote = "20 references." } @Article{Leavens95, key = "Leavens", author = "Gary T. Leavens", title = "Aiding Self-motivation with Readings in Introductory Computing", journal = "Mathematics and Computer Education", year = 1995, volume = 29, number = 2, pages = "124-133", month = "Spring", annote = "40 references" } @TechReport{Leavens95b, key = "Leavens", author = "Gary T. Leavens", title = "A Physical Example for Teaching Curried Functions", institution = "Department of Computer Science, Iowa State University", year = 1995, number = "95-05", address = "Ames, Iowa, 50011", month = Mar, note = "Appears in {\it Mathematics and Computer Education}, volume 30, number 1, pages 51-60. Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu" } @Article{Leavens96a, key = "Leavens", author = "Gary T. Leavens", title = "A Physical Example for Teaching Curried Functions", journal = "Mathematics and Computer Education", year = 1996, volume = 30, number = 1, pages = "51-60", month = "Winter", annote = "15 references" } @Book{Lederer91, Key = "Lederer", Author = "Richard Lederer", Title = "The Miracle of Language", Publisher = "Pocket Books", Year = 1991 } @InProceedings{Leivant87, Key = "Leivant", Author = "Daniel Leivant", Title = "Characterization of Complexity Classes in Higher-Order Logic", Organization = IEEE, BookTitle = "FOCS '87 (?)", Year = 1987, Pages = "203-217" } @Book{Lessing86, key = "Lessing", author = "Doris Lessing", title = "Prisons We Choose to Live Inside", publisher = "CBC Enterprises", year = 1986, volume = 24, series = "Massey Lectures", address = "Toronto, Ontario, Canada" } @TechReport{Levin74, Key = "Levin", Author = "Michael Levin", Title = "Mathematical Logic for Computer Scientists", Institution = MITLCS, Year = 1974, Number = "MIT/LCS/TR-131", Annote = "27 references." } @Book{Levy92, Key = "Levy", Author = "Steven Levy", Title = "Artificial Life: the quest for a new creation", Publisher = "Random House Inc", Year = 1992, Address = NY, Annote = "\$25, ISBN 0-679-40774-x" } @Article{Linn-Clancy92, Key = "Linn \& Clancy", Author = "Marcia C. Linn and Michael J. Clancy", Title = "The Case for Case Studies of Programming Problems", Journal = CACM, Year = 1992, Volume = 35, Number = 3, Month = Mar, Pages = "121-132", Annote = "Relevant for teaching programming. 33 references." } @InCollection{Linton-Calder93, Key = "Linton \& Calder", Author = "Mark A. Linton and Paul R. Calder", Title = "The Design and Implementation of InterViews", BookTitle = "The Evolution of C++", Publisher = "The MIT Press", Year = 1993, Editor = "Jim Waldo", Pages = "75-86", Address = "Cambridge, Mass.", Annote = "5 references." } @Book{Lucky89, Key = "Lucky", Author = "R. W. Lucky", Title = "Silicon dreams : information, man, and machine", Publisher = "St. Martin's Press", Year = 1989, Address = NY } @Book{MacLane71, Key = "Mac Lane", Author = "Saunders Mac Lane", Title = "Categories for the Working Mathematician", Publisher = SV, Address = NY, Series = "Graduate Texts in Mathematics", Volume = 5, Year = 1971, Annote = "Standard reference on category theory. Many references." } @Book{Manis-Little95, key = "Manis \& Little", author = "Vincent S. Manis and James J. Little", title = "The Schematics of Computation", publisher = "Prentice-Hall, Inc.", year = 1995, address = "Englewood Cliffs, NJ", annote = "Introductory programming using Scheme. 58 references." } @Book{Mason82, Key = "Mason", Author = "John Mason", Title = "Thinking Mathematically", Publisher = "Addison-Wesley Pub. Co.", Year = 1982, Address = "Reading, Mass." } @Article{Maxwell64, Key = "Maxwell", Author = "James Clerk Maxwell", Title = "A Dynamical Theory of the Electromagnetic Field", Journal = "Royal Society Transactions", Year = 1864, Volume = "CLV", Note = "Reprinted in R. A. R. Tricker, {\em The Contributions of Faraday and Maxwell to Electrical Science}, (Pergamon Press, 1966)." } @Book{Maxwell90, Key = "Maxwell", Author = "James Clerk Maxwell", Title = "The Scientific Papers of James Clerk Maxwell", Publisher = "Cambridge", Year = 1890, Address = "Cambridge, UK", Note = "As quoted in W. Berkson, {\em Fields of Force: The Development of a World View from Faraday to Einstein\/} (Wiley, 1974)." } @Book{McLarty96, key = "McLarty", author = "Colin McLarty", title = "Elementary Categories, Elementary Toposes", publisher = "Oxford University Press", year = "1991", volume = "21", series = "Oxford Logic Guides", } @InProceedings{Meseguer89b, Key = "Meseguer", Author = "Jos\'{e} Meseguer", Title = "General Logics", BookTitle = "Locic Colloquium '87", Publisher = North-Holland, Editor = "H.-D. Ebbinghaus and others", Year = 1989 } @Book{Model94, key = "Model", author = "Mitchell L. Model", title = "Data Structures, Data Abstraction: A Contemporary Introduction Using C++", publisher = "Prentice Hall, Inc.", year = 1994, address = "Englewood Cliffs, NJ", annote = "21 references." } @Book{Mollenhoff88, Key = "Mollenhoff", Author = "Clark R. Mollenhoff", Title = "Atanasoff: forgotten father of the computer", Publisher = "Iowa State University Press", Year = 1988 } @Misc{Murry-Hopper83, Title = "The Captain is a Lady", Publisher = "Carousel Films", Year = 1983, Address = "New York, NY", Annote = "Video about Grace Murry Hopper Vide 000 857" } @Book{Neff-Weimer90, Key = "Neff \& Weimer", Author = "Rose Ann Neff and Maryellen Weimer", Title = "Teaching College: Collected Readings for the New Instructor", Publisher = "Magna Publications, Inc.", Year = 1990, Address = "2718 Dryden Dr., Madison, Wisc." } @Book{Nerode-Shore93, Key = "Nerode \& Shore", Author = "Anil Nerode and Richard A. Shore", Title = "Logic for Applications", Publisher = "Springer-Verlag.", Year = 1993, Address = NY, Annote = "25 pages of Bibliography- 100's of references" } @Book{Newton87, Key = "Newton", Author = "Isaac Newton", Title = "Mathematical Principles of Natural Philosophy", Publisher = "Encyclopaedia Britannica, Inc.", Year = 1687, Volume = 34, Series = "Great Books", Address = "Chicago, Illinois", Note = "Translated by Andrew Motte, Revised by Florian Cajori." } @Book{Norvig91, author = {Peter Norvig}, title = {Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp}, publisher = {Morgan Kaufmann}, year = 1991, key = {Norvig} } @Manual{Nufer92, Key = "Nufer", Title = "A Handbook for Student Management Teams", Author = "Edward B. Nufer", Organization = "Teaching Excellence Center University of Wisconsin at Platteville", Address = "101 Warner Hall, Platteville, WI 53818", Month = Jul, Year = 1992 } @InCollection{Palasinska-Pigozzi01, author = {K. Pa{\l}asi\'{n}ska and Don Pigozzi}, title = {Bikraty a programowanie logiczne oparte na wiedzy}, booktitle = {Granice Sztucznej Inteligencji.}, key = {Palasinska \& Pigozzi}, pages = {179--211}, publisher = {Politechnika Krakowska, Wydawnictwo Naukowe DWN, Krak\'{o}w}, year = 2001, editor = {E. Szumakowicza}, } @Book{Papert80, Key = "Papert", Author = "Seymour Papert", Title = "Mindstorms : children, computers, and powerful ideas", Publisher = "Basic Books", Year = 1980, Address = NY } @Article{Parnas90, Key = "Parnas", Author = "David Lorge Parnas", Title = "Education for Computing Professionals", Journal = "Computer", Year = 1990, Volume = 23, Number = 1, Month = Jan, Pages = "17-22", Annote = "no references." } @Article{Patterson-Snyder-Ullman99, key = {Patterson \& Snyder \& Ullman}, author = {D. Patterson and L. Snyder and J. Ullman}, title = {Evaluating computer scientists and engineers for promotion and tenure}, journal = {Computing Research News}, year = 1999, month = Sep, URL = {\url{http://www.cra.org/reports/tenure_review.pdf}} } @Book{Paulos91, Key = "Paulos", Author = "John Allen Paulos", Title = "Beyond Numeracy: Ruminations of a Number Man", Publisher = "Alfred A. Knopf, Inc.", Address = NY, Year = 1991 } @Book{Pesic03, key = {Pesic}, author = {Peter Pesic}, title = {Abel's Proof: An Essay on the Sources and Meaning of Mathematical Unsolvability}, publisher = MITP, year = 2003 } @Article{Philipose-etal04, author = "Matthai Philipose and Kenneth P. Fishkin and Mike Perkowitz and Donald J Patterson and Dieter Fox and Henry Kautz and Dirk Hahnel", title={{I}nferring {A}ctivities from {I}nteractions with {O}bjects} , journal = {Pervasive Computing Magazine} , year = 2004, publisher = {IEEE} , volume = 3 , number = 4 , pages = "10-17", } @Book{Pickover90, Key = "Pickover", Author = "Clifford A. Pickover", Title = "Computers, Pattern, Chaos and Beauty", Publisher = "St. Martin's Press", Year = 1990, Annote = "Hundreds of references, categorized." } @Book{Pickover91, Key = "Pickover", Author = "Clifford A. Pickover", Title = "Computers and the imagination: visual adventures beyond the edge", Publisher = "St. Martin's Press", Year = 1991 } @TechReport{Pierce88, Key = "Pierce", Author = "Benjamin C. Pierce", Title = "A Taste of Category Theory for Computer Scientists", Institution = "Computer Science Dept, Carnegie Mellon University", Address = "Pittsburgh", Number = "CMU-CS-88-203", Year = 1988, Annote = "Good introduction." } @Book{Pierce91, Key = "Pierce", Title = "Basic Category Theory for Computer Scientists", Author = "Benjamin C. Pierce", Publisher = MITP, Year = 1991, Address = "Cambridge, Mass", Annote = "121 references" } @Article{Pigozzi-Font-Jansana01, key = {Pigozzi \& Font \& Jansana}, author = {Don Pigozzi and J.M. Font and R. Jansana}, title = {Fully adequate Gentzen systems and the deduction theorem}, journal = {Reports on Mathematical Logic}, year = 2001, volume = 35, pages = {115--165} } @Article{Pigozzi-Font-Jansana03, key = {Pigozzi \& Font \& Jansana}, author = {Don Pigozzi and J.M. Font and R. Jansana}, title = {Abstract Algebraic Logic II}, journal = {Studia Logica}, year = 2003, note = {Special issue devoted to the proceedings of the {\bf Workshop on Abstract Algebraic Logic}, held at the {\it Centre de Recerca Matema\`{a}tica}, Bellaterra (Barcelona, Spain), 1--5 July 1997} } @InCollection{Pigozzi01, author = {Don Pigozzi}, title = {Abstract Algebraic Logic}, booktitle = {Encyclopedia of Mathematics, Supplement III}, key = {Pigozzi}, publisher = {Kluwer}, year = 2001, month = Dec } @Article{Pigozzi76, Key = "Pigozzi", Author = "Don Pigozzi", Title = "The Universality of the Variety of Quasigroups", Journal = "The Journal of the Australian Mathematical Society", Year = 1976, Volume = 21, Number = "Series A, part 2", Pages = "194-219", Annote = "14 references." } @InProceedings{Pigozzi99, author = {Don Pigozzi}, title = {Abstract Algebraic Logic}, booktitle = {Algebraic Methodology and Software Technology, 7th International Conference, AMAST'98 Amazonia, Brazil}, key = {Pigozzi}, pages = {8--16}, year = 1999, editor = {A. M. Haeberer}, volume = 1548, series = LNCS, address = NY } @Book{Pilgrim91, Key = "Pilgrim", Author = "Aubrey Pilgrim", Title = "Upgrade Your IBM Compatible and Save a Bundle", Publisher = "Windcrest Books, McGraw Hill Inc", Year = 1991 } @Book{Plauger93, Key = "Plauger", Author = "P. J. Plauger", Title = "Programming on purpose: essays on software design", Publisher = "Prentice Hall, Inc", Year = 1993, Address = "Englewood cliffs, NJ", Annote = "236 pp, ISBN 0-13-721374-3" } @Book{Polya57, Key = "Polya", Author = "G. Polya", Title = "How to Solve It: A New Aspect of Mathematical Method", Publisher = "Princeton University Press", Year = 1957, Series = "Princeton Science Library", Edition = "Second" } @Book{Poundstone85, Key = "Poundstone", Author = "William Poundstone", Title = "The recursive universe : cosmic complexity and the limits of scientific knowledge", Publisher = "Morrow", Year = 1985, Address = NY } @Misc{Rain, key = "{Rain}", organization = "Intel Research, Seattle", title = "{Rain} home page", howpublished = "\url{http://seattleweb.intel-research.net/projects/rain}", year = 2004, } @Article{Rettig92, Key = "Rettig", Author = "Marc Rettig", Title = "Interface Design When You Don't Know How", Journal = CACM, Year = 1992, Volume = 35, Number = 1, Month = Jan, Pages = "29-34", Annote = "Description of process for user interface design. 8 references." } @Book{Roberts92, Key = "Roberts", Author = "Ralph Roberts", Title = "Unix Desktop Guide to Emacs", Publisher = "SAMS", Year = 1992, Address = "Carmel, Indiana" } @Book{Robinson92b, Key = "Robinson", Author = "William S. Robinson", Title = "Computers, Minds and Robots", Year = 1992, Publisher = "Temple University Press", Address = "Philadelphia", Annote = "Interesting look at the possibility of artificial intelligence. QA76.5 .R497 1992" } @Article{Ross92, Key = "Ross", Author = "Philip E. Ross", Title = "New Whoof in Whorf", Journal = "Scientific American", Year = 1992, Month = "Feb", Pages = "24-26", Annote = "The Whorf hypothesis, linguistic relativity is discredited; language does not control the mind. But language may influence the mind. Languages are more alike than similar." } @Book{Rydeheard-Burstall, Key = "Rydeheard \& Burstall", Author = "D. E. Rydeheard and R. M. Burstall", Title = "Computational Category Theory", Publisher = "Prentice-Hall", Address = "New York", Year = 1988, Note = "ISBN 0-13-162736-8", Annotation = "Contains an introduction to category theory with emphasis on defining computations in categories." } @Book{Sahni05, author = {Sartaj Sahni}, title = {Data Structures, Algorithms, and Applications in Java}, publisher = {Silicon Press}, year = 2005, key = {Sahni}, address = {Summit, NJ}, annote = {References in each chapter.} } @TechReport{Scaletti89, Key = "Scaletti", Author = "Carla Scaletti", Title = "Kyma: an Interactive Graphic Environment for Object-Oriented Music Composition and Real-Time Software Sound Synthesis Written in Smalltalk-80", Institution = "Department of Computer Science, University of Illinois at Urbana-Champaign", Number = "UIUCDCS-R-89-1498 and UILU-ENG-89-1717", Month = Feb, Year = 1989, Annote = "27 references." } @Unpublished{Scedrov93, Key = "Scedrov", Author = "Andre Scedrov", Title = "A Brief Guide to Linear Logic", Year = 1993, Note = "Updated version of an article that originally appeared in the Bulletin of the European Association for Theoretical Computer Science, vol. 41, June, 1990, pp. 154-165 in the column ``Logic in Computer Science''. It will appear in {\em Current Trends in Theoretical Computer Science} published by World Scientific and edited by G. Rozenberg.", Annote = "87 references." } @Article{Scheifler-Gettys90, Key = "Scheifler \& Gettys", Author = "R. W. Scheifler and J. Gettys", Title = "The X Window System", Journal = SPandE, Year = 1990, Volume = 20, Number = 2, Month = Oct, Pages = "S2/5-34" } @Book{Schoonover-Bowie-Arnold92, Key = "Schoonover \& Bowie \& Arnold", Author = "Michael A. Schoonover and John S. Bowie and William R. Arnold", Title = "GNU Emacs: Unix Text Editing and Programming", Publisher = "Addison-Wesley", Year = 1992, Series = "Hewlett Packard Press Series", Address = NY, Annote = "" } @InProceedings{Selinger-etal79, author = "P. G. Selinger and M. M. Astrahan and D. D Chamberlin and R. A. Lorie and T. G. Price", title = "Access Path Selection in a Relational Database Management System", booktitle = "Proceedings of the ACM SIGMOD International Conference on Management of Data", year = 1979, pages = "23-34" } @Book{Shasta-Lazere95, Key = "Shasta \& Lazere", Author = "Dennis Shasta and Cathy Lazere", Title = "Out of their Minds: The lives and discoveries of 15 great computer scientists", Publisher = SV, Year = 1995, Address = NY, } @Book{Smith74, Key = "Smith", Author = "Karl J. Smith", Title = "Introduction to Symbolic Logic", Publisher = "Brooks/Cole Publishing Co.", Year = 1974, Series = "Contemporary Undergraduate Mathematics Series", Address = "Monterey, Calif.", Annote = "Call number BC135 S62" } @Book{Smith92, Key = "Smith", Author = "Joan M. Smith", Title = "SGML and related standards: document description and processing language", Publisher = "Ellis Horwood", Year = 1992, Series = "Ellis Horwood series in Computers and their applications", Address = "Chichester, UK", Annote = "ISBN 0-13-806506-3" } @Book{Smullyan78, Key = "Smullyan", Author = "Raymond Smullyan", Title = "What is the name of this book? : The riddle of Dracula and other logical puzzles", Publisher = "Prentice-Hall", Year = 1978, Address = "Englewood Cliffs, N.J." } @Book{Snepscheut93, Key = "Snepscheut", Author = "Jan L.A. Van de Snepscheut", Title = "What computing is all about", Publisher = "Spring-Verlag", Year = 1993, Address = NY, Annote = "Hundreds of references." } @Book{Sobell89, Key = "Sobell", Author = "Mark G. Sobell", Title = "A Practical Guide to the Unix System", Publisher = "Benjamin/Cummings", Year = 1989, Address = NY, Edition = 2 } @Book{Sobell91, Key = "Sobell", Author = "Mark G. Sobell", Title = "A Practical Guide to UNIX System V", Publisher = "Benjamin/Cummings", Year = 1991, Series = "The Benjamin/Cummings Series in Computer Science", Address = NY, Edition = 2 } @Article{Soloway93, Key = "Soloway", Author = "Elliot Soloway", Title = "Should we teach students to program?", Journal = "Communications of the ACM", Year = 1993, Volume = 36, Number = 10, Month = Oct, Pages = "21-24" } @Article{Stone92, Key = "Stone", Author = "Harold S. Stone", Title = "Copyrights and Author Responsibilities", Journal = "Computer", Year = 1992, Volume = 25, Number = 12, Month = Dec, Pages = "46-51", Annote = "5 references." } @Book{Sutcliffe88, Key = "Sutcliffe", Author = "Alistair Sutcliffe", Title = "Human-computer interface design", Publisher = "Macmillan Education", Year = 1988, Address = "Basingstoke", Note = "Call Number: QA76.76.H85 S88 1988b" } @Book{Tanimoto87, Key = "Tanimoto", Author = "Steven L. Tanimoto", Title = "The Elements of Artificial Inteligence: An Introduction Using LISP", Publisher = "Computer Science Press Inc", Address = "RockVille, MaryLand 20850", Year = 1987, Annote = "References at the end of each chapter. Collectively Approx 200 references" } @TechReport{Taylor88, Key = "Taylor", Author = "Paul Taylor", Title = "Using Constructions as a MetaLanguage", Institution = "Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh", Address = "Edinburgh, EH9 3JZ", Number = "ECS-LFCS-88-70 (also CSR-285-88)", Month = Dec, Year = 1988, Annote = "15 references." } @Book{Taylor92, Key = "Taylor", Author = "Walter F. Taylor", Title = "The Geometry of Computer Graphics", Publisher = "Wadsworth and Brooks/Cole", Year = 1992, Address = "Monterey, CA", Note = "ISBN 0-534-17100-1" } @Book{Thalman90, Key = "Thalman", Author = "Daniel Thalman", Title = "Scientific Visualization and Graphics Simulation", Publisher = Wiley, Year = 1990, Address = NY } @InProceedings{Thomas-Lewis90, Key = "Thomas \& Lewis", Author = "Rex A. Thomas and Dorothy Ohl Lewis", Title = "What can simulation add to conventional instruction?", BookTitle = "Computer Aided Training in Science and Technology Conference", Year = 1990, Address = "Barcelona, Spain", Month = Jul, Annote = "2 references." } @Article{Thorburn18, author = {W.M. Thorburn}, title = {The Myth of Occam's Razor}, journal = {Mind}, year = 1918, volume = 27, pages = {345-353} } @Book{Todino-Strang86, Key = "Tadino \& Strang", Author = "Grace Todino and John Strang", Title = "Learning the UNIX Operating Sysytem", Publisher = "O'Reilly and Associates, Inc", Year = 1986 } @Book{Topham90, Key = "Topham", Author = "Douglas Topham", Title = "The First Book of Unix", Publisher = "SAMS", Year = 1990, Address = "Carmel, Indiana" } @Book{Tricker66, Key = "Tricker", Author = "R. A. R. Tricker", Title = "The Contributions of Faraday and Maxwell to Electrical Science", Publisher = "Pergamon Press", Year = 1966, Address = "Oxford" } @Book{Troy90, Key = "Troy", Author = "Douglas Troy", Title = "UNIX Systems", Publisher = "Addison-Wesley", Year = 1990, Series = "Computing Fundamentals Series", Address = NY } @Article{Tsichritzis99, key = {Tsichritzis}, author = {Dennis Tsichritzis}, title = {Reengineering the University}, journal = CACM, year = 1999, volume = 42, number = 6, month = Jun, pages = {93-100}, annote = {1 reference.} } @Article{Tucker-Barnes91, Key = "Tucker \& Barnes", Author = "Allen B. Tucker and Bruce H. Barnes", Title = "Flexible Design: A Summary of Computing Curricula 1991", Journal = "Computer", Year = 1991, Volume = 24, Number = 11, Month = Nov, Pages = "56-66", Annote = "11 references." } @Article{Tucker-etal91, Key = "Tucker, {\em et al.}", Author = "Allen B. Tucker and Bruce H. Barnes and others", Title = "Computing Curricula 1991", Journal = CACM, Year = 1991, Volume = 34, Number = 6, Month = Jun, Pages = "69-84", Annote = "11 references." } @Book{Tucker-etal92, Key = "Tucker, {\em et al.}", Author = "Allen B. Tucker and W. James Bradley and Robert D. Cupper and David K. Garnick", Title = "Fundamentals of Computing I: Logic Problem Solving Programs and Computers", Publisher = McGraw-Hill, Year = 1992, Address = NY, Annote = "Introductory text following the guidlines fo Curricula 1991. Many references." } @Article{Tucker96, key = "Tucker", author = "Alan B. Tucker and others", title = "Strategic Directions in Computer Science Education", journal = ACMCS, volume = 28, number = 4, pages = "836-845", month = Dec, year = 1996, annote = "44 references." } @Book{Tucker97, key = {Tucker}, editor = {Allen B. Tucker, Jr.}, title = {The Computer Science and Engineering Handbook}, booktitle = {The Computer Science and Engineering Handbook}, year = 1997, publisher = {CRC Press}, address = {Salem, MA}, annote = {Many references.} } @Book{Tunnicliffe91, Key = "Tunnicliffe", Author = "W. R. Tunnicliffe", Title = "Mathematics in Programming: Introduction", Publisher = "Prentice-Hall", Year = 1991, Address = "Englewood Cliffs, NJ", Note = "ISBN 0-13-563404-0" } @Misc{Twain95, key = {Twain}, author = {Mark Twain}, title = {{Fenimore Cooper's Literary Offenses}}, year = 1895, Note = {Reprinted in \emph{Twain: Collected Tales, Sketches, Speeches, and Essays: Volume 2: 1891-1910}, pages 180-192 (Penguin Putman Inc., 1992).} } @Book{VanLeunen92, author = "Mary-Claire {Van Leunen}", title = "A handbook for scholars", publisher = "Oxford University Press", year = 1992, address = NY, edition = "revised" } @Book{Walters91, Key = "Walters", Author = "R. F. C. Walters", Title = "Categories and Computer Science", Publisher = "Cambridge University Press", Year = 1991, Volume = 28, Series = "Cambridge Computer Science Texts", Address = NY, Annote = "30 references." } @Book{Ward-Halstead90, Key = "Ward \& Halstead", Author = "Stephen A. Ward and Robert H. Halstead", Title = "Computation structures", Publisher = "MIT Press", Year = 1990, Series = "The MIT electrical engineering and computer science series", Address = "Cambridge, Mass." } @Book{White93, Key = "White", Author = "Ron White", Title = "How Computers Work", Publisher = "Ziff-Davis Press", Year = 1993, Address = "Emeryville, CA", Annote = "For beginners -- lots of nice brightly colored pictures and facile explanations" } @Book{Whitehead-Russell25, author = "A. N. Whitehead and B. Russell", title = "Principia Mathematica", publisher = "Cambridge University Press", address = "London", year = "1925", edition = "Second edition." } @Book{Williams90, author = {Joseph M. Williams}, title = {Style: Toward Clarity and Grace}, publisher = {The University of Chicago Press}, year = 1990, key = {Williams}, annote = {Writing well, especially for technical writers.} } @Article{Williams92, Key = "Williams", Author = "John D. Williams", Title = "Neural Network Design: An Object-Oriented Approach", Journal = "PC AI", Year = 1992, Volume = 6, Number = 3, Month = "May/June", Pages = "23-27" } @Book{Wisskirchen90, Key = "Wisskirchen", Author = "P. Wisskirchen", Title = "Object-oriented graphics: from GKS and PHIGS to object-oriented systems", Publisher = SV, Year = 1990, Address = NY } @Book{Zeigler90, Key = "Zeigler", Author = "Bernard P. Zeigler", Title = "Object-oriented simulation with hierarchical, modular models: intelligent agents and endomorphic systems", Publisher = "Academic Press", Year = 1990, Address = "Boston", Note = "Subject headings: Digital computer simulation Artificial intelligence Object-oriented programming" } @Book{vanHeijenoort67, Key = "van Heijenoort", Author = "Jean van Heijenoort", Title = "From Frege to Godel; a source book in mathematical logic, 1879-1931", Publisher = "Harvard University Press", Year = 1967, Address = "Cambridge, Mass." } @Book{vanRooijen-Bless-Hull02, author = {Ann van Rooijen-Bless and Ed Hull}, title = {Reader-friendly biomedical articles}, publisher = {van Zuiden Communications B.V.}, year = 2002, key = {van Rooijen-Bless \& Hull}, address = {Alphen aan den Rijn}, note = {With CD-ROM exercises.} } @Book{vonOech90, Key = "vonOech", Author = "Roger von Oech", Title = "A whack on the side of the head : how you can be more creative", Publisher = "Warner Books", Year = 1990, Address = NY, Edition = "Revised" }