Contracts Reading List

Papers

BibTeX Entries

@string{icse = "International Conference on Software Engineering"}
@string{cacm = "Communications of the {ACM}"}
@string{ieee-software = "{IEEE Software}"}
@string{tools = "Technology of Object-Oriented Languages and Systems"}
@string{lncs = "Lecture Notes in Computer Science" }
@string{jacm = "Journal of the {ACM}"}
@string{ecoop = "European Conference on Object-Oriented Programming"}
@string{toplas = "{ACM} Transactions on Programming Languages and Systems"}
@string{oopsla = "{Object-Oriented Programming, Systems, Languages, and Applications}"}
@string{oopsla-companion = "{Object-Oriented Programming, Systems, Languages, and Applications Companion}"}
@string{rv="{Workshop on Runtime Verification}"}
@string{fse = "{Proceedings of ACM Conference Foundations of Software Engineering}"}

@inproceedings{bjpw:making-components-contract-aware,
  author="Antoine Beugnard and Jean-Marc J\'ez\'equel and No{\"e}l Plouzeau and Damien Watkins",
  title="Making Components Contract Aware",
  booktitle=ieee-software,
  pages = "38--45",
  month = "june",
  year =1999}

@inproceedings{hc:turing,
  author = "R. C. Holt and J. R. Cordy",
  title = "The {Turing} Programming Language",
  booktitle = cacm,
  year = 1988,
  volume=31,
  month=dec,
  pages="1310--1423"}

@inproceedings{lh:anna,
  author = "D. C. Luckham and F.W. von Henke",
  title="An overview of {Anna}, a specification language for {Ada}",
  booktitle=ieee-software,
  volume = 2,
  pages="9--23",
  month=mar,
  year = 1985}

@article{r:programming-with-assertions,
  author="David S.~Rosenblum",
  title="A Practical Approach to Programming with Assertions",
  journal=tose,
  volume="21",
  month=jan,
  year="1995",
  pages="19--31",
  number="1"}
  
@inproceedings{bfmw:jass,
  title="{Jass} - {Java} with Assertions",
  author="Detlef Bartetzko and Clemens Fischer and Michael Moller and Heike Wehrheim",
  booktitle=rv,
  note="{H}eld in conjunction with the 13th {Conference on Computer Aided Verification}, {CAV'01}",
  year=2001}

@mastersthesis{b:jass,
  author="Detlef Bartetzko",
  title="{P}arallelit{\"a}t und {V}ererbung beim {P}rogrammieren mit {V}ertrag",
  school="Universit{\"a}t Oldenburg",
  type="Diplomarbeit",
  year="1999",
  month=apr}

@inproceedings{k:iContract,
  author="Reto Kramer",
  title="{iContract} --- The {Java} Design by Contract Tool",
  booktitle=tools,
  year="1998"}

@inproceedings{khb:jcontractor,
  author = "Murat Karaorman and Urs H{\"o}lzle and John Bruno",
  title="{jContractor}: A Reflective {Java} Library to Support Design By Contract",
  booktitle="Proceedings of Meta-Level Architectures and Reflection",
  year=1999,
  month=jul,
  series = {lncs},
  volume = 1616}

@techreport{dh:handshake,
  author="Andrew Duncan and Urs {H\"olzle}",
  title="Adding Contracts to {Java} with Handshake",
  institution="The {U}niversity of {C}alifornia at {S}anta {B}arbara",
  year="1998",
  number="TRCS98-32",
  month=dec}

@unpublished{m:jmsassert,
  author="{Man Machine Systems}",
  note="\\{\tt http://www.mmsindia.com/DBCForJava.html}",
  year="2000",
  title="Design by Contract for {Java} Using {JMSAssert}"}

@unpublished{k:kiev,
  author="Maxim Kizub",
  title="Kiev language specification",
  year="1998",
  note="{\tt http://www.forestro.com/kiev/}"}

@article{wb:run-time-result-checking,
  author="Hal Wasserman and Manuel Blum",
  Title="Software Reliability via Run-Time Result-Checking",
  Journal=jacm,
  volume="44",
  Number="6",
  Year="1997",
  month=nov,
  pages="826--849"}

@article{l:programming-with-specifications,
  author="David Luckham",
  title="Programming with Specifications",
  journal="Texts and Monographs in Computer Science",
  publisher="Springer-Verlag",
  year="1990"}

@ARTICLE{p:software-module-specification,
   AUTHOR    = "D.~L.~Parnas",
   TITLE     = "A Technique for Software Module Specification with Examples",
   JOURNAL   = CACM,
   VOLUME    = 15,
   NUMBER    = 5,
   PAGES     = {330--336},
   MONTH     = may,
   YEAR      = 1972
}

@inproceedings{orrss:pvs,
        TITLE = {{PVS}: Combining Specification, Proof Checking, and
                Model Checking},
        AUTHOR = {S. Owre and S. Rajan and J.M. Rushby and N. Shankar
                and M.K. Srivas},
        BOOKTITLE = {Computer-Aided Verification, CAV '96},
        EDITOR = {Rajeev Alur and Thomas A. Henzinger},
        PAGES = {411--414},
        PUBLISHER = {Springer-Verlag},
        SERIES = {Lecture Notes in Computer Science},
        NUMBER = 1102,
        MONTH = {July/August},
        YEAR = 1996,
        ADDRESS = {New Brunswick, NJ}
}

@inproceedings{s:pvs,
        TITLE = {{PVS}: Combining Specification, Proof Checking, and
                Model Checking},
        AUTHOR = {N. Shankar},
        BOOKTITLE = {Formal Methods in Computer-Aided Design (FMCAD '96)},
        EDITOR = {Mandayam Srivas and Albert Camilleri},
        PAGES = {257--264},
        PUBLISHER = {Springer-Verlag},
        SERIES = {Lecture Notes in Computer Science},
        VOLUME = 1166,
        MONTH = nov,
        YEAR = 1996,
        ADDRESS = {Palo Alto, CA}
}

@inproceedings{okmm:adl,
  title="The Assertion Based Testing Tool for {OOP}: {ADL2}",
  author="Masaharu Obayashi and Hiroshi Kubota and Shane P. McCarron and Lionel Mallet",
  booktitle=icse,
  url="http://adl.opengroup.org/exgr/icse/icse98.htm",
  year=1998}

@inproceedings{w:inhertance-across-components,
  author="Wolfgang Weck",
  title="Inheritance Using Contracts and Object Composition",
  booktitle="Proceedings of the Workshop on Components-Oriented Programming",
  year=1997
}

@inproceedings{bfsg:polytoil,
 title="{PolyTOIL}: A type-safe polymorphic object-oriented language", 
 author="Kim B. Bruce and Adrian Fiech and Angela Schuett and Robert van Gent",
 booktitle=ecoop,
 year=1995,
 publisher="Springer-Verlag",
 volume=952,
 pages="27-51"}

@manual{gsvk:sather,
  key =          "Sather",
  title =        "A Language Manual for Sather 1.1",
  month =        aug,
  year =         "1996",
  author = "Benedict Gomes and David Stoutamire and Boris Vaysman and Holger Klawitter",
  url = "http://www.icsi.berkeley.edu/~sather/Documentation/LanguageDescription/contents.html"
}

@manual{kr:blue,
  key =          "Blue",
  title =        "Blue: Language Specification, version 0.94",
  year =         "1997",
  author = "Michael K{\"o}lling and John Rosenberg",
  url = "http://www.sd.monash.edu.au/blue/"
}

@article{lw:behavior-subtyping,
 title="A Behavioral Notion of Subtyping",
 author="Barbara H. Liskov and Jeannette M. Wing",
 journal=toplas,
 month="November",
 year="1994"}

@TechReport{lw:behavior99,
  author =       "B. H. Liskov and J.M. Wing",
  title =        "Behavioral Subtyping using invariants and constraints",
  institution =  "School of Computer Science, Carnegie Mellon University",
  number =       "CMU CS-99-156",
  month =        jul,
  year =         "1999",
}

@inproceedings{a:oo-pl-sub,
  author="Pierre America",
  title="Designing an object-oriented programming language with behavioural subtyping",
  booktitle="Proceedings of Foundations of Object-Oriented Languages",
  series=lncs,
  volume=489,
  pages="60--90",
  publisher="Springer-Verlag",
  year=1991}

@inproceedings{hhg:contracts,
  author="Richard Helm and Ian M. Holland and Dipayan Gangopadhyay",
  title="Contracts: Specifing Behaviorial Compositions in Object-Oriented Systems",
  booktitle=oopsla,
  year=1990,
  pages="169--180"}

@inproceedings{h:contracts,
  author="Ian M. Holland",
  title="Specifying Reusable Components Using Contracts",
  booktitle=ecoop,
  year=1992,
  pages="287--308"}

@techreport{jm:fail-stop,
  author="Tomasz Janowski and Wojciech Mostowski",
  title="Fail-Stop Software Components by Pattern Matching",
  institution="The {U}nited {N}ations {U}niversity",
  year="1999",
  type="UNU/IIST Report",
  number="\#164",
  month=may}

@inproceedings{esswh:framework-for-detecting-interface-violations,
 author = "Edwards, S.H. and Shakir, G. and Sitaraman, M. and Weide, B.W. and Hollingsworth, J.E.",
 title="A Framework for Detecting Interface Violations in Component-Based Software,",
 booktitle="{Proceedings 5th International Conference on Software Reuse}", 
 publisher="{IEEE}",
 month=jun,
 year=1998,
 pages="46--55"}

@article{ehlsw:components-in-resolve,
 author = "Edwards, S.H. and Heym, W.D. and Long, T.J. and Sitaraman, M. and WEIDE, B.W.",
 title="Specifying Components in {RESOLVE}",
 journal="{Software Engineering Notes}",
 number=19,
 volume=4,
 month=oct,
 year=1994,
 pages="29--39"}

@inproceedings{rl:sub/super,
 author="Clyde Ruby and Gary T. Leavens",
 title="Safely Creating Correct Subclasses without Seeing Superclass Code",
 booktitle=oopsla,
 pages="208--228",
 month=oct,
 year=2000,
 note="Volume 35, number 10 of ACM SIGPLAN Notices"}

@inproceedings{dl:forcing-beh-subtyping,
  author="Krishna Kishore Dhara and Gary T. Leavens",
  title="Forcing Behavioral Subtyping Through Specification Inheritance",
  booktitle="Proceedings 18th International Conference on Software Engineering",
  note="Berlin, Germany",
  pages="258--267",
  publisher="IEEE",
  year=1996}

@techreport{al:logic-of-oo-programs,
  title="A Logic of Object-Oriented Programs",
  author="Mart\'in Abadi and K. Rustan M. Leino",
  institution="Digital Systems Research Center",
  year=1998,
  number=161}

@techreport{kc:jpp,
  title="{JPP}: A {Java} Pre-Processor",
  author="Joseph R. Kiniry and Elaine Cheong",
  institution="Department of Computer Science, California Institute of Technology",
  year=1998,
  number="CS-TR-98-15"}

@inproceedings{llprj:jml,
 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 {J}ava",
 booktitle=oopsla-companion,
 pages="105--106",
 year=2000,
 note="Also Department of Computer Science, Iowa State University, TR 00-15, August 2000."
}

@inproceedings{pp:python-contracts,
  author="Reinhold Pl{\" o}sch and Josef Pichler",
  title="Contracts: From Analysis to {C++} Implementation",
  booktitle=tools,
  year=1999,
  pages="248--257"}

@inproceedings{flf:behavioral-contracts,
  author="Robert Bruce Findler and Mario Latendresse and
Matthias Felleisen",
  title="Behavioral Contracts and Behavioral Subtyping",
  booktitle=fse,
  year=2001}

@inproceedings{ff:contract-soundness,
  author="Robert Bruce Findler and Matthias Felleisen",
  title="Contract Soundness for Object-Oriented Languages",
  booktitle=oopsla,
  year=2001}

Robert Findler
Last Modified: Tuesday, September 24th, 2002